---
title: "Разнести входящий документ"
method: POST
path: "/api/v1/docflow/messages/{id}/intake/accounting"
tags: ["Docflow intake"]
---

# Разнести входящий документ

`POST /api/v1/docflow/messages/{id}/intake/accounting`

## Request

- Base URL: `https://erp.akeda.ru`
- URL: `https://erp.akeda.ru/api/v1/docflow/messages/{id}/intake/accounting`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://erp.akeda.ru/oauth2/authorize`, token URL `https://erp.akeda.ru/oauth2/token`, scopes: `akeda:delegate`)

Разнесение ВХ по решению человека одной транзакцией кабинета: товарные строки — черновик приёмки склада ПО ЗАКУПКЕ, расходные — черновики закупок финансов по статьям, строки «на приёмку» — черновики доп. расходов склада. Проводит черновики человек кнопкой владельца.

Закупка товара (ERP-2672): purchase_id — выбранная из найденных; create_purchase — завести новую подтверждённую закупку по документу поставщика (строки — товар ВХ с ценами и налогом из файла, источник — ВХ, один ВХ — одна закупка); ничего не названо — единственная найденная, а без найденных — новая. Приёмка гасит ожидание поставки, долг поставщику ложится на заказ, аванс зачитывается штатным правилом. Права: stock.receipt на товарные строки, core.trade:write — когда закупку надо завести, finance:write на расходные.

Проверки решения — 422 docflow.formats.invalid списком issues, в том числе docflow.edo.accounting.purchase_choice_required (найдено несколько закупок — выберите), purchase_supplier_mismatch (поставщик закупки не продавец ВХ, по строке), purchase_unavailable (закупка закрыта или не найдена), purchase_conflict (и закупка, и новая), purchase_linked (ВХ уже разнесён в другую закупку). Отказы 409: docflow.edo.accounting.already_distributed (documents — живые документы разнесения), not_accepted, document_deleted, module_disabled, purchase_port_missing, stock.receipt.order_draft_exists; 403 docflow.edo.accounting.purchase_forbidden — нет права заводить закупки.

## Path parameters

- `id` string, uuid, required

## Headers

- `X-Tenant` string, required

## Request body

- DocflowIncomingAccountingInput: Решение человека по ВХ. Строка без решения идёт по предложенному маршруту.
  - `warehouse_id` string, uuid
  - `currency` string: Валюта, когда файл её не назвал; названную файлом не переписывают
  - `lines` DocflowIncomingAccountingLineInput[]
    - `number` integer, required
    - `route` '' | 'stock' | 'expense' | 'receipt_cost' | 'none': Маршрут; пусто — предложенный
    - `pnl_item_id` string, uuid
    - `arrived_qty` string: Пришло по факту у складской строки; пусто — как по документу
    - `receipts` UUID[]: Приёмки, которые удорожает строка «на приёмку» (ERP-2597)
    - `cost_kind` string: Вид доп. расхода строки «на приёмку»
    - `allocation_method` string: База деления доп. расхода; пусто — по виду
  - `purchase_id` string, uuid
  - `create_purchase` boolean: Завести новую подтверждённую закупку по документу поставщика вместо найденной; нужно право core.trade:write

## Response `200`

Заведённые черновики, закупка товара и план после разнесения

