Перейти до вмісту

Атестаційні завдання K2 ERP/Зарплата: відмінності між версіями

Матеріал з K2 ERP Wiki Ukraine — База знань з автоматизації та санкцій в Україні
Імпорт з Google Docs
 
Немає опису редагування
 
Рядок 1: Рядок 1:
== Модуль обліку та розрахунку заробітної плати ==
{{DISPLAYTITLE:Атестаційні завдання K2 ERP/Зарплата}}


=== Реальний бізнес-контекст ===
'''Атестаційне завдання K2 ERP — Зарплата''' — це практична задача для перевірки навичок розробника або впроваджувача [[K2 ERP]] у створенні модуля обліку персоналу, табелів, нарахувань, утримань, податків, розрахункових листів, виплат і зарплатної звітності.
Компанія веде штат працівників із фіксованими окладами, погодинною оплатою або оплатою за відрядні роботи[cite: 1, 2, 3]. Щомісяця система повинна забезпечувати:


* Формування нарахувань заробітної плати[cite: 4];
Модуль має забезпечувати повний цикл розрахунку заробітної плати: від обліку співробітників і відпрацьованого часу до формування розрахункових листів, податків, платіжних відомостей і контролю заборгованості перед персоналом.
* Облік відпрацьованого часу, лікарняних та відпусток[cite: 5];
* Розрахунок податків та обов'язкових внесків[cite: 6];
* Створення відомостей для виплат[cite: 7];
* Контроль заборгованості перед персоналом[cite: 8].


=== Основні завдання ===
<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;">
'''Коротко.''' Потрібно реалізувати модуль зарплати, який веде співробітників, табелі, оклади, погодинну та відрядну оплату, додаткові нарахування й утримання, податки, розрахункові листи, виплати та звіти по фонду оплати праці.
</div>


==== 1. Структура довідників ====
__TOC__


* '''Довідник «Співробітники»''': має містити ПІБ, посаду, дату прийняття на роботу та банківські реквізити[cite: 11, 12, 13, 19, 20]. Також вказується тип оплати (оклад, погодинна або відрядна) та відповідний розмір ставки[cite: 14, 15, 16, 17, 18].
== Назва завдання ==
* '''Довідник «Статті нарахувань і утримань»''': містить назву (премія, штраф тощо), тип (нарахування чи утримання) та спосіб розрахунку (фіксована сума або відсоток від бази)[cite: 21, 22, 23, 24].


==== 2. Журнал «Табелі обліку робочого часу» ====
'''Модуль обліку та розрахунку заробітної плати'''.
Журнал призначений для ручного або масового внесення даних про відпрацьовані години/дні, відпустки, лікарняні та прогули по кожному співробітнику за місяць[cite: 25, 27, 28, 29, 30, 31, 32, 34]. Система має автоматично підраховувати загальну кількість відпрацьованого часу[cite: 35].


==== 3. Формування розрахункових листів ====
== Мета завдання ==
Розрахунок базується на даних табеля, типу оплати та встановлених ставках з урахуванням додаткових нарахувань[cite: 36, 37, 38, 39, 40, 41].


* '''Формула для окладу''': Нараховано = (Оклад × (відпрацьовані дні / норма днів)) + нарахування – утримання[cite: 44].
Мета завдання — створити в K2 ERP модуль, який дозволяє автоматизувати щомісячний розрахунок заробітної плати працівників компанії.
* '''Формула для годинної ставки''': Нараховано = (Годинна ставка × відпрацьовані години) + нарахування – утримання[cite: 46].


==== 4. Розрахунок податків ====
Система повинна дозволяти:
Автоматичний розрахунок згідно з нормами:


* '''ЄСВ (22%)''': нараховується додатково за рахунок компанії[cite: 48, 54].
* вести довідник співробітників;
* '''ПДФО (18%)''' та '''Військовий збір (1,5%)''': утримуються безпосередньо із суми нарахування працівника[cite: 49, 50, 52].
* зберігати тип оплати працівника;
* вести табелі обліку робочого часу;
* враховувати відпрацьовані дні та години;
* враховувати лікарняні, відпустки та прогули;
* формувати нарахування заробітної плати;
* додавати премії, штрафи, компенсації та інші нарахування або утримання;
* розраховувати податки й обов’язкові внески;
* формувати розрахункові листи;
* створювати платіжні відомості;
* фіксувати виплати;
* контролювати заборгованість перед персоналом;
* формувати звіти по фонду оплати праці.


==== 5. Журнал «Розрахункові листи» та виплати ====
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;">
Журнал відображає нараховану суму, утримання та статус («Розраховано» або «Виплачено»)[cite: 55, 59, 60, 62]. Передбачено функціонал фільтрації, масового проведення розрахунків та формування платіжних відомостей для банку[cite: 64, 65, 66]. Статус «Виплачено» встановлюється після фактичної виплати суми співробітнику[cite: 68, 69].
'''Головний принцип.''' Зарплата в K2 ERP — це не ручне введення суми “до виплати”. Сума має формуватися на основі співробітника, типу оплати, табеля, нарахувань, утримань, податків і фактичних виплат.
</div>


=== Звітність та друковані форми ===
== Реальний бізнес-контекст ==


* '''Друковані форми''': індивідуальний розрахунковий лист для співробітника та загальна платіжна відомість на весь персонал[cite: 70, 71, 72].
Компанія веде штат працівників із різними схемами оплати праці.
* '''Звіти''':
** «Фонд оплати праці» (загальні суми нарахувань та податків по компанії)[cite: 74, 75, 76];
** «Відомість на виплату» (деталізація нараховано/утримано/до виплати по кожному співробітнику)[cite: 77, 78, 79, 80, 81].


