API: корректировочный счёт-фактура
POST /api/v1/documents/korr_sf
Формирует печать корректировочного счёта-фактуры (без сохранения в кабинете) и возвращает PDF или XLSX.
Список шаблонов: GET /api/v1/documents/korr_sf/templates
Пример
{
"format": "pdf",
"template": 400,
"response": "json",
"number": "15",
"date": "2026-08-23",
"sf_number": "10",
"sf_date": "2026-08-01",
"correction": {
"number": "1",
"date": "2026-08-23"
},
"gov_contract": "12345678901234567890",
"print_stamp": true,
"seller": {
"name": "ООО Ромашка",
"inn": "7701234567",
"kpp": "770101001",
"address": "г. Москва",
"director": "Иванов Иван Иванович",
"director_post": "Генеральный директор",
"accountant": "Сидорова Анна",
"stamp_url": "https://example.com/stamp.png",
"director_sign": "https://example.com/director.png",
"accountant_sign": "https://example.com/accountant.png"
},
"buyer": {
"name": "ООО Покупатель",
"inn": "7707654321",
"kpp": "770101001",
"address": "г. Москва"
},
"items": [
{
"name": "Сплит-система",
"unit": "шт",
"unit_code": "796",
"quantity": 2,
"price": 10000,
"vat": 20,
"quantity_b": 3,
"price_b": 10000,
"vat_b": 20
}
]
}
items можно передать объектом с числовыми ключами. Пустой массив ([]) не считается ошибкой: в таблицу попадёт одна пустая строка.
Поля без суффикса — строка А (до изменения). Поля с _b — строка Б (после изменения). Если поле Б не передано, в печати берётся значение А. Увеличение и уменьшение (В / Г) считаются на сервере.
Основные поля
| Поле | Описание |
|---|---|
format | pdf (по умолчанию) или xlsx |
template | код печатной формы, по умолчанию 400 |
number, date | номер и дата корректировочного счёта-фактуры |
sf_number, sf_date | номер и дата исходного счёта-фактуры (алиасы sf_number_doc, sf_date_doc) |
sf_correction_number, sf_correction_date | исправление исходного счёта-фактуры |
correction | исправление корректировочного СФ: { "number": "1", "date": "2026-08-23" } |
gov_contract | идентификатор гос. контракта |
seller, buyer | реквизиты продавца и покупателя |
items | позиции; пустой массив печатает одну пустую строку |
currency | код валюты, по умолчанию 643 |
print_stamp | печать и подписи |
decimal_places | знаков после запятой в печати: 0–3; (алиасы decimals, znaki; см. Обзор) |
number_format | отображение сумм: apostrophe (1'500.00) или space (1 500,00); (см. Обзор) |
response | file или json |
Шаблоны
template | Название |
|---|---|
400 | Корректировочный счет-фактура |
Актуальный список всегда в GET /api/v1/documents/korr_sf/templates.
Код 400 здесь — шаблон корректировочного счёта-фактуры. У коммерческого предложения код 400 относится к другому типу документа.
Позиция
| Поле | Описание |
|---|---|
name | наименование |
quantity, price | обязательно для А, кроме пустой строки |
vat | ставка НДС до изменения |
unit | ед. изм. (алиас unit_name) |
unit_code | код единицы измерения |
type_code | код вида товара (алиас product_kind_code) |
excise | акциз |
country_code, country_name | страна происхождения |
number_declaration | регистрационный номер декларации |
quantity_b, price_b, vat_b | количество, цена и НДС после изменения |
unit_b, unit_code_b, type_code_b | ед. изм. и код вида товара после изменения |
excise_b, country_code_b, country_name_b, number_declaration_b | акциз, страна и декларация после изменения |
vat_value, sum | игнорируются, считаются на сервере |
Строки is_header и is_subtotal принимаются, но в печатную форму не выводятся.
В ответе JSON data.totals считается по показателям А. В печатной форме выводятся суммы увеличения и уменьшения.
Для примера выше А: 20000.00, Б: 30000.00, увеличение с НДС 10000.00.