---
title: "Провести начисление по плану операции"
method: POST
path: "/api/v1/finance/operations/{id}/accruals"
tags: ["Finance operations"]
---

# Провести начисление по плану операции

`POST /api/v1/finance/operations/{id}/accruals`

## Request

- Base URL: `https://erp.akeda.ru`
- URL: `https://erp.akeda.ru/api/v1/finance/operations/{id}/accruals`
- 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

Создаёт и проводит отдельный документ выполнения по одной или нескольким частям плана. Сумма распределений обязана совпасть с общей суммой и не превышать неначисленный остаток. Относительный срок оплаты вычисляется от даты этого начисления.

## Path parameters

- `id` string, uuid, required

## Headers

- `X-Tenant` string, required

## Request body

- FinanceOperationAccrualCreate: Указывает ровно одну цель распределения: accrual_id для одной части плана либо allocations для нескольких частей. Совместимость этого ограничения проверяет сервер; плоская форма сохранена, чтобы сгенерированные TypeScript- и Swift-клиенты не теряли общие поля.
  - `source` FinanceOperationSource, required
    - `schema_version` 1, required
    - `source_system` string, required
    - `source_ref` string, required
    - `external_id` string, required
    - `idempotency_key` string, required
  - `expected_version` integer, required
  - `accrual_id` string, uuid
  - `allocations` FinanceOperationAccrualAllocation[]
    - `accrual_id` string, uuid, required
    - `amount` string, required: Положительная decimal string
  - `date` string, date, required
  - `amount` string, required: Сумма документа; должна совпасть с суммой allocations
  - `due_date` string, date: Обычно вычисляется из графика; переданное значение не может ему противоречить
  - `reason` string
  - `vat_amount` string: Только закупка без «в т.ч. НДС» на плане (ERP-484, подшаг 5.3в): «в т.ч. НДС» акта поставщика. Обязательна, если на дату начисления бизнес очищает суммы и юрлицо принимает налог к вычету; 0 — налог не выделен. У плана с налогом начисление берёт долю нарастающим итогом, и непустое значение — 400
  - `supplier_document` SupplierDocument: Номер и дата документа поставщика (ERP-484, подшаг 5.3): по ним входящий НДС сверяется с книгой покупок. Оба поля необязательны
    - `number` string
    - `date` string, date

## 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)