=== Технічні вимоги ===
Частина співробітників працює на фіксованому окладі. Частина отримує оплату за фактично відпрацьовані години. Для окремих працівників може використовуватися відрядна оплата — залежно від виконаних робіт, виробітку або кількості операцій.
{| class="wikitable"
 
!Параметр
Щомісяця бухгалтерія або HR-відділ повинні підготувати табель, розрахувати зарплату, врахувати премії, лікарняні, відпустки, утримання, податки, сформувати розрахункові листи та платіжні відомості для виплати.
!Опис
 
Модуль зарплати має зменшити ручну роботу, прибрати дублювання в Excel і дати прозорий розрахунок по кожному працівнику.
 
== Основний бізнес-процес ==
 
Типовий процес роботи модуля зарплати виглядає так:
 
# у довідник вносяться співробітники;
# для кожного співробітника задається тип оплати;
# на початку місяця формується табель;
# у табель вносяться відпрацьовані дні, години, лікарняні, відпустки та прогули;
# система підраховує загальну кількість відпрацьованого часу;
# бухгалтер додає премії, штрафи або інші нарахування й утримання;
# система формує розрахункові листи;
# автоматично розраховуються податки та внески;
# формується сума до виплати;
# створюється платіжна відомість;
# після фактичної виплати статус змінюється на '''«Виплачено»''';
# у звітах відображається фонд оплати праці, податки, виплати й заборгованість.
 
== Основні об’єкти модуля ==
 
{| class="wikitable" style="width:100%;"
! Об’єкт
! Призначення
|-
| Співробітники
| Працівники компанії, по яких ведеться зарплатний облік
|-
| Посади
| Посади або ролі працівників
|-
| Типи оплати
| Оклад, погодинна або відрядна оплата
|-
| Табелі
| Облік відпрацьованого часу, відпусток, лікарняних і прогулів
|-
| Статті нарахувань і утримань
| Премії, штрафи, компенсації, аліменти, інші суми
|-
| Розрахункові листи
| Індивідуальний розрахунок зарплати працівника за місяць
|-
| Податки та внески
| ПДФО, військовий збір, ЄСВ та інші обов’язкові платежі
|-
| Платіжні відомості
| Документи для виплати зарплати працівникам
|-
| Виплати
| Фіксація фактичної виплати зарплати
|-
| Заборгованість перед персоналом
| Контроль невиплачених сум
|-
| Звіти
| Фонд оплати праці, відомість на виплату, податки, борги
|}
 
== Довідник «Співробітники» ==
 
Довідник співробітників зберігає основну інформацію про працівників компанії.
 
== Поля співробітника ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| ПІБ
| Прізвище, ім’я та по батькові співробітника
|-
| Посада
| Посада працівника в компанії
|-
| Дата прийняття на роботу
| Дата початку роботи
|-
| Дата звільнення
| Заповнюється, якщо працівник звільнений
|-
| Тип оплати
| Оклад, погодинна або відрядна оплата
|-
| Оклад
| Фіксована місячна ставка
|-
| Годинна ставка
| Ставка за одну відпрацьовану годину
|-
| Відрядна ставка
| Ставка за одиницю виконаної роботи
|-
| Банківські реквізити
| Дані для виплати зарплати на картку або рахунок
|-
| Статус
| Активний, звільнений, у відпустці, тимчасово не працює
|}
 
<div style="border:2px solid #f57c00; background:#fff3e0; padding:14px; margin:16px 0;">
'''Важливо.''' Тип оплати працівника має впливати на формулу розрахунку зарплати. Працівник з окладом, погодинною оплатою та відрядною оплатою не повинен розраховуватися однаково.
</div>
 
== Типи оплати ==
 
{| class="wikitable" style="width:100%;"
! Тип оплати
! Логіка розрахунку
|-
| Оклад
| Зарплата залежить від місячного окладу та фактично відпрацьованих днів
|-
| Погодинна оплата
| Зарплата залежить від годинної ставки та кількості відпрацьованих годин
|-
| Відрядна оплата
| Зарплата залежить від обсягу виконаних робіт або виробітку
|}
 
== Довідник «Статті нарахувань і утримань» ==
 
Довідник статей нарахувань і утримань потрібен для додаткових сум, які впливають на зарплату.
 
== Приклади статей ==
 
{| class="wikitable" style="width:100%;"
! Стаття
! Тип
! Приклад використання
|-
| Премія
| Нарахування
| Додаткова винагорода працівнику
|-
| Бонус
| Нарахування
| Бонус за результатами роботи
|-
| Компенсація
| Нарахування
| Компенсація витрат або додаткових умов
|-
| Штраф
| Утримання
| Вирахування із зарплати
|-
| Аванс
| Утримання
| Врахування раніше виплаченої суми
|-
|-
|Бекенд
| Аліменти
|K2 Cloud ERP (Python або PHP) [cite: 83]
| Утримання
| Утримання за виконавчими документами
|}
 
== Поля статті ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
|-
|БД
| Назва
|PostgreSQL або MySQL [cite: 83]
| Назва нарахування або утримання
|-
|-
|Фронтенд
| Тип
|HTML5, JavaScript, AJAX (Fetch/Axios) [cite: 83]
| Нарахування або утримання
|-
|-
|UI-компоненти
| Спосіб розрахунку
|DataTables, Select2 [cite: 83]
| Фіксована сума або відсоток від бази
|-
|-
|Друк
| Активність
|PDF (внутрішні механізми або Stimulsoft Reports) [cite: 83]
| Чи використовується стаття в поточних розрахунках
|}
|}


=== Критерії оцінки ===
== Журнал «Табелі обліку робочого часу» ==
 
Журнал табелів призначений для обліку робочого часу співробітників за місяць.
 
Табель може заповнюватися вручну або масово імпортуватися з Excel.
 
== Дані табеля ==
 
У табелі потрібно фіксувати:
 
* місяць і рік;
* співробітника;
* норму робочих днів;
* норму робочих годин;
* фактично відпрацьовані дні;
* фактично відпрацьовані години;
* дні відпустки;
* дні лікарняного;
* прогули;
* інші відсутності;
* коментар.
 
== Колонки журналу табелів ==
 
