API: счёт-фактура
POST /api/v1/documents/sf
Формирует печать счёта-фактуры или УПД (без сохранения в кабинете) и возвращает PDF или XLSX.
Список шаблонов: GET /api/v1/documents/sf/templates
Пример
{
"format": "pdf",
"template": 212,
"response": "json",
"number": "15",
"date": "2026-08-23",
"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": "Сплит-система",
"quantity": 2,
"price": 10000,
"vat": 20,
"unit": "шт"
}
]
}
items можно передать объектом с числовыми ключами. Пустой массив ([]) не считается ошибкой: в таблицу попадёт одна пустая строка.
Основные поля
| Поле | Описание |
|---|---|
format | pdf (по умолчанию) или xlsx |
template | код печатной формы, по умолчанию 212 |
number, date | номер и дата; если не переданы, остаются пустыми |
seller, buyer | реквизиты сторон |
items | позиции; пустой массив печатает одну пустую строку |
currency | код валюты, по умолчанию 643 |
gov_contract | идентификатор гос. контракта |
print_stamp | печать и подписи |
decimal_places | знаков после запятой в печати: 0–3; (алиасы decimals, znaki; см. Обзор) |
number_format | отображение сумм: apostrophe (1'500.00) или space (1 500,00); (см. Обзор) |
prepayment | счёт-фактура на аванс (true) |
services | счёт-фактура на услуги (true) |
vat_correct | ручная сумма НДС в итоговой строке, например 1135.65. Если не передана, НДС считается по позициям |
correction | исправление: { "number": "2", "date": "2026-08-20" } |
response | file или json |
prepayment и services принимают также алиасы avans и uslugi.
Шаблоны
template | Название |
|---|---|
212 | Счет-фактура с 01.01.2026 г. |
213 | УПД с 01.01.2026 г. |
Актуальный список всегда в GET /api/v1/documents/sf/templates.
Позиция
| Поле | Описание |
|---|---|
name | наименование |
quantity | обязательно, кроме заголовка, подитога и пустой строки |
price | обязательно, кроме заголовка, подитога и пустой строки |
vat | ставка НДС |
unit | ед. изм. |
unit_code | код единицы измерения |
type_code | код вида товара |
excise | акциз |
country_code, country_name | страна происхождения |
number_declaration | регистрационный номер декларации |
is_header | строка-заголовок таблицы |
is_subtotal | строка-подитог |
vat_value | игнорируется, считается на сервере |
sum | игнорируется, считается на сервере |
Заголовок и подитог — как в счёте на оплату.
Для примера выше сумма будет 20000.00, НДС 3333.33.
Грузоотправитель и грузополучатель
"shipper": {
"type": "other",
"name": "ООО Склад",
"inn": "7701111222",
"kpp": "770101001",
"address": "г. Москва"
},
"consignee": {
"type": "buyer"
}
shipper.type: org (он же продавец, по умолчанию), none, other.
consignee.type: buyer (он же покупатель, по умолчанию), same, none, other.
Платежи и документы
"payments": [
{ "name": "Пп 15", "date": "2026-08-19" }
],
"documents": [
{ "name": "Накладная", "number": "12", "date": "2026-08-21" }
],
"payment_invoices": [
{
"number": "11",
"date": "2026-07-01",
"correction_number": "23",
"correction_date": "2026-07-08"
}
]
| Поле | Описание |
|---|---|
payments | платёжно-расчётные документы |
documents | документы об отгрузке |
payment_invoices | счета-фактуры к платежно-расчётным документам |
УПД (template: 213)
Дополнительно к полям счёта-фактуры:
{
"template": 213,
"upd_status": "1",
"contract": "Договор поставки № 12",
"date_shipment": "2026-08-23",
"date_receipt": "2026-08-24",
"passed_caption": "Кладовщик",
"passed_fio": "Петров Петр Петрович",
"responsible_caption": "Главный бухгалтер",
"responsible_fio": "Сидоров Сидор Сидорович",
"received_caption": "Менеджер",
"received_fio": "Смирнов Алексей Алексеевич",
"found_docs": [
{
"name": "Договор",
"number": "15",
"date": "2026-09-01",
"basis": "приложение 1"
}
]
}
| Поле | Описание |
|---|---|
upd_status | статус УПД, по умолчанию 1 |
contract, payment, transportation | основание, платёж, транспортировка |
date_shipment, date_receipt | даты отгрузки и получения |
other_information, other_information_received | иные сведения |
passed_caption, passed_fio | должность и ФИО передавшего |
responsible_caption, responsible_fio | ответственный за правильность оформления (продавец) |
received_caption, received_fio | должность и ФИО получившего |
responsible_received_caption, responsible_received_fio | ответственный (покупатель) |
seller_compiler, buyer_compiler | составитель: 1 — сторона документа, 2 — иное лицо, 0 — не заполнять |
seller_compiler_name, seller_compiler_inn, seller_compiler_kpp | реквизиты составителя продавца |
buyer_compiler_name, buyer_compiler_inn, buyer_compiler_kpp | реквизиты составителя покупателя |
found_docs | документы-основания |
footer_seller, footer_buyer | подписи в подвале |