---
title: "Выставить акт финансов по продаже или закупке"
method: POST
path: "/api/v1/finance/trade/{id}/acts"
tags: ["Finance operations"]
---

# Выставить акт финансов по продаже или закупке

`POST /api/v1/finance/trade/{id}/acts`

## Request

- Base URL: `https://erp.akeda.ru`
- URL: `https://erp.akeda.ru/api/v1/finance/trade/{id}/acts`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-Api-Key`
  - OAuth 2 (authorization code, authorization URL `https://erp.akeda.ru/oauth2/authorize`, token URL `https://erp.akeda.ru/oauth2/token`, scopes: `akeda:delegate`)
  - HTTP bearer

Исполнение продажи или закупки ядра актом финансов: документ продажи (у продажи или закупки поставщику — закупки) с основанием продажа или закупка, проводится сразу — долг в расчётах и выручка (расход) по статье. Черновик продажи или закупки первый акт подтверждает той же транзакцией. После отсечки этапа 4 бизнеса акт раскладывается по неисполненным строкам продажи или закупки (услуги; товар — только когда склада нет) и снимает «Продажи и закупки»; `stage_id` — этап работ. Если в кабинете включён документооборот и бизнес прошёл отсечку, дверь закрыта (409 `finance.trade.act_needs_paper`): акт выпускает «Сделать акт» документооборота или составная команда `POST /api/v1/core/sales/execute-now`. Повтор узнаётся конвертом `source` (или заголовком Idempotency-Key, который становится его `idempotency_key`): тот же конверт — тот же акт.

## Path parameters

- `id` string, uuid, required

## Headers

- `X-Tenant` string, required

## Request body

- FinanceOrderActInput
  - `source` FinanceOperationSource, required
    - `schema_version` 1, required
    - `source_system` string, required
    - `source_ref` string, required
    - `external_id` string, required
    - `idempotency_key` string, required
  - `date` string, date, required
  - `amount` string, required: Сумма акта с НДС в валюте продажи или закупки, decimal string
  - `due_date` string, date: Срок оплаты; пусто — по строке графика продажи или закупки или условиям контрагента
  - `reason` string
  - `pnl_item_id` string, uuid
  - `stage_id` string, uuid
  - `vat_amount` string
  - `prices_include_vat` boolean
  - `for_contact` string, uuid

## Response `201`

Проведённый акт и операция продажи или закупки

