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

Інтеграція через XML

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

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

  • складський облік;
  • товар;
  • характеристика;
  • серія або партія;
  • кількість;
  • одиниця виміру;
  • сума;
  • організація.;</syntaxhighlight>
<Організація Код="ORG-001">ТОВ "Ромашка"</Організація>
<СтавкаПДВ>20</СтавкаПДВ>
</div>
Під час XML-інтеграції потрібно домовитися про формати.; '''Надійний імпорт.''' Хороший XML-імпорт не без ускладнень “читає файл”, а перевіряє структуру, контролює інформаційні дані, логіює результат і надає можливість зрозуміти, що саме було створено або змінено.; | Так.; Обов’язковий
 <Значення>600.00</Значення>
'''Не можна сліпо завантажувати XML.''' Навіть якщо файл технічно правильний, він має змогу містити бізнес-помилки: неправильні коди товарів, дублікати документів, порожні ЄДРПОУ, неправильні суми або старі неактуальні інформаційні дані.;<Рядок>

* передавати посилання на файл;
* передавати файл як закодований вміст.;<ЗовнішнійНомер>РН-000123</ЗовнішнійНомер>
<syntaxhighlight lang="xml">

{| class="wikitable" style="width:100%;"

* шапка документа;
* контрагент;
* договір;
* складський облік;
* валюта;
* таблична частина товарів;
* кількість, ціни, суми і ПДВ.;<Артикул>USB-C-1M</Артикул>
|-
| Повний обмін
| Кожного разу передається весь набір даних
| Простий для розуміння
| Повільний для великих обсягів
|-
| Інкрементальний обмін
| Передаються тільки зміни
| Швидший і економніший
| Потрібен контроль версій, дат і статусів
|}

<Контрагенти>

 <Кількість>45</Кількість>

'''Цифрова незалежність.''' XML має змогу стати мостом від старої ризикової системи до сучасної української [[ERP]]-платформи.; Об’єкт
 <Назва>Кабель USB Type-C</Назва>
Великі XML-файли можуть створювати проблеми:

XML, CSV, JSON та API

<Email>info@example.ua</Email>
<ОбліковаКількість>100</ОбліковаКількість>
  • довідники;
  • реквізити;
  • документи;
  • табличні частини;
  • залишки;
  • взаєморозрахунки;
  • проводки;
  • ціни;
  • файли або посилання на файли;
  • службові коди;
  • відповідності об’єктів.; # Регулярно контролювати журнал обміну.; # Визначити ключі пошуку.; !; XML має змогу використовуватися для обміну платіжними даними.; !; XML-обмін має змогу бути повним або інкрементальним.;<Код>000001</Код>

XML і таблиці відповідності

  • описати структуру;
  • визначити обов’язкові поля;
  • використовувати зовнішні коди;
  • перевіряти інформаційні дані;
  • контролювати дублікати;
  • логіювати імпорт і експорт;
  • формувати протоколи помилок;
  • захищати файли;
  • архівувати обміни;
  • не залишати тимчасові обміни назавжди.; Типовий XML-файл має кореневий елемент, усередині якого розміщуються інформаційні дані.; | Це обмін даними між системами за допомогою XML-файлів або XML-повідомлень.;</Клієнт>

XML для замовлень із сайту

XML і безпека

</Ціна>

XML-файли можуть містити важливі інформаційні дані:

Проблеми з кодуванням можуть призвести до того, що назви товарів, контрагентів або адреси будуть пошкоджені.; Код у старій системі

!;== XML як перехідний інструмент з 1С/BAS ==

Під час імпорту цін потрібно визначити:

Для залишків істотно:
 <Телефон>+380671112233</Телефон>
 </Залишок>
