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

Інтеграція з WMS

Матеріал з K2 ERP Wiki

Черги повідомлень корисні, коли потрібно забезпечити надійність. |- | Чи варто робити прямий обмін через базу даних? "reservation_id": "RS-00077",

"status": "shipped",
"type": "internal",

→ комірник сканує товари

технічна архітектура інтеграції K2 ERP і WMS

</syntaxhighlight>

↓ довідники, документи, задача

→ WMS повертає фактичні кількості в K2 ERP

response_payload:
document_type: str
"sku": "KB-001",
"field": "items [0].sku"
 {
складський облік сервісу
 "code": "PRODUCT_NOT_FOUND",
У WMS товар має ще й складські властивості:
<syntaxhighlight lang="json">
Найчастіше правильний підхід такий:
<syntaxhighlight lang="json">
виступає як кілька підходів:
Комірник сканує:
! Відповідь
{
{
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;">
інтеграційні функції ERP потрібна, щоб [[K2 ERP]] і [[WMS]] не жили окремими життями.<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>
}
 "inventory_id": "INV-000045",
 "weight": 4.2,
 "barcode": "4820000000011",
 "package_id": "PK-10001",

 "warehouse": "MAIN",

WMS

 "to_cell": "B-02-01-03"

 type: json
Кожна операційна дія має унікальний ідентифікатор:
{
<syntaxhighlight lang="json">
Приклад задача на відвантаження:
== Вступ ==
Під час переходу з [[1С]]/[[BAS]] на [[K2 ERP]] інтеграцію з WMS потрібно переглянути. Приклад серійного обліку:
Тому заміна інтеграції з 1С/BAS на інтеграцію з [[K2 ERP]] — це не без зусиль технічний апгрейд, а частина цифрової незалежності компанії.<syntaxhighlight lang="text">
Для багатьох складів критично контролювати партії, серії та терміни придатності. K2 ERP

* перетворювати формати;
* контролювати помилки;
* вести журнал;
* робити повторні спроби;
* перевіряти інформаційні дані;
* відділяти бізнес-логіку від транспортного обміну. Коли використовувати
== Висновок ==
[[ERP]] і [[WMS]] мають різні ролі, але повинні працювати разом. |}

→ WMS повертає фактичні залишки

 "movement_id": "MV-000301",

 "quantity": 2

На основі [[YML]] можуть створюватися [[ORM|ORM-моделі]]. WMS здатна повернути фактичний результат приймання. Приклад:
 title: "Одиниця виміру"
</div>
|-
| 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
| Оновлює статус замовлення і створює документи
|}

API інтеграції має версіонуватися. платформа

[[Категорія:Інтеграції]]

 id: int

Якщо інтеграційні функції ERP впала, відповідальні мають дізнатися про це раніше, ніж клієнт ERP почне питати, де його замовлення. request_payload: dict | None = None

<syntaxhighlight lang="json">

 {

[[Категорія:K2 ERP]]
При переході на [[K2 ERP]] варто не копіювати старий механізм, а створити сучасну інтеграційну архітектуру через [[API]], [[JSON]], журнали обміну, черги та нормальні модулі. |-
| Чи можна інтегрувати через файли? {

 type: string
Складська інтеграційні функції ERP впливає на товарні залишки, тому її не можна робити “аби працювало”. Як зменшити
<syntaxhighlight lang="json">
 type: register
 title: "Назва"
component:
Інвентаризація — це перевірка фактичних залишків. API — найкращий варіант для сучасної інтеграції. "cell_type": "picking",

POST /api/wms/shipments

Приклад звірки:

{| class="wikitable" style="width:100%;"
[[Категорія:TypeScript]]
 "items": [

== Партії, серії та терміни придатності ==
Залишки — найчутливіша частина інтеграції. Крок
 "quantity": 100
У простому складському обліку достатньо знати складський облік. }

Приклад партійного обліку:
 "quantity": 2
 "active": true

Помилки потрібно не ховати, а показувати відповідальним користувачам. },

"direction": "WMS_TO_K2",
barcode:
"actual_quantity": 24,
"sku": "NB-001",
|-
| ERP головна по залишках
| K2 ERP вважає облікові залишки головними
| Можливі розбіжності з фізичним складом
|-
| WMS головна по фізичних залишках
| WMS відповідає за фактичні залишки по комірках
| Потрібна якісна синхронізація з ERP
|-
| Гібридний підхід
| ERP веде обліковий облік, WMS веде фізику
| Потрібні правила звірки
|}

→ товар прибуває на складський облік

!<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>
інтеграційні функції ERP створює єдиний контур:
{| class="wikitable" style="width:100%;"
Приклад довідника товару у форматі [[JSON]]:
 "system_quantity": 25,

 title: "Дата створення"

 default: false

! * дату й час запиту;
* напрям обміну;
* тип документа;
* ідентифікатор документа;
* статус;
* помилки;
* тіло запиту;
* тіло відповіді;
* користувача або сервіс;
* повторні спроби;
* час виконання.<div style="border:3px solid #ef6c00; background:#fff3e0; padding:14px; margin:16px 0;">

 }

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

<syntaxhighlight lang="text">

У [[K2 ERP]] міжскладське переміщення здатна бути документом управлінського обліку. ! → комірник відбирає товар

 },
== Ідемпотентність операцій ==
Приклад endpoint-ів:
 "expected_quantity": 50
== Приклад процесу інтеграції від замовлення до відвантаження ==
'''WMS''' або '''Warehouse Management System''' — це ERP-система керування складом, яка автоматизує фізичні складські операції. Типова технічна архітектура:

<syntaxhighlight lang="python">

 {

* залишки в ERP не збігаються з фактичними залишками на складі;
* менеджери продають товар, який фізично не знайдено;
* складський облік не бачить актуальних замовлень;
* відвантаження підтверджуються вручну;
* документи дублюються;
* інвентаризація затягується;
* зростає кількість помилок;
* складські операції не потрапляють в управлінський обліковий облік;
* неможливо оперативно контролювати статус замовлення;
* користувачі працюють у Excel, месенджерах і телефоном.[[Категорія:Альтернатива 1С]]

__TOC__

[[Категорія:Адресне зберігання]]

бізнес-процес:
}
 "requested_quantity": 5,

<syntaxhighlight lang="json">

 "customer_id": 125,
 ]
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;">

