Factures rectificatives
De R1 a R5, substitució davant diferències, i com es construeixen les línies d'una rectificativa — les quatre decisions que determinen el que reben de debò l'AEAT i la declaració d'IVA.
Una factura rectificativa és un document fiscal per dret propi: rep el seu propi número, la seva pròpia alta davant l'AEAT i el seu propi efecte a la declaració d'IVA. Emetre-la implica quatre decisions independents, i les integracions tendeixen a barrejar-les:
- Quina factura es pot rectificar.
- Quin codi de rectificació porta — el motiu legal.
- Substitució o diferències — si la rectificativa declara els imports correctes o només el delta.
- Amb quines línies acaba la rectificativa.
Equivoca't alhora a la tercera i a la quarta i presentaràs una declaració d'IVA amb el signe invertit.
Quan aplica
La factura original ha d'estar sent o paid. Cap altra no serveix
(BR-INV-001, RD 1619/2012 art. 15):
| Estat de l'original | Rectificable? |
|---|---|
sent, paid | Sí. |
draft, cancelled | No — edita'l o elimina'l, encara no és un document fiscal. |
overdue | No. Registra abans el cobrament o anul·la-la. |
annulled | No — ja s'ha retirat. |
| Ja és una rectificativa | No. Emet una rectificativa nova de la factura original. |
Per a una factura pagada això no és una opció entre diverses: és l'única. Una
factura pagada no es pot anul·lar, perquè el seu IVA repercutit ja està
compromès amb un període (BR-INV-023). Vegeu
Anul·lar o rectificar.
La matriu de codis de rectificació és legal, no cosmètica
El codi de rectificació declara per què es rectifica l'original, i l'AEAT restringeix quins codis són legals per a cada tipus d'original.
| Tipus de la factura original | Codis legals |
|---|---|
Simplificada F2 | només R5 |
Completa F1, substitutiva F3 | només R1–R4 |
Força un codi fora de la seva fila i l'API respon 422 amb els valors legals a
allowed_values (BR-INV-035).
Hi ha dues maneres d'arribar al codi. Per defecte es deriva del slug
correction_reason que envies (BR-INV-018):
correction_reason | Codi | Base legal |
|---|---|---|
error_fundado | R1 | Art. 80.Uno, Dos y Seis LIVA — error fonamentat de dret |
concurso | R2 | Art. 80.Tres LIVA — concurs de creditors |
incobrable | R3 | Art. 80.Cuatro LIVA — crèdit incobrable |
error_importe, error_cliente, devolucion, descuento, otras | R4 | RD 1619/2012 art. 15 — resta de causes |
R5 no es deriva mai d'un motiu. Ve del tipus de l'original: una rectificativa
d'una F2 neix sempre R5, sigui quin sigui el motiu que passis
(BR-INV-019).
Com a alternativa, fixes correction_code de manera explícita. Sobre un original
complet, un R1–R4 explícit guanya a la derivació per slug i passa a ser el
codi que viatja a la cadena VeriFactu. Fes-lo servir quan el teu propi sistema ja
conegui la causa legal i no vulguis que s'infereixi d'un slug.
R2 i R3 exigeixen documentació acreditativa per llei. Passa justification
(de 10 a 1000 caràcters); s'anteposa a les notes de la rectificativa com a
traçabilitat documental.
Substitució o diferències
És la decisió de més radi d'impacte, i al contracte v1 no la fixes directament —
fixes correction_type i la naturalesa se'n deriva:
correction_type | Naturalesa | La rectificativa conté | Signe |
|---|---|---|---|
full | S — substitució | Els imports correctes, complets. Reemplaça l'original sencer. | Sempre positiu o zero. |
partial | I — per diferències | Només la diferència entre el que es va facturar i el que és correcte. | Pot ser negatiu. |
La regla que imposa el motor fiscal: una base imposable pot ser negativa només
en una rectificativa per diferències. En una substitució —i en qualsevol factura
ordinària— una base negativa és una dada incoherent i es rebutja amb 422
(BR-VFC-033, BR-INV-017).
Aquest és el mecanisme per a una correcció a la baixa. Un abonament és una rectificativa per diferències amb base i quota d'IVA negatives, i l'AEAT l'accepta precisament perquè és la manera fiscalment correcta d'expressar un crèdit. Intentar expressar aquest mateix abonament com una substitució amb imports negatius es rebutja.
Una rectificativa per diferències sobre una factura al 0 % d'IVA té base negativa i quota zero — no quota negativa. El motor fiscal hereta el tipus de les línies de l'original i no se'l inventa mai; fabricar aquí un 21 % és la manera clàssica de collir un rebuig de l'AEAT.
Què envia l'API
POST /v1/invoices/{id}/corrective,
scope invoices:write. Respon 201 amb la factura nova i una capçalera
Location que hi apunta.
| Camp | Obligatori | Notes |
|---|---|---|
correction_reason | Sí | Un dels vuit slugs de dalt. |
correction_type | Sí | full o partial. |
correction_code | No | R1–R5. Es valida contra la matriu legal. |
justification | No | De 10 a 1000 caràcters. A la pràctica, obligatòria per a R2 i R3. |
notes | No | Text lliure, fins a 1000 caràcters. |
lines | Obligatori quan correction_type és partial | description, quantity, unit_price i, opcionalment, tax_rate, discount_percent, indirect_tax_regime, product_id. |
L'API Reference publica un exemple llest per enviar per cada codi —
r1_error_fundado, r2_concurso, r3_incobrable, r4_otras i r5_simplificada
— al desplegable d'exemples del cos de petició d'aquesta operació. Es publiquen a
més com a entrades reutilitzables components.examples.corrective_* del document
OpenAPI, de manera que els clients generats les puguin resoldre per $ref.
curl -X POST https://api.factuarea.com/v1/invoices/0197a2a8-4cf0-7a31-9a5e-3f2b8c1d6e42/corrective \
-H "Authorization: Bearer fact_live_3pXnR2VbY7TcA9eFmN5z8KqW" \
-H "Content-Type: application/json" \
-d '{
"correction_reason": "otras",
"correction_type": "partial",
"correction_code": "R3",
"justification": "Crédito declarado incobrable por resolución judicial firme.",
"lines": [
{ "description": "Ajuste por impago", "quantity": -1, "unit_price": 100, "tax_rate": 21 }
]
}'La resposta és un objecte factura ordinari amb is_corrective a true i amb un
bloc corrective que porta original_id, original_number, original_date,
correction_reason, correction_type, correction_nature, base_rectificada,
cuota_rectificada i correction_aeat_type — aquest últim és el codi de
rectificació que va viatjar de debò a l'AEAT.
Per llistar totes les rectificatives emeses contra una factura, fes servir
GET /v1/invoices/{id}/correctives.
Com es construeixen les línies
Les tres combinacions produeixen documents genuïnament diferents
(BR-INV-036):
full sense lines — una anul·lació completa. Es genera una línia per cada
línia de l'original amb la quantitat negada, conservant el producte, el preu,
el tipus impositiu, la retenció, el recàrrec, el descompte i el règim indirecte
de l'original.
full amb lines — una substitució. Les línies que envies són les línies
finals; no hi ha comparació de diferències. Cada camp que ometis s'hereta per
índex de la línia original equivalent, fiscalitat inclosa. L'herència no cau mai
a un tipus per defecte, així que una operació exempta continua exempta en lloc
d'adquirir un 21 % fantasma. Si envies més línies de les que tenia l'original, les
sobrants no tenen contrapart: no porten producte i la seva fiscalitat queda a
zero.
partial — línies d'ajust. No hi ha cap línia original amb què casar per
índex, així que els valors per defecte són zero i product_id viatja només si el
declares explícitament. Una línia sense product_id no mou inventari.
L'herència per índex dona per fet que les línies rectificades arriben en el mateix ordre que les originals. Reordenar o suprimir línies creua els valors heretats. Quan qui et crida reordeni, declara els camps de manera explícita a cada línia en lloc de recolzar-te en l'herència.
Les línies de suplert també s'hereten de l'original, i per això el payload de la
rectificativa accepta line_type i source_invoice_reference en una línia.
Vegeu Suplerts.
Què surt al PDF
La rectificativa s'imprimeix com a document a part amb el seu propi número,
derivat de l'original: SERIE-AAAA-NNN-REC{n}, on {n} compta les rectificatives
ja emeses contra aquest original (BR-INV-021).
Els seus blocs de destinatari i emissor es congelen en el seu propi moment
d'emissió, no es copien de l'original. És deliberat: un motiu habitual per
rectificar és precisament que les dades del destinatari estaven malament, així que
la rectificativa ha d'imprimir les corregides (BR-INV-024).
Com qualsevol factura emesa per una empresa adherida a VeriFactu, porta el bloc QR legal.
Què arriba a l'AEAT
Com a registre VeriFactu, la rectificativa és una alta ordinària amb un
invoice_type que és el codi de rectificació. El seu desglossament fiscal porta
el signe descrit a Substitució o diferències: base i quota negatives
per a una correcció a la baixa per diferències, sempre no negatives per a una
substitució. La substitució declara a més la base i la quota rectificades de
l'original; una correcció per diferències no ho fa, en línia amb l'esquema de
l'AEAT (BR-VFC-033).
A la declaració trimestral d'IVA, la rectificació d'una operació en règim
general aterra a les caselles [14] i [15] amb el seu signe: una correcció
a la baixa resta, una a l'alça suma. El snapshot fiscal conserva el codi real
(R1–R4) en lloc de col·lapsar tota rectificativa a R5
(BR-TXR-019).
Aquest encaminament aplica només al règim general. Una rectificativa amb un règim
d'operació de capçalera diferent segueix les caselles pròpies d'aquell règim — la
inversió del subjecte passiu i les operacions exemptes o d'exportació es declaren
en un altre lloc i per tant no arriben a [14]/[15]. Vegeu
Claus de règim per saber com es determina el règim de
capçalera.
Traçabilitat
Derivat de les regles de domini del backend de Factuarea:
BR-INV-001— una rectificativa ha de referenciar un original emès; els estats admissibles.BR-INV-017— la naturalesa de la rectificació és exactamentSoI.BR-INV-018— el mapatge de slug de motiu aR1–R4.BR-INV-019— una rectificativa d'unaF2neixR5.BR-INV-021— la numeració-REC{n}de les rectificatives.BR-INV-024— el snapshot immutable del destinatari, congelat en el moment d'emissió de la rectificativa mateixa.BR-INV-035—correction_codeexplícit, la matriu legal de l'AEAT ijustification.BR-INV-036— com es generen les línies de la rectificativa i què s'hereta per índex.BR-VFC-033— base i quota negatives admeses només en rectificacions per diferències.BR-TXR-019— el signe a les caselles[14]/[15]i la conservació del codi de rectificació real.