</div>
Схема описує:
{| class="wikitable" style="width:100%;"
 <Телефон>+380441112233</Телефон>
 <Номенклатура Код="SKU-002">Зарядний пристрій 20W</Номенклатура>
Це надає можливість системі розуміти, за якими правилами обробляти файл.; це спосіб обміну даними між інформаційними системами за допомогою файлів або повідомлень у форматі [[XML]] виступає ключовою рисою '''інтеграційні функціональні можливості через XML'''.; інтеграційні функціональні можливості через [[XML]]  це потужний і перевірений спосіб обміну структурованими даними між бізнес-системами.; # Перевірка довідників.; !;== Протокол помилок ==
 <Номенклатура Код="SKU-002">Зарядний пристрій 20W</Номенклатура>
[[XML]] надає можливість описувати складні структури даних у вигляді текстового файлу з тегами.; інформаційні дані
 <Рядок>
Для великих систем краще використовувати інкрементальний обмін, але він складніший у реалізації.; # Реалізувати протокол помилок.;[[Категорія:Цифрова незалежність України]]

 <Номенклатура Код="SKU-001">Кабель USB Type-C 1 м</Номенклатура>
=== Приклад XML документа продажу ===
== XML і міграція з 1С/BAS ==
 <ФактичнаКількість>55</ФактичнаКількість>
[[XML]] став популярним у бізнес-інтеграціях через кілька причин:
<syntaxhighlight lang="xml">
|-
| 15
| Контрагент
| ЄДРПОУ
| Порожній код
| Заповнити ЄДРПОУ або дозволити створення без коду
|-
| 48
| Товар
| Артикул
| Товар із таким артикулом не знайдено
| Створити товар або додати відповідність
|-
| 102
| Документ
| Сума
| Сума рядків не збігається із сумою документа
| Перевірити ціни і ПДВ
|}

є собою два підходи:

[[Категорія:Деколонізація обліку]]

# Отримання файлу.;<ОдиницяВиміру>шт</ОдиницяВиміру>

== Висновок ==

 <Номенклатура Код="SKU-002">Зарядний пристрій 20W</Номенклатура>

 </Рядок>
 <ІПН>876543210987</ІПН>
== XML і вкладені файли ==
!;== Зовнішні посилання ==
Приклад початку файлу:
== XML і великі файли ==

!; |-
| [[XML]]
| Добре описує складні структури, підтримує роботу вкладеність, схеми, атрибути
| Більш громіздкий, ніж [[JSON]] або [[CSV]]
| Документи, довідники зі складною структурою, старі інтеграції, міграція
|-
| [[CSV]]
| Простий, компактний, зручний для таблиць
| Погано підходить для вкладених структур
| Прайси, прості довідники, залишки, списки
|-
| [[JSON]]
| Легкий, сучасний, зручний для веб-API
| Не всі старі системи добре його підтримують
| Веб-сервіси, мобільні додатки, сучасні API
|-
| [[API]]
| надає можливість інтеграцію в реальному часі, контроль доступу, логіку запитів
| Потребує серверної реалізації і безпеки
| Постійні інтеграції між системами
|}

 ...; Оновлено

Щоб уникнути хаосу, потрібно вказувати версію формату.; !; | Небажано.;<Кількість>10</Кількість>
 <Виробник>BaseTech</Виробник>
 <Товари>

</div>

* який тип цін оновлюється;
* чи створювати новий запис історії цін;
* чи перезаписувати стару ціну;
* чи потрібне погодження;
* чи логіювати старе і нове значення.; Краще використовувати його як перехідний інструмент для міграції в [[K2 ERP]].;</div>
 <ЗовнішнійКод>1C-000001</ЗовнішнійКод>
 <Валюта>UAH</Валюта>
<syntaxhighlight lang="xml">
== XML для цін ==

|- | orders_2026_05_15.xml | 15.05.2026 14:30 | 120 | 118 | 0 | 2 | Завантажено з помилками |- | prices_2026_05_15.xml | 15.05.2026 15:00 | 4500 | 0 | 4490 | 10 | Частково завантажено |}

Формат XML має змогу змінюватися.; Що передається Для K2 ERP XML має змогу бути корисним інструментом імпорту, експорту та міграції, особливо під час переходу з або BAS.; # Повідомлення користувача або інтеграційного сервісу.; |- | Чим XML кращий за CSV?; з цієї причини XML-обмін із такими системами бажано розглядати не як постійну залежність, а як перехідний інструмент для міграції в українську ERP-платформу.; # Визначити обов’язкові поля.; У сучасних інтеграціях додатково часто використовуються CSV, JSON і API.; Коментар

  • забрати свої інформаційні дані;
  • зберегти довідники;
  • перенести документи;
  • звірити залишки;
  • прибрати дублікати;
  • відмовитися від ризикової платформи;
  • перейти на українську ERP;
  • будувати нові інтеграції вже навколо K2 ERP.; Якщо організація переходить з або BAS на K2 ERP, XML має змогу бути хорошим перехідним інструментом.;<Номенклатура Код="SKU-001">Кабель USB Type-C 1 м</Номенклатура>

Результати інвентаризації додатково можна передавати через XML.; Окремі продукти і BAS внесені до переліків забороненого програмного забезпечення для окремих категорій організацій в Україні.; Коментар