<syntaxhighlight lang="json">

Приклад довідника штрихкодів:

 "4820000000011",

Тому інтеграційні функції ERP має бути продуктивною. Приклад:
}
 "sku": "MED-001",
Відвантаження — ще один ключовий сценарій. звірку та синхронізацію реалізується засобами '''K2 ERP веде управлінський і фінансовий обліковий облік, WMS веде фізичні залишки по комірках, а інтеграційні функції ERP.'''

Комірка A-01-01-01 → Комірка B-03-02-04
  • номенклатура;
  • штрихкоди;
  • одиниці виміру;
  • упаковки;
  • характеристики;
  • партії;
  • серії;
  • склади;
  • комірки або зони складу;
  • контрагенти;
  • типи операцій;
  • користувачі або відповідальні;
  • правила відбору;
  • статуси. "from_cell": "A-01-01-01",
"expected_quantity": 50,
volume:
  • кількість успішних обмінів;
  • кількість помилок;
  • середній час відповіді;
  • кількість повторних спроб;
  • кількість необроблених повідомлень;
  • час останнього успішного обміну;
  • критичні помилки;
  • розбіжності залишків.</syntaxhighlight>
інтеграційні функції ERP з WMS зазвичай охоплює кілька ключових сценаріїв:
WMS забирає файл
[[Категорія:Автоматизація бізнесу]]
 "duration_ms": 245
! "barcodes": [

 ],
 expiry_tracking:
 "success": false,

