Invoices¶
Генерация PDF счетов с защитой от SSRF.
Возможности¶
- Генерация счетов для сделок
- Автоматическая нумерация (формат: XX-YYMMDD-N)
- Конвертация HTML в PDF через Puppeteer
- Защита от SSRF атак
API¶
Получить счета сделки¶
GET /api/invoices/deal/:dealId
// Response
[
{
"id": 1,
"invoiceNumber": "АБ-241201-1",
"grandTotal": 150000,
"createdAt": "2024-12-01T10:00:00Z",
"generatedBy": { "firstName": "Иван" }
}
]
Создать счёт¶
POST /api/invoices/generate
{
"dealId": 123,
"items": [
{ "name": "Товар 1", "quantity": 10, "price": 5000, "total": 50000 }
],
"subtotal": 50000,
"totalTax": 6000,
"grandTotal": 56000,
"clientInfo": { "name": "ТОО Клиент", "bin": "123456789012" },
"contractNumber": "Д-2024-001",
"invoiceNote": "Оплата в течение 5 дней"
}
Сгенерировать PDF¶
Формат номера¶
XX-YYMMDD-N
XX = Инициалы владельца сделки
YYMM = Год и месяц создания сделки
DDD = ID сделки (3 цифры)
N = Порядковый номер счёта
Пример: ИИ-241201-3 — третий счёт от Ивана Иванова по сделке от декабря 2024.
Безопасность PDF¶
Puppeteer запускается с ограничениями: - Блокировка file://, ftp:// протоколов - Блокировка localhost и внутренних IP - Ограничение размера HTML (2MB) - Таймаут 15 секунд