Italian Electronic Invoicing for Shopify: Automatic SDI Compliance with ezInvoices
ezInvoices now supports automatic Italian electronic invoicing with FatturaPA format, SDI submission, fiscal code collection for POS and online stores, and 10-year legal storage.
If you're selling in Italy on Shopify—whether online, in-store with Shopify POS, or both—you already know the challenge: fatturazione elettronica Shopify (electronic invoicing) isn't optional. It's the law.
Here's the critical issue: Shopify POS is not registered as an Italian registratore telematico (RT-certified cash register). This means Shopify cannot generate valid scontrini elettronici. Therefore, every sale—including B2C retail transactions—must be documented with an electronic invoice and submitted to the Sistema di Interscambio (SDI), Italy's electronic invoicing system. You're also required to legally preserve these invoices for 10 years through conservazione sostitutiva.
The problem? Shopify doesn't natively support Italian electronic invoicing. Until now, merchants have been stuck with complex workarounds, third-party integrations that don't quite fit, or manual processes that eat up hours every week.
I'm excited to announce that ezInvoices now fully supports Italian electronic invoicing. We handle everything: automatic FatturaPA conversion, the ability to inviare fattura elettronica a SDI da Shopify (send electronic invoices to SDI from Shopify), fiscal code collection (even for POS transactions), and 10-year legal storage. If you sell in Italy on Shopify, this changes everything.
What is Sistema di Interscambio (SDI)?
Let me quickly explain what we're dealing with here, especially for merchants who might be new to the Italian market.
Sistema di Interscambio (SDI) is Italy's centralized electronic invoicing platform, operated by the Agenzia delle Entrate (Italian Revenue Agency). Every invoice must be:
- Formatted in FatturaPA - a specific XML format that includes all required tax and business information
- Submitted to SDI - sent through the government's system for validation and delivery
- Legally preserved - stored for 10 years with digital signatures (conservazione sostitutiva)
This applies to:
- B2B transactions (business to business) - mandatory since January 2019
- B2C transactions (business to consumer) - required when customers request an invoice, OR when using non-RT-certified systems like Shopify
- All sales amounts - from a €2 coffee to a €2,000 product
Non-compliance isn't just risky—it can result in significant penalties from the tax authority. But beyond avoiding penalties, proper electronic invoicing actually streamlines your accounting and makes tax season far less stressful.
Do I Need to Use SDI for My Shopify Store?
Yes, absolutely. Here's why:
Shopify is not registered as an Italian registratore telematico (RT) - the certified cash register system required for issuing scontrini elettronici (electronic receipts). This means:
- ❌ Shopify cannot generate legally valid scontrini elettronici
- ✅ Therefore, every sale must be documented with a proper electronic invoice
- ✅ That invoice must be submitted to SDI to remain compliant
- ✅ Both online and POS sales require this (Shopify POS is also not RT-certified)
In practical terms: Whether you're selling €10 items or €1,000 products, if you're using Shopify in Italy, you legally need SDI integration. ezInvoices transforms Shopify into an SDI-compliant sales system—something Shopify does not natively support.
This isn't just a convenience feature. It's a legal compliance requirement for operating an ecommerce or retail business in Italy on Shopify.
The Challenge for Shopify Merchants
Here's where it gets frustrating for Shopify merchants in Italy.
Shopify is an incredible platform, but it's built for a global audience. It doesn't have native support for Italian electronic invoicing requirements. That means:
- No automatic FatturaPA generation from your Shopify orders
- No direct SDI submission - you're on your own to figure out how to send invoices to the tax authority
- No fiscal code collection - especially challenging for POS merchants who need to capture "codice fiscale" at checkout
- No legal storage system - you need a separate solution for 10-year invoice preservation
Most merchants have been forced to:
- Manually export orders and recreate invoices in separate software
- Use complex integrations between multiple platforms
- Hire accountants to handle everything (expensive!)
- Risk compliance gaps and errors in the process
For physical retail merchants using Shopify POS, it's even harder. How do you collect a customer's codice fiscale (fiscal code) while they're standing at your counter? How do you ensure that code gets attached to the right invoice and submitted to SDI?
This is exactly the problem ezInvoices solves.
How ezInvoices Solves Italian Electronic Invoicing
With ezInvoices, Italian electronic invoicing becomes completely automatic. Here's how it works:
Every order in your Shopify store—whether from your online shop or your physical POS—automatically triggers the invoicing workflow:
- Order created → ezInvoices captures the order details and customer fiscal information
- FatturaPA conversion → We automatically convert your order into the proper FatturaPA XML format
- SDI submission → The invoice is submitted directly to Sistema di Interscambio through our certified integration
- Real-time tracking → You can monitor the status as SDI processes and delivers your invoice
- Legal storage → The invoice and all SDI receipts are automatically preserved for 10 years with digital signatures
- Customer delivery → Your customer receives their invoice via email, and you have downloadable PDFs
The entire process takes about 60 seconds from order to SDI submission. You don't lift a finger.