{| class="wikitable" style="width:100%;"
! Колонка
! Опис
|-
| Період
| Місяць і рік табеля
|-
| Співробітник
| Працівник, по якому ведеться облік часу
|-
| Норма днів
| Планова кількість робочих днів
|-
| Відпрацьовано днів
| Фактично відпрацьовані дні
|-
| Норма годин
| Планова кількість робочих годин
|-
| Відпрацьовано годин
| Фактично відпрацьовані години
|-
| Відпустка
| Кількість днів відпустки
|-
| Лікарняний
| Кількість днів лікарняного
|-
| Прогули
| Кількість днів прогулів
|}
 
Система має автоматично підраховувати загальну кількість відпрацьованого часу та використовувати ці дані при формуванні розрахункових листів.
 
== Формування розрахункових листів ==
 
Розрахунковий лист — це основний документ, у якому показано, як сформувалася зарплата конкретного працівника за місяць.
 
Розрахунок базується на:
 
* даних співробітника;
* типі оплати;
* окладі або ставці;
* табелі обліку робочого часу;
* додаткових нарахуваннях;
* утриманнях;
* податках;
* авансах або попередніх виплатах.
 
== Формула для окладу ==
 
Якщо працівник має місячний оклад, зарплата розраховується пропорційно відпрацьованим дням.
 
<pre>
Нараховано = Оклад × (Відпрацьовані дні / Норма днів)
</pre>
 
Після цього враховуються додаткові нарахування та утримання:
 
<pre>
Зарплата до оподаткування = Нараховано + Додаткові нарахування - Утримання
</pre>
 
== Формула для погодинної оплати ==
 
Якщо працівник має погодинну оплату:
 
<pre>
Нараховано = Годинна ставка × Відпрацьовані години
</pre>
 
Після цього також враховуються нарахування, утримання та податки.
 
== Формула для відрядної оплати ==
 
Якщо працівник отримує оплату за виконаний обсяг робіт:
 
<pre>
Нараховано = Відрядна ставка × Кількість виконаних одиниць роботи
</pre>
 
Кількість виконаних робіт може вводитися окремим документом або підтягуватися з виробничого, сервісного чи проєктного модуля.
 
== Розрахунок податків і внесків ==
 
Модуль має автоматично розраховувати податки та обов’язкові внески.
 
== Основні податки і внески ==
 
{| class="wikitable" style="width:100%;"
! Податок / внесок
! Ставка
! Хто сплачує
! Логіка
|-
| ЄСВ
| 22%
| Компанія
| Нараховується додатково за рахунок роботодавця
|-
| ПДФО
| 18%
| Працівник
| Утримується із суми нарахування працівника
|-
| Військовий збір
| 1,5%
| Працівник
| Утримується із суми нарахування працівника
|}
 
== Формули податків ==
 
<pre>
ПДФО = База оподаткування × 18%
</pre>
 
<pre>
Військовий збір = База оподаткування × 1,5%
</pre>
 
<pre>
ЄСВ = База нарахування ЄСВ × 22%
</pre>
 
Сума до виплати працівнику:
 
<pre>
До виплати = Нараховано + Додаткові нарахування - Утримання - ПДФО - Військовий збір
</pre>
 
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;">
'''Критично.''' ЄСВ не повинен зменшувати суму до виплати працівнику, оскільки це нарахування за рахунок компанії. ПДФО та військовий збір утримуються із зарплати працівника.
</div>
 
== Журнал «Розрахункові листи» ==
 
Журнал розрахункових листів показує результати розрахунку зарплати за період.
 
== Колонки журналу ==
 
{| class="wikitable" style="width:100%;"
! Колонка
! Опис
|-
| Період
| Місяць і рік розрахунку
|-
| Співробітник
| Працівник, по якому сформовано розрахунок
|-
| Нараховано
| Загальна сума нарахувань
|-
| Утримано
| Загальна сума утримань
|-
| ПДФО
| Сума податку на доходи фізичних осіб
|-
| Військовий збір
| Сума військового збору
|-
| ЄСВ
| Сума ЄСВ за рахунок компанії
|-
| До виплати
| Сума, яку потрібно виплатити працівнику
|-
| Статус
| Розраховано або виплачено
|}
 
== Статуси розрахункового листа ==
 
{| class="wikitable" style="width:100%;"
! Статус
! Значення
|-
| Чернетка
| Розрахунок підготовлено, але ще не затверджено
|-
| Розраховано
| Зарплату розраховано і можна формувати відомість
|-
| Виплачено
| Зарплату фактично виплачено працівнику
|-
| Скасовано
| Розрахунок скасовано або замінено новим
|}
 
== Масове проведення розрахунків ==
 
Система повинна дозволяти масово сформувати розрахункові листи по всіх активних співробітниках за вибраний місяць.
 
Під час масового розрахунку система має:
 
* перевірити наявність табелів;
* перевірити тип оплати кожного працівника;
* розрахувати базову зарплату;
* додати додаткові нарахування;
* відняти утримання;
* розрахувати податки;
* сформувати суму до виплати;
* створити розрахункові листи.
 
== Платіжні відомості та виплата зарплати ==
 
Після розрахунку зарплати потрібно сформувати платіжну відомість.
 
Платіжна відомість містить список працівників і суми до виплати.
 
== Дані платіжної відомості ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Період
| Місяць і рік виплати
|-
| Співробітник
| Працівник
|-
| Банківські реквізити
| Картка або рахунок для виплати
|-
| Сума до виплати
| Сума після податків і утримань
|-
| Статус виплати
| Очікує виплати, виплачено, помилка виплати
|}
 
Після фактичної виплати статус розрахункового листа змінюється на '''«Виплачено»'''.
 
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;">
'''Правильна логіка.''' Розрахунок зарплати і факт виплати — це різні події. Зарплата може бути розрахована, але ще не виплачена. Саме тому потрібні окремі статуси.
</div>
 
== Заборгованість перед персоналом ==
 
Модуль має показувати заборгованість компанії перед працівниками.
 
Заборгованість виникає, якщо розрахунковий лист сформовано, але виплату ще не проведено або проведено частково.
 
У звітах потрібно бачити:
 
* співробітника;
* період;
* суму нарахування;
* суму до виплати;
* фактично виплачену суму;
* залишок боргу;
* статус.
 