- DocflowIncomingAccountingResult: Итог разнесения ВХ.
  - `plan` DocflowIncomingAccountingPlan, required: План разнесения принятого входящего документа поставщика (ВХ, ERP-1230; закупка товара — ERP-2672).
    - `message` string, uuid, required
    - `document` DocflowAcceptedDocument, required: Учётный документ кабинета, заведённый приёмкой.
      - `id` string, uuid, required
      - `number` string, required: Наш номер из нумератора кабинета. Номер продавца лежит в содержимом документа: занять им наш сквозной счётчик значит однажды получить два своих документа с одним номером от двух разных поставщиков
      - `date` string, required: Дата документа ГГГГ-ММ-ДД. По умолчанию это дата документа поставщика: операция произошла тогда, когда её совершил он, и датировать её днём приёмки значит поставить факт не в тот период
      - `type_key` string, required: Ключ вида документа; у приёмки docflow_incoming
      - `type_name` string, required: Имя вида в кабинете. Право клиента: вид можно переименовать, и код держит его за ключ, а не за название
      - `status` string, required: Состояние учётного документа. Приёмка заводит ЧЕРНОВИК: проведение принадлежит модулям — владельцам регистров
      - `marked_deleted` boolean, required: Документ помечен на удаление. Такой пакет принимается заново: пометка и есть способ сказать «этот документ ошибочный»
      - `accepted_at` string, required: Момент приёмки; пусто, если он не записан
    - `company_id` string, uuid, required
    - `contact_id` string, uuid, required
    - `date` string, required: Дата ВХ ГГГГ-ММ-ДД
    - `currency` string, required: Валюта документа из файла; пусто — не распознана, её называет человек полем currency команды
    - `supplier_document` SupplierDocument, required: Номер и дата документа поставщика (ERP-484, подшаг 5.3): по ним входящий НДС сверяется с книгой покупок. Оба поля необязательны
      - `number` string
      - `date` string, date
    - `lines` DocflowIncomingAccountingLine[], required
      - `number` integer, required: Номер строки в файле поставщика
      - `line_id` string, uuid, required
      - `name` string, required: Название строки словами поставщика
      - `product` string, uuid, required
      - `product_name` string, required
      - `product_kind` string, required: Вид нашей номенклатуры: goods, material, semi_product, service; по нему предложен маршрут
      - `kind` string, required: ПрТовРаб файла (1 товар, 2 работа, 3 услуга …) — только подсказка
      - `unit_code` string, required: Код ОКЕИ строки
      - `unit_name` string, required
      - `quantity` string, required
      - `amount_with_vat` string, required
      - `vat_amount` string, required: Налог строки; пусто при «без НДС»
      - `vat_without` boolean, required: Отметка «без НДС»: налога нет, а не нулевой налог
      - `price` string: Цена без налога из файла (ERP-2672): по ней заводится строка закупки по документу поставщика
      - `amount_without_vat` string: Сумма без налога из файла
      - `vat_rate` string: Ставка налога из файла
      - `skipped` boolean, required: Строку не взяли в учёт при приёмке; её можно разнести в расход со статьёй
      - `route` 'stock' | 'expense' | 'receipt_cost' | 'none', required: Предложенный маршрут
    - `documents` DocflowIncomingAccountingDocument[], required: Документы разнесения, живые и снятые: заведённые на основании ВХ и приёмка товара по закупке
      - `id` string, uuid, required
      - `owner` string, required: Модуль-владелец: stock или finance
      - `type_key` string, required
      - `type_name` string, required
      - `number` string, required
      - `date` string, required
      - `status` string, required: draft, posted или cancelled
      - `is_marked_deleted` boolean, required
    - `distributed` boolean, required: На ВХ есть живой документ разнесения: повтор ответит 409 docflow.edo.accounting.already_distributed
    - `purchase` DocflowIncomingPurchasePlan, required: Закупка товарных строк ВХ (ERP-2672). Товар приходуется приёмкой склада только по закупке: найденной или заведённой разнесением.
      - `candidates` DocflowIntakePurchase[], required: Найденные открытые закупки того же юрлица и поставщика. Пусто — разнесение заведёт новую закупку по документу поставщика
        - `order_id` string, uuid, required
        - `number` string, required: Номер закупки
        - `title` string
        - `date` string: Дата закупки ГГГГ-ММ-ДД
        - `amount` string, required: Заказано
        - `remaining` string, required: Осталось исполнить: заказано минус проведённые исполнения
        - `currency` string
        - `contract_number` string: Договор закупки
        - `contract_id` string, uuid
        - `deal_paper_id` string, uuid
        - `reason` 'linked' | 'amount' | 'open' | 'number' | 'lines', required: Почему предложена: linked — бумага уже лежит в ней; amount — остаток равен сумме бумаги; open — бумага помещается в остаток; в разнесении ВХ ещё number — номер счёта или договора из основания передачи совпал с бумагой или договором закупки, lines — её товарные строки покрывают товар ВХ
        - `pnl_item_required` boolean: Первому акту этой закупки нужна статья расходов: у закупки её нет, а операции заказа в финансах ещё нет. Приёмка без pnl_item_id ответит 409 docflow.edo.intake_pnl_item_required
        - `suggested_pnl_item` DocflowIntakePnlItem: Подсказка статьи расходов первого акта закупки (ERP-1810), по порядку: статья закупки, статья оплаты закупки или её счёта, статья последнего акта этого поставщика, правило разнесения контрагента. Только расходная статья ОПиУ в обращении.
          - `id` string, uuid, required
          - `name` string, required: Название статьи — так, как его назвал кабинет
          - `source` 'order' | 'payment' | 'last_act' | 'rule': Откуда подсказка: order — статья закупки; payment — статья её оплаты или оплаты её счёта; last_act — статья последнего акта поставщика; rule — правило разнесения контрагента
        - `goods` boolean: В закупке товар, и склад включён (ERP-1810): строки бумаги на товар закупки «Принять к учёту» заводит черновиком приёмки склада по закупке (проводит его склад), строки на услуги — актом поставщика
        - `warehouse_id` string, uuid
        - `warehouse_name` string: Название склада приёмки
      - `suggested` string, uuid
      - `linked` DocflowIncomingPurchaseLink: Закупка, в которую разнесён товар ВХ, и черновик приёмки по ней (ERP-2672). Повтор разнесения идёт в неё же.
        - `order_id` string, uuid, required
        - `number` string, required: Номер закупки
        - `created` boolean, required: Закупку завело разнесение ВХ — закупка по документу поставщика
        - `receipt_id` string, uuid
    - `closing_document` boolean, required: Продавец — эквайер юрлица (ERP-1384): строки идут в расход без статьи, финансы заводят закрывающий документ эквайера
  - `created` DocflowIncomingAccountingDocument[], required: Все заведённые черновики
    - `id` string, uuid, required
    - `owner` string, required: Модуль-владелец: stock или finance
    - `type_key` string, required
    - `type_name` string, required
    - `number` string, required
    - `date` string, required
    - `status` string, required: draft, posted или cancelled
    - `is_marked_deleted` boolean, required
  - `receipt` DocflowIncomingAccountingDocument: Документ владельца, заведённый разнесением ВХ.
    - `id` string, uuid, required
    - `owner` string, required: Модуль-владелец: stock или finance
    - `type_key` string, required
    - `type_name` string, required
    - `number` string, required
    - `date` string, required
    - `status` string, required: draft, posted или cancelled
    - `is_marked_deleted` boolean, required
  - `purchases` DocflowIncomingAccountingDocument[], required: Черновики закупок финансов по статьям
    - `id` string, uuid, required
    - `owner` string, required: Модуль-владелец: stock или finance
    - `type_key` string, required
    - `type_name` string, required
    - `number` string, required
    - `date` string, required
    - `status` string, required: draft, posted или cancelled
    - `is_marked_deleted` boolean, required
  - `receipt_costs` DocflowIncomingAccountingDocument[]: Черновики доп. расходов на приёмки
    - `id` string, uuid, required
    - `owner` string, required: Модуль-владелец: stock или finance
    - `type_key` string, required
    - `type_name` string, required
    - `number` string, required
    - `date` string, required
    - `status` string, required: draft, posted или cancelled
    - `is_marked_deleted` boolean, required
  - `order` DocflowIncomingPurchaseLink: Закупка, в которую разнесён товар ВХ, и черновик приёмки по ней (ERP-2672). Повтор разнесения идёт в неё же.
    - `order_id` string, uuid, required
    - `number` string, required: Номер закупки
    - `created` boolean, required: Закупку завело разнесение ВХ — закупка по документу поставщика
    - `receipt_id` string, uuid
  - `order_created` boolean: Закупку товара завело это разнесение

## Other responses

- `400`: Некорректный запрос или нарушение бизнес-правила
- `401`: Сессия, ключ или кабинет не подтверждены
- `403`: Текущая роль не имеет требуемого права
- `404`: Запись не найдена или не видима текущему пользователю
- `409`: Конфликт версии, идемпотентности или бизнес-состояния
- `422`: Документ не отвечает формату ФНС: не хватает реквизитов. Код `docflow.formats.invalid`, и поле `issues` несёт СПИСОК непройденных проверок целиком — код, путь реквизита именами ФНС, номер товарной строки и подробности значениями. 422, а не 400: запрос составлен верно, и чинится это заполнением карточек, а не переписыванием запроса.

## Changes

- **2026-10-20** `765c65fadf8f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/akeda/apis/akeda-erp-client-api/changes/api/v1/docflow/messages/:id/intake/accounting/post.md)

---

[API](https://skmtc.dev/akeda/apis/akeda-erp-client-api.md) · [All operations](https://skmtc.dev/akeda/apis/akeda-erp-client-api/llms.txt) · [OpenAPI document](https://skmtc.dev/akeda/apis/akeda-erp-client-api/revisions/7a6b75f272ee?raw)
