Ves al contingut

Verifactu Direct API · anul·lar i subsanar ​

Dues operacions excepcionals que rarament formen part del flux diari. Les dades dels exemples són fictícies.

Anul·lar ​

Operació poc habitual

L'anul·lació només serveix per a una factura emesa per error, una factura que no hauria d'haver existit. No serveix per corregir una factura amb errors: per fer-ho, emet una rectificativa (una alta R1–R5).

És un registre independent: identifica la factura amb (serie, numero, fecha_expedicion). No cal haver-ne registrat l'alta a Bilteo.

bash
curl -X POST https://api.test.bilteo.com/api/v1/external-invoices/cancel \
  -H "Authorization: Bearer bk_live_xxx" -H "Content-Type: application/json" \
  -d '{ "serie": "FV", "numero": "1042", "fecha_expedicion": "2026-02-10" }'
# → 201, { "state": "pending", "verifactu_record_id": "VF…" }

Si la factura anul·lada no consta a l'AEAT (s'ha emès o registrat en un altre sistema), afegeix "sin_registro_previo": "S".

Subsanar un rebuig ​

Operació extraordinària

La subsanació és molt poc freqüent i queda fora del flux normal. Només s'utilitza quan l'AEAT ha rebutjat un registre per un error d'enviament, normalment un error d'integració. No és una rectificativa ni corregeix el contingut fiscal d'una factura lliurada. Només és procedent quan no cal una factura rectificativa ni cap altre mecanisme del Reglament de facturació. Si la factura no ha quedat en estat rejected, aquesta no és l'operació adequada.

Si una factura queda en estat rejected, torna-la a enviar corregida al mateix POST /external-invoices amb "rechazo_previo": "X" i la mateixa serie/numero. Bilteo la registra com a subsanació (Subsanacion="S") reutilitzant la factura, sense duplicar-la.

json
{ "serie": "FV", "numero": "1042", "fecha_expedicion": "2026-02-10",
  "tipo_factura": "F1", "descripcion": "Manteniment mensual",
  "rechazo_previo": "X",
  "nif": "B72648193", "nombre": "Talleres Marverde SL",
  "lineas": [ { "base_imponible": "350", "tipo_impositivo": "21", "cuota_repercutida": "73.50" } ],
  "importe_total": "423.50" }

Valors de rechazo_previo: N (hi havia un registre acceptat), X (no consta a l'AEAT) i S (s'ha rebutjat una subsanació anterior).

Bilteo · Documentació