Шрифт
Как отправить и получить акт о выполнении работ/оказании услуг в рекомендованном ФНС формате¶
Play

Как отправить и получить акт о выполнении работ/оказании услуг в рекомендованном ФНС формате¶

Рассмотрим последовательность действий к функциям интеграторского интерфейса Диадока, которые требуется совершить при отправке акта о выполнении работ/оказании услуг.

  1. Исполнитель формирует файл титула исполнителя, подписывает и направляет заказчику.
  2. Заказчик получает товарную накладную, подписанную и отправленную исполнителем;
  3. Заказчик формирует файл титула заказчика, подписывает своей ЭП и отправляет в адрес исполнителя.

Более подробно о порядке обмена электронными актами о выполнении работ/оказании услуг между компаниями можно почитать на сайте

Формирование файла титула исполнителя для акта о выполнении работ/оказании услуг¶

Если на стороне интеграционного решения не предусмотрено функциональности для формирования XML-документов, соответствущих утвержденным форматам, то исполнитель может сгенерировать файл титула, используя метод GenerateTitleXml .

Отправка файла титула исполнителя для акта о выполнении работ/оказании услуг¶

После того, как у вас есть XML-файл титула исполнителя, его нужно отправить с помощью команды PostMessage .

Для этого нужно подготовить структуру MessageToPost следующим образом:

в значение атрибута FromBoxId указываем идентификатор ящика отправителя;

в значение атрибута ToBoxId указываем идентификатор ящика получателя;

для передачи XML-файла титула исполнителя акта о выполнении работ/оказании услуг нужно использовать атрибут XmlAcceptanceCertificateSellerTitles, описываемый структурой XmlDocumentAttachment:

  • внутри структуры XmlDocumentAttachment находится вложенная структура SignedContent;
  • сам XML-файл нужно передать в атрибут Content, подпись исполнителя в атрибут Signature.

Описание структур, используемых при отправке акта о выполнении работ/оказании услуг:

После отправки в теле ответа будет содержаться отправленное сообщение, сериализованное в протобуфер Message .

Все дальнейшие действия происходят на стороне покупателя.

Поиск акта о выполнении работ/оказании услуг¶

Сначала покупателю необходимо найти все входящие акты о выполнении работ/оказании услуг, которые требуется обработать. Для этого нужно воспользоваться методом GetDocuments :

  • в значении параметра boxId указываем идентификатор ящика, в котором следует выполнить поиск входящих документов;
  • в параметр filterCategory указываем статус и тип документа: XmlAcceptanceCertificate.InboundNotFinished .

Пример запроса на получение акта о выполнении работ/оказании услуг выглядит следующим образом:

В теле ответа вернется список документов в виде структуры DocumentList с вложенной структурой Document. Для каждого из этих документов запоминаем: MessageId, EntityId.

Получение акта о выполнении работ/оказании услуг¶

Теперь необходимо получить найденный акт XmlAcceptanceCertificate .

Чтобы получить акт о выполнении работ/оказании услуг нужно вызвать метод GetMessage и указать нужные GET-параметры boxId , messageId , entityId .

BoxId - это идентификатор ящика получателя, messageId - идентификатор полученного сообщения с актом о выполнении работ/оказании услуг, entityId - идентификатор акта. Их можно взять из структуры Message .

Пример структуры акта о выполнении работ/оказании услуг XmlAcceptanceCertificate в теле ответа:

Формирование файла титула заказчика для акта о выполнении работ/оказании услуг¶

Файл титула заказчика можно сформировать как на стороне интеграционного решения, так и используя команду GenerateTitleXml .

Отправка файла титула заказчика для акта о выполнении работ/оказании услуг¶

После того, как у вас есть XML-файл титула заказчика, его нужно отправить с помощью команды PostMessagePatch .

Для этого нужно подготовить структуру MessagePatchToPost следующим образом:

в значение атрибута BoxId указываем идентификатор ящика, в котором находится исходное сообщение;

в значение атрибута MessageId указываем идентификатор сообщения, к которому относится отправляемый патч;

для передачи XML-файла титула исполнителя акта о выполнении работ/оказании услуг нужно использовать атрибут XmlAcceptanceCertificateBuyerTitles, описываемый структурой ReceiptAttachment:

  • ParentEntityId - идентификатор документа, к которому относится титул заказчика; это идентификатор соответствующей сущности из родительского сообщения (поле EntityId в структуре Entity .);

  • внутри структуры ReceiptAttachment находится вложенная структура SignedContent;
  • сам XML-файл нужно передать в атрибут Content, подпись исполнителя в атрибут Signature.

Описание структур, используемых при отправке акта о выполнении работ/оказании услуг:

После отправки в теле ответа будет содержаться отправленное дополнение, сериализованное в протобуфер MessagePatch .

📎📎📎📎📎📎📎📎📎📎