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

