Spain’s Verifactu and Poland’s KSeF both turn an invoice into a record the tax authority holds. In Spain every invoice and till ticket must be sealed, sent to the AEAT as it is issued and carry a QR code; in Poland an invoice to a business is valid only as an FA(3) document KSeF accepts. GoRoute builds that document from each paid order, files it under the merchant’s own certificate or token, and brings the answer back.
This page is the recording written out, chapter by chapter, for anyone who would rather read than watch. Watch the recording on its own page.
Until now an online store’s invoice was a PDF between the shop and the buyer. In Spain and Poland it is now also a record the tax authority sees, made when the sale is made. That means the store’s invoicing has to produce the authority’s format, send it, and keep the authority’s answer.
Under Royal Decree 1007/2023, every invoice and till ticket must come from a billing system that follows three rules: it seals each record with a hash chained to the previous one, so nothing can be changed afterwards; it sends the record to the AEAT as the invoice is issued; and it prints a QR code the buyer can use to check the invoice with the AEAT.
Companies must comply before 1 January 2027 and the self-employed before 1 July 2027 (Royal Decree-law 15/2025). Online shops and till tickets are in scope. A mistake is corrected with a factura rectificativa, never by editing the original. More on the Spain page.
KSeF is the Ministry of Finance’s national e-invoicing system. An invoice to a business buyer is valid only as a structured FA(3) document accepted by KSeF, which gives it a KSeF number and issues an official receipt, the UPO. It is required for business buyers in 2026, with penalties from 1 January 2027; invoices to consumers can go through KSeF but do not have to. A correction is a faktura korygująca. More on the Poland page and at ksef.podatki.gov.pl.
Because the invoice now has to exist, in the authority’s format, at the moment of the sale. For an online store that moment is the paid order, so the order is where the invoice has to be built and sent from.
| Spain · Verifactu | Poland · KSeF | |
|---|---|---|
| Law | Royal Decree 1007/2023 (Verifactu) | KSeF (Krajowy System e-Faktur), Ministry of Finance |
| Who | Companies and the self-employed, online shops and till tickets included | Invoices to business buyers; consumer invoices optional |
| When | Companies before 1 January 2027; self-employed before 1 July 2027 | Required in 2026; penalties from 1 January 2027 |
| What GoRoute builds | The Verifactu record and invoice: F1, or an F2 ticket | The FA(3) invoice; non-PLN orders at the National Bank of Poland rate |
| Filed with | The AEAT, under the merchant's certificate | KSeF, with the merchant's KSeF token |
| What comes back | The AEAT's answer and the QR code the buyer can check | The KSeF number and the official receipt (UPO) |
| Corrections | Factura rectificativa; Corregir IVA for a wrong rate | Faktura korygująca |
GoRoute is one platform with a pack for each tax authority, and it does four things for each order.
1. Builds the document from the order (2:28): a Verifactu record and invoice (F1, or an F2 ticket for a simplified sale) or a KSeF FA(3) invoice, with a non-PLN order converted at the National Bank of Poland rate.
2. Files it (2:54) with the AEAT or KSeF under the merchant’s own certificate or KSeF token, encrypted on arrival and never logged.
3. Brings the answer back to the order (3:12): accepted or rejected, the AEAT’s code or the KSeF number, the QR code, the reason when refused, and the UPO in Poland.
4. Handles what comes after (3:33): a refund becomes a corrective invoice, and in Spain “Corregir IVA” fixes a wrong VAT rate by substitution, without touching the order or the payment.
Yes. Every merchant starts on the authority’s test environment, where records have no legal effect, and switches to production when ready.
Shopify stores in Spain: GoRoute: Verifactu, live on the Shopify App Store.
Shopify stores in Poland: GoRoute: KSeF Faktury, in Shopify’s review; its guide is in Polish.
ERPs, marketplaces and other platforms: the GoRoute API, which files with the AEAT and KSeF from the same JSON invoice it uses for Peppol (one JSON invoice, every format).
Because the same platform already exchanges invoices across the Peppol network and files with tax authorities elsewhere, a Spanish or Polish store gets the authority filing and its cross-border invoicing from one place, with one integration.
It covers Verifactu’s mode of sending each record to the AEAT, not the “no Verifactu” alternative, and it does not cover Spain’s Canary Islands tax beyond the store apps, Poland’s offline and emergency modes, or pricing. The Spain and Poland pages and the documentation do.
Yes. Royal Decree 1007/2023 covers the billing software of companies and the self-employed, online shops and till tickets included. Companies must comply before 1 January 2027 and the self-employed before 1 July 2027 (Royal Decree-law 15/2025). Taxpayers already on the SII system are outside it.
For invoices to business buyers, yes: in 2026 such an invoice is valid only as a structured FA(3) document accepted by KSeF, with penalties from 1 January 2027. Invoices to consumers can go through KSeF but do not have to.
The merchant's own. In Spain GoRoute sends the Verifactu record to the AEAT under the merchant's digital certificate; in Poland it files with the merchant's KSeF token. Both are encrypted on arrival and never logged.
With a corrective invoice: a factura rectificativa in Spain, a faktura korygująca in Poland. A refund becomes one automatically. In Spain the Shopify app's Corregir IVA fixes a wrong VAT rate by substitution, without touching the order or the payment.
Yes. Every merchant starts on the AEAT's or KSeF's test environment, where records have no legal effect, and switches to production when ready.
For Shopify: GoRoute: Verifactu, live on the Shopify App Store, and GoRoute: KSeF Faktury, in Shopify's review. For ERPs, marketplaces and other platforms: the GoRoute API, which files with the AEAT and KSeF from the same JSON invoice.