Внедряли ЭТрН на стройке — пришлось разбираться с чужими процессами


Привет! Я Наталья Йаман, исполнительный директор «Синтеки». Мы разрабатываем софт для строительной отрасли, наш основной продукт — это SRM-система, которая автоматизирует закупки: от выбора поставщика до принятия доставки.
С 1 сентября 2026 года наши пользователи должны перейти на ЭТрН — электронные транспортные накладные. Поскольку строительные компании принимают материалы через «Синтеку», нужно было встроить новый цифровой документ в наши процессы.
Казалось бы, локальная доработка: технически интегрировать ЭТрН просто. Сложнее сделать так, чтобы эта интеграция работала: нужны данные, которые вносят чужие сотрудники в других системах. Расскажу, как простая задача вывела нас далеко за пределы своего продукта.
Начали с простой задачи — интеграции ЭТрН в нашу систему
Сначала покажу, как в «Синтеке» работали с поставкой до ЭТрН. На объекте прораб принимал материалы, подписывал бумажные накладные (ТТН или ТН) или УПД (универсальный передаточный документ) — и отправлял их в офис. В ЭДО поступал электронный УПД, а бухгалтерии нужно было понять, какому бумажному документу он соответствует, чтобы подтвердить поступление материалов.
Когда ЭТрН стала обязательной, мы надеялись, что она заменит транспортную и товарную части накладной. Значит, в ней будет достаточно данных, чтобы принять груз и вести учет поставок в «Синтеке».
На практике полной цифровизации не произошло: оказалось, что ЭТрН заменила только транспортную часть накладной, а товарная часть осталась на бумаге. Возникла и другая проблема: было сложно понять, к какой заявке, счету и объекту относятся поступающие ЭТрН.

Стали автоматически связывать ЭТрН с заявкой в системе — не хватило данных
Проблема с нехваткой данных особенно заметна в стройке, где в одной поставке участвует много компаний и людей. Представьте, что застройщик возводит жилой комплекс из нескольких корпусов. На объекте работают десятки подрядчиков, у них — свои субподрядчики, которые каждый день принимают материалы по разным заявкам.
Когда сейчас на стройку привозят коробки с материалами по ЭТрН, мы сталкиваемся с несколькими проблемами:
Непонятно, кому приехал груз. В ЭТрН указали название грузополучателя, допустим АО «Комфорт». Осталось гадать, на какой из семи корпусов ЖК доставили материалы и к какому субподрядчику.
Неясно, что водитель привез в коробках и по какой заявке. По ЭТрН это просто груз из 10 коробок или паллет. Грузоотправитель не обязан указывать, что внутри — он отмечает только грузовые места.

Раньше пользователь создавал заявку в «Синтеке», а к ней привязывали счет. Когда приходил УПД, его связывали со счетом — и так все документы собирались вокруг одной поставки. ЭТрН же приходит отдельно, и без номера счета система не понимает, к какой поставке ее отнести.
Чтобы вернуть этот бизнес-контекст, мы решили связывать ЭТрН с данными в «Синтеке». Технически это сделать несложно: нужно указать в электронной накладной номер счета, система найдет его у себя и определит, по какому проекту и какому субподрядчику везут груз. Но здесь мы столкнулись с новой сложностью.
Оказалось, что критичные данные вносят чужие компании
Кажется, решение простое: добавить в ЭТрН номер счета. Но накладную часто создает не поставщик, с которым мы работаем, а грузоотправитель — значит, нужные данные должен внести именно он.
В стройке поставщик и грузоотправитель — часто разные компании. Например, застройщик покупает керамогранит у поставщика ООО «Плитка», но отгружает материалы завод. Чтобы наша схема заработала, поставщик должен передать заводу номер счета, а сотрудник завода — внести эти данные в соответствующее поле ЭТрН.
Если грузоотправитель не указал номер, ЭТрН все равно попадет в «Синтеку», но система не сможет сразу связать ее с поставкой. Тогда это можно сделать вручную или позже автоматически — по УПД, если поставщик указал в нем номер ЭТрН.
Здесь появилось ограничение, которое нельзя решить кодом внутри нашей системы. Грузоотправитель-завод не пользуется «Синтекой» и создает ЭТрН в своей системе. Мы не можем технически проконтролировать заполнение документа или обязать сотрудника внести нужные нам данные.
Так, недавно клиент отправил нам список поставщиков, которых нужно подключить к новому процессу. Мы ответили, что нужны именно грузоотправители. В ответ получили закономерный вопрос: «А как же мы их будем в этот процесс затаскивать?»
В этот момент стало понятно: одной интеграцией не обойтись. Нужно наладить передачу данных между несколькими компаниями, причем часть из них работает в своих системах и не пользуется «Синтекой».
Потеряли в цепочке покупателя и поставщика: изобретаем костыли
Итак, в работу с ЭТрН пришлось подключать другие компании. Но тут всплыла еще одна проблема: роли в накладной не совпадают с привычными ролями в закупке. Документ заполняют поэтапно: при погрузке, перевозке, приемке и завершении перевозки. Для каждого этапа предусмотрена своя часть накладной — титул. Его заполняет соответствующий участник и подписывает квалифицированной электронной подписью (КЭП).
Вот как это выглядит в нашем примере:

