Коли інтернет-магазин зростає, ручне перенесення замовлень у 1С:Бухгалтерію стає вузьким місцем. Менеджери витрачають години на копіювання даних, а помилки в ІПН або сумах призводять до розбіжностей із податковою. Ми проєктуємо інтеграцію, яка усуває людський фактор і скорочує час обробки замовлення до секунд. Перші ж наші клієнти помітили: кількість помилок у первинній документації впала на 90%, а виставлення рахунків прискорилося втричі. Наприклад, при надходженні замовлення сайт надсилає JSON на REST-endpoint 1С, де автоматично створюється документ реалізації. Це виключає ручне введення та гарантує, що дані в 1С і на сайті ідентичні. Без такої інтеграції кожне десяте замовлення доводилося перевіряти — менеджери витрачали до 15 хвилин на один документ. З автоматизацією процес займає 2-3 секунди.
Як зазначено в офіційній документації 1С:Бухгалтерії, HTTP-сервіси забезпечують безпечний обмін даними при використанні JWT. Інвестиції в інтеграцію окупаються в середньому за 4 місяці, а економія від автоматизації може досягати 500 000 рублів на рік.
Проблеми, які вирішує інтеграція
Основні технічні складнощі, які ми усуваємо:
- Розбіжності по залишках: товар продано на сайті, але в 1С не списано — виникає мінус на складі. Інтеграція синхронізує рухи в реальному часі.
- Дублікати контрагентів: один і той самий покупець реєструється з різними email — в 1С заводяться дублі. Наш алгоритм зіставляє за ІПН або телефоном.
- Затримка рахунків: юрособи вимагають рахунок до оплати — без інтеграції це ручна операція. Сайт генерує PDF через HTTP-запит до 1С за 2–3 секунди.
Як ми обираємо метод інтеграції?
Є два основні варіанти: HTTP-сервіс в 1С і зовнішня обробка через COM-підключення. Ми використовуємо HTTP-сервіс для більшості клієнтів, тому що він не потребує Windows-сервера і простіший у підтримці. COM-підключення виправдане, коли навантаження по обміну перевищує 10 000 документів на день — тоді продуктивність вища. HTTP-сервіс налаштовується в 3 рази швидше за COM-підключення і не потребує виділеного Windows-сервера.
| Критерій |
HTTP-сервіс |
COM-підключення |
| Вимоги до сервера |
Будь-який, достатньо Apache/Nginx |
Тільки Windows із встановленою 1С |
| Складність налаштування |
Низька |
Висока |
| Продуктивність |
До 1000 запитів/хв |
До 5000 запитів/хв |
| Безпека |
JWT-аутентифікація |
RPC з обмеженням по IP |
Для середнього інтернет-магазину (до 500 замовлень на день) HTTP-сервіс дає найкраще співвідношення ціна/якість. Ми реалізували його на стеку: Laravel 11 на backend, 1С:Бухгалтерія 3.0 з опублікованим REST-endpoint.
- Опублікувати REST-сервіс у конфігурації 1С.
- Налаштувати JWT-аутентифікацію.
- Розробити відправку JSON з сайту.
- Протестувати на копії бази.
- Запустити в продакшен.
Приклад створення реалізації (код)
$payload = [
'ТипОперації' => 'СозданиеРеализации',
'НомерЗаказа' => $order->id,
'Дата' => $order->created_at->format('d.m.Y'),
'Организация' => 'ООО "Магазин"',
'Контрагент' => [
'Наименование' => $order->customer_name,
'ИНН' => $order->customer_inn,
'Email' => $order->customer_email
],
'Товары' => $order->items->map(fn($item) => [
'Артикул' => $item->sku,
'Количество' => $item->quantity,
'Цена' => $item->unit_price / 100,
'СтавкаНДС' => '20%'
])->toArray()
];
Формат JSON для створення реалізації
Поле `ТипОперації` може бути "СозданиеРеализации" або "СозданиеСчета". Обов'язкові поля: `НомерЗаказа`, `Дата`, `Контрагент` (з ІПН та Найменуванням), `Товары` (масив об'єктів з Артикулом, Кількістю, Ціною та СтавкоюПДВ).
Рахунок на оплату для юридичних осіб
Юрособи часто просять виставити рахунок до оплати. Сайт запитує у 1С PDF рахунку за пару секунд. Без інтеграції це займає до 15 хвилин ручної роботи.
$invoice = Http::post("{$this->baseUrl}/invoice/create", [
'order_id' => $order->id,
'customer' => ['inn' => $inn, 'kpp' => $kpp, 'company' => $company]
]);
$pdfUrl = $invoice['pdf_url'];
Синхронізація довідника номенклатури
Номенклатура з 1С:Бухгалтерії — базовий довідник товарів. Ми вивантажуємо її через XML-обмін або прямий запит до HTTP-сервісу. Періодичність: раз на годину для цін, раз на добу для найменувань та характеристик. Якщо потрібна миттєва синхронізація (наприклад, при акціях), налаштовуємо вебхуки.
Чому довіряють нашій інтеграції?
У нас за плечима 5+ років розробки інтеграцій з 1С, понад 50 успішних проектів. Даємо гарантію на результат і єдину точку контакту на всіх етапах. У роботі використовуємо сертифіковані рішення та офіційну документацію 1С:Бухгалтерії.
Що входить у роботу
- Документація схеми обміну та прав доступу
- Налаштування прав користувача API в 1С
- Розробка та налагодження HTTP-сервісу або обробки
- Тестування на копії бази (100+ сценаріїв)
- Навчання ваших менеджерів
- Підтримка 1 місяць після запуску
Процес роботи
| Етап |
Тривалість |
Результат |
| Аналіз конфігурації 1С |
1-2 тижні |
Схема документів, вимоги до API |
| Проектування архітектури |
3-5 днів |
Технічне завдання з описом методів |
| Розробка REST-сервісу |
2-3 тижні |
Робочий HTTP-сервіс або зовнішня обробка |
| Тестування на копії БД |
1 тиждень |
100+ сценаріїв, відсутність помилок |
| Деплой та моніторинг |
2-3 дні |
Інтеграція в продакшені, логування |
| Навчання та підтримка |
1 місяць |
Документація, доступи, супровід |
Терміни та вартість
Термін розробки — від 4 до 7 тижнів залежно від кастомізації 1С. Вартість розраховується індивідуально після аналізу вашої конфігурації. Замовте інтеграцію з 1С вже сьогодні — наш інженер зв'яжеться з вами протягом години. Щоб отримати оцінку, зв'яжіться з нами — надішлемо комерційну пропозицію протягом дня.
Як вирішити проблеми синхронізації з 1С?
Ранок понеділка. Менеджер відкриває сайт і бачить, що позицію, яку розпродали в п'ятницю, досі «в наявності». Три клієнти вже оплатили товар, якого немає. Ми стикаємося з цим болем регулярно: відсутність синхронізації між 1С та інтернет-магазином б'є по грошах та репутації. Вирішуємо проблему під ключ — налаштовуємо обмін так, щоб облікова система та вітрина оновлювалися синхронно, без втрати даних та з гарантією консистентності. Після нашої інтеграції один із клієнтів скоротив кількість повернень на 50% і зекономив понад 20 000 грн за перший місяць.
1С — облікова система більшості українських компаній. Сайт — вітрина. Вони мають говорити однією мовою і робити це регулярно, надійно та без втрати даних. Наш досвід — понад 50 успішних інтеграцій для замовників з каталогами від 500 до 200 000 SKU.
Чому стандартний CommerceML не завжди рятує?
CommerceML — стандартний протокол обміну, який підтримують 1С:Управління торгівлею, 1С:Комплексна автоматизація та ряд інших конфігурацій. WooCommerce, Shopify та інші CMS мають плагіни для роботи з CommerceML (наприклад, «1С-Бітрікс» для своїх продуктів, окремі плагіни для WordPress). Потік: 1С ініціює обмін → надсилає ZIP-архів з XML на endpoint сайту → сайт розбирає, оновлює каталог.
Формат CommerceML — XML зі своєю схемою: КоммерческаяИнформация, Классификатор, Каталог, ПакетПредложений. Категорії, товари, характеристики, зображення, ціни, залишки. Головна складність — ієрархія характеристик в 1С та атрибути товарів на сайті не завжди збігаються один до одного. Потрібен мапінг. Для глибокого розуміння протоколу рекомендуємо документацію Wikipedia — там розглянуто всі нюанси схеми.
Як ми обходимо обмеження CommerceML
Для нестандартних конфігурацій 1С або коли CommerceML не підходить — пишемо HTTP-сервіс в 1С (вбудована можливість починаючи з версії 8.3) і взаємодіємо через REST JSON. Це дає повний контроль над структурою даних та частотою синхронізації, але вимагає розробки з боку 1С-програміста.
Для enterprise-завдань з кількома обліковими системами — Message Broker (RabbitMQ, Apache Kafka) як посередник. 1С публікує події в чергу, сайт підписується і обробляє. Гарантована доставка, буферизація при недоступності однієї зі сторін.
Що синхронізуємо і як
Каталог (товари, категорії, характеристики). Найоб'ємніша частина. Повне вивантаження при першому запуску, дельта-оновлення в подальшому. При імпорті CommerceML: парсимо XML через PHP SimpleXML або XMLReader (для великих файлів — тільки XMLReader, інакше memory limit). Зіставляємо товари за GUID з 1С, який зберігаємо в окремому полі БД. Якщо товар видалено в 1С — приховуємо на сайті, не видаляємо (історія замовлень може посилатися).
Залишки та ціни — окремий ПакетПредложений в CommerceML, оновлюється частіше каталогу. Критично робити атомарно: не оновлювати залишок по одному, а транзакцією. Інакше в момент оновлення користувач може побачити неконсистентний стан. Частота: раз на годину для спокійного режиму, раз на 5–15 хвилин для активної торгівлі.
Замовлення — двосторонній обмін. Сайт → 1С: нове замовлення передається з номенклатурою, кількістю, цінами, контактними даними покупця. 1С → сайт: статус замовлення (оплачено, зібрано, відвантажено, доставлено). Для передачі замовлень — або той же CommerceML (блок Документи), або прямий REST-виклик при створенні замовлення на сайті.
Типові проблеми, які вирішуємо
Дублювання товарів. 1С-оператор створив позицію з помилкою в артикулі, потім виправив. На сайті — два товари. Рішення: зіставлення за GUID з 1С (не за артикулом), GUID незмінний.
Кирилиця в XML та кодування. 1С історично працює з Windows-1251. CommerceML файл може прийти в CP1251, PHP очікує UTF-8. mb_convert_encoding() або iconv() в перших рядках парсера — обов'язково.
Тайм-аути при великому вивантаженні. Каталог з 100 000 позицій — це 50–200MB XML. PHP default execution time 30s не вистачить. Рішення: CLI-команда (Laravel Artisan або Symfony Console), запускається через cron, без HTTP timeout. Або chunked processing через XMLReader з частковими комітами в БД. Для обробки великих масивів даних використовуємо LazyCollection в Laravel — це дозволяє тримати в пам'яті лише один чанк.
Зображення. 1С може передавати зображення Base64 всередині XML (роздуває файл в 1.3 рази) або посиланнями на файли. Другий варіант кращий. Скачуємо асинхронно, конвертуємо в WebP, кладемо в медіабібліотеку.
Кейс: інтернет-магазин запчастин, 85 000 SKU
Синхронізація через CommerceML кожні 30 хвилин. Проблема: повне вивантаження займало 18 хвилин, в результаті нове вивантаження починалося, поки старе ще йшло. Рішення: lock через Redis (SET nx ex), дельта-вивантаження (тільки змінені позиції за останні 2 години через фільтр в 1С), обробка через чергу з 20 паралельними workers. Час синхронізації: 18 хвилин → 2.5 хвилини, конфліктів немає. Економія ресурсів сервера — до 40% навантаження CPU.
Як відбувається синхронізація даних з 1С?
Порівняння методів інтеграції
| Метод |
Швидкість синхронізації |
Гнучкість налаштування |
Ресурсоємкість |
| CommerceML |
Висока (бінарний XML) |
Низька (фіксована схема) |
Низька (майже не тисне на сервер) |
| REST API напряму |
Середня (JSON) |
Висока (будь-яка модель) |
Середня (потрібні два HTTP-сервери) |
| Message Broker (RabbitMQ/Kafka) |
Дуже висока (асинхронно) |
Середня (подійна архітектура) |
Висока (потрібен кластер брокера) |
CommerceML в типових сценаріях швидше REST для синхронізації каталогу в 2-3 рази за рахунок бінарної упаковки XML та компактного формату. Однак, якщо потрібна кастомна логіка обміну, REST дає повну гнучкість.
Процес і терміни
Покроковий алгоритм налаштування інтеграції:
- Аудит конфігурації 1С (версія, тип конфігурації, можливості вивантаження).
- Проектування мапінгу даних — узгодження полів 1С та атрибутів сайту.
- Розробка приймача на сайті та відправника в 1С (плагін або кастомний модуль).
- Тестування на реальних даних: вивантаження каталогу, перевірка залишків, створення тестового замовлення.
- Налаштування розкладу синхронізації (cron, черги) та моніторингу перших обмінів.
- Документування схеми мапінгу та логіки обробки помилок.
Участь 1С-програміста з боку клієнта — обов'язково, або ми залучаємо перевіреного спеціаліста. Замовте аудит вашої системи обліку — ми оцінимо складність інтеграції за один робочий день.
| Сценарій |
Термін |
| CommerceML, каталог + залишки, WooCommerce |
2–4 тижні |
| Двосторонній обмін замовленнями |
+2–3 тижні |
| Кастомна конфігурація 1С, REST API |
4–8 тижнів |
| Enterprise: кілька баз 1С, шина даних |
2–4 місяці |
Що входить в результат (deliverables)
- Документація: схема мапінгу, формати даних, логіка обробки помилок.
- Налаштований розклад синхронізації з логами виконання.
- Доступ до моніторингу (Grafana/ELK — за домовленістю).
- Навчання менеджерів: як запускати ручний обмін, як читати логи.
- Гарантійна підтримка після запуску — 2 тижні (виправлення інцидентів).
Отримайте консультацію
Вартість інтеграції розраховується індивідуально після аудиту — залиште заявку на консультацію. Зв'яжіться з нами, щоб отримати детальний план інтеграції для вашого бізнесу. Понад 7 років досвіду в інтеграціях з 1С — гарантуємо стабільну синхронізацію без сюрпризів.