- Home
- Apps
- SaaS Tools
- Italy SDI FatturaPA E-Invoicing
Illustrative previewBuild-to-order Odoo module that generates, validates and exchanges FatturaPA XML through Italy's SdI
— B2B, B2G and B2C.
What is Italy SDI FatturaPA E-Invoicing?
Build-to-order Odoo module that generates, validates and exchanges FatturaPA XML through Italy's SdI — B2B, B2G and B2C. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.
Key Features
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your Odoo.
- 3
Go live + support
You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.
Technical Specifications
- Odoo Compatibility
- Odoo 17, Odoo 18, Odoo 19
- Editions
- Enterprise & Community
- License
- Licence confirmation required
- Python Requirement
- Python 3.10+
- Database
- PostgreSQL 12+
About this Product
Italian invoicing law makes the Sistema di Interscambio (SdI) mandatory: every fattura elettronica must be produced as a schema-valid FatturaPA XML, routed to the Agenzia delle Entrate exchange platform, and reconciled against the notifiche (RC, MC, NS, NE, DT) that SdI sends back. Out of the box, Odoo's core Invoicing does not speak FatturaPA end to end, and generic apps.odoo.com connectors rarely cover the full B2G, B2C and cross-border picture your commercialista signs off on.
This is a BUILD-TO-ORDER Odoo module. It is not an existing instant download — ECOSIRE designs, builds, installs and supports it against your exact Piano dei Conti, VAT setup and SdI channel over a typical one working week lead time, on Odoo 17, 18 or 19 (Community or Enterprise).
The module extends account.move with a compliant FatturaPA layer. A dedicated builder maps every mandatory block — CedentePrestatore, CessarioCommittente, DatiGeneraliDocumento, DettaglioLinee, DatiRiepilogo, DatiPagamento — into the correct FatturaPA 1.2.x XML, driven by Odoo fields, taxes and partner data. Computed fields with @api.depends keep the XML in sync with the invoice, while an XSD/business-rules validator blocks non-conformant documents before they ever reach SdI so you avoid the dreaded "Scarto" (NS) rejection.
Transmission is handled through your chosen channel — a certified intermediary/provider, PEC, or the SdI web service — with the correct TipoDocumento (TD01, TD24, TD16-19 reverse charge, etc.), FormatoTrasmissione (FPR12 for private, FPA12 for public administration) and Codice Destinatario or PEC routing resolved per customer. Inbound and status notifiche are parsed and written back onto the invoice via automated actions, so accounting always sees the live SdI lifecycle: sent, delivered, accepted, rejected or "mancata consegna". Digital signature (CAdES .p7m) is supported for B2G flows that require it, and self-billing / integration documents plus Esterometro (cross-border, now folded into SdI via TD17/TD18/TD19) are covered so foreign purchases and sales are reported correctly.
Security follows Odoo conventions — ir.model.access.csv grants plus record rules keep FatturaPA data scoped to the right accounting roles and companies in a multi-company database. QWeb-rendered human-readable copies, a searchable SdI log, and clean XML-RPC/JSON-RPC access mean the same compliant flow works from the UI, from scheduled jobs, and from any upstream system you integrate. You get a documented, upgrade-friendly module — not a fragile one-off — plus training and a support window after go-live.
What you get
- Custom Odoo module (source code) with __manifest__.py declaring dependencies, targeted to your Odoo 17, 18 or 19 edition (Community or Enterprise)
- Installation and configuration on your instance: SdI channel/intermediary wiring, PEC/Codice Destinatario setup, Regime Fiscale, tax and Natura-code mapping
- FatturaPA validation profile tuned to current AdE schema and business rules, tested against sample B2B, B2G and B2C invoices
- Digital signature (CAdES .p7m) and Esterometro/cross-border (TD17-19) configuration where in scope
- Technical documentation: data model, field mapping, security matrix (ir.model.access.csv + record rules) and admin runbook
- User training session for accounting staff plus a walkthrough of the SdI status lifecycle and error handling
- Post-go-live support window with bug fixes and compliance clarifications, and a migration path for future Odoo versions
- Source-controlled handover so your team (or another partner) can maintain and extend the module
Who this is for
Italian SME finance manager
Runs invoicing on Odoo and must send every fattura through SdI, reconcile notifiche, and hand the commercialista a compliant, audit-ready flow without manual XML fiddling.
EU / international Odoo partner
Delivers Odoo to clients trading with Italy and needs a robust, upgrade-friendly FatturaPA + SdI module that covers B2B, B2G, B2C and Esterometro rather than a brittle off-the-shelf connector.
Accountant / commercialista
Responsible for regulatory correctness — Regime Fiscale, Natura codes, split payment, ritenuta — and wants validation that stops rejections before they reach the Agenzia delle Entrate.
Cross-border seller / importer
Buys and sells abroad from an Italian entity and must report foreign transactions to SdI via TD17/TD18/TD19 accurately alongside domestic e-invoicing.
How Italy SDI FatturaPA E-Invoicing Compares
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| FatturaPA XML generation with full block mapping | Included | Partial support | Partial support | Not included |
| SdI transmission + notifiche write-back (RC/MC/NS/NE/DT) | Included | Partial support | Partial support | Not included |
| Pre-submission XSD + business-rule validation | Included | Partial support | Partial support | Not included |
| B2B, B2G and B2C with Codice Destinatario / PEC routing | Included | Partial support | Partial support | Not included |
| Digital signature (CAdES .p7m) for B2G | Included | Partial support | Not included | Not included |
| Esterometro / cross-border (TD17/TD18/TD19) | Included | Partial support | Partial support | Not included |
| Tailored to your Piano dei Conti, Regime Fiscale and tax setup | Included | Included | Not included | Not included |
| Support window, updates and Odoo version migration path | Included | Not included | Partial support | Not included |
| Source handover + documentation for future maintenance | Included | Partial support | Not included | Partial support |
Frequently Asked Questions about Italy SDI FatturaPA E-Invoicing
How long until the module is delivered and live?
This is a build-to-order module, not an instant download. Typical lead time is one working week from confirmed scope and access. We start by mapping your Odoo edition, SdI channel, VAT setup and Piano dei Conti, then build, validate against sample B2B/B2G/B2C invoices, install on your instance, and go live with you. Timelines shorten when your SdI intermediary and PEC/Codice Destinatario details are ready at kickoff.
What support and updates do I get after go-live?
Every build includes a post-go-live support window covering bug fixes and compliance clarifications, plus documentation and a source handover. Because FatturaPA schemas and AdE business rules evolve, we can update the validation profile and mappings under support or a maintenance agreement, and we provide a migration path so the module carries forward when you upgrade Odoo versions.
Does this work with Odoo Community, or only Enterprise?
Both. The module is built against Odoo 17, 18 or 19 and works on Community or Enterprise. We confirm your exact version and edition at kickoff and declare the right dependencies in __manifest__.py so it installs cleanly without pulling in features you don't have.
How does it actually send invoices to SdI — do I need a separate provider?
SdI does not accept direct connections from arbitrary systems, so the module transmits through a channel you choose: a certified intermediary/provider, PEC, or the SdI web service where applicable. It builds the correct FatturaPA XML (FPR12/FPA12), resolves Codice Destinatario or PEC per customer, and then parses the notifiche SdI returns so the invoice status updates automatically.
Will it prevent SdI rejections (Scarto / NS notifications)?
That's a core goal. Before anything leaves Odoo, the module runs XSD schema validation plus AdE business-rule checks (Natura codes, Regime Fiscale, riepilogo totals, required blocks). Invoices that would be rejected are flagged in Odoo instead of bouncing back as an NS notification, which keeps your rejection rate down and your bookkeeping clean.
Can it handle cross-border and self-billing documents (Esterometro)?
Yes. Esterometro is now handled inside SdI, and the module produces the correct document types — TD17 (self-invoice for foreign services), TD18 (intra-EU goods) and TD19 (Art. 17 c.2) — so your foreign purchases and sales are reported through the same compliant pipeline as domestic e-invoices.
Related Modules

