Facturas

Con autoVat=true (predeterminado), la API determina el IVA según el registro de IVA/OSS de su empresa y el país/NIF del cliente (doméstico / inversión del sujeto pasivo / OSS / exportación). La numeración es sin huecos y comparte secuencia con el panel. No hay borrado de facturas vía API — solo anulación.

EscenarioTipoNota
Empresa sin registro de IVA0taxRate>0 manual → 422
Mismo país (doméstico)Tipo del país vendedorp. ej. EE 24 %
B2B intra-UE (con NIF-IVA)0Inversión del sujeto pasivo
B2C intra-UE + OSSTipo del país compradorp. ej. DE 19 %
B2C intra-UE sin OSSTipo del país vendedor
Venta fuera de la UE0Exención por exportación

Endpoints

POST/invoicesPermiso: write:invoices

Facturado (contador por factura)

Emite una factura. autoVat activado por defecto.

Ejemplo de solicitud

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 }
  ]
}'

Ejemplo de respuesta

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

Lista de facturas (filtros status, from, to, page, limit).

Ejemplo de solicitud

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

Detalle de una factura (líneas + pagos).

POST/invoices/{id}/cancelPermiso: write:invoices

Anula la factura (sin borrado). PAID no se puede anular (409).