== Друковані форми ==
 
Модуль повинен формувати друковані форми.
 
== Індивідуальний розрахунковий лист ==
 
Розрахунковий лист для співробітника має містити:
 
* ПІБ співробітника;
* період;
* посаду;
* тип оплати;
* відпрацьовані дні або години;
* базове нарахування;
* додаткові нарахування;
* утримання;
* ПДФО;
* військовий збір;
* суму до виплати.
 
== Загальна платіжна відомість ==
 
Платіжна відомість на весь персонал має містити:
 
* період;
* список співробітників;
* банківські реквізити;
* суму до виплати;
* підсумкову суму;
* статус виплати.
 
== Звітність ==
 
== Звіт «Фонд оплати праці» ==
 
Звіт показує загальні суми по компанії за вибраний період.
 
У звіті потрібно відображати:
 
* загальну суму нарахувань;
* суму додаткових нарахувань;
* суму утримань;
* суму ПДФО;
* суму військового збору;
* суму ЄСВ;
* суму до виплати;
* загальне навантаження на компанію.
 
Загальне навантаження на компанію можна рахувати так:
 
<pre>
Навантаження компанії = Нараховано + ЄСВ
</pre>
 
== Звіт «Відомість на виплату» ==
 
Звіт деталізує суми по кожному співробітнику.
 
У звіті потрібно показувати:
 
* співробітника;
* посаду;
* нараховано;
* утримано;
* податки;
* до виплати;
* статус виплати.
 
== Звіт «Заборгованість перед персоналом» ==
 
Звіт показує невиплачені або частково виплачені суми.
 
У звіті потрібно показувати:
 
* співробітника;
* період;
* суму до виплати;
* фактично виплачено;
* залишок боргу;
* статус.
 
== Імпорт даних ==
 
Бажано передбачити масове завантаження табелів або виробітку з Excel.
 
Імпорт має дозволяти:
 
* завантажити табель за місяць;
* перевірити структуру файлу;
* знайти співробітників у довіднику;
* показати помилки імпорту;
* не дублювати вже завантажені записи;
* створити або оновити табель.
 
== AJAX-інтерактив ==
 
Ключові дії мають працювати без зайвого перезавантаження сторінки.
 
Через AJAX мають працювати:
 
* створення співробітника;
* редагування співробітника;
* створення табеля;
* редагування табеля;
* додавання нарахувань і утримань;
* масовий розрахунок зарплати;
* зміна статусу розрахункового листа;
* формування платіжної відомості;
* фіксація виплати.
 
== Логування змін ==
 
Модуль повинен логувати важливі зміни.
 
Журнал змін має фіксувати:
 
* хто створив співробітника;
* хто змінив ставку або оклад;
* хто створив табель;
* хто змінив табель;
* хто сформував розрахунок;
* хто змінив суму нарахування або утримання;
* хто сформував відомість;
* хто відмітив виплату;
* дату й час зміни;
* старе та нове значення, якщо це можливо.
 
== Технічні вимоги ==
 
{| class="wikitable" style="width:100%;"
! Параметр
! Опис
|-
| Бекенд
| K2 Cloud ERP на Python або PHP
|-
| База даних
| PostgreSQL або MySQL
|-
| Фронтенд
| HTML5, JavaScript
|-
| AJAX
| Fetch API або Axios
|-
| UI-компоненти
| DataTables, Select2
|-
| Друк
| PDF через внутрішні механізми або Stimulsoft Reports
|-
| Імпорт
| Excel для табелів або виробітку
|}
 
== Рекомендовані сутності бази даних ==
 
Для реалізації задачі доцільно передбачити такі сутності:
 
* співробітники;
* посади;
* типи оплати;
* ставки співробітників;
* статті нарахувань і утримань;
* табелі обліку робочого часу;
* рядки табеля;
* виробіток;
* розрахункові листи;
* рядки розрахункового листа;
* податки та внески;
* платіжні відомості;
* рядки платіжних відомостей;
* виплати;
* заборгованість перед персоналом;
* журнал змін;
* імпорт табелів.
 
== Практичне завдання ==
 
У межах атестації потрібно продемонструвати робочий сценарій.
 
Мінімальний сценарій:
 
# створити співробітника з окладом;
# створити співробітника з погодинною оплатою;
# створити співробітника з відрядною оплатою;
# створити статті нарахувань і утримань;
# створити табель за місяць;
# внести відпрацьовані дні й години;
# внести відпустку або лікарняний;
# додати премію або утримання;
# виконати масовий розрахунок зарплати;
# перевірити розрахунок для окладу;
# перевірити розрахунок для погодинної оплати;
# перевірити розрахунок для відрядної оплати;
# перевірити ПДФО, військовий збір і ЄСВ;
# сформувати розрахунковий лист;
# сформувати платіжну відомість;
# зафіксувати виплату;
# перевірити зміну статусу на '''«Виплачено»''';
# сформувати звіт фонду оплати праці;
# сформувати відомість на виплату;
# сформувати звіт заборгованості перед персоналом.
 
== Критерії оцінювання ==
 
{| class="wikitable" style="width:100%;"
! Критерій
! Бали
! Що перевіряється
|-
| Реалізація обліку співробітників і табелів
| 20
| Довідник співробітників, типи оплати, табелі, відпрацьовані дні, години, лікарняні, відпустки
|-
| Формування розрахункових листів
| 20
| Розрахунок зарплати за окладом, погодинною та відрядною оплатою
|-
| Розрахунок податків і внесків
| 20
| ПДФО, військовий збір, ЄСВ, правильне відображення утримань і внесків
|-
| Виплата зарплати і фіксація статусу
| 20
| Платіжні відомості, статуси, фактична виплата, заборгованість перед персоналом
|-
| Формування звітів і друкованих форм
| 20
| Розрахунковий лист, платіжна відомість, фонд оплати праці, відомість на виплату
|-
! Разом
! 100
! Максимальна оцінка
|}
 
== Шкала оцінювання ==
 