Invoice Multi Level Approval
A build-to-order Odoo approval engine that routes customer invoices, vendor bills, refunds and credit notes through configurable multi-level sign-offs before they post. ECOSIRE scopes, builds, installs and supports it for your Odoo 17, 18 or 19 database.

Invoice PL — Polish Localization Invoicing Base
A build-to-order Odoo base module that shapes invoice management for the Polish localization — the data model, sequences, and print layout other Polish accounting features build on top of. ECOSIRE scopes, builds, installs and supports it for your database.

IT Service Desk (ITSM)
An ITIL-style service desk for Odoo that links every incident and request to the CMDB asset it affects, with impact-based SLA timers and an employee self-service portal. Built, installed, and supported by ECOSIRE after you request a quotation.

IT Warranty & Support Contract Manager
A build-to-order Odoo module that turns scattered warranty certificates and vendor AMC PDFs into a live contract register linked to every IT asset, with tiered expiry reminders and one-click renewal quotations. ECOSIRE scopes, builds, installs and supports it for you.
Italy SDI FatturaPA E-Invoicing
Build-to-order Odoo module that generates, validates and exchanges FatturaPA XML through Italy's SdI — B2B, B2G and B2C.
- FatturaPA 1.2.x XML generation from account.move, mapping CedentePrestatore, CessionarioCommittente, DatiGenerali, DettaglioLinee, DatiRiepilogo and DatiPagamento blocks
- XSD + business-rules validator that blocks non-conformant invoices before submission to prevent SdI 'Scarto' (NS) rejections
- SdI transmission through your chosen channel — certified intermediary/provider, PEC, or SdI web service — with FormatoTrasmissione FPR12 (private) / FPA12 (public administration)
- Full B2B, B2G and B2C support with correct handling of Codice Destinatario, code '0000000' and PEC-based routing per customer