Задачи Кейсы Услуги Воркшопы Контакты Записаться на звонок →
Кейс 02 — что мы сделали

Коммерческие документы из данных, правильные с первого раза

Экспортные инвойсы, технические спецификации и сертификаты соответствия собирались руками, ячейка за ячейкой. В каждом — коды, веса и итоги, где одна переставленная цифра означает отказ на отгрузке.

Торговля и производствоАвтоматизация бэк-офисаСтруктурированные данные → документыСделано

Задача

Документы были учётной системой. Инвойс существовал как таблица, и только в этой таблице жили позиции, коды классификации и веса. Сделать следующий документ означало скопировать предыдущий и отредактировать.

Это работает до тех пор, пока не перестаёт. После правки итоги расходятся с позициями. Код классификации переезжает от товара, которого в инвойсе больше нет. Нетто и брутто перестают сходиться. Ничего из этого не видно на странице — это видно на границе, через несколько дней, когда груз задержан.

И дорогой частью была проверка. Сделать документ было быстро; убедиться, что он внутренне непротиворечив, — дольше, и делал это человек, наименее способный быть объективным, а именно тот, кто его только что и набрал.

Решение — не лучший шаблон. Решение — вынести источник истины из документа в данные, из которых документ рендерится.

Что мы построили

Конвейер, где главными являются структурированные данные, а каждый документ — их отображение. Позиции, коды классификации, вес по позиции и итоговый, валюта и условия поставки считаются один раз и переиспользуются во всех типах документов.

Проверка идёт до рендера, а не после. Сходится ли сумма весов позиций с заявленным итогом? Есть ли у каждой позиции валидный код классификации? Сходятся ли суммы строк с итогом инвойса? Документ, не прошедший эти проверки, не создаётся — значит, и не уйдёт.

Как это работает

01Сначала данные, потом документ

Одна структурированная запись на партию держит позиции, количества, цены, веса, коды и условия. Инвойс, упаковочная спецификация и сертификат — три представления этой записи, а не три файла, которые надо руками держать в согласии.

02Проверка как шлагбаум

Арифметика и полнота проверяются до рендера: итоги сходятся с позициями, веса суммируются, у каждой позиции есть код классификации, обязательные для страны назначения поля заполнены. Непройденная проверка останавливает документ — ошибка всплывает за столом, а не на границе.

03Шаблон на каждый тип документа

Каждый формат — это шаблон поверх тех же данных. Добавить новый документ — таможенную форму другого рынка, привычную покупателю вёрстку — это шаблон, а не проект.

04Детерминированно там, где обязано

Коды, веса и итоги вычисляются, а не генерируются языковой моделью. AI помогает в мягких частях — черновики описаний, подбор вероятного кода классификации для подтверждения человеком. Цифры, которые будет проверять таможенник, — это арифметика, и они ею и остаются.

Что изменилось

Вычисляется
Коды классификации, вес по позиции и итоговый, суммы — выводятся, а не перепечатываются
Блокируется
Документ, не прошедший проверку, не создаётся — значит, и не может быть отправлен
Одна запись
Питает все типы документов вместо отдельной таблицы под каждый

Собрано и проверено на реальной партии груза.

Дорогая половина работы — проверка — почти исчезла. Документ непротиворечив по построению, поэтому человек смотрит на коммерческий смысл, а не на арифметику.

Добавить тип документа стало дёшево. Второй и третий форматы стоят доли первого, потому что читают те же данные.

Сбой сместился раньше и стал громче. Отсутствующий код классификации — теперь сообщение за рабочим столом, а не звонок от экспедитора.

Где это применимо

Любому бизнесу, который делает повторяющиеся документы с высокой ценой ошибки из данных, уже где-то существующих в структурированном виде: экспортные и таможенные бумаги, коммерческие предложения, технические спецификации, сертификаты соответствия и испытаний, регулярная отчётность.

Плохо подходит для документов, которые действительно уникальны каждый раз. Если ни один документ не повторяет структуру другого, шаблонизировать нечего, и честный ответ — продолжать писать их руками.

Есть задача, которую стоит решить?

Расскажите, что не работает. Первый разговор бесплатный — разработка, долгосрочное партнёрство или просто вопросы: вы получите честную оценку и понятный следующий шаг.

Начать разговор →