{| class="wikitable" style="width:100%;"
! Бали
! Рівень
! Опис
|-
| 90–100
| Відмінно
| Модуль зарплати повністю працює: співробітники, табелі, розрахунки, податки, виплати, звіти й друковані форми реалізовані коректно
|-
| 75–89
| Добре
| Основна логіка працює, є незначні недоліки, які не руйнують процес розрахунку зарплати
|-
| 60–74
| Зараховано
| Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання
|-
| 0–59
| Не зараховано
| Відсутня критична логіка: табелі, розрахунок зарплати, податки, виплати або звіти
|}
 
== Критичні помилки ==
 
Критичними помилками вважаються ситуації, коли:
 
* неможливо створити співробітника;
* не враховується тип оплати працівника;
* табель не впливає на розрахунок зарплати;
* оклад розраховується без урахування відпрацьованих днів;
* погодинна оплата не враховує відпрацьовані години;
* відрядна оплата не враховує виконаний обсяг робіт;
* ПДФО або військовий збір не утримуються із зарплати працівника;
* ЄСВ помилково зменшує суму до виплати;
* розрахунковий лист не показує складові зарплати;
* неможливо сформувати платіжну відомість;
* статус '''«Виплачено»''' встановлюється без фактичної виплати;
* неможливо побачити заборгованість перед персоналом;
* звіти не відповідають розрахунковим листам.
 
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;">
'''Умова складання.''' Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл зарплати: співробітник → табель → розрахунок → податки → розрахунковий лист → платіжна відомість → виплата → звіт.
</div>
 
== Очікуваний результат ==
 
У результаті виконання атестаційного завдання має бути створений модуль обліку та розрахунку заробітної плати в K2 ERP.
 
Модуль має підтримувати довідник співробітників, типи оплати, табелі, статті нарахувань і утримань, розрахункові листи, податки, платіжні відомості, виплати, контроль заборгованості перед персоналом, друковані форми та зарплатну звітність.
 
== Примітка ==
 
Модуль зарплати є важливою частиною ERP-системи для будь-якої компанії, яка має штат працівників.
 
Правильна реалізація цього модуля дозволяє зменшити ручні помилки, прискорити щомісячний розрахунок зарплати, контролювати виплати та бачити повне навантаження на фонд оплати праці.
 
== Коротко ==
 
{| class="wikitable" style="width:100%;"
! Питання
! Відповідь
|-
| Що потрібно створити?
| Модуль обліку та розрахунку заробітної плати
|-
| Які довідники потрібні?
| Співробітники, типи оплати, статті нарахувань і утримань
|-
| Який головний документ?
| Розрахунковий лист
|-
| Що впливає на розрахунок?
| Тип оплати, табель, ставки, нарахування, утримання, податки
|-
| Які податки потрібно врахувати?
| ПДФО, військовий збір, ЄСВ
|-
| Які друковані форми потрібні?
| Індивідуальний розрахунковий лист і платіжна відомість
|-
| Які звіти потрібні?
| Фонд оплати праці, відомість на виплату, заборгованість перед персоналом
|-
| Що є критичною вимогою?
| Повний цикл: табель → розрахунок → податки → виплата → звіт
|}
 
== Див. також ==
 
* [[K2 Cloud ERP|K2 ERP]]
* [[K2 ERP]]
* [[Атестаційні завдання K2 ERP]]
* [[Зарплата]]
* [[Табель обліку робочого часу]]
* [[Розрахунковий лист]]
* [[Платіжна відомість]]
* [[Фонд оплати праці]]
* [[ПДФО]]
* [[ЄСВ]]
* [[Військовий збір]]
* [[Кадровий облік]]


# Реалізація обліку співробітників і табелів — 20 балів[cite: 85].
[[Категорія:K2 ERP]]
# Формування розрахункових листів — 20 балів[cite: 85].
[[Категорія:Атестаційні завдання K2]]
# Розрахунок податків і внесків — 20 балів[cite: 85].
[[Категорія:Зарплата]]
# Виплата зарплати і фіксація статусу — 20 балів[cite: 85].
[[Категорія:Кадровий облік]]
# Формування звітів і друкованих форм — 20 балів[cite: 85].
[[Категорія:Фонд оплати праці]]
[[Категорія:Корпоративна Wiki]]

Поточна версія на 18:31, 1 травня 2026


Атестаційне завдання K2 ERP — Зарплата — це практична задача для перевірки навичок розробника або впроваджувача K2 ERP у створенні модуля обліку персоналу, табелів, нарахувань, утримань, податків, розрахункових листів, виплат і зарплатної звітності.

Модуль має забезпечувати повний цикл розрахунку заробітної плати: від обліку співробітників і відпрацьованого часу до формування розрахункових листів, податків, платіжних відомостей і контролю заборгованості перед персоналом.

Коротко. Потрібно реалізувати модуль зарплати, який веде співробітників, табелі, оклади, погодинну та відрядну оплату, додаткові нарахування й утримання, податки, розрахункові листи, виплати та звіти по фонду оплати праці.

Назва завдання

Модуль обліку та розрахунку заробітної плати.

Мета завдання

Мета завдання — створити в K2 ERP модуль, який дозволяє автоматизувати щомісячний розрахунок заробітної плати працівників компанії.

Система повинна дозволяти:

  • вести довідник співробітників;
  • зберігати тип оплати працівника;
  • вести табелі обліку робочого часу;
  • враховувати відпрацьовані дні та години;
  • враховувати лікарняні, відпустки та прогули;
  • формувати нарахування заробітної плати;
  • додавати премії, штрафи, компенсації та інші нарахування або утримання;
  • розраховувати податки й обов’язкові внески;
  • формувати розрахункові листи;
  • створювати платіжні відомості;
  • фіксувати виплати;
  • контролювати заборгованість перед персоналом;
  • формувати звіти по фонду оплати праці.

Головний принцип. Зарплата в K2 ERP — це не ручне введення суми “до виплати”. Сума має формуватися на основі співробітника, типу оплати, табеля, нарахувань, утримань, податків і фактичних виплат.