Для великих файлів краще передавати посилання або використовувати окремий механізм завантаження файлів.;</ДокументПродажу>

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

|- | Контрагент | ЄДРПОУ або зовнішній код | Назва не є собою надійним ключем |- | Товар | Артикул, штрихкод або зовнішній код | Потрібна унікальність |- | Документ | Зовнішній номер + дата + джерело | сприяє уникнути повторного імпорту |- | складський облік | Зовнішній код | Назви можуть дублюватися |}

<Ціна>
  • персональні інформаційні дані;
  • фінансові інформаційні дані;
  • ціни;
  • залишки;
  • договори;
  • платежі;
  • банківські рахунки;
  • комерційну інформацію.; Окремо варто відзначити коли потрібно для передачі довідників, документів, залишків, цін, замовлень, платежів, контрагентів, номенклатури, складських операцій, звітів і інших структурованих даних.;<Різниця>5</Різниця>

!; Київ, вул.;<ПовнаНазва>Товариство з обмеженою відповідальністю "Ромашка"</ПовнаНазва>

</Замовлення>

</Документи>

</Товар>

Але для нових інтеграцій часто краще одразу проєктувати API або інші сучасні способи обміну.;

Приклад:
!; Код або ID у K2 ERP

{| class="wikitable" style="width:100%;"

</syntaxhighlight>

<Дата>2026-05-15</Дата>
<Товари>

Ціни можна передавати окремим файлом.;<Спосіб>Онлайн</Спосіб>

<Статус>Оплачено</Статус>

XML для інвентаризації

У контексті K2 ERP інтеграційні функціональні можливості через XML має змогу використовуватися для обміну з інтернет-магазинами, CRM, WMS, банками, службами доставки, маркетплейсами, зовнішніми обліковими системами, а додатково для міграції даних із застарілих систем, зокрема та BAS.; # Визначити джерело і приймач даних.;XML-інтеграція має змогу використовуватися для різних сценаріїв.;<Залишок> </Контрагенти> </Платежі>

<Номер>123</Номер>

Номенклатура часто має більше реквізитів, ніж контрагенти.; Для платежів істотно правильно визначити:

<Служба>Нова пошта</Служба>
<Платник ЄДРПОУ="12345678">ТОВ "замовник"</Платник>

!; Сценарій

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

!;</Характеристики>

Через XML можна:

<Номенклатура>

Сила XML. Формат надає можливість передавати не без ускладнень плоску таблицю, а складний бізнес-документ із шапкою, рядками, реквізитами, вкладеними об’єктами і службовою інформацією.;</Документ> У журналі бажано зберігати:

<Різниця>-2</Різниця>
істотно про 1С і BAS. Якщо XML-інтеграція застосовується для обміну з або BAS, потрібно враховувати санкційні, юридичні та кібербезпекові ризики цих продуктів в Україні.;

</syntaxhighlight>

<Склад Код="WH-002">Магазин №1</Склад>

бізнес-середовище використовує багато різних систем:

Логіювання XML-обміну

Приклад файлу з контрагентами:

<Характеристики>

Вступ

;K2 ERP має змогу формувати XML для інших систем.;== XML-схеми ==
<Оплата>
<Дата>2026-05-15T14:25:00</Дата>

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

  • що робити, якщо контрагент уже існує;
  • що робити, якщо ЄДРПОУ порожній;
  • чи оновлювати телефон і email;
  • чи створювати нового контрагента автономно;
  • як логіювати помилки.;<Номер>PAY-1001</Номер>
<Штрихкод>4820000000012</Штрихкод>
<Номенклатура Код="SKU-001">Кабель USB Type-C 1 м</Номенклатура>
</ЗалишкиТоварів> Під час міграції істотно зберігати зовнішні коди.; * зовнішня платформа вже підтримує роботу XML;
  • потрібно передати складну вкладену структуру;
  • потрібен файловий обмін;
  • потрібна схема перевірки;
  • потрібна сумісність зі старою системою;
  • потрібно зробити разову міграцію;
  • потрібно мати архівний файл обміну;
  • інформаційні дані передаються пакетами, а не в реальному часі.; |-
Що найважливіше в XML-інтеграції?; Після завантаження такого XML платформа має змогу:
<ЗовнішнійКод>1C-000145</ЗовнішнійКод>

Дати, числа і валюти в XML

</Ціни> Але після завершення міграції бажано:

</Контрагент>

Такий підхід часто застосовують.; !;

<ЄДРПОУ>87654321</ЄДРПОУ>
; Правильна стратегія:

Кожен XML-обмін повинен мати журнал.; Приклад

; Але стратегічно для постійних інтеграцій бажано використовувати сучасні API, черги, вебхуки або інтеграційні сервіси, а XML залишати там, де він справді зручний або потрібний для сумісності.; Об’єкт
<Валюта>UAH</Валюта>

Вони виникають, якщо платформа не розуміє, що запис уже існує.; Питання

<Кількість>2</Кількість>

При експорті істотно визначити:

- Чи є собою санкційні ризики у і BAS?; # Узгодити формат дат, чисел і валют.;K2 ERP має змогу використовувати XML у різних сценаріях:
  • які інформаційні дані передаються;
  • за який період;
  • у якому форматі;
  • які поля обов’язкові;
  • чи потрібна фільтрація;
  • чи потрібно передавати тільки зміни;
  • де зберігається сформований файл;
  • хто має доступ до файлу.; Якщо XML містить помилки, платформа повинна сформувати зрозумілий протокол.; Поганий протокол:
<Ціна>

Валідація XML

; # Архівування файлу.; переважні аспекти
<Дата>2026-05-15</Дата>
<Рядок>
__TOC__

 <Email>ivan@example.ua</Email>

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

[[Категорія:Заміна BAS]]

 <Номенклатура Код="SKU-001">Кабель USB Type-C 1 м</Номенклатура>

'''Практичний підхід.''' Якщо в старій системі характеристики товару були записані прямо в назві, під час XML-міграції їх бажано розділити на окремі поля або характеристики в [[K2 ERP]].; Де доречний
[[XML]] доречний, коли:
[[XML]] не завжди найкращий вибір.; {| class="wikitable" style="width:100%;"
Для великих обсягів краще:
<Документ>
|-
| Міграція з іншої системи
| Довідники, документи, залишки, взаєморозрахунки
| Перехід із [[1С]] або [[BAS]] у [[K2 ERP]]
|-
| Обмін із сайтом
| Товари, ціни, залишки, замовлення
| Інтернет-магазин передає замовлення в [[ERP]]
|-
| Обмін із банком
| Платежі, виписки, статуси оплат
| Банк передає файл виписки
|-
| Обмін зі складом
| Залишки, переміщення, інвентаризації
| [[WMS]] передає результати складських операцій
|-
| Обмін із маркетплейсом
| Каталог, залишки, ціни, замовлення
| Передача товарів і отримання замовлень
|-
| Обмін між ERP-системами
| Документи, контрагенти, номенклатура
| Холдинг передає інформаційні дані між компаніями
|}

'''Правильна стратегія.''' Якщо XML застосовується для переходу з [[1С]] або [[BAS]], його головна задача  допомогти забрати інформаційні дані, перевірити їх і перенести в [[K2 ERP]], а не залишити стару систему як постійний центр обліку.;<Місто>Київ</Місто>

Для українських даних істотно використовувати кодування, яке коректно зберігає кирилицю.; | Довідники, документи, залишки, ціни, замовлення, платежі, інвентаризації, файли, аналітику.; | Він більш громіздкий і менш зручний для сучасних веб-API.;<Назва>Кабель USB Type-C</Назва>
[[Категорія:Експорт даних]]

 <ЄДРПОУ>12345678</ЄДРПОУ>

 <Характеристика Назва="Колір">Чорний</Характеристика>

 <Контрагент>

Приклад:
<Сума>27000.00</Сума>

</syntaxhighlight> Краще розглянути API або JSON, якщо:

Контрагент 1C-000001 58421 застосовується для зв’язку документів
Товар SKU-001 90015 застосовується для рядків документів
складський облік WH-001 120 застосовується для залишків
Договір DOG-015 3405 застосовується для взаєморозрахунків

Жодна сучасна ERP-система не існує ізольовано.; # Формування журналу.; # Перевірити інформаційні дані з користувачами.;<Телефон>+380441112233</Телефон>

<Товар Код="000145" Артикул="USB-C-1M">

<ЗалишкиТоварів Дата="2026-05-15">

Кодування XML

<Валюта>UAH</Валюта>

Для контролю структури XML можна використовувати схему.;== XML і версіонування формату ==

</Контрагент>

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

</Номенклатура> Щоб уникнути дублів, потрібно використовувати ключі пошуку.; !; Він добре підходить для передачі довідників, документів, табличних частин, залишків і вкладених структур, але потребує чіткої схеми, правил валідації, логіювання та контролю помилок.; * UTF-8;

  • UTF-8 без BOM, якщо платформа цього вимагає.;== Типові помилки XML-інтеграції ==

Простий приклад: Приклади ключів:

Залишки часто передаються при міграції або складській інтеграції.;

Але XML-інтеграція повинна бути контрольованою.; Приклад із посиланням:

; * припинити активний обмін зі старою системою;
  • залишити стару базу тільки як архів;
  • перенести нові операції в K2 ERP;
  • замінити тимчасові XML-обміни сучасними інтеграціями.; з цієї причини потрібно дотримуватися правил безпеки:
<Email>office@example.ua</Email>

Структура XML-файлу

</Файл>
 <Назва>Кабель USB Type-C 1 м чорний</Назва>
 </Оплата>
 <ОбліковаКількість>50</ОбліковаКількість>
<Контрагенти>
[[Категорія:Міграція з 1С]]
 <Файли>
 <Товар>
== XML і цифрова незалежність ==
<syntaxhighlight lang="xml">
<Замовлення>
 <Артикул>USB-C-1M-BLK</Артикул>
!; * товари для сайту;
* залишки для маркетплейсу;
* ціни для партнерів;
* документи для бухгалтерської системи;
* платежі для банку;
* звіти для зовнішньої аналітики;
* архівні інформаційні дані для клієнта.;<ПДВ>500.00</ПДВ>

 <Значення>250.00</Значення>

 <ФактичнаКількість>98</ФактичнаКількість>

== Як K2 ERP має змогу використовувати XML ==

Валідація має змогу включати:

* контрагентів;
* номенклатуру;
* склади;
* договори;
* організації;
* працівників;
* одиниці виміру;
* валюти;
* статті витрат;
* проєкти;
* підрозділи.; Інтернет-магазин має змогу передавати замовлення в [[K2 ERP]] через XML.; !; !; # Реалізувати логіювання.; Вона добре підходить для:
 <Сума>2500.00</Сума>
<Номенклатура Код="SKU-002">Зарядний пристрій 20W</Номенклатура>
<Документи>
<Шлях>files/dogovir_123.pdf</Шлях>

як ілюстрація:

[[XML]]  не єдиний формат обміну.; # Описати структуру XML.; # Додати версію формату.; переважні аспекти

[[Категорія:Імпорт даних]]

* немає узгодженої структури файлу;
* немає обов’язкових полів;
* неправильне кодування;
* різні формати дат;
* кома замість крапки в числах;
* дублікати документів;
* відсутні зовнішні коди;
* посилання передані як назви;
* не перевіряються суми;
* немає логів;
* немає протоколу помилок;
* файл перезаписується без архіву;
* немає контролю доступу;
* обмін залежить від ручного копіювання файлів.; * довідників;
* документів;
* табличних частин;
* залишків;
* цін;
* замовлень;
* платежів;
* інвентаризацій;
* міграцій;
* обміну зі старими системами.; рішення для бізнесу
 </Платіж>
== Елементи та атрибути XML ==
 <Код>000001</Код>
 <Назва>ТОВ "Ромашка"</Назва>
 <Контрагент Код="1C-000001">ТОВ "замовник"</Контрагент>
<?xml version="1.0" encoding="UTF-8"?>
<Обмін ВерсіяФормату="2.0">
 </Ціна>
[[Категорія:JSON]]
'''[[K2 ERP]]''' у цьому процесі має змогу стати новою платформою для контрольованого обміну даними, інтеграцій, імпорту, експорту, [[API]], [[BI]], звітності, бізнес-процесів і подальшого розвитку української ERP-екосистеми.; Іноді потрібно передавати не тільки інформаційні дані, а й файли.;== XML для номенклатури ==
Одним із таких форматів є собою [[XML]].; | Узгоджена структура, ключі пошуку, валідація, логіювання, протокол помилок і контроль дублів.; Коментар

{| class="wikitable" style="width:100%;"

 <ІПН>123456789012</ІПН>

</div>
=== Приклад XML для контрагентів ===
В XML інформаційні дані можна зберігати двома способами:
== Де застосовується інтеграційні функціональні можливості через XML ==
'''Підхід K2 ERP.''' У [[K2 ERP]] [[XML]] має змогу використовуватися як один із форматів імпорту, експорту та міграції.; Статус

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

На відміну від простого CSV, XML надає можливість передавати вкладені структури.; Через XML можна передавати:

Через XML можна вивантажити: <Кількість>120</Кількість> <Рядок> <ЄДРПОУ>12345678</ЄДРПОУ>

Імпорт XML у K2 ERP

Документи мають складнішу структуру, з цієї причини що складаються з шапки і табличної частини.; Об’єкт

<Рахунок>UA123456789012345678901234567</Рахунок>

</Контрагенти>

XML для документів

<Платежі>

Що таке XML

  • сайт;
  • інтернет-магазин;
  • CRM;
  • WMS;
  • банк;
  • служби доставки;
  • маркетплейси;
  • бухгалтерські системи;
  • мобільні додатки;
  • системи електронного документообігу;
  • аналітичні системи;
  • зовнішні сервіси перевірки контрагентів;
  • державні або галузеві системи.; Рядок
<ЄДРПОУ>12345678</ЄДРПОУ>
;<Ціна>600.00</Ціна>

Коли краще не використовувати XML

  • як елементи;
  • як атрибути.; # Описати бізнес-сценарій.; Що означає

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

  • `<Контрагенти>` — кореневий елемент;
  • `<Контрагент>` — один запис довідника;
  • `<Код>`, `<Назва>`, `<ЄДРПОУ>` — реквізити.; Об’єктів

</Обмін>

!;== Експорт XML з K2 ERP ==
Саме з цієї причини [[XML]] довго використовувався і досі застосовується в інтеграціях бізнес-систем.; |-
| Номер
| Так
| Рядок
| Зовнішній номер документа
|-
| Дата
| Так
| Дата
| Формат YYYY-MM-DD
|-
| Контрагент
| Так
| Посилання або код
| Має існувати в довіднику
|-
| складський облік
| Так
| Посилання або код
| Має існувати в довіднику складів
|-
| Товари
| Так
| Таблична частина
| Має містити хоча б один рядок
|-
| Кількість
| Так
| Число
| Має бути більше нуля
|-
| Сума
| Так
| Число
| Має збігатися з кількістю і ціною
|}

 <Файл>

 </Контрагент>

 <ІПН>123456789012</ІПН>

 <Контрагент>
 <Імя>Іван Петренко</Імя>
== XML для платежів ==

!;== Повний і інкрементальний обмін ==

'''Найгірший сценарій.''' XML-файли без ускладнень складаються в папку, хтось вручну їх запускає, помилки не логіюються, дублікати не контролюються, а бізнес-середовище не розуміє, які інформаційні дані реально були завантажені.;<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;">

Такий формат надає можливість передавати не тільки основні поля товару, а й характеристики.;</Контрагент>

{{DISPLAYTITLE:Інтеграція через XML}}

</syntaxhighlight>

Типова стратегія XML-інтеграції

Приклад логіки схеми для документа продажу:

Потрібно:

Правильний результат. XML допоміг забрати інформаційні дані зі старої системи, очистити їх, завантажити в K2 ERP і завершити залежність від або BAS.; # Перевірка структури.; Помилок

</Рядок>
  • код;
  • назва;
  • ЄДРПОУ;
  • телефон.;</Товари>
; Відповідь ; Бажаний формат
<Назва>ТОВ "Ромашка"</Назва>
</Рядок>

Див.; додатково

Він підтримує роботу вкладені структури, з цієї причини краще підходить для документів із табличними частинами.;
 <Ціна>250.00</Ціна>

Імпорт XML у [[K2 ERP]] має змогу складатися з кількох етапів:

* це текстовий формат;
* його можна читати людиною;
* він підтримує роботу вкладені структури;
* він підходить для документів із табличними частинами;
* він має змогу мати схему перевірки;
* його підтримують багато старих і нових систем;
* його комфортно використовувати для файлового обміну;
* він добре підходить для міграції даних;
* його можна архівувати і зберігати як історичний файл обміну.; Одна з типових проблем XML-імпорту  дублікати.;[[Категорія:Інтеграції]]
організація повинна:
!;<Клієнт>

!; Але для постійних сучасних інтеграцій бажано використовувати [[API]], [[JSON]], вебхуки, черги або спеціалізовані інтеграційні сервіси.; Окремі продукти [[1С]] і [[BAS]] внесені до відкритих переліків програмного забезпечення, забороненого до використання для окремих категорій організацій.;[[Категорія:Обмін даними]]
'''XML'''  це текстовий формат розмітки даних, у якому відомості описується за допомогою тегів.; Рекомендовано:
 <Сума>500.00</Сума>
 <Доставка>
 <Валюта>UAH</Валюта>
 <Сума>3000.00</Сума>
 <Назва>dogovir_123.pdf</Назва>
 </Файли>
!; |-
| Чим XML гірший за JSON?;== Коли XML доречний ==

* розбивати файл на частини;
* передавати інформаційні дані пакетами;
* використовувати інкрементальний обмін;
* обробляти потоком;
* зберігати проміжний лог;
* робити повторну обробку тільки помилкових записів.;<Код>000002</Код>

Приклад:

* довго завантажуються;
* займають багато пам’яті;
* важко перевіряються;
* складно повторно обробляються після помилки;
* можуть блокувати інші процеси.; !; як ілюстрація, один файл має змогу містити документ продажу, а всередині нього  покупця, договір, складський облік, список товарів, кількість, ціни, суми, ПДВ і коментарі.; Тип
</Інвентаризація>
Найчастіші помилки:
 <Склад Код="WH-001">ключовий складський облік</Склад>

Найчастіше бажано використовувати:

!; Приклад

 <ОдиницяВиміру>шт</ОдиницяВиміру>

* чи правильна структура файлу;
* чи всі обов’язкові поля заповнені;
* чи правильний формат дат;
* чи числа записані в правильному форматі;
* чи існують коди довідників;
* чи немає дублів;
* чи збігаються суми рядків із сумою документа;
* чи правильна валюта;
* чи допустима ставка ПДВ;
* чи немає заборонених символів;
* чи файл не пошкоджений.; Файл
 <ОдиницяВиміру>шт</ОдиницяВиміру>

!; Але істотно не перетворювати XML-обмін із [[1С]] або [[BAS]] на постійну залежність.; У цьому прикладі є собою об’єкт '''Контрагент''', а всередині нього  реквізити:
 <Склад Код="WH-001">ключовий складський облік</Склад>
З урахуванням санкційних, юридичних і кібербезпекових ризиків [[1С]] та [[BAS]], XML-обмін із такими системами має бути частиною стратегії переходу на українське програмне забезпечення, цифрову незалежність і сучасну [[ERP]]-архітектуру.; Недоліки
<Інвентаризація Дата="2026-05-15" Склад="WH-001">
 <Email>info@romashka.ua</Email>
 <Залишок>
[[Категорія:API]]
 <Контрагент>
 <Назва>Кабель USB Type-C 1 м чорний</Назва>

{| class="wikitable" style="width:100%;"

* створити клієнта;
* створити замовлення;
* зарезервувати товар;
* передати задачу складу;
* сформувати доставку;
* передати статус назад на сайт.; # Формування протоколу помилок.; Поле

 </Залишок>

* імпорт довідників;
* імпорт документів;
* імпорт залишків;
* імпорт цін;
* обмін із зовнішніми системами;
* міграція з [[1С]] або [[BAS]];
* експорт даних;
* формування архівів;
* обмін із партнерами;
* супровід старих форматів клієнта.; # Перевірка кодування.; як ілюстрація, документ із табличною частиною.; Обидва варіанти можливі.; Дата
'''Правильний підхід.''' XML потрібно використовувати не як хаотичний файл у спільній папці, а як формалізований канал обміну з правилами, версіями, логами, перевірками і зрозумілою відповідальністю.; !;== XML і дублікати ==

як ілюстрація:

<Сума>15000.00</Сума>
 </Доставка>
як ілюстрація, спочатку файл містив тільки товар і кількість, а потім додали серію, партію, ПДВ, характеристику.; * [[K2]]
* [[K2 ERP]]
* [[ERP]]
* [[XML]]
* [[JSON]]
* [[CSV]]
* [[API]]
* [[Інтеграція ERP]]
* [[Інтеграція з 1С]]
* [[Інтеграція з BAS]]
* [[Обробки 1С]]
* [[Довідники 1С]]
* [[Документи 1С]]
* [[Реквізити 1С]]
* [[Проводки 1С]]
* [[Міграція з 1С]]
* [[Міграція з BAS]]
* [[Заміна 1С]]
* [[Заміна BAS]]
* [[BI]]
* [[Python]]
* [[TypeScript]]
* [[PostgreSQL]]
* [[Українське програмне забезпечення]]
* [[Автоматизація бізнесу]]
* [[Цифрова незалежність]]
* [[Деколонізація обліку]]

 <Характеристика Назва="Довжина">1 м</Характеристика>

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

 <Сума>30000.00</Сума>
 <Код>000145</Код>
як ілюстрація:
 </Товар>
== XML для залишків ==
</div>
{{SEO
|title=Інтеграція через XML  обмін даними, структура файлів, приклади та міграція в K2 ERP
|description=Інтеграція через XML: що таке XML-обмін, як передавати довідники, документи, залишки, ціни, контрагентів, номенклатуру, замовлення, платежі та файли між системами, приклади XML-структур, типові помилки, безпека, валідація і перехід з 1С/BAS у K2 ERP.
|keywords=інтеграція через XML, XML обмін, XML інтеграція, обмін даними XML, XML ERP, XML 1С, XML BAS, XML K2 ERP, міграція з 1С, міграція з BAS, інтеграція з 1С, інтеграція з BAS, API, JSON, CSV, довідники XML, документи XML, залишки XML, українська ERP, K2 ERP, санкції 1С, санкції BAS, цифрова незалежність
|image=https://erp.kyiv.ua
}}
Приклад через атрибути:
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;">
 <Артикул>USB-C-1M-BLK</Артикул>
 <Призначення>Оплата за рахунком №123</Призначення>
<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;">
== XML для довідників ==
 <Адреса>м.; Щоб ці системи могли обмінюватися даними, потрібен зрозумілий формат.; Створено

У цьому прикладі:

Якщо одна платформа передає число як `250,50`, а інша очікує `250.50`, можуть виникати помилки імпорту.;<Ціна>250.00</Ціна>

* “Помилка завантаження”.; Добрий протокол:

 </Рядок>

 <Платіж>

</Товар>

Такий файл має змогу бути сформований мобільним додатком, складською системою або старою обліковою системою.;

<Відділення>Відділення №10</Відділення>
<ПДВ>600.00</ПДВ>
  • які елементи дозволені;
  • які поля обов’язкові;
  • які типи даних очікуються;
  • які вкладені структури можливі;
  • які атрибути дозволені;
  • у якому порядку можуть бути елементи.; Але міст потрібен для переходу, а не для того, щоб жити на ньому постійно.; # Провести тестовий обмін.; !; Головне. XML — це зручний формат для структурованого обміну даними.; Ключ пошуку
</Рядок>

Особливо якщо XML застосовується для вивантаження даних із або BAS.; |-

Чи потрібно залишати XML-обмін із назавжди?; | Так, XML має змогу бути зручним проміжним форматом для перенесення довідників, документів і залишків.; # Створення нових об’єктів або пошук існуючих.; Тип обміну <НомерСайту>WEB-100245</НомерСайту>
Що таке інтеграційні функціональні можливості через XML?;<Назва>ТОВ "Ромашка"</Назва>

Перед завантаженням XML потрібно перевіряти.; |-

Чи підходить XML для міграції з або BAS?; Але для бізнес-інтеграцій часто зручніше використовувати елементи, з цієї причини що вони краще читаються і простіше розширюються.; Під час завантаження такого файлу в K2 ERP потрібно визначити: ;<ДокументПродажу>

Приклад через елементи:

<syntaxhighlight lang="xml">

  • скани документів;
  • сертифікати;
  • фото товарів;
  • договори;
  • акти;
  • рахунки.; Формат

Довідники — один із найпоширеніших об’єктів для XML-обміну.; Недоліки

  • дату і час обміну;
  • назву файлу;
  • джерело даних;
  • користувача або сервіс;
  • кількість записів;
  • кількість створених об’єктів;
  • кількість оновлених об’єктів;
  • кількість помилок;
  • текст помилок;
  • шлях до архівної копії файлу;
  • результат обробки.;<Рядок>

Під час переходу з або BAS у K2 ERP XML має змогу бути зручним форматом проміжного обміну.; |-

Які інформаційні дані можна передавати?; # Реалізувати валідацію.; як ілюстрація:

Без таблиці відповідності неможливо якісно перенести документи, з цієї причини що документ посилається на довідники.;<Тип>Товар</Тип>

Дата YYYY-MM-DD 2026-05-15
Дата і час ISO-формат 2026-05-15T14:25:00
Число Крапка як десятковий роздільник 250.50
Валюта Код валюти UAH, USD, EUR
Булеве значення true/false або 1/0 true

У такому XML-файлі є собою:

</Товари>
; Прикладна, 1</Адреса>

<Ціни Дата="2026-05-15" ТипЦін="Роздрібна">

<Назва>ТОВ "Калина"</Назва>
<Кількість>5</Кількість>
<Договір Код="DOG-015">Договір №15</Договір>

Чому XML використовують для інтеграцій

Приклад: