Invoicing
Refunds, rectifying invoices, annulments and corrections
How Encadena turns WooCommerce refunds into rectifying invoices, when to use an annulment record, and how to correct a record the AEAT rejected.
Last updated by the PluginLoom team
A billing record is never changed. Every change to a sale is a new record, and Encadena picks the right one.
Refunds become rectifying invoices#
When you refund an invoiced order in WooCommerce, Encadena issues a rectifying invoice "por diferencias" (by differences) with negative amounts:
- R1 when the original was a full invoice;
- R5 when the original was a simplified invoice.
It refers to the original invoice number and date, has its own number in the rectifying series, its own record and QR code. A refund of an amount without items is spread over the original tax breakdown in proportion.
Legal basis: RD 1619/2012 art. 15 (rectifying invoices); invoice types in Orden HAC/1177/2024 Annex, list L2. Sources: RD 1619/2012 (opens in a new tab), Orden HAC/1177/2024 (opens in a new tab), checked October 24, 2026.
When is an annulment right?#
An annulment record (registro de anulación) says an invoice should never have been issued, for example an invoice made by mistake for a sale that did not happen (RD 1007/2023 art. 11; AEAT FAQ for developers, item 17). It is not the tool for a real sale that is later undone: that is a rectifying invoice.
Encadena creates an annulment when an invoiced order is cancelled (you can turn this off), or when you choose Verifactu: annul invoice (issued by mistake) in Order actions. If you are unsure, ask your adviser before annulling.
Correcting a record the AEAT rejected (subsanación)#
When the AEAT rejects a record, or accepts it with errors, you fix the data and send a correction: a new record with the same invoice number and date and the corrected data. The original stays as it was.
- Open the record in Verifactu > Billing records. It shows the AEAT code, a plain explanation and what to do.
- Fix the order (for example the customer NIF).
- Click Create correction record.
Encadena sets the flags the AEAT expects: Subsanacion = S, and RechazoPrevio = X when the original never reached the AEAT (AEAT record design, "Cuadro operativa alta"). If the correction would change the invoice type (simplified to full), Encadena refuses: that needs a new invoice, not a correction. Ask your adviser.
Was this page helpful?