Реальний бізнес-контекст

Компанія веде штат працівників із різними схемами оплати праці.

Частина співробітників працює на фіксованому окладі. Частина отримує оплату за фактично відпрацьовані години. Для окремих працівників може використовуватися відрядна оплата — залежно від виконаних робіт, виробітку або кількості операцій.

Щомісяця бухгалтерія або HR-відділ повинні підготувати табель, розрахувати зарплату, врахувати премії, лікарняні, відпустки, утримання, податки, сформувати розрахункові листи та платіжні відомості для виплати.

Модуль зарплати має зменшити ручну роботу, прибрати дублювання в Excel і дати прозорий розрахунок по кожному працівнику.

Основний бізнес-процес

Типовий процес роботи модуля зарплати виглядає так:

  1. у довідник вносяться співробітники;
  2. для кожного співробітника задається тип оплати;
  3. на початку місяця формується табель;
  4. у табель вносяться відпрацьовані дні, години, лікарняні, відпустки та прогули;
  5. система підраховує загальну кількість відпрацьованого часу;
  6. бухгалтер додає премії, штрафи або інші нарахування й утримання;
  7. система формує розрахункові листи;
  8. автоматично розраховуються податки та внески;
  9. формується сума до виплати;
  10. створюється платіжна відомість;
  11. після фактичної виплати статус змінюється на «Виплачено»;
  12. у звітах відображається фонд оплати праці, податки, виплати й заборгованість.

Основні об’єкти модуля

Об’єкт Призначення
Співробітники Працівники компанії, по яких ведеться зарплатний облік
Посади Посади або ролі працівників
Типи оплати Оклад, погодинна або відрядна оплата
Табелі Облік відпрацьованого часу, відпусток, лікарняних і прогулів
Статті нарахувань і утримань Премії, штрафи, компенсації, аліменти, інші суми
Розрахункові листи Індивідуальний розрахунок зарплати працівника за місяць
Податки та внески ПДФО, військовий збір, ЄСВ та інші обов’язкові платежі
Платіжні відомості Документи для виплати зарплати працівникам
Виплати Фіксація фактичної виплати зарплати
Заборгованість перед персоналом Контроль невиплачених сум
Звіти Фонд оплати праці, відомість на виплату, податки, борги

Довідник «Співробітники»

Довідник співробітників зберігає основну інформацію про працівників компанії.

Поля співробітника

Поле Опис
ПІБ Прізвище, ім’я та по батькові співробітника
Посада Посада працівника в компанії
Дата прийняття на роботу Дата початку роботи
Дата звільнення Заповнюється, якщо працівник звільнений
Тип оплати Оклад, погодинна або відрядна оплата
Оклад Фіксована місячна ставка
Годинна ставка Ставка за одну відпрацьовану годину
Відрядна ставка Ставка за одиницю виконаної роботи
Банківські реквізити Дані для виплати зарплати на картку або рахунок
Статус Активний, звільнений, у відпустці, тимчасово не працює

Важливо. Тип оплати працівника має впливати на формулу розрахунку зарплати. Працівник з окладом, погодинною оплатою та відрядною оплатою не повинен розраховуватися однаково.

Типи оплати

Тип оплати Логіка розрахунку
Оклад Зарплата залежить від місячного окладу та фактично відпрацьованих днів
Погодинна оплата Зарплата залежить від годинної ставки та кількості відпрацьованих годин
Відрядна оплата Зарплата залежить від обсягу виконаних робіт або виробітку

Довідник «Статті нарахувань і утримань»

Довідник статей нарахувань і утримань потрібен для додаткових сум, які впливають на зарплату.

Приклади статей

Стаття Тип Приклад використання
Премія Нарахування Додаткова винагорода працівнику
Бонус Нарахування Бонус за результатами роботи
Компенсація Нарахування Компенсація витрат або додаткових умов
Штраф Утримання Вирахування із зарплати
Аванс Утримання Врахування раніше виплаченої суми
Аліменти Утримання Утримання за виконавчими документами

Поля статті

Поле Опис
Назва Назва нарахування або утримання
Тип Нарахування або утримання
Спосіб розрахунку Фіксована сума або відсоток від бази
Активність Чи використовується стаття в поточних розрахунках

Журнал «Табелі обліку робочого часу»

Журнал табелів призначений для обліку робочого часу співробітників за місяць.

Табель може заповнюватися вручну або масово імпортуватися з Excel.

Дані табеля

У табелі потрібно фіксувати:

  • місяць і рік;
  • співробітника;
  • норму робочих днів;
  • норму робочих годин;
  • фактично відпрацьовані дні;
  • фактично відпрацьовані години;
  • дні відпустки;
  • дні лікарняного;
  • прогули;
  • інші відсутності;
  • коментар.

Колонки журналу табелів

Колонка Опис
Період Місяць і рік табеля
Співробітник Працівник, по якому ведеться облік часу
Норма днів Планова кількість робочих днів
Відпрацьовано днів Фактично відпрацьовані дні
Норма годин Планова кількість робочих годин
Відпрацьовано годин Фактично відпрацьовані години
Відпустка Кількість днів відпустки
Лікарняний Кількість днів лікарняного
Прогули Кількість днів прогулів

Система має автоматично підраховувати загальну кількість відпрацьованого часу та використовувати ці дані при формуванні розрахункових листів.

Формування розрахункових листів

Розрахунковий лист — це основний документ, у якому показано, як сформувалася зарплата конкретного працівника за місяць.

Розрахунок базується на:

  • даних співробітника;
  • типі оплати;
  • окладі або ставці;
  • табелі обліку робочого часу;
  • додаткових нарахуваннях;
  • утриманнях;
  • податках;
  • авансах або попередніх виплатах.

Формула для окладу

Якщо працівник має місячний оклад, зарплата розраховується пропорційно відпрацьованим дням.

Нараховано = Оклад × (Відпрацьовані дні / Норма днів)

Після цього враховуються додаткові нарахування та утримання:

Зарплата до оподаткування = Нараховано + Додаткові нарахування - Утримання

