API: акт оказания услуг
POST /api/v1/documents/akt
Формирует печать акта оказания услуг (без сохранения в кабинете) и возвращает PDF или XLSX.
Список шаблонов: GET /api/v1/documents/akt/templates
Пример
{
"format": "pdf",
"template": 390,
"response": "json",
"number": "15",
"date": "2026-08-23",
"currency": "643",
"contract": "Договор № 1 от 01.01.2026",
"payment": "монтаж оборудования",
"conditions": "Работы приняты без замечаний",
"print_stamp": true,
"seller": {
"name": "ООО Ромашка",
"inn": "7701234567",
"kpp": "770101001",
"ogrn": "1027700000000",
"address": "г. Москва, ул. Примерная, д. 1",
"phone": "+7 495 000-00-00",
"director": "Иванов Иван Иванович",
"director_post": "Генеральный директор",
"accountant": "Петрова П.П.",
"pseudo": "Исполнитель",
"stamp_url": "https://example.com/stamp.png",
"director_sign": "https://example.com/director.png",
"bank": {
"name": "ПАО Сбербанк",
"bik": "044525225",
"correspondent_account": "30101810400000000225",
"checking_account": "40702810900000000001"
}
},
"buyer": {
"name": "ООО Покупатель",
"inn": "7707654321",
"kpp": "770701001",
"address": "г. Москва, ул. Покупательская, д. 2",
"director": "Петров Пётр Петрович",
"director_post": "Генеральный директор",
"pseudo": "Заказчик"
},
"items": [
{
"name": "Монтаж сплит-системы",
"quantity": 2,
"price": 10000,
"vat": 20,
"unit": "шт"
}
]
}
items можно передать и объектом с числовыми ключами. Пустой массив ([]) не считается ошибкой: в таблицу попадёт одна пустая строка.
Основные поля
| Поле | Описание |
|---|---|
format | pdf (по умолчанию) или xlsx |
template | код печатной формы, по умолчанию 390 |
number | номер акта (алиас doc_number) |
date | дата акта Y-m-d; если не передана — сегодня |
currency | код валюты, по умолчанию 643 |
contract | договор |
payment | «оплата за …»; в печати к тексту добавляется «за », если его ещё нет |
conditions | дополнительные сведения под таблицей (алиас extra_info) |
print_stamp | печать и подписи |
decimal_places | знаков после запятой в печати: 0–3; см. Обзор) |
number_format | отображение сумм: apostrophe (1'500.00) или space (1 500,00); (см. Обзор) |
discount | включить скидку (true) |
discount_value | скидка по документу: 10 (сумма) или 10% |
vat_correct | ручная сумма НДС в итоговой строке, например 1135.65. Если не передана, НДС считается по позициям |
seller | исполнитель |
buyer | заказчик |
items | позиции; пустой массив печатает одну пустую строку |
response | file или json |
Реквизиты сторон — как в счёте на оплату. Для печати акта важны наименование, ИНН, КПП, адрес, должность и ФИО руководителя. Если seller.pseudo / buyer.pseudo не переданы, в шапке будут «Исполнитель» и «Заказчик».
Шаблоны
template | Название |
|---|---|
390 | Акт оказания услуг |
Актуальный список всегда в GET /api/v1/documents/akt/templates.
Позиция
| Поле | Описание |
|---|---|
name | наименование |
quantity | обязательно, кроме заголовка, подитога и пустой строки |
price | обязательно, кроме заголовка, подитога и пустой строки |
vat | ставка НДС: 20, +20, 0, - и т.п. (см. Обзор) |
unit | ед. изм. (алиас unit_name) |
discount | скидка строки (10 или 10%), если включена скидка по документу |
is_header | строка-заголовок таблицы |
is_subtotal | строка-подитог |
vat_value | игнорируется, считается на сервере |
sum | игнорируется, считается на сервере |
Заголовок и подитог — как в счёте на оплату.
Для примера выше сумма будет 20000.00, НДС 3333.33.