Інтеграція з WMS
type: boolean
"shipped_quantity": 2
version: "1.0.0"
Комірник сканує:
type: string
"movement_id": "MV-000301",
→ WMS виконує фактичне приймання
K2 ERP → задача для складу → WMS → фактичне виконання → K2 ERP
"items": [
Розбіжності мають потрапляти в окремий журнал або звіт.; request_payload: dict | None = None
"barcode": "4820000000012",
* залишки в ERP не збігаються з фактичними залишками на складі;
* менеджери продають товар, який фізично не знайдено;
* складський облік не бачить актуальних замовлень;
* відвантаження підтверджуються вручну;
* документи дублюються;
* інвентаризація затягується;
* зростає кількість помилок;
* складські операції не потрапляють в управлінський обліковий облік;
* неможливо оперативно контролювати статус замовлення;
* користувачі працюють у Excel, месенджерах і телефоном.; __TOC__
Типові помилки:
→ створюються документи оприбуткування або списання
"receipt_id": "RC-000125",
K2 ERP імпортує результат
title: "Номенклатура"
Використання [[1С]]/[[BAS]] пов’язане з санкційним полем України: відповідні обмеження вводилися рішеннями РНБО через укази Президента України №133/2017 та №601/2024, а офіційно затверджений перелік забороненого до використання ПЗ ведеться Держспецзв’язку.; Статус у K2 ERP
Комірка A-01-01-01 → Комірка B-03-02-04
"cell": "A-01-01-01"
"items": [
Приклад довідника штрихкодів:
"batch": "B-2026-05",
Приклад задача на відвантаження:
Для компаній, які переходять з [[1С]]/[[BAS]], інтеграційні функціональні можливості з WMS — це можливість не без ускладнень перенести старий обмін у нову систему, а побудувати сучасну API-first архітектуру без російської технологічної залежності, з нормальним журналом, моніторингом, статусами, повторними спробами й прозорою логікою.; Статус
!; title: "Ідентифікатор документа"
Іноді інтеграцію хочуть зробити через прямий доступ до бази даних.; Інвентаризація — це перевірка фактичних залишків.; Перевага !; Приклад: → відповідальні приймають рішення для бізнесу
default: false
істотно:
"shipment_id": "SH-000501",
Фактичне відвантаження
Помилки потрібно не ховати, а показувати відповідальним користувачам.; → K2 ERP створює або оновлює документ надходження !;== ORM для інтеграції ==
Висновок
"sku": "PHONE-001",
Зазвичай з K2 ERP у WMS передаються: як ілюстрація, якщо WMS двічі надіслала підтвердження відвантаження, K2 ERP не повинна двічі списати товар.; Коментар
type: boolean } type: json
{| class="wikitable" style="width:100%;"
<syntaxhighlight lang="json">
Черги корисні для:
fields:
"expected_quantity": 50,
title: "Журнал обміну з WMS"
На основі [[YML]] можуть створюватися [[ORM|ORM-моделі]].; Це небезпечний підхід.;<ref>https://zakon.rada.gov.ua/laws/show/133/2017</ref> <ref>https://zakon.rada.gov.ua/laws/show/601/2024</ref> <ref>https://cip.gov.ua/ua/statics/perelik-zaboronenogo-do-vikoristannya-programnogo-zabezpechennya-ta-komunikaciinogo-merezhevogo-obladnannya</ref>
!; "package_id": "PK-10001",
|-
| За що відповідає K2 ERP?; Товар
Проблеми:
POST /api/wms/inventory
== Звірка залишків ==
Черги повідомлень корисні, коли потрібно забезпечити надійність.; Це складський оберіг.; Ризик
[[Категорія:BAS]]
"warehouse": "MAIN",
звірку та синхронізацію реалізується засобами '''K2 ERP веде управлінський і фінансовий обліковий облік, WMS веде фізичні залишки по комірках, а інтеграційні функціональні можливості.'''
]
складський облік сервісу
Після цього [[K2 ERP]] має змогу:
"expected_quantity": 20,
синхронізації документів забезпечується через | Це обмін даними між [[K2 ERP]] і системою керування складом; додатково реалізовано довідників, залишків, статусів і фактичних складських операцій.; !;== Синхронізація залишків ==
== Зовнішні посилання ==
Резерв має змогу бути:
<syntaxhighlight lang="json">
|-
| Створено
| Не отримано
| Замовлення ще не передано в WMS
|-
| Передано на складський облік
| New
| WMS отримала задача
|-
| Відбирається
| Picking
| Комірник виконує відбір
|-
| Упаковано
| Packed
| Товар підготовлено
|-
| Відвантажено
| Shipped
| Товар покинув складський облік
|-
| Помилка
| Error
| Потрібна ручна перевірка
|}
"expected_date": "2026-06-01",
переважні аспекти API:
ключовий складський облік → складський облік сервісу
WMS функціонує з адресним зберіганням:
* товар не знайдено в WMS;
* штрихкод не збігається;
* комірка не існує;
* недостатньо залишку;
* документ уже виконано;
* статус не надає можливість зміну;
* невідома партія;
* неправильна одиниця виміру;
* дубль зовнішнього ідентифікатора;
* проблема з API;
* таймаут;
* помилка авторизації.; }
Український бізнес-середовище має поступово відмовлятися від російської технологічної екосистеми, особливо там, де йдеться про критичні інформаційні дані, складську логістику, товарні залишки, обороти, клієнтів і документи.; |-
| Який найкращий спосіб інтеграції?; |-
| За що відповідає WMS?; ]
|- | NB-001 | 12 | 12 | 0 | Добре |- | MN-001 | 25 | 24 | -1 | Потрібна перевірка |- | KB-001 | 80 | 80 | 0 | Добре |}
Статуси документів
"comment": "2 одиниці пошкоджено"
бізнес-процес має змогу виглядати так:
}
</syntaxhighlight>
"quantity": 100
</syntaxhighlight> З такого опису можна автономно створити частину структури інтеграційного модуля.; | Єдині довідники, статуси, журнал обміну, ідемпотентність, звірка залишків і чітке розділення відповідальності між ERP та WMS.; "SN000001",
{ → WMS повертає фактичні залишки
{
|- | Контрагенти | K2 ERP | WMS має змогу отримувати тільки потрібні інформаційні дані |- | Номенклатура | K2 ERP | WMS отримує складські властивості |- | Комірки | WMS | ERP має змогу отримувати агреговану інформацію |- | Замовлення покупців | K2 ERP | WMS отримує задача на відбір |- | Фактичний відбір | WMS | ERP отримує підтвердження |- | Фінансові документи | K2 ERP | WMS не повинна вести фінансовий блок |- | Фізичні залишки по комірках | WMS | ERP отримує підсумки й розбіжності |- | Управлінські залишки | K2 ERP | Формуються на основі документів і підтверджень |}
type: datetime
Складська інтеграційні функціональні можливості впливає на товарні залишки, з цієї причини її не можна робити “аби працювало”.;
Див.; додатково
Партії, серії та терміни придатності
}
Штрихкоди і ТЗД
Інтеграційний компонент
title: "Статус"
Webhooks
Статуси дозволяють менеджерам бачити реальну картину.; K2 ERP
}
Для цього застосовують, коли потрібно ідемпотентність.; "barcode": "4820000000011", }
title: "Вага" "shipped_at": "2026-06-01T16:20:00",
class WmsExchangeLog(BaseModel):
'''істотно про 1С/BAS.''' [[1С]] і [[BAS]] пов’язані з російською технологічною екосистемою та перебувають у санкційному полі України.; У WMS цього мало.; Спосіб
Це надає можливість працювати з журналом інтеграції як із нормальним об’єктом системи.;
завдяки наявності WMS користувачі можуть управляти фізичним складом.; Підхід
Це зменшує кількість ручних помилок.; Така інтеграційні функціональні можливості надає можливість поєднати фінансовий, управлінський і товарний обліковий облік в K2 ERP з операційною складською логікою: прийманням товарів, розміщенням по комірках, відбором, пакуванням, відвантаженням, переміщенням, інвентаризацією, контролем партій, серій, термінів придатності і роботою зі штрихкодами.; Коли використовувати
→ комірники сканують товари
→ комірник сканує товари
!; |- | Чи можна інтегрувати через файли?;== інтеграційні функціональні можливості номенклатури == Відвантаження — ще один ключовий сценарій.; У K2 ERP товар має змогу мати управлінські, облікові й комерційні властивості.; характеристика
- можна зламати цілісність даних;
- складно контролювати права;
- складно версіонувати;
- зміна структури таблиць ламає інтеграцію;
- немає нормального журналу бізнес-операцій;
- важко підтримувати;
- складно масштабувати.; інтеграційні функціональні можливості потрібна, щоб K2 ERP і WMS не жили окремими життями.; "order_id": "SO-00215",
Приклад статусів замовлення:
!; |- | Чому це істотно при переході з 1С/BAS?; Значення !; } !; Дія
"cell_type": "picking",
{
"success": false,
інтеграційні функціональні можливості з WMS зазвичай охоплює кілька ключових сценаріїв:
document_type: str
|- | 1 | K2 ERP | Створюється замовлення покупця |- | 2 | K2 ERP | Перевіряється доступність товару |- | 3 | K2 ERP | Формується задача на відвантаження |- | 4 | Інтеграційний компонент | Передає задача в WMS |- | 5 | WMS | Створює задача на відбір |- | 6 | WMS | Комірник сканує товар і комірку |- | 7 | WMS | Підтверджує фактичний відбір |- | 8 | WMS | Пакує і відвантажує товар |- | 9 | Інтеграційний компонент | Передає результат у K2 ERP |- | 10 | K2 ERP | Оновлює статус замовлення і створює документи |}
як ілюстрація, WMS має змогу надіслати в K2 ERP подію про відвантаження:
status: values:
Синхронізація довідників
У K2 ERP має змогу створюватися документ інвентаризації.; Вона функціонує з комірками, зонами, маршрутами відбору, терміналами збору даних, штрихкодами, партіями, серіями, палетами, коробками, інвентаризацією та складськими завданнями.; "inventory_id": "INV-000045",
title: "Артикул"
}title: "Відповідь" У K2 ERP інтеграційний компонент має змогу бути описаний через YML.; Статус у WMS "quantity": 2 WMS має змогу повернути фактичний результат приймання.; |-
Чи варто робити прямий обмін через базу даних?;</syntaxhighlight>
При переході на [[K2 ERP]] варто не копіювати старий механізм, а створити сучасну інтеграційну архітектуру через [[API]], [[JSON]], журнали обміну, черги та нормальні модулі.; },
"operation_id": "WMS-EVENT-000000123",
Інтеграційний компонент потрібен, щоб:
"serial_numbers": [
* приймання товарів;
* розміщення товарів по комірках;
* адресне зберігання;
* переміщення всередині складу;
* відбір товарів;
* пакування;
* відвантаження;
* інвентаризацію;
* роботу з терміналами збору даних;
* штрихкодування;
* контроль партій і серій;
* контроль термінів придатності;
* керування складськими завданнями;
* оптимізацію маршрутів комірників;
* контроль фактичних залишків.;[[Категорія:Українське програмне забезпечення]]
"timestamp": "2026-06-01T16:25:00",
type: string
} { } response_payload: dict | None = None "document_id": "SH-000501", {{DISPLAYTITLE:Інтеграція з WMS}}
'''інтеграційні функціональні можливості K2 ERP з WMS — це міст між управлінським обліком і реальним складом, де кожне замовлення, кожна коробка і кожен штрихкод мають своє місце в єдиній цифровій системі.'''
weight:
</syntaxhighlight> ↓ статуси, залишки, результати |
За фізичне виконання складських операцій: приймання, розміщення, відбір, пакування, відвантаження, комірки, штрихкоди, партії й серії.; Головна платформа
Окремо варто відзначити тобто системою керування складом.; Але на реальному складі його ще потрібно знайти, взяти з правильної комірки, перевірити партію, відсканувати штрихкод, не переплутати коробки, не відвантажити не з цієї причини клієнту й не покласти палету туди, де її потім шукатимуть три дні.; "status": "success", |
; характеристика
K2 ERP формує файл shipments_20260601.json } Приймання товаруWMS часто функціонує з терміналами збору даних.; { K2 ERP Приклад запису: інтеграційні функціональні можливості створює єдиний контур:
"expiry_date": "2027-05-31",
"error": {
<syntaxhighlight lang="text">
== API-інтеграція ==
{| class="wikitable" style="width:100%;"
K2 ERP створює замовлення покупця
"expected_quantity": 20
Приклад партійного обліку:
}
"items": [
K2 ERP створює замовлення постачальнику
* створити документ надходження;
* зафіксувати розбіжності;
* створити акт розбіжностей;
* повідомити відповідального менеджера;
* оновити залишки;
* сформувати задачу щодо пошкодженого товару.; !;[[WMS]] знає, як саме це виконати на складі: з якої комірки взяти, куди покласти, яким маршрутом відібрати, що просканувати і як підтвердити операцію.; type: string
== Тестування інтеграції ==
"sku": "NB-001",
Типові помилки:
API інтеграції має версіонуватися.; type: decimal
"field": "items [0].sku"
{
У [[K2 ERP]] інтеграційні функціональні можливості з WMS має розглядатися не як “обмін файликом раз на добу”, а як частина сучасної цифрової архітектури підприємства, де [[ERP]] відповідає за бізнес-документи, фінансовий блок, закупівельна діяльність, продажі та реалізація, договори, ціни, контрагентів і управлінську аналітику, а [[WMS]] — за точне фізичне виконання складських операцій.; Залишок K2 ERP
== Черги повідомлень ==
}
{
→ WMS формує маршрут відбору
Існує кілька способів інтеграції з WMS.; "shipment_id": "SH-000501"
/api/v2/wms/shipments
"customer_id": 125,
<syntaxhighlight lang="json">
У [[ERP]] товар має змогу красиво лежати в таблиці.; "message": "Товар з артикулом NB-001 не знайдено в WMS",
title: "інтеграційні функціональні можливості з WMS"
WMS зазвичай відповідає за:
"completed_at": "2026-06-02T18:10:00",
type: string
[[Категорія:Альтернатива 1С]]
unit:
Приклад серійного обліку:
default: false
}
entity: product
}
{
"system_quantity": 12,
"sku": "KB-001",
У WMS внутрішньоскладське переміщення має змогу бути операційним завданням.;
K2 ERP створює документ інвентаризації Приклад умовної Python-моделі: Міграційне правило. Якщо стара інтеграційні функціональні можливості з WMS у 1С працювала тільки з цієї причини, що всі боялися її вимкнути, це не інтеграційні функціональні можливості.; !;== Переміщення товарів == "sku": "MN-001", |
;== Приклад процесу інтеграції від замовлення до відвантаження ==
Помилки інтеграціїПотрібні показники: |
; "type": "internal",
</syntaxhighlight>
"reservation_id": "RS-00077",
→ WMS повертає фактичні кількості в K2 ERP
↓ довідники, документи, задача
<syntaxhighlight lang="json">
Він має фіксувати:
"requested_quantity": 2,
!; '''інтеграційні функціональні можливості з WMS''' — це обмін даними між [[ERP]]-системою та [[WMS|Warehouse Management System]].; component:
* обліковим;
* фізичним;
* по складу;
* по комірці;
* по партії;
* по серії;
* з терміном дії.;<syntaxhighlight lang="text">
}
{| class="wikitable" style="width:100%;"
Webhook надає можливість одній системі повідомити іншу про подію.; Держспецзв’язку додатково оприлюднила перелік забороненого до використання програмного забезпечення та комунікаційного обладнання, де серед іншого згадуються продукти 1С, BAS та UA-Бюджет.; |-
| Що таке інтеграційні функціональні можливості з WMS?; Після цього [[K2 ERP]] має змогу оновити статус замовлення, створити реалізацію, передати номер ТТН клієнту або запустити інтеграцію зі службою доставки.; "sku": "MN-001",
"items": [
"accepted_at": "2026-06-01T11:40:00",
"supplier_id": 45,
</div>
"items": [
* фармацевтики;
* харчових продуктів;
* електроніки;
* обладнання;
* запчастин;
* косметики;
* медичних товарів;
* товарів з гарантією.; type: boolean
<syntaxhighlight lang="json">
* не передавати зайві інформаційні дані;
* використовувати пакетну обробку;
* застосовувати черги;
* робити пагінацію;
* кешувати довідники;
* оптимізувати запити;
* використовувати індекси;
* не блокувати користувацькі операції довгими обмінами.; * немає єдиного ідентифікатора товару;
* штрихкоди ведуться хаотично;
* ERP і WMS по-різному трактують одиниці виміру;
* відсутня звірка залишків;
* документи дублюються;
* помилки інтеграції не видно користувачам;
* немає журналу обміну;
* статуси не синхронізуються;
* WMS і ERP мають різні довідники складів;
* не визначено, яка платформа головна для певних даних;
* не враховано партії та серії;
* API не версіонується;
* інтеграційні функціональні можливості зроблена прямим доступом у базу;
* відсутні повторні спроби.; "warehouse": "MAIN",
}
"timestamp": "2026-06-01T16:20:00"
== Типові помилки інтеграції з WMS ==
Тестові сценарії:
Файловий обмін — старіший, але іноді практичний спосіб.; інтеграційні функціональні можливості з WMS має бути захищеною.; Дія
Приклад звірки:
Це актуально для:
"cell": "A-01-02-01",
Правильна інтеграційні функціональні можливості надає можливість зменшити ручну роботу, прискорити відвантаження, покращити точність залишків, контролювати партії, серії, комірки, штрихкоди, інвентаризації та статуси замовлень.;<syntaxhighlight lang="text">
]
Перед тим як обмінюватися документами, потрібно синхронізувати довідники.; | За бізнес-документи, обліковий облік, продажі та реалізація, закупівельна діяльність, фінансовий блок, аналітику, довідники, інтеграції та управлінські процеси.; {
Це надає можливість оновлювати інтеграцію без аварійного ламання старих клієнтів.; У менеджера замовлення “готове до відвантаження”, а комірник дивиться на порожню полицю й філософськи мовчить.; Це ризиковано для цілісності, безпеки й підтримки.; |-
| Що найважливіше в інтеграції?; "barcodes": [
Між складами:
!; type: json
"receipt_id": "RC-000125",
<syntaxhighlight lang="text">
"quantity": 10,
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;">
{
POST /api/wms/receipts
id: int
== Приклад процесу приймання ==
type: string → товар прибуває на складський облік
"sku": "NB-001",
* масового обміну;
* високого навантаження;
* асинхронної обробки;
* повторних спроб;
* складних інтеграцій;
* розподіленої архітектури.; {
== Санкційний аспект при заміні 1С/BAS ==
== Чому прямий доступ до бази небажаний ==
"shipment_id": "SH-000501", YML-опис інтеграційного компонента"aisle": "03",
</syntaxhighlight> ERP і WMS мають різні ролі, але повинні працювати разом.;Приклад YML-опису складських властивостей товару:
У старих системах обмін часто міг працювати через: title: "Серійний обліковий облік"
"SN000003" title: "Одиниця виміру" - error "rack": "05",
|
|---|