Атестаційні завдання K2 ERP/Зернотрейдер
Атестаційне завдання K2 ERP — Зернотрейдер — це практична задача для перевірки навичок розробника або впроваджувача K2 ERP у створенні модуля обліку зернових операцій: закупівлі, приймання, зважування, контролю якості, доробки, зберігання, переміщення, продажу та формування документів.
Модуль має забезпечувати повний цикл роботи зернотрейдера або елеватора: від приймання зерна від фермера до реалізації партії покупцю з урахуванням вологості, сміттєвих домішок, базисних умов, сушіння, очищення, складських залишків і фінансових документів.
Коротко. Потрібно реалізувати модуль, який дозволяє приймати зерно, зважувати брутто/тару/нетто, фіксувати якість, перераховувати вагу до базисних умов, рахувати втрати при сушінні та очищенні, вести партії на складі, продавати зерно й формувати акти, накладні та звіти.
Назва завдання
Модуль для обліку операцій зернотрейдера: закупка, зберігання, доробка та продаж зерна.
Мета завдання
Мета завдання — створити в K2 ERP модуль для автоматизації обліку зернових операцій.
Система повинна дозволяти:
- вести довідник культур;
- вести постачальників зерна;
- вести покупців зерна;
- оформлювати надходження зерна;
- фіксувати первинне зважування;
- фіксувати тару, брутто та нетто;
- зберігати показники якості;
- перераховувати зерно до базисних умов;
- рахувати втрати при сушінні та очищенні;
- вести партійний облік зерна;
- обліковувати залишки по культурах, партіях і складах;
- формувати сертифікати якості;
- оформлювати реалізацію зерна;
- списувати зерно зі складу за FIFO або вручну;
- формувати акти приймання-передачі, рахунки-фактури та товарні накладні;
- обліковувати послуги елеватора;
- формувати звіти по руху, залишках, якості та фінансових результатах.
Головний принцип. У зернотрейдингу важлива не лише фізична вага зерна, а й якість. Вологість, сміттєвість, доробка та базисні умови безпосередньо впливають на кількість, взаєморозрахунки, залишки й фінансовий результат.
Реальний бізнес-контекст
Компанія здійснює операції із закупівлі зернових культур у фермерських господарств, зберігає зерно на власному або сторонньому елеваторі, виконує сушіння й очищення, а потім продає зерно трейдерам, переробникам або експортерам.
У процесі роботи потрібно контролювати:
- хто поставив зерно;
- яка культура надійшла;
- яка вага була при в’їзді;
- яка тара;
- яка вага нетто;
- які показники вологості та сміттєвості;
- скільки зерна зараховується на склад;
- які втрати виникли при сушінні й очищенні;
- по яких партіях зберігається зерно;
- кому, коли і скільки зерна було продано;
- яка собівартість і фінансовий результат операції.
Без автоматизованого модуля такі розрахунки часто ведуться в Excel, що створює ризик помилок у вазі, якості, взаєморозрахунках і складських залишках.
Основний бізнес-процес
Типовий процес роботи зернотрейдера виглядає так:
- постачальник привозить зерно;
- на ваговій фіксується брутто;
- визначається тара;
- система розраховує нетто;
- лабораторія або відповідальний працівник вводить показники якості;
- система перераховує зерно до базисних умов;
- за потреби розраховуються втрати при сушінні та очищенні;
- формується партія зерна;
- зерно зараховується на склад;
- створюється акт приймання-передачі;
- за потреби формуються рахунки або інші фінансові документи;
- при продажу зерно вибирається зі складу по партіях;
- система контролює залишок;
- виконується списання зерна;
- формується товарна накладна;
- дані потрапляють у звіти.
Основні об’єкти модуля
| Об’єкт | Призначення |
|---|---|
| Культури | Пшениця, кукурудза, ячмінь, соняшник та інші культури |
| Постачальники | Фермерські господарства або компанії, які постачають зерно |
| Покупці | Трейдери, переробники, експортери або інші компанії, які купують зерно |
| Елеватори / склади | Місця зберігання зерна |
| Партії зерна | Окремі надходження зерна з конкретними характеристиками |
| Показники якості | Вологість, сміттєвість, сорт, клас, інші лабораторні показники |
| Надходження зерна | Документ приймання зерна від постачальника |
| Доробка зерна | Сушіння, очищення та інші операції |
| Реалізація зерна | Продаж зерна покупцю |
| Сертифікати якості | Документи, що підтверджують якість партії |
| Елеваторні послуги | Зберігання, сушка, очистка, навантаження, розвантаження |
| Звіти | Залишки, рух зерна, якість, втрати, продажі та взаєморозрахунки |
Довідник «Культури»
Довідник культур містить перелік зернових і олійних культур, з якими працює компанія.
Поля культури
| Поле | Опис |
|---|---|
| Назва культури | Наприклад: пшениця, кукурудза, ячмінь, соняшник |
| Сорт або клас | Сорт, клас або інша класифікація культури |
| Базисна вологість, % | Нормативна вологість для перерахунку |
| Базисна сміттєвість, % | Нормативний показник сміттєвих домішок |
| Одиниця виміру | Зазвичай тонна або кілограм |
| Активність | Чи використовується культура в поточному обліку |
Приклади культур
| Культура | Приклад базисної вологості | Приклад базисної сміттєвості |
|---|---|---|
| Пшениця | 14% | 2% |
| Кукурудза | 14% | 2% |
| Ячмінь | 14% | 2% |
Важливо. Базисні показники мають зберігатися в довіднику культур, щоб система могла автоматично виконувати перерахунок ваги й не вимагати ручного введення нормативів у кожному документі.
Довідник «Постачальники»
Довідник постачальників містить фермерські господарства, агрокомпанії або інших контрагентів, які постачають зерно.
Поля постачальника
| Поле | Опис |
|---|---|
| Назва господарства | Назва фермерського господарства або компанії |
| Код ЄДРПОУ / ІПН | Реєстраційний або податковий код |
| Контактна особа | Представник постачальника |
| Телефон | Контактний номер |
| Електронна адреса | |
| Банківські реквізити | Реквізити для взаєморозрахунків |
| Статус | Активний або неактивний |
Довідник «Покупці»
Довідник покупців містить компанії, які купують зерно.
Покупцями можуть бути:
- трейдери;
- переробники;
- експортери;
- комбікормові заводи;
- інші аграрні компанії.
Довідник покупців може мати ті самі реквізити, що й довідник постачальників, або використовувати єдиний довідник Контрагенти з ознакою типу контрагента.
Довідник «Елеватори / склади»
Для обліку місць зберігання потрібно передбачити довідник елеваторів або складів.
Поля складу / елеватора
| Поле | Опис |
|---|---|
| Назва | Назва елеватора або складу |
| Адреса | Місце розташування |
| Власник | Власний або сторонній елеватор |
| Тип зберігання | Силос, склад, майданчик або інший тип |
| Місткість | Максимальна місткість зберігання |
| Статус | Активний або неактивний |
Журнал «Надходження зерна»
Журнал надходження зерна показує всі приймальні акти та партії, які надійшли від постачальників.
Колонки журналу надходження
| Колонка | Опис |
|---|---|
| Номер приймального акту | Унікальний номер документа |
| Дата прийому | Дата надходження зерна |
| Постачальник | Хто привіз зерно |
| Культура | Яка культура надійшла |
| Склад / елеватор | Куди зараховується зерно |
| Брутто | Вага до віднімання тари |
| Тара | Вага тари або транспорту |
| Нетто | Брутто мінус тара |
| Вологість, % | Фактична вологість зерна |
| Сміттєвість, % | Фактична сміттєва домішка |
| Базисна вага | Вага після перерахунку до базисних умов |
| Зараховано на склад | Кількість, яка фактично потрапляє в залишки |
| Статус | Чернетка, прийнято, проведено, скасовано |
Форма надходження зерна
Форма надходження зерна повинна містити заголовок документа, блок зважування, блок якості та розрахункову частину.
Заголовок документа
У заголовку потрібно передбачити:
| Поле | Опис |
|---|---|
| Номер акту | Генерується автоматично або вводиться вручну |
| Дата прийому | Дата й час приймання зерна |
| Постачальник | Вибір із довідника |
| Культура | Вибір із довідника культур |
| Склад / елеватор | Куди зараховується зерно |
| Транспорт | Номер авто або інша інформація |
| Коментар | Додаткова інформація |
Блок зважування
У блоці зважування потрібно фіксувати:
- брутто;
- тару;
- нетто;
- дату й час зважування;
- оператора вагової;
- джерело ваги: ручне введення або API вагового обладнання.
Формула нетто
Нетто = Брутто - Тара
Блок якості
У блоці якості потрібно фіксувати лабораторні показники.
Мінімальні показники:
- вологість;
- сміттєвість;
- сорт або клас;
- за потреби — білок, клейковина, натура, олійність або інші показники.
Перерахунок до базисних умов
Система має автоматично перераховувати фактичну вагу зерна до базисних умов.
Формула перерахунку по вологості
Нетто базисне = Нетто × (100 - Фактична вологість) / (100 - Базисна вологість)
Наприклад, якщо фактична вологість більша за базисну, базисна вага буде меншою за фізичну вагу.
Втрати при сушінні
Сушіння зменшує вагу зерна через зниження вологості.
У модулі потрібно розраховувати втрати при сушінні залежно від початкової та нормативної вологості.
Спрощена логіка:
Втрати при сушінні = Нетто - Нетто після доведення до базисної вологості
Втрати при очищенні
Очищення зменшує вагу зерна через видалення домішок.
Спрощена логіка:
Втрати при очищенні = Нетто × (Фактична сміттєвість - Базисна сміттєвість) / 100
Якщо фактична сміттєвість менша або дорівнює базисній, втрати при очищенні можуть дорівнювати нулю.
Критично. Розрахунок зарахованої ваги має враховувати не лише фізичне нетто, а й якісні показники зерна. Без цього складські залишки та взаєморозрахунки з постачальниками будуть некоректними.
Партійний облік зерна
Кожне надходження зерна має формувати партію.
Партія зерна повинна зберігати:
- культуру;
- постачальника;
- дату надходження;
- склад або елеватор;
- фізичну вагу;
- базисну вагу;
- показники якості;
- втрати при сушінні;
- втрати при очищенні;
- залишок партії;
- сертифікат якості;
- документ-підставу.
Сертифікати якості
Для кожної партії потрібно передбачити можливість зберігати сертифікат якості.
Сертифікат може містити:
- номер;
- дату;
- культуру;
- партію;
- постачальника;
- показники лабораторного аналізу;
- файл сертифіката;
- відповідального працівника.
Доробка зерна
Доробка зерна включає операції сушіння, очищення або інші технологічні операції, які змінюють кількість і якість зерна.
Документ «Доробка зерна»
Документ доробки має містити:
| Поле | Опис |
|---|---|
| Дата | Дата виконання доробки |
| Партія | Партія зерна, яка доробляється |
| Операція | Сушіння, очищення або інша операція |
| Вага до доробки | Вага до операції |
| Вологість до | Показник до сушіння |
| Вологість після | Показник після сушіння |
| Сміттєвість до | Показник до очищення |
| Сміттєвість після | Показник після очищення |
| Втрати | Розраховані втрати |
| Вага після доробки | Кількість, що залишається після операції |
Елеваторні послуги
Модуль має дозволяти обліковувати вартість послуг елеватора.
До таких послуг можуть належати:
- зберігання;
- сушіння;
- очищення;
- навантаження;
- розвантаження;
- лабораторний аналіз;
- зважування;
- інші послуги.
Розрахунок послуг елеватора
| Послуга | Можлива база розрахунку |
|---|---|
| Зберігання | Тонно-дні або фіксований тариф за тонну |
| Сушіння | Тонни × різниця вологості × тариф |
| Очищення | Тонни × тариф або втрати домішок |
| Навантаження / розвантаження | Тонни × тариф |
Журнал «Реалізація зерна»
Журнал реалізації зерна показує всі відвантаження покупцям.
Колонки журналу реалізації
| Колонка | Опис |
|---|---|
| Номер товарної накладної | Унікальний номер документа реалізації |
| Дата відвантаження | Дата продажу або відвантаження |
| Покупець | Контрагент, який купує зерно |
| Культура | Культура, що продається |
| Склад / елеватор | Звідки списується зерно |
| Партія | Партія, з якої відвантажується зерно |
| Вага до відвантаження | Кількість зерна |
| Ціна за тонну | Вартість однієї тонни |
| Загальна сума | Підсумкова сума реалізації |
| Статус | Чернетка, проведено, скасовано |
Вибір зерна зі складу
При реалізації зерна система повинна дозволяти вибрати зерно зі складу.
Можливі режими списання:
- FIFO;
- ручний вибір партії.
FIFO для зерна
FIFO означає, що першим списується зерно з партії, яка першою надійшла на склад.
Це корисно для контролю старіння зерна, якості, умов зберігання та коректної собівартості.
Ручний вибір партії
Ручний вибір потрібен, якщо покупцю продається конкретна партія зерна з певними характеристиками або сертифікатом якості.
Важливо. При продажу зерна система повинна контролювати залишок по конкретній культурі, складу та партії. Продаж більшої кількості, ніж є на складі, не допускається.
Облік складу
Складський облік зерна має підтримувати залишки:
- по культурах;
- по складах або елеваторах;
- по партіях;
- по постачальниках;
- по якості;
- по базисній і фізичній вазі.
Залишки зерна
Звіт залишків має показувати:
| Поле | Опис |
|---|---|
| Культура | Яка культура зберігається |
| Склад / елеватор | Місце зберігання |
| Партія | Партія зерна |
| Постачальник | Хто поставив зерно |
| Фізична вага | Фактичний залишок |
| Базисна вага | Перерахований залишок |
| Вологість | Показник якості |
| Сміттєвість | Показник якості |
Інтеграція з ваговим обладнанням
Модуль може підтримувати інтеграцію з ваговим обладнанням через API.
Якщо інтеграція не реалізована, потрібно передбачити ручне введення ваги.
У будь-якому випадку система має зберігати:
- джерело зважування;
- дату й час зважування;
- оператора;
- значення ваги;
- документ, до якого прив’язана вага.
Друковані форми
Модуль повинен формувати друковані документи.
Акт приймання-передачі зерна
Акт приймання-передачі має містити:
- номер і дату;
- постачальника;
- культуру;
- склад або елеватор;
- брутто;
- тару;
- нетто;
- вологість;
- сміттєвість;
- базисну вагу;
- зараховану кількість;
- підписи сторін.
Товарна накладна
Товарна накладна має містити:
- номер і дату;
- покупця;
- культуру;
- партію;
- вагу;
- ціну за тонну;
- загальну суму;
- реквізити сторін;
- підписи.
Рахунок-фактура
Рахунок-фактура має містити:
- покупця;
- культуру;
- кількість;
- ціну;
- суму;
- податкову інформацію, якщо використовується;
- реквізити для оплати.
Звітність
Звіт «Залишки зерна»
Звіт показує залишки зерна на дату.
У звіті потрібно бачити:
- культуру;
- склад;
- партію;
- постачальника;
- фізичну вагу;
- базисну вагу;
- показники якості;
- вартість залишку, якщо ведеться собівартість.
Звіт «Рух зерна за період»
Звіт показує всі операції з зерном за період.
У звіті потрібно відображати:
- надходження;
- доробку;
- переміщення;
- реалізацію;
- втрати;
- залишок на початок;
- залишок на кінець.
Звіт «Втрати при доробці»
Звіт показує втрати при сушінні й очищенні.
У звіті потрібно відображати:
- партію;
- культуру;
- вагу до доробки;
- вагу після доробки;
- втрати при сушінні;
- втрати при очищенні;
- загальні втрати;
- відсоток втрат.
Звіт «Продаж зерна»
Звіт показує реалізацію зерна за вибраний період.
У звіті потрібно відображати:
- покупця;
- культуру;
- партію;
- кількість;
- ціну за тонну;
- суму продажу;
- собівартість, якщо ведеться;
- фінансовий результат.
AJAX-інтерактив
Інтерфейс модуля має підтримувати роботу без зайвого перезавантаження сторінок.
Через AJAX мають працювати:
- створення надходження зерна;
- вибір постачальника;
- вибір культури;
- введення ваги;
- миттєвий перерахунок нетто;
- миттєвий перерахунок базисної ваги;
- розрахунок втрат при сушінні та очищенні;
- створення партії;
- вибір партії при реалізації;
- перевірка залишків;
- формування документів.
Логування змін
Усі важливі зміни потрібно логувати.
Журнал змін має фіксувати:
- хто створив приймальний акт;
- хто ввів вагу;
- хто змінив показники якості;
- хто виконав перерахунок;
- хто провів документ;
- хто сформував партію;
- хто виконав реалізацію;
- хто змінив залишки або скасував документ;
- дату й час зміни;
- старе та нове значення.
Технічні вимоги
| Параметр | Опис |
|---|---|
| Бекенд | K2 Cloud ERP на Python або PHP |
| База даних | PostgreSQL або MySQL |
| Фронтенд | HTML5, JavaScript |
| AJAX | Axios або Fetch API |
| UI-компоненти | DataTables, Select2 |
| Друк | PDF-акти й накладні через Stimulsoft або внутрішній механізм K2 |
| Інтеграція | API вагового обладнання або ручне введення ваги |
Рекомендовані сутності бази даних
Для реалізації задачі доцільно передбачити такі сутності:
- культури;
- базисні показники культур;
- постачальники;
- покупці;
- елеватори / склади;
- надходження зерна;
- рядки надходження;
- зважування;
- лабораторні показники;
- партії зерна;
- доробка зерна;
- елеваторні послуги;
- реалізація зерна;
- рядки реалізації;
- сертифікати якості;
- складські залишки;
- рух зерна;
- взаєморозрахунки;
- друковані форми;
- журнал змін.
Практичне завдання
У межах атестації потрібно продемонструвати робочий сценарій.
Мінімальний сценарій:
- створити культуру з базисними показниками вологості та сміттєвості;
- створити постачальника;
- створити покупця;
- створити склад або елеватор;
- оформити надходження зерна;
- ввести брутто і тару;
- перевірити автоматичний розрахунок нетто;
- ввести фактичну вологість і сміттєвість;
- перевірити перерахунок до базисних умов;
- розрахувати втрати при сушінні;
- розрахувати втрати при очищенні;
- сформувати партію зерна;
- зарахувати зерно на склад;
- сформувати акт приймання-передачі;
- створити сертифікат якості;
- оформити реалізацію зерна покупцю;
- вибрати партію вручну або за FIFO;
- перевірити контроль залишку;
- сформувати товарну накладну;
- сформувати рахунок-фактуру;
- сформувати звіт залишків зерна;
- сформувати звіт руху зерна;
- сформувати звіт втрат при доробці;
- сформувати звіт продажу зерна.
Критерії оцінювання
| Критерій | Бали | Що перевіряється |
|---|---|---|
| Реалізація довідників культур, постачальників і покупців | 10 | Культури, базисні показники, контрагенти, елеватори або склади |
| Журнал надходження і перерахунок базисної ваги | 20 | Брутто, тара, нетто, вологість, сміттєвість, базисна вага, зарахування на склад |
| Журнал реалізації і списання зі складу | 20 | Продаж зерна, вибір партій, FIFO, контроль залишків, списання |
| Розрахунок втрат при сушінні та очищенні | 20 | Формули доробки, втрати, зміна ваги партії, збереження результатів |
| Автоматичне формування актів і накладних | 20 | Акт приймання-передачі, товарна накладна, рахунок-фактура, сертифікат якості |
| Інтерактивність через AJAX і підсумки в таблицях | 10 | Миттєві перерахунки, вибір довідників, перевірка залишків, зручність інтерфейсу |
| Разом | 100 | Максимальна оцінка |
Шкала оцінювання
| Бали | Рівень | Опис |
|---|---|---|
| 90–100 | Відмінно | Модуль повністю працює: надходження, якість, базисна вага, доробка, партії, реалізація, документи й звіти реалізовані коректно |
| 75–89 | Добре | Основна логіка працює, є незначні недоліки, які не руйнують зерновий облік |
| 60–74 | Зараховано | Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання |
| 0–59 | Не зараховано | Відсутня критична логіка: надходження, перерахунок ваги, партії, списання, залишки або документи |
Критичні помилки
Критичними помилками вважаються ситуації, коли:
- неможливо оформити надходження зерна;
- нетто не розраховується з брутто й тари;
- базисна вага не враховує фактичну вологість;
- втрати при сушінні або очищенні не розраховуються;
- партія зерна не формується після приймання;
- зерно не зараховується на склад;
- реалізація не списує зерно зі складу;
- система дозволяє продати більше зерна, ніж є на залишку;
- FIFO працює неправильно або не враховує партії;
- сертифікат якості не прив’язується до партії;
- акт приймання-передачі або товарна накладна не формуються;
- звіти не відповідають рухам зерна;
- зміни ваги або якості не логуються.
Умова складання. Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл зернотрейдингу: надходження → зважування → якість → перерахунок → партія → склад → реалізація → списання → документи → звіт.
Очікуваний результат
У результаті виконання атестаційного завдання має бути створений модуль обліку операцій зернотрейдера в K2 ERP.
Модуль має підтримувати довідники культур, постачальників, покупців і складів, документи надходження зерна, зважування, показники якості, перерахунок до базисних умов, доробку, партійний облік, сертифікати якості, реалізацію зерна, FIFO або ручне списання, друковані документи та звітність.
Примітка
Модуль зернотрейдингу є критичним для агрокомпаній, елеваторів, трейдерів, переробників і експортерів.
Правильна реалізація такого модуля дозволяє мінімізувати втрати, уникати неточностей у взаєморозрахунках, контролювати якість зерна та будувати довіру з контрагентами.
Коротко
| Питання | Відповідь |
|---|---|
| Що потрібно створити? | Модуль обліку операцій зернотрейдера |
| Які довідники потрібні? | Культури, постачальники, покупці, склади або елеватори |
| Який головний документ надходження? | Приймальний акт або документ надходження зерна |
| Що розраховується при прийманні? | Нетто, базисна вага, втрати при сушінні та очищенні |
| Що формується після приймання? | Партія зерна та акт приймання-передачі |
| Як списується зерно при продажу? | За FIFO або ручним вибором партії |
| Які друковані документи потрібні? | Акт приймання-передачі, товарна накладна, рахунок-фактура, сертифікат якості |
| Які звіти потрібні? | Залишки зерна, рух зерна, втрати при доробці, продаж зерна |
| Що є критичною вимогою? | Повний цикл: зважування → якість → базисна вага → партія → склад → продаж |