Застройщик покупает керамогранит у ООО «Плитка», но сам груз отправляет завод, а принимает подрядчик на объекте. Поэтому покупатель и поставщик по умолчанию не видят, где находится груз и кому его привезли.
Что мы сделали. Чтобы поставщик и покупатель получили доступ к документу, мы добавили их в ЭТрН как наблюдателей. Это дополнительные участники, которые не подписывают титулы, но видят электронную накладную.
Правда, такой костыль сработает, только если грузоотправитель (в нашем случае — завод) добавит наблюдателей. От него зависит и автоматическая привязка документа. Если в ЭТрН есть номер счета, «Синтека» сразу свяжет ее с поставкой. Если номера нет, документ можно привязать вручную или позднее по УПД, если в нем указан номер ЭТрН. Но тогда появляется ручная работа вместо автоматической.
Оставалась и еше одна сложность: наблюдателю нельзя присвоить в ЭТрН роль «поставщик» или «покупатель». Поэтому по самой накладной «Синтека» не может определить, кто из них кто. В итоге для автоматической работы системы грузоотправителю нужно правильно заполнить номер счета и добавить нужных наблюдателей.
Выстраиваем процесс за пределами «Синтеки»
В итоге «Синтека» контролирует только часть процесса. Данные, от которых зависит автоматическая привязка ЭТрН, передают другие компании и вносят в своих системах. Вот как это выглядит в логистической цепочке:

Самое уязвимое место в этой цепочке — розовая зона. Поставщик должен передать грузоотправителю номер счета и данные наблюдателей, а грузоотправитель — указать их в ЭТрН. Все это происходит за пределами «Синтеки», поэтому мы не можем технически проверить заполнение документа в момент его создания.
В итоге нам пришлось работать и с внешними участниками процесса. Мы можем влиять на процесс организационно: наша команда отправляет грузоотправителям инструкции, созванивается с ними и проверяет ЭТрН.

Но даже когда грузоотправитель заполняет нужные поля, остается еще одна проблема.
На стройке сложно подписывать ЭТрН: что мы придумали
Еще один камень преткновения — приемка материалов. Представьте: на стройку приезжает машина с грузом. На объекте аврал, рабочие заняты своими задачами. Кто именно будет принимать материалы, решают не заранее, а на месте.
Груз обычно физически принимает рабочий, у которого нет КЭП. Сложно представить, что прораб посреди стройки бежит к компьютеру, чтобы подписать накладную. Можно это сделать и через приложение Госключ — но в условиях авральной работы велики шансы, что сотрудник забудет от него пароль. Перед нами встала задача: быстро подключить сотрудника к приемке электронного документа, чтобы он не передавал данные по телефону в офис.
Кроме того, грузополучателей практически некому обучать новому процессу. Операторы ЭДО в первую очередь помогают грузоотправителям, которые формируют ЭТрН. Поэтому работу с грузополучателями взял на себя наш отдел внедрения: сотрудники объясняют, как работать с электронной накладной и как ее подписывать.
Что мы сделали. Разбили приемку груза на два этапа: поставку физически принимает кто-то из сотрудников, а подписываем ЭТрН в офисе. Вот как это происходит:
Компания выдает сотрудникам логин и пароль от системы
↓
На стройку приезжают материалы
↓
Сотрудник входит в «Синтеку» с телефона
↓
Отмечает грузовые места согласно ЭТрН и фиксирует их состояние
↓
Формирует черновик приемки в системе
В офисе
Сотрудник с КЭП видит принятые поставки
↓
Фильтрует принятые ЭТрН
↓
Подписывает ЭТрН на компьютере с помощью КЭП

Мы не хотели писать код в стол
Мы хотели интегрировать простой электронный документ, но оказалось, что границы автоматизации не всегда совпадают с границами продукта. Если работа системы зависит от человека в другой компании и в другой информационной системе, он тоже становится частью процесса. Даже если он нашим продуктом не пользуется.
Поэтому в таких интеграциях мало разобраться с форматом документа и API. Нужно посмотреть на всю цепочку: кто создает нужные данные, кто передает их дальше, что мы можем контролировать и что делать, если кто-то не выполнит свою часть. Иначе можно написать код в стол.
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.