---
title: "Проставить статью ДДС кассовой операции"
method: POST
path: "/api/v1/finance/cash-operations/{id}/categorize"
tags: ["Finance transactions"]
---

# Проставить статью ДДС кассовой операции

`POST /api/v1/finance/cash-operations/{id}/categorize`

## Request

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

Классифицирует САМ ДОКУМЕНТ кассовой операции, а не строку `finance_transaction`, и этим отличается от `financeCategorizeTransaction`: у банка классифицируется транзакция, у кассы классифицировать нечего кроме документа. Отсюда и разный состав: здесь принимаются статья ДДС, контрагент и «За кого», у банковской ручки — ещё продажа или закупка и проект. Ответ тоже разный: банковская ручка возвращает переклассифицированную операцию, эта — пустое тело. Пустая строка в любом поле снимает привязку: операция без статьи — законное состояние, её показывает строка «Без статьи ДДС», и запрещать возврат в него нельзя. Ручка нужна расшифровке ДДС: у записи с `kind` = `cash` разносить статью надо здесь, у `bank` — через `financeCategorizeTransaction`. «За кого» у расчётов с собственником проходит проверку состава владельцев на дату и может быть отклонено.

## Path parameters

- `id` string, uuid, required

## Headers

- `X-Tenant` string, required

## Request body

- FinanceCashflowEntryCategorize: Классификация кассовой операции. Пустая строка в любом поле снимает привязку: операция без статьи, без ответственного и без собственника — законное состояние.
  - `cashflow_item` string: Идентификатор статьи ДДС; пустая строка снимает статью
  - `employee` string: Прежнее учётное физлицо зарплаты; пустая строка снимает его. Новое разнесение указывает человека в for_contact
  - `contact` string: Идентификатор контрагента; пустая строка снимает контрагента
  - `for_contact` string, nullable: «За кого»: контрагент сотрудника или собственника, чей расчёт гасит выдача. Пусто — как контрагент; не присланное поле остаётся как было
  - `order` string, nullable: Продажа или закупка, который оплачивают наличные (приход — продажа, расход — закупка того же контрагента). Пустая строка снимает продажу или закупку; не присланное поле остаётся как было

## Response `204`

Классификация кассовой операции сохранена

## Other responses

- `400`: Некорректный запрос или нарушение бизнес-правила
- `401`: Сессия, ключ или кабинет не подтверждены
- `403`: Текущая роль не имеет требуемого права
- `500`: Внутренняя ошибка без раскрытия server-only деталей

---

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