Для цього застосовують, коли потрібно ідемпотентність. {
K2 ERP  задача для складу  WMS  фактичне виконання  K2 ERP

Звірка залишків потрібна регулярно. "barcodes": [
 - error
складський облік  Зона  Ряд  Стелаж  Полиця  Комірка
  статуси, залишки, результати

Розбіжності мають потрапляти в окремий журнал або звіт.

"receipt_id": "RC-000125",

! Пояснення

"accepted_at": "2026-06-01T11:40:00",

Резервування — важливий момент між ERP і WMS. базовий складський облік → складський облік сервісу Якщо вони не інтегровані, бізнес-середовище отримує дві реальності: в одній системі товар виступає як, в іншій його не можуть знайти. Підхід

бізнес-процес:

Чому прямий доступ до бази небажаний

Приклад очікуваного приймання:

type: directory

інтеграційні функції ERP номенклатури

Це актуально для: ! * синхронізація довідників;

  • передача замовлень на відвантаження;
  • передача документів на приймання;
  • підтвердження фактичного приймання;
  • підтвердження фактичного відвантаження;
  • переміщення між складами;
  • переміщення між комірками;
  • інвентаризація;
  • списання;
  • повернення від клієнтів;
  • повернення постачальникам;
  • контроль статусів;
  • синхронізація залишків;
  • обмін помилками й повідомленнями. У менеджера замовлення “готове до відвантаження”, а комірник дивиться на порожню полицю й філософськи мовчить. * зовнішні обробки;
  • файловий обмін;
  • COM;
  • проміжні таблиці;
  • ручний імпорт;
  • специфічні механізми конфігурації;
  • обмін, який “краще не чіпати”. WMS
"cell": "A-01-01-01"

</syntaxhighlight> POST /api/wms/products ! SEO-опис

! Але на реальному складі його ще потрібно знайти, взяти з правильної комірки, перевірити партію, відсканувати штрихкод, не переплутати коробки, не відвантажити не тому клієнту й не покласти палету туди, де її потім шукатимуть три дні. Залишок WMS

інтеграційні функції ERP складів і комірок

Статуси документів

У K2 ERP здатна створюватися документ інвентаризації. Залишок K2 ERP → створюються документи оприбуткування або списання

↓ фактичне виконання

</syntaxhighlight>

  • обліковим;
  • фізичним;
  • по складу;
  • по комірці;
  • по партії;
  • по серії;
  • з терміном дії. → K2 ERP створює видатковий документ
title: "Ідентифікатор документа"
  • тисячі сканувань;
  • сотні відвантажень;
  • багато переміщень;
  • регулярні інвентаризації;
  • масова синхронізація залишків;
  • інтеграції зі службами доставки.</syntaxhighlight>

У K2 ERP інтеграційні функції ERP з WMS має розглядатися не як “обмін файликом раз на добу”, а як частина сучасної цифрової архітектури підприємства, де ERP відповідає за бізнес-документи, фінансовий блок, закупівельна діяльність, продажі та реалізація, договори, ціни, контрагентів і управлінську аналітику, а WMS — за точне фізичне виконання складських операцій. "SN000001", |- | За що відповідає K2 ERP? |- | NB-001 | 12 | 12 | 0 | Добре |- | MN-001 | 25 | 24 | -1 | Потрібна перевірка |- | KB-001 | 80 | 80 | 0 | Добре |}

"sku": "NB-001",

Приклад помилки:

type: string
"delivery_service": "Нова пошта",

YML-опис інтеграційного компонента

document_id: str
"items": [

{

version: "1.0.0" Перед запуском потрібно перевірити: unit: Цей спосіб простіший, але має недоліки: затримки, складність контролю помилок, ризик дублів і слабша онлайн-видимість. Ризик
API Онлайн-обмін через HTTP/REST або інший API Сучасний базовий сценарій
Webhooks WMS або K2 ERP повідомляє іншу систему про подію Для статусів і подій
Черги повідомлень Обмін через брокер повідомлень Для надійного асинхронного обміну
Файловий обмін CSV, XML, JSON-файли Для старих або простих систем
Прямий доступ до БД Читання/запис у таблиці Небажано, тільки у виняткових випадках
Гібридний підхід Комбінація API, файлів і черг Для складних проєктів

POST /api/wms/receipts

Якщо довідники не синхронізовані, WMS не знатиме, що саме приймати, відбирати або сканувати.== Ролі K2 ERP і WMS == }

values:
{

як приклад: Типові помилки: K2 ERP створює замовлення покупця

Файловий обмін

{

status: str

Це дає можливість працювати з журналом інтеграції як із нормальним об’єктом системи. {| class="wikitable" style="width:100%;"

У ERP товар здатна красиво лежати в таблиці. "sku": "MN-001",

"sku": "PHONE-001", } } </syntaxhighlight> → відповідальні приймають рішення для бізнесу
Після цього K2 ERP здатна оновити статус замовлення, створити реалізацію, передати номер ТТН клієнту або запустити інтеграцію зі службою доставки. Статус у WMS
"quantity": 10
  • створення товару;
  • оновлення версій штрихкоду;
  • передача замовлення на відвантаження;
  • часткове відвантаження;
  • повне відвантаження;
  • відвантаження з помилкою;
  • приймання з розбіжністю;
  • приймання партійного товару;
  • приймання серійного товару;
  • інвентаризація;
  • переміщення;
  • повернення;
  • повторна відправка події;
  • недоступність WMS;
  • недоступність K2 ERP;
  • дубль документа. Спосіб
"difference": -1

Журнал інтеграції — це чорна скринька літака. {

},
"sku": "KB-001",
У K2 ERP можуть зберігатися штрихкоди товарів, а WMS використовує їх для операційного виконання. Це небезпечний підхід.
 {

* довідники синхронізуються;
* товари мають унікальні артикули;
* штрихкоди коректні;
* одиниці виміру узгоджені;
* склади й комірки налаштовані;
* API функціонує;
* авторизація налаштована;
* журнал обміну ведеться;
* помилки видно користувачам;
* повторні спроби працюють;
* статуси синхронізуються;
* залишки звіряються;
* тестові сценарії пройдені;
* відповідальні користувачі навчені;
* виступає як план дій при аварії. "batch": "B-2026-05",

 "sku": "NB-001",

 "active": true

Перед тим як обмінюватися документами, потрібно синхронізувати довідники.== ORM для інтеграції ==

== Продуктивність інтеграції ==

 title: "базовий штрихкод"
як приклад:
 values:
 }
 }

== конкурентні переваги інтеграції K2 ERP з WMS ==

! entities:

* не передавати зайві інформаційні дані;
* використовувати пакетну обробку;
* застосовувати черги;
* робити пагінацію;
* кешувати довідники;
* оптимізувати запити;
* використовувати індекси;
* не блокувати користувацькі операції довгими обмінами. Вона функціонує з комірками, зонами, маршрутами відбору, терміналами збору даних, штрихкодами, партіями, серіями, палетами, коробками, інвентаризацією та складськими завданнями. Це дає можливість оновлювати інтеграцію без аварійного ламання старих клієнтів. }
Після цього [[K2 ERP]] здатна автоматизовано змінити статус замовлення. Статус у K2 ERP
[[Категорія:JSON]]
{{DISPLAYTITLE:Інтеграція з WMS}}
 "supplier_id": 45,

 response_payload: dict | None = None

 title: "Артикул"

[[Категорія:API]]

 title: "Напрям"

{
Якщо [[K2 ERP]] відповідає на питання “що потрібно продати, купити або перемістити”, то WMS відповідає на питання “де саме це лежить і як це взяти”. Крок
type: enum

Резерв здатна бути:

"tracking_number": "20400012345678"
]
}

}

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