Формула для погодинної оплати

Якщо працівник має погодинну оплату:

Нараховано = Годинна ставка × Відпрацьовані години

Після цього також враховуються нарахування, утримання та податки.

Формула для відрядної оплати

Якщо працівник отримує оплату за виконаний обсяг робіт:

Нараховано = Відрядна ставка × Кількість виконаних одиниць роботи

Кількість виконаних робіт може вводитися окремим документом або підтягуватися з виробничого, сервісного чи проєктного модуля.

Розрахунок податків і внесків

Модуль має автоматично розраховувати податки та обов’язкові внески.

Основні податки і внески

Податок / внесок Ставка Хто сплачує Логіка
ЄСВ 22% Компанія Нараховується додатково за рахунок роботодавця
ПДФО 18% Працівник Утримується із суми нарахування працівника
Військовий збір 1,5% Працівник Утримується із суми нарахування працівника

Формули податків

ПДФО = База оподаткування × 18%
Військовий збір = База оподаткування × 1,5%
ЄСВ = База нарахування ЄСВ × 22%

Сума до виплати працівнику:

До виплати = Нараховано + Додаткові нарахування - Утримання - ПДФО - Військовий збір

Критично. ЄСВ не повинен зменшувати суму до виплати працівнику, оскільки це нарахування за рахунок компанії. ПДФО та військовий збір утримуються із зарплати працівника.

Журнал «Розрахункові листи»

Журнал розрахункових листів показує результати розрахунку зарплати за період.

Колонки журналу

Колонка Опис
Період Місяць і рік розрахунку
Співробітник Працівник, по якому сформовано розрахунок
Нараховано Загальна сума нарахувань
Утримано Загальна сума утримань
ПДФО Сума податку на доходи фізичних осіб
Військовий збір Сума військового збору
ЄСВ Сума ЄСВ за рахунок компанії
До виплати Сума, яку потрібно виплатити працівнику
Статус Розраховано або виплачено

Статуси розрахункового листа

Статус Значення
Чернетка Розрахунок підготовлено, але ще не затверджено
Розраховано Зарплату розраховано і можна формувати відомість
Виплачено Зарплату фактично виплачено працівнику
Скасовано Розрахунок скасовано або замінено новим

Масове проведення розрахунків

Система повинна дозволяти масово сформувати розрахункові листи по всіх активних співробітниках за вибраний місяць.

Під час масового розрахунку система має:

  • перевірити наявність табелів;
  • перевірити тип оплати кожного працівника;
  • розрахувати базову зарплату;
  • додати додаткові нарахування;
  • відняти утримання;
  • розрахувати податки;
  • сформувати суму до виплати;
  • створити розрахункові листи.

Платіжні відомості та виплата зарплати

Після розрахунку зарплати потрібно сформувати платіжну відомість.

Платіжна відомість містить список працівників і суми до виплати.

Дані платіжної відомості

Поле Опис
Період Місяць і рік виплати
Співробітник Працівник
Банківські реквізити Картка або рахунок для виплати
Сума до виплати Сума після податків і утримань
Статус виплати Очікує виплати, виплачено, помилка виплати

Після фактичної виплати статус розрахункового листа змінюється на «Виплачено».

Правильна логіка. Розрахунок зарплати і факт виплати — це різні події. Зарплата може бути розрахована, але ще не виплачена. Саме тому потрібні окремі статуси.

Заборгованість перед персоналом

Модуль має показувати заборгованість компанії перед працівниками.

Заборгованість виникає, якщо розрахунковий лист сформовано, але виплату ще не проведено або проведено частково.

У звітах потрібно бачити:

  • співробітника;
  • період;
  • суму нарахування;
  • суму до виплати;
  • фактично виплачену суму;
  • залишок боргу;
  • статус.

Друковані форми

Модуль повинен формувати друковані форми.

Індивідуальний розрахунковий лист

Розрахунковий лист для співробітника має містити:

  • ПІБ співробітника;
  • період;
  • посаду;
  • тип оплати;
  • відпрацьовані дні або години;
  • базове нарахування;
  • додаткові нарахування;
  • утримання;
  • ПДФО;
  • військовий збір;
  • суму до виплати.

Загальна платіжна відомість

Платіжна відомість на весь персонал має містити:

  • період;
  • список співробітників;
  • банківські реквізити;
  • суму до виплати;
  • підсумкову суму;
  • статус виплати.

Звітність

Звіт «Фонд оплати праці»

Звіт показує загальні суми по компанії за вибраний період.

У звіті потрібно відображати:

  • загальну суму нарахувань;
  • суму додаткових нарахувань;
  • суму утримань;
  • суму ПДФО;
  • суму військового збору;
  • суму ЄСВ;
  • суму до виплати;
  • загальне навантаження на компанію.

Загальне навантаження на компанію можна рахувати так:

Навантаження компанії = Нараховано + ЄСВ

Звіт «Відомість на виплату»

Звіт деталізує суми по кожному співробітнику.

У звіті потрібно показувати:

  • співробітника;
  • посаду;
  • нараховано;
  • утримано;
  • податки;
  • до виплати;
  • статус виплати.

Звіт «Заборгованість перед персоналом»

Звіт показує невиплачені або частково виплачені суми.

У звіті потрібно показувати:

  • співробітника;
  • період;
  • суму до виплати;
  • фактично виплачено;
  • залишок боргу;
  • статус.

Імпорт даних

Бажано передбачити масове завантаження табелів або виробітку з Excel.

Імпорт має дозволяти:

  • завантажити табель за місяць;
  • перевірити структуру файлу;
  • знайти співробітників у довіднику;
  • показати помилки імпорту;
  • не дублювати вже завантажені записи;
  • створити або оновити табель.

AJAX-інтерактив

Ключові дії мають працювати без зайвого перезавантаження сторінки.

Через AJAX мають працювати:

  • створення співробітника;
  • редагування співробітника;
  • створення табеля;
  • редагування табеля;
  • додавання нарахувань і утримань;
  • масовий розрахунок зарплати;
  • зміна статусу розрахункового листа;
  • формування платіжної відомості;
  • фіксація виплати.