- FinanceOperationAccrualResult
  - `operation_id` string, uuid, required
  - `version_id` string, uuid, required
  - `accrual_id` string, uuid
  - `allocations` FinanceOperationAccrualAllocation[], required
    - `accrual_id` string, uuid, required
    - `amount` string, required: Положительная decimal string
  - `document` CoreDocument, required
    - `id` string, uuid, required
    - `type_id` string, uuid, required
    - `type_key` string, required
    - `type_name` string, required
    - `number` string, required
    - `date` string, date, required
    - `status` 'draft' | 'posted' | 'cancelled', required
    - `basis_type` string, uuid, required
    - `basis_id` string, uuid, required
    - `basis_number` string, required
    - `entity_refs` object, required
    - `payload` object, required
    - `comment` string, required
    - `is_marked_deleted` boolean, required
    - `created_by` integer, nullable, required
    - `created_by_name` string, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `posted_at` string, required
    - `cancelled_at` string, required
    - `custom` object: Значения своих полей кабинета (графы вида core.document.<ключ вида>). Отдаёт карточка документа; списки поле не несут
  - `operation` FinanceOperation, required
    - `recognition_mode` 'document' | 'plan', required
    - `cash_paid` string, required: Фактически оплачено по проведённым распределениям
    - `advance` string, required: Оплата сверх признанного начисления
    - `cash_payments` FinanceOperationFact[], required
      - `document_id` string, uuid, required
      - `type_key` string, required
      - `type_name` string, required
      - `number` string, required
      - `date` string, date, required
      - `status` 'draft' | 'posted' | 'cancelled', required
      - `amount` string, required: Decimal string из движений проведённого регистратора
      - `currency` string, required
    - `unattributed_facts` FinanceOperationFact[], required: Применения к долгу, не привязанные к строке графика (ERP-1417)
      - `document_id` string, uuid, required
      - `type_key` string, required
      - `type_name` string, required
      - `number` string, required
      - `date` string, date, required
      - `status` 'draft' | 'posted' | 'cancelled', required
      - `amount` string, required: Decimal string из движений проведённого регистратора
      - `currency` string, required
    - `id` string, uuid, required
    - `kind` 'sale' | 'purchase', required
    - `company_id` string, uuid, required
    - `contact_id` string, uuid, required
    - `currency` string, required
    - `amount` string, required: Decimal string
    - `due_date` string, date
    - `purpose` string
    - `pnl_item_id` string, uuid
    - `project_id` string, uuid
    - `contract_id` string, uuid
    - `source_system` string, required
    - `source_ref` string, required
    - `external_id` string, required
    - `schema_version` 1, required
    - `status` 'draft' | 'posted' | 'cancelled', required
    - `current` FinanceOperationVersion, required
      - `id` string, uuid, required
      - `version` integer, required
      - `change_kind` 'initial' | 'correction' | 'reversal', required
      - `previous_version_id` string, uuid
      - `document_id` string, uuid, required
      - `document_status` 'draft' | 'posted' | 'cancelled', required
      - `is_marked_deleted` boolean, required
      - `company_id` string, uuid, required
      - `contact_id` string, uuid, required
      - `currency` string, required
      - `effective_date` string, date, required
      - `reason` string
      - `accruals` FinanceOperationStage[], required
        - `id` string, uuid, required
        - `sequence` integer, required
        - `label` string
        - `date` string, required
        - `amount` string, required: Плановая decimal string
        - `currency` string, required
        - `actual_amount` string, required: Decimal string из проведённых документов
        - `due_trigger` 'after_accrual'
        - `after_accrual_id` string, uuid
        - `delay_days` integer
        - `payment_attribution_pending` boolean
        - `facts` FinanceOperationFact[], required
          - `document_id` string, uuid, required
          - `type_key` string, required
          - `type_name` string, required
          - `number` string, required
          - `date` string, date, required
          - `status` 'draft' | 'posted' | 'cancelled', required
          - `amount` string, required: Decimal string из движений проведённого регистратора
          - `currency` string, required
      - `payments` FinanceOperationStage[], required
        - `id` string, uuid, required
        - `sequence` integer, required
        - `label` string
        - `date` string, required
        - `amount` string, required: Плановая decimal string
        - `currency` string, required
        - `actual_amount` string, required: Decimal string из проведённых документов
        - `due_trigger` 'after_accrual'
        - `after_accrual_id` string, uuid
        - `delay_days` integer
        - `payment_attribution_pending` boolean
        - `facts` FinanceOperationFact[], required
          - `document_id` string, uuid, required
          - `type_key` string, required
          - `type_name` string, required
          - `number` string, required
          - `date` string, date, required
          - `status` 'draft' | 'posted' | 'cancelled', required
          - `amount` string, required: Decimal string из движений проведённого регистратора
          - `currency` string, required
    - `versions` FinanceOperationVersion[], required
      - `id` string, uuid, required
      - `version` integer, required
      - `change_kind` 'initial' | 'correction' | 'reversal', required
      - `previous_version_id` string, uuid
      - `document_id` string, uuid, required
      - `document_status` 'draft' | 'posted' | 'cancelled', required
      - `is_marked_deleted` boolean, required
      - `company_id` string, uuid, required
      - `contact_id` string, uuid, required
      - `currency` string, required
      - `effective_date` string, date, required
      - `reason` string
      - `accruals` FinanceOperationStage[], required
        - `id` string, uuid, required
        - `sequence` integer, required
        - `label` string
        - `date` string, required
        - `amount` string, required: Плановая decimal string
        - `currency` string, required
        - `actual_amount` string, required: Decimal string из проведённых документов
        - `due_trigger` 'after_accrual'
        - `after_accrual_id` string, uuid
        - `delay_days` integer
        - `payment_attribution_pending` boolean
        - `facts` FinanceOperationFact[], required
          - `document_id` string, uuid, required
          - `type_key` string, required
          - `type_name` string, required
          - `number` string, required
          - `date` string, date, required
          - `status` 'draft' | 'posted' | 'cancelled', required
          - `amount` string, required: Decimal string из движений проведённого регистратора
          - `currency` string, required
      - `payments` FinanceOperationStage[], required
        - `id` string, uuid, required
        - `sequence` integer, required
        - `label` string
        - `date` string, required
        - `amount` string, required: Плановая decimal string
        - `currency` string, required
        - `actual_amount` string, required: Decimal string из проведённых документов
        - `due_trigger` 'after_accrual'
        - `after_accrual_id` string, uuid
        - `delay_days` integer
        - `payment_attribution_pending` boolean
        - `facts` FinanceOperationFact[], required
          - `document_id` string, uuid, required
          - `type_key` string, required
          - `type_name` string, required
          - `number` string, required
          - `date` string, date, required
          - `status` 'draft' | 'posted' | 'cancelled', required
          - `amount` string, required: Decimal string из движений проведённого регистратора
          - `currency` string, required
  - `vat_warnings` CoreOrderVATWarning[]: Акт по продаже или закупке: строки со ставкой человека, равной прежней общей ставке юрлица, а на дату акта общая ставка другая
    - `line_id` string, uuid, required
    - `title` string, required
    - `rate` string, required: Ставка строки, названная человеком
    - `general` string, required: Общая ставка юрлица на дату
    - `date` string, date, required

## Other responses

- `400`: Некорректный запрос или нарушение бизнес-правила
- `401`: Сессия, ключ или кабинет не подтверждены
- `403`: Текущая роль не имеет требуемого права
- `404`: Запись не найдена или не видима текущему пользователю
- `409`: Конфликт версии, идемпотентности или бизнес-состояния
- `422`: Конверт источника уже использован для другой команды
- `503`: Внешний банк, справочник или контур подключений временно недоступен

---

[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/3c60ded179f2?raw)
