Card payments and Bizum vs invoices: reconciliation under VeriFactu
A misunderstanding keeps coming up among shops, restaurants and service businesses in Spain: assuming the card terminal slip or a Bizum notification (Spain's ubiquitous instant mobile payment system) "already documents" the sale. It does not. Getting paid is not invoicing. The card receipt proves the payment; the tax obligation to issue an invoice — full or simplified — remains untouched. And now that Spain's invoicing systems regulation (Royal Decree 1007/2023) is in force for companies (1 January 2026) and the self-employed (1 July 2026), that invoice must come out of a compliant SIF: a chained invoicing record, a QR code on the document and, if you operate in VeriFactu mode, transmission of the record to the tax agency (AEAT) at the moment of issue.
Every sale gets its SIF record — however the customer pays
The payment method is irrelevant to the SIF. Cash, card, Bizum, bank transfer or online gateway: each sale produces an invoice or simplified invoice with its own record and QR code. In practice:
- The card terminal does not replace your invoicing software. They are two separate systems that must reconcile.
- A Bizum from a client for professional work requires exactly the same invoice as a cash payment would.
- In VeriFactu mode the record reaches the AEAT on issue, and the agency can later cross-check your records against data reported by payment providers. Mismatches stand out.
The real problem: banks settle net, you invoice gross
This is where the detailed work starts. You issue an invoice for €100, but the bank credits €97.10 after deducting the terminal fee. Multiply that by dozens of daily transactions, bundled into settlements (often a single bank entry per day or per batch), and you get the classic reconciliation puzzle:
- Invoices are gross; bank credits are net of fees.
- One settlement can mix sales from different days (the terminal's daily cut-off).
- Bizum tends to arrive payment by payment, but with descriptions that are hard to match to invoices.
The accounting and tax rule is clear: your revenue is the gross invoiced amount; the bank's or gateway's fee is a separate expense (usually with its own invoice from the provider, which you should collect in order to deduct it). Never invoice "whatever landed in the bank".
Tips, fees and refunds
Three cases cause most of the errors:
- Card tips: they are not part of the sale's taxable base, but they inflate the settlement. If your terminal accepts them, isolate them during reconciliation so invoices and credits still match.
- Fees: book them as a financial or service expense with proper documentation. Silently netting them off your sales guarantees a mismatch.
- Card refunds: a refund is never fixed by deleting anything — in a SIF nothing gets deleted. You issue a corrective invoice, which creates its own chained record (and its own transmission to the AEAT under VeriFactu). The negative bank entry must match that corrective invoice.
A workable flow for freelancers and small businesses
1. Always issue from the SIF at the point of sale: a simplified invoice with QR for counter sales, a full invoice when the customer requests one or for B2B. 2. Daily close: compare totals per payment method (cash/card/Bizum) in your software against the terminal's end-of-day report. 3. Match settlements: when the bank credit arrives, split it into gross amount plus fee and link it to the invoices of the corresponding day or batch. 4. Review the exceptions: terminal transactions with no matching invoice (an unrecorded sale — the serious failure) and invoices with no matched payment (unpaid or pending).
Automating the reconciliation
Doing this by hand in a spreadsheet works only until volume grows. The sensible setup is software that imports bank movements (or connects to your bank), recognises terminal and Bizum settlements, splits them into gross and fee, and matches them automatically against invoicing records — leaving only exceptions for human review. Beyond the hours saved, continuous matching is your best defence: if the AEAT compares payment-provider data with your VeriFactu records, you already know they agree, because you check it daily rather than quarterly.
Want to sort it out today?
InvoSeal complies with RD 1007/2023 in VeriFactu and Non-VeriFactu mode from day one. Statement of Responsibility published.
Try InvoSeal →