Логування змін

Модуль повинен логувати важливі зміни.

Журнал змін має фіксувати:

  • хто створив співробітника;
  • хто змінив ставку або оклад;
  • хто створив табель;
  • хто змінив табель;
  • хто сформував розрахунок;
  • хто змінив суму нарахування або утримання;
  • хто сформував відомість;
  • хто відмітив виплату;
  • дату й час зміни;
  • старе та нове значення, якщо це можливо.

Технічні вимоги

Параметр Опис
Бекенд K2 Cloud ERP на Python або PHP
База даних PostgreSQL або MySQL
Фронтенд HTML5, JavaScript
AJAX Fetch API або Axios
UI-компоненти DataTables, Select2
Друк PDF через внутрішні механізми або Stimulsoft Reports
Імпорт Excel для табелів або виробітку

Рекомендовані сутності бази даних

Для реалізації задачі доцільно передбачити такі сутності:

  • співробітники;
  • посади;
  • типи оплати;
  • ставки співробітників;
  • статті нарахувань і утримань;
  • табелі обліку робочого часу;
  • рядки табеля;
  • виробіток;
  • розрахункові листи;
  • рядки розрахункового листа;
  • податки та внески;
  • платіжні відомості;
  • рядки платіжних відомостей;
  • виплати;
  • заборгованість перед персоналом;
  • журнал змін;
  • імпорт табелів.

Практичне завдання

У межах атестації потрібно продемонструвати робочий сценарій.

Мінімальний сценарій:

  1. створити співробітника з окладом;
  2. створити співробітника з погодинною оплатою;
  3. створити співробітника з відрядною оплатою;
  4. створити статті нарахувань і утримань;
  5. створити табель за місяць;
  6. внести відпрацьовані дні й години;
  7. внести відпустку або лікарняний;
  8. додати премію або утримання;
  9. виконати масовий розрахунок зарплати;
  10. перевірити розрахунок для окладу;
  11. перевірити розрахунок для погодинної оплати;
  12. перевірити розрахунок для відрядної оплати;
  13. перевірити ПДФО, військовий збір і ЄСВ;
  14. сформувати розрахунковий лист;
  15. сформувати платіжну відомість;
  16. зафіксувати виплату;
  17. перевірити зміну статусу на «Виплачено»;
  18. сформувати звіт фонду оплати праці;
  19. сформувати відомість на виплату;
  20. сформувати звіт заборгованості перед персоналом.

Критерії оцінювання

Критерій Бали Що перевіряється
Реалізація обліку співробітників і табелів 20 Довідник співробітників, типи оплати, табелі, відпрацьовані дні, години, лікарняні, відпустки
Формування розрахункових листів 20 Розрахунок зарплати за окладом, погодинною та відрядною оплатою
Розрахунок податків і внесків 20 ПДФО, військовий збір, ЄСВ, правильне відображення утримань і внесків
Виплата зарплати і фіксація статусу 20 Платіжні відомості, статуси, фактична виплата, заборгованість перед персоналом
Формування звітів і друкованих форм 20 Розрахунковий лист, платіжна відомість, фонд оплати праці, відомість на виплату
Разом 100 Максимальна оцінка

Шкала оцінювання

Бали Рівень Опис
90–100 Відмінно Модуль зарплати повністю працює: співробітники, табелі, розрахунки, податки, виплати, звіти й друковані форми реалізовані коректно
75–89 Добре Основна логіка працює, є незначні недоліки, які не руйнують процес розрахунку зарплати
60–74 Зараховано Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання
0–59 Не зараховано Відсутня критична логіка: табелі, розрахунок зарплати, податки, виплати або звіти

Критичні помилки

Критичними помилками вважаються ситуації, коли:

  • неможливо створити співробітника;
  • не враховується тип оплати працівника;
  • табель не впливає на розрахунок зарплати;
  • оклад розраховується без урахування відпрацьованих днів;
  • погодинна оплата не враховує відпрацьовані години;
  • відрядна оплата не враховує виконаний обсяг робіт;
  • ПДФО або військовий збір не утримуються із зарплати працівника;
  • ЄСВ помилково зменшує суму до виплати;
  • розрахунковий лист не показує складові зарплати;
  • неможливо сформувати платіжну відомість;
  • статус «Виплачено» встановлюється без фактичної виплати;
  • неможливо побачити заборгованість перед персоналом;
  • звіти не відповідають розрахунковим листам.

Умова складання. Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл зарплати: співробітник → табель → розрахунок → податки → розрахунковий лист → платіжна відомість → виплата → звіт.

Очікуваний результат

У результаті виконання атестаційного завдання має бути створений модуль обліку та розрахунку заробітної плати в K2 ERP.

Модуль має підтримувати довідник співробітників, типи оплати, табелі, статті нарахувань і утримань, розрахункові листи, податки, платіжні відомості, виплати, контроль заборгованості перед персоналом, друковані форми та зарплатну звітність.

Примітка

Модуль зарплати є важливою частиною ERP-системи для будь-якої компанії, яка має штат працівників.

Правильна реалізація цього модуля дозволяє зменшити ручні помилки, прискорити щомісячний розрахунок зарплати, контролювати виплати та бачити повне навантаження на фонд оплати праці.

Коротко

Питання Відповідь
Що потрібно створити? Модуль обліку та розрахунку заробітної плати
Які довідники потрібні? Співробітники, типи оплати, статті нарахувань і утримань
Який головний документ? Розрахунковий лист
Що впливає на розрахунок? Тип оплати, табель, ставки, нарахування, утримання, податки
Які податки потрібно врахувати? ПДФО, військовий збір, ЄСВ
Які друковані форми потрібні? Індивідуальний розрахунковий лист і платіжна відомість
Які звіти потрібні? Фонд оплати праці, відомість на виплату, заборгованість перед персоналом
Що є критичною вимогою? Повний цикл: табель → розрахунок → податки → виплата → звіт

Див. також