Інтеграція через XML
<Дата> 2026-05-15</Дата>
</Рядок>
<Товари>
Перед завантаженням XML потрібно перевіряти.<Штрихкод>4820000000012</Штрихкод>
Імпорт XML у [[K2 ERP]] здатна складатися з кількох етапів:
'''Головне.''' [[XML]] — це зручний формат для структурованого обміну даними. як приклад, спочатку файл містив тільки товар і кількість, а потім додали серію, партію, ПДВ, характеристику. ! Недоліки
На відміну від простого [[CSV]], [[XML]] дає можливість передавати вкладені структури. Окремі продукти [[1С]] і [[BAS]] внесені до відкритих переліків програмного забезпечення, забороненого до використання для окремих категорій організацій. # Провести тестовий обмін.== Протокол помилок ==
<Характеристики>
Великі XML-файли можуть створювати проблеми:
Одним із таких форматів виступає як [[XML]]. # Визначити ключі пошуку.</div>
== Висновок ==
== Елементи та атрибути XML ==
Без таблиці відповідності неможливо якісно перенести документи, тому що документ посилається на довідники. | Це обмін даними між системами за допомогою XML-файлів або XML-повідомлень.<syntaxhighlight lang="xml">
... Помилка
[[XML]] дає можливість описувати складні структури даних у вигляді текстового файлу з тегами.</Характеристики>
</Доставка>
<ПДВ>600.00</ПДВ>
Коли краще не використовувати XML
<Код>000002</Код> <Залишок>
Зовнішні посилання
== XML і міграція з 1С/BAS ==
<Сума>500.00</Сума>
<Назва>dogovir_123.pdf</Назва>
Приклад логіки схеми для документа продажу:
Під час міграції критично зберігати зовнішні коди. Коментар
|-
| Дата
| YYYY-MM-DD
| 2026-05-15
|-
| Дата і час
| ISO-формат
| 2026-05-15T14:25:00
|-
| Число
| Крапка як десятковий роздільник
| 250.50
|-
| Валюта
| Код валюти
| UAH, USD, EUR
|-
| Булеве значення
| true/false або 1/0
| true
|}
Номенклатура часто має більше реквізитів, ніж контрагенти. Формат
<?xml version="1.0" encoding="UTF-8"?>
У цьому прикладі виступає як об’єкт '''Контрагент''', а всередині нього — реквізити:
<syntaxhighlight lang="xml">
<Номенклатура Код="SKU-001">Кабель USB Type-C 1 м</Номенклатура>
<Рядок>
Приклад через атрибути:
</Інвентаризація>
<Телефон>+380441112233</Телефон>
Простий приклад:
* код;
* назва;
* ЄДРПОУ;
* телефон. При експорті критично визначити:
<Артикул>USB-C-1M</Артикул>
<Шлях>files/dogovir_123.pdf</Шлях>
</Ціни>
<ОдиницяВиміру>шт</ОдиницяВиміру>
<Валюта>UAH</Валюта>
</div>
! Елемент
Ціни можна передавати окремим файлом. Валідація здатна включати:
<Склад Код="WH-001">базовий складський облік</Склад>
'''Сила XML.''' Формат дає можливість передавати не без зусиль плоску таблицю, а складний бізнес-документ із шапкою, рядками, реквізитами, вкладеними об’єктами і службовою інформацією. конкурентні переваги
<Обмін ВерсіяФормату="2.0">
<Валюта>UAH</Валюта>
Іноді потрібно передавати не тільки інформаційні дані, а й файли. XML — це текстовий формат розмітки даних, у якому інформаційні матеріали описується за допомогою тегів. !<Ціна> Для платежів критично правильно визначити:
<Імя>Іван Петренко</Імя>
<Замовлення> Такий файл здатна бути сформований мобільним додатком, складською системою або старою обліковою системою. Код у старій системі
! Бажаний формат
XML як перехідний інструмент з 1С/BAS
<Сума>27000.00</Сума>
! конкурентні переваги
- який тип цін оновлюється;
- чи створювати новий запис історії цін;
- чи перезаписувати стару ціну;
- чи потрібне погодження;
- чи логіювати старе і нове значення. Київ, вул. Ключ пошуку
</Контрагент>
!
<Номенклатура Код="SKU-002">Зарядний пристрій 20W</Номенклатура>
<ЄДРПОУ>87654321</ЄДРПОУ>
!</Контрагенти>
</ЗалишкиТоварів>
* довго завантажуються;
* займають багато пам’яті;
* важко перевіряються;
* складно повторно обробляються після помилки;
* можуть блокувати інші процеси. ! # Перевірка довідників.== Вступ ==
[[Категорія:API]]
* чи правильна структура файлу;
* чи всі обов’язкові поля заповнені;
* чи правильний формат дат;
* чи числа записані в правильному форматі;
* чи існують коди довідників;
* чи немає дублів;
* чи збігаються суми рядків із сумою документа;
* чи правильна валюта;
* чи допустима ставка ПДВ;
* чи немає заборонених символів;
* чи файл не пошкоджений. {| class="wikitable" style="width:100%;"
Але після завершення міграції бажано:
* як елементи;
* як атрибути.<Назва>ТОВ "Ромашка"</Назва>
<Артикул>USB-C-1M-BLK</Артикул>
<Валюта>UAH</Валюта>
* дату і час обміну;
* назву файлу;
* джерело даних;
* користувача або сервіс;
* кількість записів;
* кількість створених об’єктів;
* кількість оновлених об’єктів;
* кількість помилок;
* текст помилок;
* шлях до архівної копії файлу;
* результат обробки. # Перевірка кодування. це спосіб обміну даними між інформаційними системами за допомогою файлів або повідомлень у форматі [[XML]] виступає ключовою рисою передачі довідників забезпечується через '''інтеграційні функції ERP через XML'''.<ПДВ>500.00</ПДВ>
<Ціна>600.00</Ціна>
<Спосіб>Онлайн</Спосіб>
{| class="wikitable" style="width:100%;"
[[XML]]-інтеграція здатна використовуватися для різних сценаріїв. # Регулярно контролювати журнал обміну.<Email>ivan@example.ua</Email>
!== Де застосовується для інтеграційні функції ERP через XML ==
* які інформаційні дані передаються;
* за який період;
* у якому форматі;
* які поля обов’язкові;
* чи потрібна фільтрація;
* чи потрібно передавати тільки зміни;
* де зберігається сформований файл;
* хто має доступ до файлу.<Платіж>
! Файл
{| class="wikitable" style="width:100%;"
інтеграційні функції ERP через [[XML]] — це потужний і перевірений спосіб обміну структурованими даними між бізнес-системами. Код або ID у K2 ERP
</Оплата>
Одна з типових проблем XML-імпорту — дублікати. Приклад через елементи:
</Товар>
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;">
Приклад:
</Платіж>
== XML, CSV, JSON та API ==
'''критично про 1С і BAS.''' Якщо [[XML]]-інтеграція застосовують, коли потрібно для обміну з [[1С]] або [[BAS]], потрібно враховувати санкційні, юридичні та кібербезпекові ризики цих продуктів в Україні.== XML для цін ==
Для українського бізнесу інтеграційні функції ERP через XML здатна бути не без зусиль технічним інструментом, а частиною переходу до цифрової незалежності. Тип
!</Платежі>
Через XML можна вивантажити:
* контрагентів;
* номенклатуру;
* склади;
* договори;
* організації;
* працівників;
* одиниці виміру;
* валюти;
* статті витрат;
* проєкти;
* підрозділи. # Реалізувати валідацію. |-
| Чи підходить XML для міграції з [[1С]] або [[BAS]]? * довідників;
* документів;
* табличних частин;
* залишків;
* цін;
* замовлень;
* платежів;
* інвентаризацій;
* міграцій;
* обміну зі старими системами.</div>
<Ціна>250.00</Ціна>
* платника;
* контрагента;
* договір;
* документ оплати;
* призначення платежу;
* валюту;
* банківський рахунок;
* дату зарахування. інформаційні дані
! як приклад, один файл здатна містити документ продажу, а всередині нього — покупця, договір, складський облік, список товарів, кількість, ціни, суми, ПДВ і коментарі. |-
| Чим XML кращий за CSV?</Файли>
<Рядок>
</Залишок>
== Повний і інкрементальний обмін ==
* UTF-8;
* UTF-8 без BOM, якщо платформа цього вимагає. # Валідація обов’язкових полів.<ОбліковаКількість>50</ОбліковаКількість>
* не передавати файли через незахищені канали;
* не зберігати XML у відкритих папках;
* обмежувати доступ;
* шифрувати передавання, якщо інформаційні дані чутливі;
* архівувати файли контрольовано;
* не передавати зайві інформаційні дані;
* логіювати доступ;
* очищати тимчасові файли;
* перевіряти джерело файлу.<Контрагенти>
'''Практичний підхід.''' Якщо в старій системі характеристики товару були записані прямо в назві, під час XML-міграції їх бажано розділити на окремі поля або характеристики в [[K2 ERP]].== XML і безпека ==
Жодна сучасна [[ERP]]-система не існує ізольовано.<Номенклатура Код="SKU-002">Зарядний пристрій 20W</Номенклатура>
Приклад:
<Товари>
== XML для номенклатури ==
<Дата>2026-05-15T14:25:00</Дата>
== XML для залишків ==
! |-
| Чи виступає як санкційні ризики у [[1С]] і [[BAS]]?<Товар>
Схема описує:
'''[[K2 ERP]]''' у цьому процесі здатна стати новою платформою для контрольованого обміну даними, інтеграцій, імпорту, експорту, [[API]], [[BI]], звітності, бізнес-процесів і подальшого розвитку української ERP-екосистеми.<ОдиницяВиміру>шт</ОдиницяВиміру>
[[Категорія:JSON]]
'''Надійний імпорт.''' Хороший XML-імпорт не без зусиль “читає файл”, а перевіряє структуру, контролює інформаційні дані, логіює результат і дає можливість зрозуміти, що саме було створено або змінено.<Тип>Товар</Тип>
</div>
{| class="wikitable" style="width:100%;"
* зовнішня платформа вже підтримує XML;
* потрібно передати складну вкладену структуру;
* потрібен файловий обмін;
* потрібна схема перевірки;
* потрібна сумісність зі старою системою;
* потрібно зробити разову міграцію;
* потрібно мати архівний файл обміну;
* інформаційні дані передаються пакетами, а не в реальному часі.<syntaxhighlight lang="xml">
|-
| Контрагент
| ЄДРПОУ або зовнішній код
| Назва не виступає як надійним ключем
|-
| Товар
| Артикул, штрихкод або зовнішній код
| Потрібна унікальність
|-
| Документ
| Зовнішній номер + дата + джерело
| оптимізує уникнути повторного імпорту
|-
| складський облік
| Зовнішній код
| Назви можуть дублюватися
|}
[[XML]] доречний, коли:
- персональні інформаційні дані;
- фінансові інформаційні дані;
- ціни;
- залишки;
- договори;
- платежі;
- банківські рахунки;
- комерційну інформацію. Рядок
SEO title: Інтеграція через XML — обмін даними, структура файлів, приклади та міграція в K2 ERP
SEO 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, цифрова незалежність
</noinclude>
{{SEO
Шаблон для службового SEO-опису сторінки.
}}
|-
| Що таке інтеграційні функції ERP через XML? * забрати свої інформаційні дані;
- зберегти довідники;
- перенести документи;
- звірити залишки;
- прибрати дублікати;
- відмовитися від ризикової платформи;
- перейти на українську ERP;
- будувати нові інтеграції вже навколо K2 ERP.<Сума>30000.00</Сума>
- товари для сайту;
- залишки для маркетплейсу;
- ціни для партнерів;
- документи для бухгалтерської системи;
- платежі для банку;
- звіти для зовнішньої аналітики;
- архівні інформаційні дані для клієнта. |-
| Які інформаційні дані можна передавати? |- | Чим XML гірший за JSON? рішення для бізнесу Потрібно:
<Ціна>
</ДокументПродажу>
<Телефон>+380671112233</Телефон>
Приклад XML для контрагентів
! ! Правильний результат. XML допоміг забрати інформаційні дані зі старої системи, очистити їх, завантажити в K2 ERP і завершити залежність від 1С або BAS. Прикладна, 1</Адреса>
як приклад:
<Сума>2500.00</Сума>
бізнес-середовище використовує багато різних систем: Через XML можна:
|-
| [[XML]]
| Добре описує складні структури, підтримує вкладеність, схеми, атрибути
| Більш громіздкий, ніж [[JSON]] або [[CSV]]
| Документи, довідники зі складною структурою, старі інтеграції, міграція
|-
| [[CSV]]
| Простий, компактний, зручний для таблиць
| Погано підходить для вкладених структур
| Прайси, прості довідники, залишки, списки
|-
| [[JSON]]
| Легкий, сучасний, зручний для веб-API
| Не всі старі системи добре його підтримують
| Веб-сервіси, мобільні додатки, сучасні API
|-
| [[API]]
| дає можливість інтеграцію в реальному часі, контроль доступу, логіку запитів
| Потребує серверної реалізації і безпеки
| Постійні інтеграції між системами
|}
<Ціна>250.00</Ціна>
<Значення>600.00</Значення>
== XML для довідників ==
! Відповідь
</Контрагент>
__TOC__
== Логіювання XML-обміну ==
[[Категорія:Експорт даних]]
</Контрагент>
<Організація Код="ORG-001">ТОВ "Ромашка"</Організація>
Приклад із посиланням:
XML для документів
- сайт;
- інтернет-магазин;
- CRM;
- WMS;
- банк;
- служби доставки;
- маркетплейси;
- бухгалтерські системи;
- мобільні додатки;
- системи електронного документообігу;
- аналітичні системи;
- зовнішні сервіси перевірки контрагентів;
- державні або галузеві системи. Що передається
!== Імпорт XML у K2 ERP ==
<ПовнаНазва>Товариство з обмеженою відповідальністю "Ромашка"</ПовнаНазва> <Номер>123</Номер> <Рядок>
! Але критично не перетворювати XML-обмін із 1С або BAS на постійну залежність. |}
Для залишків критично:
<Контрагент>
Інтернет-магазин здатна передавати замовлення в K2 ERP через XML.
<Різниця>5</Різниця>
Для великих систем краще використовувати інкрементальний обмін, але він складніший у реалізації. | Небажано. # Визначити обов’язкові поля. Об’єкт
У цьому прикладі:
|-
| Міграція з іншої системи
| Довідники, документи, залишки, взаєморозрахунки
| Перехід із [[1С]] або [[BAS]] у [[K2 ERP]]
|-
| Обмін із сайтом
| Товари, ціни, залишки, замовлення
| Інтернет-магазин передає замовлення в [[ERP]]
|-
| Обмін із банком
| Платежі, виписки, статуси оплат
| Банк передає файл виписки
|-
| Обмін зі складом
| Залишки, переміщення, інвентаризації
| [[WMS]] передає результати складських операцій
|-
| Обмін із маркетплейсом
| Каталог, залишки, ціни, замовлення
| Передача товарів і отримання замовлень
|-
| Обмін між ERP-системами
| Документи, контрагенти, номенклатура
| Холдинг передає інформаційні дані між компаніями
|}
[[Категорія:Українське програмне забезпечення]]
Для великих обсягів краще:
<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;">
Такий підхід часто застосовується для; так само реалізовано документів. # Реалізувати протокол помилок. Краще використовувати його як перехідний інструмент для міграції в [[K2 ERP]].<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;">
</Номенклатура>
<Номенклатура Код="SKU-002">Зарядний пристрій 20W</Номенклатура>
</div>
<Контрагенти>
|-
| 15
| Контрагент
| ЄДРПОУ
| Порожній код
| Заповнити ЄДРПОУ або дозволити створення без коду
|-
| 48
| Товар
| Артикул
| Товар із таким артикулом не знайдено
| Створити товар або додати відповідність
|-
| 102
| Документ
| Сума
| Сума рядків не збігається із сумою документа
| Перевірити ціни і ПДВ
|}
<Документи>
<ОдиницяВиміру>шт</ОдиницяВиміру>
# Отримання файлу.<ІПН>123456789012</ІПН>
* передавати посилання на файл;
* передавати файл як закодований вміст. Приклад:
! Де доречний
</Документ>
<Платник ЄДРПОУ="12345678">ТОВ "клієнт ERP"</Платник>
<Товар Код="000145" Артикул="USB-C-1M">
<Контрагент Код="1C-000001">ТОВ "клієнт ERP"</Контрагент>
Типовий XML-файл має кореневий елемент, усередині якого розміщуються інформаційні дані.<Кількість>5</Кількість>
</Документи>
виступає як два підходи:
</Файл>
<Склад Код="WH-002">Магазин №1</Склад>
Для [[K2 ERP]] XML здатна бути корисним інструментом імпорту, експорту та міграції, особливо під час переходу з [[1С]] або [[BAS]].<Рахунок>UA123456789012345678901234567</Рахунок>
* припинити активний обмін зі старою системою;
* залишити стару базу тільки як архів;
* перенести нові операції в [[K2 ERP]];
* замінити тимчасові XML-обміни сучасними інтеграціями. XML-обмін здатна бути повним або інкрементальним. Щоб ці системи могли обмінюватися даними, потрібен зрозумілий формат. Коментар
{| class="wikitable" style="width:100%;"
{| class="wikitable" style="width:100%;"
<ЗалишкиТоварів Дата="2026-05-15"> |- | 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 | Частково завантажено |}
<Номенклатура Код="SKU-002">Зарядний пристрій 20W</Номенклатура>
</Контрагенти>
<Email>info@romashka.ua</Email>
- “Помилка завантаження”. Для українських даних критично використовувати кодування, яке коректно зберігає кирилицю. # Запустити промисловий обмін. Дата
<Валюта>UAH</Валюта>
<ІПН>876543210987</ІПН>
XML особливо корисний тоді, коли потрібно передати складний документ або коли зовнішня платформа вже функціонує з XML-форматом. |- | Що найважливіше в XML-інтеграції? # Перевірити інформаційні дані з користувачами.</Рядок>
</Рядок>
<Договір Код="DOG-015">Договір №15</Договір>
Але для нових інтеграцій часто краще одразу проєктувати API або інші сучасні способи обміну. Для великих файлів краще передавати посилання або використовувати окремий механізм завантаження файлів.K2 ERP здатна використовувати XML у різних сценаріях:
<Email>info@example.ua</Email>
як приклад:
- це текстовий формат;
- його можна читати людиною;
- він підтримує вкладені структури;
- він підходить для документів із табличними частинами;
- він здатна мати схему перевірки;
- його підтримують багато старих і нових систем;
- його інтуїтивно використовувати для файлового обміну;
- він добре підходить для міграції даних;
- його можна архівувати і зберігати як історичний файл обміну. Окремо варто відзначити залишків, цін, замовлень, платежів, контрагентів, номенклатури, складських операцій, звітів і інших структурованих даних.<Назва>Кабель USB Type-C</Назва>
<Номенклатура Код="SKU-001">Кабель USB Type-C 1 м</Номенклатура>
! як приклад, документ із табличною частиною. Обов’язковий
XML і таблиці відповідності
</Замовлення> як приклад: Через XML можна передавати:
XML і цифрова незалежність
Експорт XML з K2 ERP
Добрий протокол:
Найчастіше бажано використовувати:
<ЗовнішнійКод>1C-000145</ЗовнішнійКод>
<Клієнт>
- довідники;
- реквізити;
- документи;
- табличні частини;
- залишки;
- взаєморозрахунки;
- проводки;
- ціни;
- файли або посилання на файли;
- службові коди;
- відповідності об’єктів. Коментар
Під час XML-інтеграції потрібно домовитися про формати. # Створення нових об’єктів або пошук існуючих. | Так, XML здатна бути зручним проміжним форматом для перенесення довідників, документів і залишків. Тип обміну
<Виробник>BaseTech</Виробник>
XML для замовлень із сайту
В XML інформаційні дані можна зберігати двома способами:
<Назва>ТОВ "Ромашка"</Назва> <Рядок>Якщо XML містить помилки, платформа повинна сформувати зрозумілий протокол.
<Контрагент>
<syntaxhighlight lang="xml">
Щоб уникнути дублів, потрібно використовувати ключі пошуку.<ДокументПродажу>
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;">
'''Правильний підхід.''' XML потрібно використовувати не як хаотичний файл у спільній папці, а як формалізований канал обміну з правилами, версіями, логами, перевірками і зрозумілою відповідальністю. Він добре підходить для передачі довідників, документів, табличних частин, залишків і вкладених структур, але потребує чіткої схеми, правил валідації, логіювання та контролю помилок.
<Сума>3000.00</Сума>
</syntaxhighlight>
Приклад XML документа продажу
<Призначення>Оплата за рахунком №123</Призначення>
КороткоXML — не єдиний формат обміну. Якщо одна платформа передає число як `250,50`, а інша очікує `250.50`, можуть виникати помилки імпорту. Створено
<Код>000001</Код> Але XML-інтеграція повинна бути контрольованою.<ІПН>123456789012</ІПН> </syntaxhighlight> </syntaxhighlight>
</Товар> <Статус>Оплачено</Статус> <Назва>Кабель USB Type-C</Назва> XML і версіонування форматукомпанія-користувач повинна: Документи мають складнішу структуру, тому що складаються з шапки і табличної частини. Але стратегічно для постійних інтеграцій бажано використовувати сучасні [[API]], черги, вебхуки або інтеграційні сервіси, а [[XML]] залишати там, де він справді зручний або потрібний для сумісності. Питання
З урахуванням санкційних, юридичних і кібербезпекових ризиків [[1С]] та [[BAS]], XML-обмін із такими системами має бути частиною стратегії переходу на українське програмне забезпечення (ПЗ), цифрову незалежність і сучасну [[ERP]]-архітектуру. Приклад
Приклад:
Якщо компанія-користувач переходить з [[1С]] або [[BAS]] на [[K2 ERP]], XML здатна бути хорошим перехідним інструментом. Окремі продукти [[1С]] і [[BAS]] внесені до переліків забороненого програмного забезпечення для окремих категорій організацій в Україні.[[Категорія:K2]]
Саме тому [[XML]] довго використовувався і досі застосовується для в інтеграціях бізнес-систем. # Реалізувати логіювання. Найчастіші помилки:
Під час завантаження такого файлу в [[K2 ERP]] потрібно визначити:
!</Рядок>
<Телефон>+380441112233</Телефон>
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;">
<Документ>
<Код>000145</Код>
<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;">
Проблеми з кодуванням можуть призвести до того, що назви товарів, контрагентів або адреси будуть пошкоджені.<Код>000001</Код>
! Об’єкт
== XML і великі файли ==
# Описати бізнес-сценарій. | Довідники, документи, залишки, ціни, замовлення, платежі, інвентаризації, файли, аналітику. Але міст потрібен для переходу, а не для того, щоб жити на ньому постійно.<Склад Код="WH-001">базовий складський облік</Склад>
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;">
== XML для інвентаризації ==
* скани документів;
* сертифікати;
* фото товарів;
* договори;
* акти;
* рахунки. | Він підтримує вкладені структури, тому краще підходить для документів із табличними частинами.<syntaxhighlight lang="xml">
!<Служба>Нова пошта</Служба>
</Залишок>
Особливо якщо XML застосовується для для вивантаження даних із [[1С]] або [[BAS]]. Оновлено
'''Найгірший сценарій.''' XML-файли без зусиль складаються в папку, хтось вручну їх запускає, помилки не логіюються, дублікати не контролюються, а бізнес-середовище не розуміє, які інформаційні дані реально були завантажені.
<ФактичнаКількість>98</ФактичнаКількість> XML-файли можуть містити важливі інформаційні дані: <Контрагент> <Адреса>м. # Узгодити формат дат, чисел і валют. Краще розглянути API або JSON, якщо: XML-файл повинен мати правильне кодування.<Значення>250.00</Значення> </Рядок> |
# Повідомлення користувача або інтеграційного сервісу.<СтавкаПДВ>20</СтавкаПДВ>
<Платежі> </Клієнт>
Підхід K2 ERP. У K2 ERP XML здатна використовуватися як один із форматів імпорту, експорту та міграції. | Він більш громіздкий і менш зручний для сучасних веб-API. Не можна сліпо завантажувати XML. Навіть якщо файл технічно правильний, він здатна містити бізнес-помилки: неправильні коди товарів, дублікати документів, порожні ЄДРПОУ, неправильні суми або старі неактуальні інформаційні дані.</Ціна> <Рядок> <Кількість>120</Кількість> |
Так. Правильна стратегія:
Як K2 ERP здатна використовувати XMLПриклад початку файлу: У контексті K2 ERP інтеграційні функції ERP через XML здатна використовуватися для обміну з інтернет-магазинами, CRM, WMS, банками, службами доставки, маркетплейсами, зовнішніми обліковими системами, а так само для міграції даних із застарілих систем, зокрема 1С та BAS.<ОбліковаКількість>100</ОбліковаКількість> <Залишок> <Товар> |
== Дати, числа і валюти в XML ==
XML не завжди найкращий вибір. |- |
Чи потрібно залишати XML-обмін із 1С назавжди?== Кодування XML == | Контрагент | 1C-000001 | 58421 | застосовується для для зв’язку документів |
|---|---|---|---|---|---|---|---|---|
| Товар | SKU-001 | 90015 | застосовується для для рядків документів | |||||
| складський облік | WH-001 | 120 | застосовується для для залишків | |||||
| Договір | DOG-015 | 3405 | застосовується для для взаєморозрахунків |
Для контролю структури XML можна використовувати схему.XML став популярним у бізнес-інтеграціях через кілька причин:
<ЄДРПОУ>12345678</ЄДРПОУ>
XML для платежів
- K2
- K2 ERP
- ERP
- XML
- JSON
- CSV
- API
- Інтеграція ERP
- Інтеграція з 1С
- Інтеграція з BAS
- Обробки 1С
- Довідники 1С
- Документи 1С
- Реквізити 1С
- Проводки 1С
- Міграція з 1С
- Міграція з BAS
- Заміна 1С
- Заміна BAS
- BI
- Python
- TypeScript
- PostgreSQL
- Українське програмне забезпечення
- Автоматизація бізнесу
- Цифрова незалежність
- Деколонізація обліку
<Номенклатура Код="SKU-001">Кабель USB Type-C 1 м</Номенклатура>
- Сайт K2 ERP
- Wiki K2 ERP
- хмарна інфраструктура K2 ERP
- Перелік забороненого до використання програмного забезпечення на сайті Держспецзв’язку
- Указ Президента України №601/2024
- Telegram-канал K2 ERP
- Група обговорення функціоналу та пропозицій
- LinkedIn K2
<Доставка>
! Тому XML-обмін із такими системами бажано розглядати не як постійну залежність, а як перехідний інструмент для міграції в українську ERP-платформу. !</syntaxhighlight>
</syntaxhighlight>- за яким полем шукати контрагента;
- що робити, якщо контрагент уже існує;
- що робити, якщо ЄДРПОУ порожній;
- чи оновлювати телефон і email;
- чи створювати нового контрагента автоматизовано;
- як логіювати помилки. # Завантаження документів або залишків.== XML і дублікати ==
| Номер | Так | Рядок | Зовнішній номер документа |
| Дата | Так | Дата | Формат YYYY-MM-DD |
| Контрагент | Так | Посилання або код | Має існувати в довіднику |
| складський облік | Так | Посилання або код | Має існувати в довіднику складів |
| Товари | Так | Таблична частина | Має містити хоча б один рядок |
| Кількість | Так | Число | Має бути більше нуля |
| Сума | Так | Число | Має збігатися з кількістю і ціною |
Вони виникають, якщо платформа не розуміє, що запис уже існує. # Описати структуру XML.</syntaxhighlight>
<Назва>ТОВ "Калина"</Назва>
XML-схеми
</Товари> <Файл>
XML і вкладені файли
Під час імпорту цін потрібно визначити: Результати інвентаризації так само можна передавати через XML.<Кількість>10</Кількість> |- | Повний обмін | Кожного разу передається весь набір даних | Простий для розуміння | Повільний для великих обсягів |- | Інкрементальний обмін | Передаються тільки зміни | Швидший і економніший | Потрібен контроль версій, дат і статусів |}
<Характеристика Назва="Колір">Чорний</Характеристика>
<Характеристика Назва="Довжина">1 м</Характеристика>
<Файли>
Такий формат дає можливість передавати не тільки основні поля товару, а й характеристики. # Формування журналу.<ЄДРПОУ>12345678</ЄДРПОУ> ! Об’єкт ! Статус
!== Типові помилки XML-інтеграції ==
Кожен XML-обмін повинен мати журнал. Але для бізнес-інтеграцій часто зручніше використовувати елементи, тому що вони краще читаються і простіше розширюються. # Формування протоколу помилок. ! ! Це дає можливість системі розуміти, за якими правилами опрацьовувати файл.<syntaxhighlight lang="xml">
<Email>office@example.ua</Email>
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;">
<Дата>2026-05-15</Дата>
* які елементи дозволені;
* які поля обов’язкові;
* які типи даних очікуються;
* які вкладені структури можливі;
* які атрибути дозволені;
* у якому порядку можуть бути елементи.<Назва>ТОВ "Ромашка"</Назва>
* розбивати файл на частини;
* передавати інформаційні дані пакетами;
* використовувати інкрементальний обмін;
* опрацьовувати потоком;
* зберігати проміжний лог;
* робити повторну обробку тільки помилкових записів.== Що таке XML ==
</Ціна>
== Структура XML-файлу ==
<Місто>Київ</Місто>
== Коли XML доречний ==
<Сума>15000.00</Сума>
! {| class="wikitable" style="width:100%;"
<Різниця>-2</Різниця>
<syntaxhighlight lang="xml">
!<ЗовнішнійНомер>РН-000123</ЗовнішнійНомер>
</Товари>
<Номер>PAY-1001</Номер>
Довідники — один із найпоширеніших об’єктів для XML-обміну.[[Категорія:Інтеграція через XML]]
<Назва>Кабель USB Type-C 1 м чорний</Назва>
XML здатна використовуватися для обміну платіжними даними. Сценарій
[[Категорія:ERP]]
Рекомендовано:
'''Правильна стратегія.''' Якщо XML застосовується для для переходу з [[1С]] або [[BAS]], його головна задача — допомогти забрати інформаційні дані, перевірити їх і перенести в [[K2 ERP]], а не залишити стару систему як постійний центр обліку. Поганий протокол:
</div>
<НомерСайту>WEB-100245</НомерСайту>
* шапка документа;
* контрагент;
* договір;
* складський облік;
* валюта;
* таблична частина товарів;
* кількість, ціни, суми і ПДВ. Формат XML здатна змінюватися.[[Категорія:Обмін даними]]
Приклади ключів:
<ЄДРПОУ>12345678</ЄДРПОУ>
Вона добре підходить для:
<Кількість>45</Кількість>
! {| class="wikitable" style="width:100%;"
== Валідація XML ==
== Чому XML використовують для інтеграцій ==
</Обмін>
== Типова стратегія XML-інтеграції ==
* `<Контрагенти>` — кореневий елемент;
* `<Контрагент>` — один запис довідника;
* `<Код>`, `<Назва>`, `<ЄДРПОУ>` — реквізити. # Перевірка структури.<Номенклатура>
'''Цифрова незалежність.''' XML здатна стати мостом від старої ризикової системи до сучасної української [[ERP]]-платформи. Недоліки
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;">
Приклад файлу з контрагентами:
<Відділення>Відділення №10</Відділення>
<Номенклатура Код="SKU-001">Кабель USB Type-C 1 м</Номенклатура>
!<Контрагент> Під час переходу з 1С або BAS у K2 ERP XML здатна бути зручним форматом проміжного обміну.K2 ERP здатна формувати XML для інших систем. | Узгоджена структура, ключі пошуку, валідація, логіювання, протокол помилок і контроль дублів. # Додати версію формату. як приклад: У такому XML-файлі виступає як: Обидва варіанти можливі. У сучасних інтеграціях так само часто використовуються CSV, JSON і API. Що означає
- один і той самий контрагент приходить кілька разів;
- замовлення з сайту імпортується повторно;
- товар має різні артикули;
- документ має той самий номер, але іншу дату;
- зовнішній код не зберігається. Але для постійних сучасних інтеграцій бажано використовувати API, JSON, вебхуки, черги або спеціалізовані інтеграційні сервіси.
<Оплата>
- описати структуру;
- визначити обов’язкові поля;
- використовувати зовнішні коди;
- перевіряти інформаційні дані;
- контролювати дублікати;
- логіювати імпорт і експорт;
- формувати протоколи помилок;
- захищати файли;
- архівувати обміни;
- не залишати тимчасові обміни назавжди. Приклад
Щоб уникнути хаосу, потрібно вказувати версію формату. # Визначити джерело і приймач даних. У журналі бажано зберігати:
Див. так само
<ЗовнішнійКод>1C-000001</ЗовнішнійКод>
- вивантажити старі довідники;
- перенести документи;
- передати залишки;
- сформувати таблиці відповідності;
- перевірити якість даних;
- зробити тестову міграцію;
- повторити перенесення після виправлень. # Архівування файлу. Тому потрібно дотримуватися правил безпеки:
</syntaxhighlight>
<Кількість>2</Кількість>