Verifactu and KSeF for Online Stores: Written Guide

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.

What changes when an invoice becomes a record? (0:00)

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.

What does Verifactu require? (0:18)

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.

What does KSeF require? (1:13)

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.

Why do both laws land at the order? (1:57)

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.

How does GoRoute handle it? (2:11)

Spain · VerifactuPoland · KSeF
LawRoyal Decree 1007/2023 (Verifactu)KSeF (Krajowy System e-Faktur), Ministry of Finance
WhoCompanies and the self-employed, online shops and till tickets includedInvoices to business buyers; consumer invoices optional
WhenCompanies before 1 January 2027; self-employed before 1 July 2027Required in 2026; penalties from 1 January 2027
What GoRoute buildsThe Verifactu record and invoice: F1, or an F2 ticketThe FA(3) invoice; non-PLN orders at the National Bank of Poland rate
Filed withThe AEAT, under the merchant's certificateKSeF, with the merchant's KSeF token
What comes backThe AEAT's answer and the QR code the buyer can checkThe KSeF number and the official receipt (UPO)
CorrectionsFactura rectificativa; Corregir IVA for a wrong rateFaktura 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.

Can a store test before going live? (3:59)

Yes. Every merchant starts on the authority’s test environment, where records have no legal effect, and switches to production when ready.

Which product fits which business? (4:06)

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).

Why GoRoute? (5:12)

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.

What the recording does not cover

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.

Verifactu and KSeF for online stores: questions

Do online stores in Spain need Verifactu?

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.

Is KSeF mandatory for an online store in Poland?

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.

Whose certificate or token is used to file?

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.

How is a mistake on an issued invoice corrected?

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.

Can I test before anything reaches the tax authority?

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.

Which products does GoRoute offer for this?

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.

Where to go next