SAF-T submission deadlines and AT rejection workflow
Monthly billing SAF-T due day 5, what changed in 2024-2026, when the QES mandate kicks in, and how to recover when AT rejects.
The short answer
If you operate a VAT-registered company in Portugal — resident or non-resident — you owe AT a SAF-T XML for billing data by the 5th of every month, covering the previous month's invoices and receipts.
This monthly billing SAF-T has been in force since 1 July 2021. The annual accounting SAF-T deadline (the older, broader file) was originally due in April but has been postponed; current rules push it to 2028. The monthly one is the constant pressure on every operator that bills in Portugal.
Where the pain is sharpest
Two situations make the monthly cycle harder than necessary:
- Your ERP isn't tuned for the AT pipeline. Xero, QuickBooks, Datev, generic SAP, custom in-house tools — and even some PT-built tools when integrated with non-PT systems — produce XML with subtle formatting issues that AT silently rejects. Encoding is the most common; BOM, ATCUD format and NIF check digits round out the top four.
- The error feedback loop is slow. AT's intake returns a generic "ficheiro inválido" without specifics. Every rejection turns into a guess-fix-resubmit cycle. The cycle is bearable in PT and brutal in any other working language.
Penalties for late or invalid submission
Per the General Tax Infractions Regime (RGIT), missing or invalid SAF-T submissions can attract:
- €50 to €22,500 per incident for legal entities, with the upper end applied for repeated or aggravated cases.
- Up to €45,000 in worst-case scenarios under the General Tax Law (LGT) for related infractions.
The realistic everyday range for a one-off late or rejected file is €150–€3,750. The ceiling is much higher than most operators realise — useful to know, less useful to encounter.
What's coming in 2027
The big change scheduled for 1 January 2027 is the Qualified Electronic Signature (QES) requirement on PDF invoices in B2B transactions. This is separate from SAF-T, but it touches the same compliance pipeline. Expect schema updates and additional validations as that date approaches.
A monthly checklist that survives every month
- By the 1st: confirm last month's invoices are closed in the ERP, no draft documents lingering.
- By the 3rd: export the monthly billing SAF-T from the ERP.
- By the 4th: validate the file with SAFTCheck or another validator. Expect to find encoding, ATCUD, or NIF check-digit errors at least once a quarter.
- By the 5th: submit to AT via Portal das Finanças → SAF-T → Submissão.
- If AT returns "ficheiro inválido": run the auto-fix or transcode the encoding manually and resubmit before the day ends.
Set the calendar reminder for the 3rd, not the 5th. The two-day buffer is what turns problems into something solvable instead of stressful.