Key Features: Everything You Need for Compliance
Let me break down what makes this solution complete for Italian Shopify merchants:
✅ Automatic Compliance (Set It and Forget It)
Once configured, every order automatically becomes a compliant electronic invoice. No manual work, no remembering to submit invoices, no end-of-month scramble. Enable auto-send, and ezInvoices handles the rest.
✅ Works with Shopify POS and Online Stores
Whether you're running a boutique in Milan, an online store shipping across Italy, or both, ezInvoices has you covered. This is the complete solution for Shopify POS Italia fatturazione elettronica (Italian electronic invoicing for Shopify POS).
For POS merchants, we've built fiscal code collection directly into your workflow. Your staff can capture codice fiscale through:
- Custom POS attributes
- Order notes with automatic pattern detection
- Manual entry for walk-in customers
- Customer profiles (returning customers are automatic)
✅ 10-Year Legal Storage (Conservazione Sostitutiva)
This is huge. Italian law requires you to preserve invoices for 10 years with proper digital signatures. Most merchants don't realize they need this until they face an audit.
ezInvoices automatically:
- Stores every invoice with cryptographic signatures
- Preserves all SDI notifications and delivery receipts
- Generates downloadable legal storage certificates
- Maintains a complete audit trail
You're always audit-ready, with zero manual record-keeping.
✅ Simple 5-Minute Setup
I know "compliance software" usually means "complicated setup." We've worked hard to make this different.
Configuration requires just a few fields:
- Your Partita IVA (VAT number)
- Your business Codice Fiscale (or we'll use your VAT number)
- Your tax regime (Ordinario, Minimi, Agricoltura, etc.)
- Toggle auto-send on or off
That's it. Five minutes and you're compliant.
Plus: Smart Features That Save Time
- Automatic retries - Failed submissions retry automatically (14 attempts over 4 days)
- Real-time status tracking - See exactly where each invoice is in the SDI process
- Bulk operations - Submit, download, or email multiple invoices at once
- Customer email delivery - Invoices automatically sent to your customers
- Professional PDFs - Beautiful invoice PDFs alongside the XML files
- Multi-language support - Interface available in English and Italian

Getting Started: Simple Configuration
Let me walk you through setup so you can see how straightforward this is.
After installing ezInvoices from the Shopify App Store, navigate to the Italian Invoicing settings:
Step 1: Enter Your Business Details
You'll need three pieces of information:
Partita IVA (VAT Number) This is your 11-digit Italian VAT number. Required for all businesses.
Codice Fiscale (Fiscal Code) Your 16-character business fiscal code. If you leave this blank, we'll use your Partita IVA (which is acceptable for most businesses).
Tax Regime (Regime Fiscale) Select your tax classification:
- RF01 - Ordinario (Ordinary regime) - most common
- RF02 - Contribuenti minimi (Minimum taxpayers)
- RF04 - Agricoltura (Agriculture)
- RF05 - Vendita sali e tabacchi (Salt and tobacco)
- RF19 - Forfettario (Flat rate regime)
Step 2: Enable Auto-Send (Optional but Recommended)
Toggle "Automatically send invoices to SDI" on. This means every new order will automatically generate and submit an invoice without any action from you.
If you prefer manual control, leave this off and submit invoices individually from the order management page.
Step 3: Save and You're Done
That's it. You're now compliant with Italian electronic invoicing requirements.

Collecting Customer Fiscal Codes (Codice Fiscale)
For SDI submission, you need each customer's codice fiscale (or their Partita IVA for business customers). This is a 16-character code that looks like: RSSMRA85M01H501U
ezInvoices is incredibly flexible about how you collect this information:
For Online Stores:
- Customer metafields - Use Shopify's native customer metafields (recommended)
- Checkout attributes - Custom checkout fields
- Order notes - Customer enters CF in order notes
- Manual entry - Add CF after the order is placed

For Shopify POS (Physical Retail):
This is where we really shine. Your in-store staff can capture fiscal codes through:
- POS note attributes - Quick field at checkout
- Order tags - Tag format like
[CF: RSSMRA85M01H501U] - Customer profiles - Save CF to customer record for returning shoppers

Validation and Flexibility
ezInvoices validates fiscal codes to ensure they're properly formatted (16 characters, correct structure). But we also understand that sometimes you need to submit an invoice quickly and can add the fiscal code later.
You can:
- Submit invoices with temporary fiscal codes
- Update fiscal codes before SDI submission
- Override with manually entered codes
- Use business VAT numbers for B2B customers
The system is designed to be flexible for real-world retail situations while keeping you compliant.
B2B Invoicing: Codice Destinatario & PEC
For B2B transactions (selling to other businesses), Italian law requires additional information beyond the fiscal code.
When invoicing business customers, you need:
- Partita IVA (Business VAT number) - Required for all B2B invoices
- Codice Destinatario OR PEC (Certified Email) - For SDI delivery to the business
What Are These?
Codice Destinatario is a 7-character code that identifies where SDI should deliver the invoice electronically (usually to the business's accounting software).
PEC (Posta Elettronica Certificata) is Italy's certified email system. If a business doesn't have a Codice Destinatario, SDI can deliver invoices to their PEC address instead.
ezInvoices Handles Both
You don't need to worry about the technical details. ezInvoices:
- Automatically detects B2B vs B2C transactions based on customer information
- Accepts both Codice Destinatario and PEC for business customers
- Routes invoices correctly through SDI to the proper destination
- Falls back to standard delivery methods when Codice Destinatario isn't provided
Whether you're selling to consumers (B2C) or businesses (B2B), the workflow is the same—ezInvoices handles the complexity automatically.
Legal Compliance You Can Trust: Conservazione Sostitutiva
Let's talk about something most merchants overlook until it's too late: conservazione sostitutiva (legal digital preservation).
Italian law doesn't just require you to send invoices to SDI. You must also preserve them for 10 years with proper digital signatures and timestamps. This is legally equivalent to keeping physical invoices in a filing cabinet, but with much stricter requirements around authenticity and tamper-proofing.
What ezInvoices Does Automatically:
When an invoice is submitted to SDI, ezInvoices automatically:
- Captures the signed XML invoice with cryptographic signatures
- Stores all SDI notifications (acceptance, delivery, rejection)
- Preserves complete audit trail of submission and status changes
- Generates legal storage receipts with digital signatures
- Maintains 10-year retention without any action from you
Why This Matters:
If the Agenzia delle Entrate audits your business (even years from now), you need to produce:
- The original XML invoice exactly as submitted
- Proof of SDI acceptance
- Proof of delivery to the customer or government agency
- Signed preservation receipts
Most merchants manually manage this (or worse, don't manage it at all). With ezInvoices, you click "Download Legal Storage Receipt" and you have everything you need.
This is peace of mind for you and your accountant.

What Your Invoices Look Like
You might be wondering: what does a FatturaPA invoice actually look like?
The Technical Format (What SDI Sees)
Behind the scenes, ezInvoices generates a properly formatted FatturaPA XML file. This is what gets submitted to SDI and includes:
- Your business details (Partita IVA, address, tax regime)
- Customer details (codice fiscale, address)
- Line items with descriptions, quantities, and prices
- Tax breakdowns (IVA rates and amounts)
- Payment terms and methods
- Digital signatures and timestamps
Based on the invoice amount, we automatically choose the right format:
- FSM10 (Simplified) - Optional for invoices under €400, used for faster processing
- FPA12 (Standard) - Required for invoices €400 and above, optional below €400
The Customer Experience (What Your Customers See)
Your customers don't see XML files. They receive:
- Professional PDF invoices with your branding
- Email delivery automatically sent after SDI acceptance
- Download links from their customer account
- All legally required information in a readable format
You can also download these PDFs yourself for customer service or record-keeping.

The result is professional invoices that satisfy both the tax authority and your customers.
Real-Time Status Tracking
One of my favorite features is the transparency. You can see exactly what's happening with each invoice in real-time.
Every invoice goes through a lifecycle:
- Waiting - Invoice generated, queued for SDI submission
- Sent to SDI - Submitted to Sistema di Interscambio
- Accepted - SDI validated and accepted the invoice
- Delivered - Invoice successfully delivered to customer
- Stored - Preserved in legal storage with signed receipts
If there's a problem (wrong fiscal code, validation error, etc.), you'll see:
- Rejected - SDI rejected the invoice with explanation
- Error - Validation error before submission
- Not Delivered - SDI couldn't deliver to recipient
For each status, ezInvoices shows you:
- Exact timestamp
- SDI notification details
- Action needed (if any)
- Retry status for failed submissions
You're never in the dark about your compliance status.
Who This Is For
This feature is perfect for:
- Italian merchants selling on Shopify (online, POS, or both)
- International merchants selling to Italian customers
- Growing businesses who want to scale without compliance headaches
- Retail stores using Shopify POS who need fiscal code collection
- Merchants with accountants who need proper audit trails and legal storage
Whether you're doing 10 orders a month or 1,000, ezInvoices scales with you.
Pricing & Availability
Italian electronic invoicing is included in ezInvoices with no per-invoice fees. Legal 10-year storage (conservazione sostitutiva) is also included—you don't pay extra for compliance.
Pricing is based on your expected monthly invoice volume. Contact our sales team with your estimated volume, and we'll help you choose the right plan for your business.
Whether you're processing 50 invoices per month or 5,000, ezInvoices scales with you.
Start Sending SDI Invoices Today
If you're an Italian merchant on Shopify, this is the solution you've been waiting for.
No more manual XML generation. No more worried calls with your commercialista. No more compliance anxiety. Just automatic, reliable electronic invoicing that follows the law and saves you time.
Ready to get started?
Contact our support team to enable Italian SDI functionality for your store. Let us know your expected monthly invoice volume, and we'll help you get configured and answer any questions you have about your specific setup.
→ Learn more about Italian SDI Integration → Learn more about ezInvoices ↗ → Install from the Shopify App Store ↗
If you have questions about Italian invoicing, fiscal code collection, or how ezInvoices works with your specific workflow, reach out. We're here to help.
— Jonathan
Related Reading
Share this article: