SAF-T (PT) and ATCUD in Odoo: generate, validate and submit to the Autoridade Tributaria without leaving your ERP
Exporting the SAF-T by hand, checking it against the AT schemas and uploading it to the portal eats up hours every filing period, and a rejected file means penalties. This module builds the SAF-T v1.03 XML straight from your Odoo accounting, validates it in real time and handles the electronic submission to the Autoridade Tributaria with certificate authentication, automatic retries and full traceability.
What this module actually does
Filing the SAF-T with the Portuguese Autoridade Tributaria off the back of manual exports is slow and brittle: every mis-mapped field is a rejection. Everything you see here runs inside the Odoo backend itself, with no external SaaS and no middleware.
SAF-T v1.03 XML from your accounting
Builds the SAF-T file straight from your Odoo accounting data, with real-time validation against the Autoridade Tributaria schemas. No more manual exports that land full of errors.
Electronic filing with the AT without leaving Odoo
Submit your SAF-T files to the Autoridade Tributaria from inside the ERP: certificate authentication, automatic retries when the webservice is unavailable, and status tracking for every submission.
GDPR compatible with your tax retention duty
Built-in data subject access request (DSAR) workflows that respect Portugal's obligation to keep fiscal data for 10 years. Privacy handling and the legal retention period without contradictions.
SAF-T error log
Every failed validation is recorded in full detail in the module's error log, so you fix the source data before filing, not after a rejection lands.
Annual SAF-T statistics
A yearly view of your SAF-T generations and submissions, so you can tell at a glance what has been filed and what is still pending.
Interface in English and Spanish
The interface ships in English and Spanish, and you can add more languages through Odoo's standard i18n files. The generated XML follows the Portuguese AT standard whatever your interface language is.
How it works
Install and configure
Install it from Odoo Apps or drop the module into your addons folder. Enter the AT webservice certificate and credentials under Accounting then SAF-T Settings, and set up outgoing email to receive submission alerts.
Generate the SAF-T
The generation wizard assembles the SAF-T v1.03 XML from your journal entries and validates it against the official AT schemas before it signs the file off as ready.
Submit to the AT
File the document from Odoo with certificate authentication. If the AT webservice fails, the module retries automatically and every submission is traced in the SAF-T submissions view.
Audit and fix
Review the error log, check the annual statistics and handle your contacts' GDPR requests from the same module.
One price, no subscriptions
Pay once and own it. No recurring fees, no per-user licensing, no cloud lock-in.
- Full source code included, under the LGPL-3 license
- Module updates and email support, no extra cost
- No subscriptions and no user limit
- Odoo 17.0, 18.0 and 19.0, Community and Enterprise
Requirements and fine print
No surprises: this is what you need to run it and what you should know before installing it.
- Odoo 17.0, 18.0 or 19.0, Community or Enterprise. It uses no Enterprise-only feature and no external SaaS service.
- A certificate and credentials from the Autoridade Tributaria for electronic submission: configured under Accounting then SAF-T Settings.
- Outgoing email configured in Odoo if you want to receive submission alerts.
- Full source code under LGPL-3: you can modify and extend it freely, but your own changes may make later updates harder to apply.
Frequently asked questions
What is the SAF-T (PT) and how does this Odoo module generate it?
The SAF-T (PT) is the standard XML audit file (version 1.03) that Portuguese businesses must submit to the Autoridade Tributaria. This module builds that file directly from your Odoo journal entries and accounting data, validates it in real time against the official AT schemas, and lets you file it electronically from inside the ERP, with no manual export and no external SaaS.
Does it work with Odoo Community?
Yes. The module runs on both Odoo Community and Enterprise, across versions 17.0, 18.0 and 19.0. It uses no Enterprise-only feature and no third-party cloud service: everything runs inside your own Odoo instance.
What does the 49 EUR price include?
The module is a one-time payment of 49 EUR, with no subscriptions and no user limit. It includes the full source code under the LGPL-3 license, module updates and email support. If you need hands-on production support or custom development, FlexigoTech offers that as a separate service.
How do I set up the submission to the Autoridade Tributaria?
After installing the module, enter your AT webservice certificate and credentials under Accounting then SAF-T Settings, and make sure outgoing email is configured if you want submission alerts. Filing uses certificate authentication, retries automatically if the AT webservice fails, and records every submission with its status.
Can I customise it for my company?
Yes. Because it ships under LGPL-3 you get the full source code and can extend or customise it without restrictions. Keep in mind that your own changes may make future module updates harder to apply cleanly.
Is my data kept GDPR compliant while I retain it for tax purposes?
Yes. The module includes data subject access request (DSAR) workflows that respect Portugal's obligation to keep fiscal data for 10 years, so privacy handling and the legal retention period do not contradict each other.
Want it in production with guarantees?
You pay 49 EUR once, with no subscriptions. Prefer to try it first? Explore it in our live Odoo 19 demo. And if you would rather have an engineer handle the install, the AT certificate and production support, you talk to us directly, with no salespeople in between.