Corregir o anul·lar una factura emesa
Una factura emesa no s'edita. Hi ha quatre camins, cadascun amb una traça fiscal diferent.
| Vols… | Acció | Resultat |
|---|---|---|
| Deixar sense efecte tota la factura | Anul·lar | L'original passa a canceled i s'envia l'anul·lació a l'AEAT. |
| Corregir el contingut d'una factura entregada | Rectificar | Nova factura R1–R5 vinculada a l'original. |
| Substituir una o diverses simplificades F2 | Substituir | Nova F3 que reemplaça les F2. |
| Reenviar un registre rebutjat per un error de remissió | Subsanar | Mateix número i nou enviament amb Subsanacion=S. |
Rectificar no és subsanar
Si l'AEAT ha rebutjat el registre per dades mal enviades, consulta Subsanació. Si el registre és correcte però la factura entregada té un error d'import o concepte, emet una rectificativa.
Anul·lar
L'anul·lació és només per a una factura emesa per error que no hauria d'haver existit. No substitueix una rectificativa.
curl -X POST https://api.test.bilteo.com/api/v1/invoices/{id}/actions/cancel \
-H "Authorization: Bearer bk_live_xxx"Requereix invoices:cancel i que l'últim registre Veri*Factu estigui acceptat. Genera un registre d'anul·lació encadenat i passa la factura a canceled.
Rectificatives R1-R5
POST /invoices/{id}/actions/rectify crea una rectificativa en esborrany, vinculada a la factura emesa. Després la revises i l'emets.
curl -X POST https://api.test.bilteo.com/api/v1/invoices/{id}/actions/rectify \
-H "Authorization: Bearer bk_live_xxx" -H "Content-Type: application/json" \
-d '{ "rectificative_type": "S", "rectification_cause": "law_error" }'rectificative_type indica com s'expressa la correcció:
S(substitució): imports totals correctes; reemplaça l'original.I(diferències): només el delta, negatiu quan correspongui.
rectification_cause determina el tipus R:
| Origen | Causa | Resultat |
|---|---|---|
| F1 | law_error o art80_126 | R1 |
| F1 | art80_3 | R2 |
| F1 | art80_4 | R3 |
| F1 | other | R4 |
| F2 | simplified | R5 |
Una F2 només admet simplified; una F3 no es rectifica directament; i una rectificativa no es torna a rectificar. serie_id és opcional si la sèrie original és compatible; si no, indica una sèrie rectified.
Substitutives F2-F3
Quan el client demana factura completa per una venda documentada com a F2:
curl -X POST https://api.test.bilteo.com/api/v1/invoices/{f2_id}/actions/replace \
-H "Authorization: Bearer bk_live_xxx" -H "Content-Type: application/json" \
-d '{ "partner_id": "…" }'Bilteo crea una F3 en esborrany, la vincula amb l'F2 i agrupa les bases per combinació d'impostos. Hereta moneda i activitat; serie_id és opcional. Requereix invoices:replace_simplified.
Amb ?issue=true, l'F3 s'emet a la mateixa petició i també cal invoices:issue. L'operació és atòmica.
Substituir diverses F2
| Endpoint | Efecte |
|---|---|
GET /invoices/{f3}/replaces | Llista les F2 substituïdes. |
POST /invoices/{f3}/replaces | Afegeix una F2 i recalcula les línies. |
DELETE /invoices/{f3}/replaces/{relation_id} | Elimina una F2 i recalcula. |
Cada F2 substituïda passa a replaced.