WMS повертає файл shipment_result_20260601.json

У будь-якій інтеграції можливі помилки. Головна платформа Тестові сценарії:

{
]

Коротко

direction:
Зазвичай з [[K2 ERP]] у [[WMS]] передаються:
[[Категорія:WMS]]

[[K2 ERP]] і [[WMS]] повинні працювати як дві частини єдиної системи: [[K2 ERP]] відповідає за бізнес-логіку, документи, обліковий облік, аналітику, контрагентів, продажі та реалізація й закупівельна діяльність, а [[WMS]] — за точне фізичне виконання складських операцій. як приклад, якщо WMS двічі надіслала підтвердження відвантаження, [[K2 ERP]] не повинна двічі списати товар. У K2 ERP краще зробити нормально. Різниця
→ замовлення резервується

</div>

== Резервування товару ==

 "sku": "NB-001",

!== Webhooks ==

K2 ERP формує файл shipments_20260601.json
 created_at: datetime
[[Категорія:BAS]]
{| class="wikitable" style="width:100%;"
 request_payload:
! | Так, але це менш гнучкий і менш оперативний спосіб, доречний для простих або старих систем. {
 type: boolean
 "items": [
},
"event": "shipment.shipped",

інтеграційні функції ERP з WMS при переході з 1С/BAS

SEO title: Інтеграція з WMS — складська логістика, обмін даними та K2 ERP

SEO keywords: WMS, інтеграція з WMS, K2 ERP, ERP, складська логістика, складський облік, адресне зберігання, штрихкоди, API, JSON, YML, ORM, PostgreSQL, Python, TypeScript, автоматизація складу, інтеграція ERP WMS, альтернатива 1С, альтернатива BAS

</noinclude>
 {{SEO
Шаблон для службового SEO-опису сторінки. 

}}


складський облік — це місце, де абстрактний обліковий облік зустрічається з реальністю.

K2 ERP створює документ інвентаризації як приклад:

title: "Партійний обліковий облік"
title: "Відповідь"

через WMS користувачі можуть управляти фізичним складом. K2 ERP Інтеграційний компонент /api/v2/wms/shipments

Питання
"receipt_id": "RC-000125",

Приклад умовної Python-моделі:

]
direction: str

У K2 ERP інтеграційний компонент здатна бути описаний через YML. У WMS внутрішньоскладське переміщення здатна бути операційним завданням. "accepted_quantity": 48,

required: true

K2 ERP має отримувати від WMS фактичні партії та серії, які були прийняті або відвантажені. "document_type": "shipment",

{
weight:

WMS зазвичай відповідає за:

Всередині складу:

name:
"unit": "коробка",
"sku": "NB-001",
default: false
== Способи інтеграції ==
 "requested_quantity": 2,
'''Міграційне правило.''' Якщо стара інтеграційні функції ERP з WMS у 1С працювала тільки тому, що всі боялися її вимкнути, це не інтеграційні функції ERP. * авторизацію;
* токени доступу;
* HTTPS;
* обмеження IP;
* журнал доступу;
* права сервісного користувача;
* обмеження методів API;
* захист від повторних запитів;
* контроль розміру запитів;
* маскування чутливих даних у логах. Значення
[[Категорія:K2]]
Коментар

інтеграційні функції ERP K2 ERP з WMS — це міст між управлінським обліком і реальним складом, де кожне замовлення, кожна коробка і кожен штрихкод мають своє місце в єдиній цифровій системі.

"shipment_id": "SH-000501",

Див. так само

</syntaxhighlight>

"sku": "NB-001",
type: string
title: "Вага"

Чек-лист готовності інтеграції

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

  • швидкий обмін;
  • структуровані інформаційні дані;
  • контроль помилок;
  • авторизація;
  • журналювання;
  • версіонування;
  • можливість online-статусів;
  • зручність для інтеграторів. Формати:
== Штрихкоди і ТЗД ==
 type: boolean
критично:
 ↓ API / черга / webhook
<syntaxhighlight lang="text">
Між складами:
</div>
 "SN000002",
Це зменшує кількість ручних помилок. * [[K2]]
* [[K2 ERP]]
* [[K2 Update]]
* [[ERP]]
* [[WMS]]
* [[Складський облік]]
* [[Адресне зберігання]]
* [[Штрихкод]]
* [[Термінал збору даних]]
* [[Інтеграція]]
* [[API]]
* [[JSON]]
* [[XML]]
* [[YML]]
* [[ORM]]
* [[ER-модель]]
* [[BP-модель]]
* [[PostgreSQL]]
* [[Python]]
* [[TypeScript]]
* [[1С]]
* [[BAS]]
* [[Перехід з 1С на K2 ERP]]
* [[Міграція даних]]
* [[Open source]]
* [[No-code]]
* [[Low-code]]
* [[RAD]]
* [[Автоматизація бізнесу]]
* [[Українське програмне забезпечення]]
* [[Альтернатива 1С]]
* [[Альтернатива BAS]]
* [[Цифрова незалежність]]

 "weight": 1.8,

* [https://erp.kyiv.ua Сайт K2 ERP]
* [https://wiki.erp.kyiv.ua Wiki K2 ERP]
* [https://cloud.corp2.eu хмарна інфраструктура K2 ERP]
* [https://t.me/+uIdWI1W6vndkMTAy Telegram-канал K2 ERP]
* [https://t.me/+6jFwAZM6TQliNTdi Група обговорення функціоналу та пропозицій]
* [https://www.linkedin.com/company/k2erp/ LinkedIn K2]
* [https://zakon.rada.gov.ua/laws/show/133/2017 Указ Президента України №133/2017]
* [https://zakon.rada.gov.ua/laws/show/601/2024 Указ Президента України №601/2024]
* [https://cip.gov.ua/ua/statics/perelik-zaboronenogo-do-vikoristannya-programnogo-zabezpechennya-ta-komunikaciinogo-merezhevogo-obladnannya Перелік забороненого до використання програмного забезпечення та комунікаційного обладнання]

/api/v1/wms/shipments
"items": [

Проблеми: Після цього K2 ERP здатна:

- За що відповідає WMS? Інтеграційний компонент

Переміщення товарів

Моніторинг інтеграції

Для чого потрібна інтеграційні функції ERP ERP і WMS

}

Контрагенти K2 ERP WMS здатна отримувати тільки потрібні інформаційні дані
Номенклатура K2 ERP WMS отримує складські властивості
Комірки WMS ERP здатна отримувати агреговану інформацію
Замовлення покупців K2 ERP WMS отримує задача на відбір
Фактичний відбір WMS ERP отримує підтвердження
Фінансові документи K2 ERP WMS не повинна вести фінансовий блок
Фізичні залишки по комірках WMS ERP отримує підсумки й розбіжності
Управлінські залишки K2 ERP Формуються на основі документів і підтверджень

{

{

Практична ідея. Хороша інтеграційні функції ERP з WMS — це коли менеджер у K2 ERP бачить замовлення, складський облік реально відбирає товар у WMS, комірник сканує штрихкод, а залишки, статуси й документи автоматизовано синхронізуються без дзвінків “а ви вже відвантажили?”. {

"quantity": 5

Для K2 ERP. інтеграційні функції ERP з WMS здатна реалізовуватися через API, JSON, події, черги повідомлень, webhooks, імпорт/експорт, окремі інтеграційні модулі, YML-описи структур, ORM-моделі та механізми синхронізації довідників, документів і залишків. "cell": "A-01-02-01",

"sku": "NB-001",

В інтеграції критично уникати дублювання. | Єдині довідники, статуси, журнал обміну, ідемпотентність, звірка залишків і чітке розділення відповідальності між ERP та WMS. Статус → товар пакується

{
"system_quantity": 12,
"level": "02",

Статуси дозволяють менеджерам бачити реальну картину. Указ Президента України №133/2017 ввів у дію рішення для бізнесу РНБО від 28 квітня 2017 року щодо санкцій, а Указ №601/2024 — рішення для бізнесу РНБО від 2 вересня 2024 року щодо сценарії використання, скасування та внесення змін до санкцій.WMS знає, як саме це виконати на складі: з якої комірки взяти, куди покласти, яким маршрутом відібрати, що просканувати і як підтвердити операцію. SEO-опис

"warehouse": "MAIN",

! "warehouse": "MAIN",

K2 ERP

Помилки інтеграції

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

POST /api/wms/inventory

"comment": "2 одиниці пошкоджено"

} |- | 1 | K2 ERP | Створюється замовлення постачальнику |- | 2 | K2 ERP | Передається очікуване приймання в WMS |- | 3 | WMS | Комірник приймає товар |- | 4 | WMS | Скануються штрихкоди, партії, серії |- | 5 | WMS | Товар розміщується в комірки |- | 6 | WMS | Повертає фактичний результат |- | 7 | K2 ERP | Створює документ надходження |- | 8 | K2 ERP | Фіксує розбіжності, якщо вони виступає як |}

type: boolean

! Приклад результату інвентаризації:

],

! "expected_quantity": 20,

"sku": "MN-001",

} → K2 ERP передає задача на відбір у WMS

"name": "Ноутбук Lenovo ThinkPad",

Webhook дає можливість одній системі повідомити іншу про подію. | Бо старі інтеграції часто побудовані на застарілих механізмах, а 1С/BAS мають санкційні та технологічні ризики для українського бізнесу. * масового обміну;

  • високого навантаження;
  • асинхронної обробки;
  • повторних спроб;
  • складних інтеграцій;
  • розподіленої архітектури. "items": [

Приймання — один із базових сценаріїв інтеграції.== Санкційний аспект при заміні 1С/BAS ==

"barcode": "4820000000012",

Приклад правильної карти відповідальності

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

type: string

Для якісної інтеграції потрібен журнал обміну. title: "Контроль терміну придатності"

</syntaxhighlight>

"timestamp": "2026-06-01T16:20:00"
}

WMS здатна повернути фактично відвантажені товари:

"sku": "NB-001",
"shipment_id": "SH-000501"

WMS часто функціонує з терміналами збору даних. |- | Створено | Не отримано | Замовлення ще не передано в WMS |- | Передано на складський облік | New | WMS отримала задача |- | Відбирається | Picking | Комірник виконує відбір |- | Упаковано | Packed | Товар підготовлено |- | Відвантажено | Shipped | Товар покинув складський облік |- | Помилка | Error | Потрібна ручна перевірка |}

title: "Об'єм"
"completed_at": "2026-06-02T18:10:00",
"timestamp": "2026-06-01T16:25:00",

У K2 ERP товар здатна мати управлінські, облікові й комерційні властивості. | Зазвичай ні. },

default: false

</syntaxhighlight>

</syntaxhighlight> Приклад структури комірки:

name: wms_integration

Потрібно врахувати:

"expiry_date": "2027-05-31",
wms_exchange_log:

→ K2 ERP створює або оновлює документ надходження

складський облік браку

</syntaxhighlight>

"actual_quantity": 12 K2 ERP створює замовлення постачальнику type: datetime document_type: - k2_to_wms → K2 ERP формує розбіжності title: "інтеграційні функції ERP з WMS" K2 ERP імпортує результат Черги корисні для: } "serial_numbers": [ інтеграційні функції ERP з WMS — це один із ключових елементів сучасної складської автоматизації. Але WMS має знати, що цей товар не можна віддати іншому замовленню. |-
За бізнес-документи, обліковий облік, продажі та реалізація, закупівельна діяльність, фінансовий блок, аналітику, довідники, інтеграції та управлінські процеси. Це складський оберіг. "shipped_quantity": 2

Тестування інтеграції

WMS обробляє відвантаження </syntaxhighlight>

Дія

Головне. ERP знає, що бізнес-середовище хоче зробити: купити, продати, перемістити, списати або інвентаризувати товар.== Фактичне відвантаження ==

Звірка залишків

Приймання товару

Файловий обмін — старіший, але іноді практичний спосіб. Товар

== Основні сценарії інтеграції ==
 "order_id": "SO-00215",

Типові помилки інтеграції з WMS

status:
created_at:
"aisle": "03",

Він має фіксувати:

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

У старих системах обмін часто міг працювати через: }

"event": "shipment.shipped",
"SN000003"
}
document_id:

→ комірники сканують товари {

title: "Статус"

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

WMS функціонує ближче до фізичного складу, ніж ERP. Перевага

{

"warehouse": "MAIN",

Приклад:

Точніші залишки Фактичні складські операції швидше потрапляють в ERP
Менше ручної роботи Документи й статуси синхронізуються автоматизовано
Швидше відвантаження WMS оптимізує відбір і пакування
Кращий контроль складу Видно комірки, партії, серії, розбіжності
Менше помилок Сканування зменшує ручне введення
Краща аналітичні інструменти K2 ERP отримує фактичні інформаційні дані для звітів
Масштабованість складський облік здатна рости без хаосу в обліку
Цифрова незалежність Перехід від 1С/BAS до K2 ERP зменшує залежність від російської екосистеми
"items": [

Інтеграційний компонент потрібен, щоб:

type: json
type: enum

|- | Розбіжності залишків | Регулярна звірка, чітка карта відповідальності |- | Дублі документів | Ідемпотентність і унікальні ідентифікатори |- | Помилки довідників | Єдині коди товарів, контроль штрихкодів |- | Відмова однієї системи | Черги, повторні спроби, журнал обміну |- | Неправильні статуси | Узгоджена статусна модель |- | Складність підтримки | Документація, API, моніторинг |- | Небезпечна інтеграційні функції ERP напряму в БД | Використовувати API або інтеграційний компонент |}

<syntaxhighlight lang="json">
 "product_id": 1001,
 "4820000000012"
|-
| Що таке інтеграційні функції ERP з WMS?== Черги повідомлень ==
 ]
}
<syntaxhighlight lang="json">

 WMS формує маршрут відбору

 "accepted_quantity": 20,

 "warehouse": "MAIN",

 - success

 "unit": "шт",

 {

Приклад запису:
<syntaxhighlight lang="yaml">
[[Категорія:1С]]
Окремо варто відзначити тобто системою керування складом виступає ключовою рисою '''інтеграційні функції ERP з WMS'''. }
конкурентні переваги API:
[[Категорія:Python]]
! Держспецзв’язку так само оприлюднила перелік забороненого до використання програмного забезпечення та комунікаційного обладнання, де серед іншого згадуються продукти 1С, BAS та UA-Бюджет. Коли щось пішло не так, без нього всі починають казати: “А в мене працювало”. title: "Серійний обліковий облік"
 type: decimal
 "sku": "NB-001",
! Номенклатура  найважливіший довідник для WMS. fields:

 "status": "success",

 "warehouse": "MAIN",

 "items": [

! У звіті він здатна мати правильну кількість, собівартість і резерв. * можна зламати цілісність даних;
* складно контролювати права;
* складно версіонувати;
* зміна структури таблиць ламає інтеграцію;
* немає нормального журналу бізнес-операцій;
* важко підтримувати;
* складно масштабувати.[[Категорія:ORM]]
fields:
У [[K2 ERP]] менеджер здатна створити замовлення клієнта й зарезервувати товар. }

!

як приклад, WMS здатна надіслати в K2 ERP подію про відвантаження:

У K2 ERP здатна зберігатися загальна інформаційні матеріали про склади, а деталізація комірок здатна бути основною відповідальністю WMS. {

"unit": "шт"
"rack": "05",

</syntaxhighlight>

Відвантаження товару

title: "Журнал обміну з WMS"
Перед запуском потрібно провести тестування. }
 title: "Запит"

[[Категорія:Цифрова незалежність України]]

 "zone": "A",

Приклад резерву:

* фармацевтики;
* харчових продуктів;
* електроніки;
* обладнання;
* запчастин;
* косметики;
* медичних товарів;
* товарів з гарантією. "shipment_id": "SH-000501",

== Приклад процесу приймання ==

}

Український бізнес-середовище має поступово відмовлятися від російської технологічної екосистеми, особливо там, де йдеться про критичні інформаційні дані, складську логістику, товарні залишки, обороти, клієнтів і документи. Область
== Інвентаризація ==
 sku:

 {
<syntaxhighlight lang="json">
 "operation_id": "WMS-EVENT-000000123",

 {
Якщо така операційна дія вже оброблена, платформа не виконує її повторно.== Журнал інтеграції ==
 {
== Синхронізація залишків ==
інтеграційні функції ERP з WMS має бути захищеною. |-
| Який найкращий спосіб інтеграції? → K2 ERP передає очікуване приймання в WMS

<syntaxhighlight lang="text">

 - wms_to_k2

== Що таке WMS ==

* товар;
* комірку;
* партію;
* серію;
* палету;
* коробку;
* задача;
* документ;
* пакування.<syntaxhighlight lang="text">

{

</div>

 "packages": [

бізнес-процес здатна виглядати так:

З такого опису можна автоматизовано створити частину структури інтеграційного модуля. "cell": "A-03-05-02",
 title: "Тип документа"
→ WMS підтверджує відвантаження
{| class="wikitable" style="width:100%;"
як приклад:
У WMS цього мало. Ризик
На великому складі здатна бути багато подій. платформа
'''критично про 1С/BAS.''' [[1С]] і [[BAS]] пов’язані з російською технологічною екосистемою та перебувають у санкційному полі України. | Для сучасної архітектури — [[API]], [[JSON]], webhooks, черги повідомлень і інтеграційний компонент. це обмін даними між [[ERP]]-системою та [[WMS|Warehouse Management System]]. ]

== Зовнішні посилання ==
== Безпека інтеграції ==
{| class="wikitable" style="width:100%;"

{| class="wikitable" style="width:100%;"
Існує кілька способів інтеграції з WMS. ]

→ WMS виконує фактичне приймання

Використання /BAS пов’язане з санкційним полем України: відповідні обмеження вводилися рішеннями РНБО через укази Президента України №133/2017 та №601/2024, а офіційний перелік забороненого до використання ПЗ ведеться Держспецзв’язку. Дія

  • створити документ надходження;
  • зафіксувати розбіжності;
  • створити акт розбіжностей;
  • повідомити відповідального менеджера;
  • оновити залишки;
  • сформувати задачу щодо пошкодженого товару. required: true
"shipment_id": "SH-000501",
- pending
"document_id": "SH-000501",
title: "Номенклатура" "shipped_at": "2026-06-01T16:20:00",
!== API-інтеграція == як приклад, якщо WMS тимчасово недоступна, повідомлення не губиться, а чекає повторної обробки.
class WmsExchangeLog(BaseModel):

синхронізації документів забезпечується через | Це обмін даними між K2 ERP і системою керування складом; так само реалізовано довідників, залишків, статусів і фактичних складських операцій.== Версіонування API == </syntaxhighlight> </syntaxhighlight> Для компаній, які переходять з /BAS, інтеграційні функції ERP з WMS — це можливість не без зусиль перенести старий обмін у нову систему, а побудувати сучасну API-first архітектуру без російської технологічної залежності, з нормальним журналом, моніторингом, статусами, повторними спробами й прозорою логікою. |-

Що найважливіше в інтеграції?== Синхронізація довідників ==
serial_tracking:

GET /api/wms/shipments/{id}/status

type: string
batch_tracking:
type: string

Фактичне приймання

Приклад статусів замовлення: → WMS отримує задача на перерахунок

"expected_quantity": 20

Переміщення здатна відбуватися між складами або всередині складу.== Ризики інтеграції ==

Саме тому інтеграцію з WMS потрібно будувати не як тимчасовий обмін, а як повноцінний компонент K2 ERP: з API, JSON, YML, ORM, журналом обміну, моніторингом, безпекою, звіркою залишків і готовністю до масштабування. Типові помилки: Потрібні показники:

Якщо WMS була інтегрована з або BAS, перехід на K2 ERP має враховувати не тільки технічний, а й санкційний аспект. "error": {

"sku": "MN-001",

</syntaxhighlight> Без інтеграції виникають проблеми: Саме для цього існують WMS-системи. Приклад YML-опису складських властивостей товару:

"volume": 0.012,

Краще використовувати API або інтеграційний компонент. Це ризиковано для цілісності, безпеки й підтримки. * товар не знайдено в WMS;

  • штрихкод не збігається;
  • комірка не існує;
  • недостатньо залишку;
  • документ уже виконано;
  • статус не дає можливість зміну;
  • невідома партія;
  • неправильна одиниця виміру;
  • дубль зовнішнього ідентифікатора;
  • проблема з API;
  • таймаут;
  • помилка авторизації. "quantity": 10,
"message": "Товар з артикулом NB-001 не знайдено в WMS",
"expected_date": "2026-06-01",

entity: product

</syntaxhighlight> { POST /api/wms/events

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

type: decimal
"status": "completed",
]

WMS виконує фактичний підрахунок через сканування.