Счета

При autoVat=true (по умолчанию) API сам определяет ставку НДС по регистрации НДС/OSS вашей компании и стране/номеру НДС клиента (внутренние продажи / reverse charge / OSS / экспорт). Нумерация без пропусков, общая с панелью. Удаления счетов через API нет — только отмена.

СценарийСтавкаПримечание
Компания не зарегистрирована по НДС0Ручной taxRate>0 → 422
Та же страна (внутр.)Ставка страны продавцанапр. EE 24%
B2B внутри ЕС (с НДС-номером)0Reverse charge — vatNote автоматически
B2C внутри ЕС + OSSСтавка страны покупателянапр. DE 19%
B2C внутри ЕС без OSSСтавка страны продавца
Продажа за пределы ЕС0Экспортное освобождение

Эндпоинты

POST/invoicesПраво: write:invoices

Платно (счётчик за счёт)

Выставляет счёт. autoVat включён по умолчанию.

Пример запроса

curl -X POST -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  https://corpenza.com/api/external/accounting/invoices -d '{
  "clientName": "Berlin GmbH",
  "clientCountry": "DE",
  "clientVatNumber": "DE123456789",
  "items": [
    { "description": "Consulting", "quantity": 2, "unitPrice": 250 }
  ]
}'

Пример ответа

{
  "id": "inv_...",
  "invoiceNumber": "CRP-202606-0042",
  "taxRate": 0,
  "total": 500,
  "vatNote": "Reverse Charge - ...",
  "vatReason": "Intra-EU B2B — Reverse Charge"
}
GET/invoicesПраво: read:invoices

Список счетов (фильтры status, from, to, page, limit).

Пример запроса

curl -H "Authorization: Bearer $API_KEY" \
  "https://corpenza.com/api/external/accounting/invoices?status=SENT&page=1&limit=20"
GET/invoices/{id}Право: read:invoices

Детали счёта (позиции + платежи).

POST/invoices/{id}/cancelПраво: write:invoices

Отменяет счёт (без удаления). PAID отменить нельзя (409).