Italian Electronic Invoicing (Fattura Elettronica) - Product Requirements Document
Version: 2.0 | Status: Implemented | Last Updated: 2026-01-15
1. Overview
1.1 Purpose
Enable Italian rental companies to comply with mandatory e-invoicing regulations through automated submission of electronic invoices to the Sistema di Interscambio (SDI) via the Fatture in Cloud integration.
1.2 Problem Statement
Since January 2019, Italian law mandates electronic invoicing for all businesses. Rental companies operating in Italy must:
- Generate FatturaPA-compliant invoices
- Submit invoices through authorized intermediaries to SDI
- Track invoice approval status through SDI workflow
- Maintain Italian tax identifiers and business registration data
1.3 Business Value
| Value Area | Measurable Outcome | Target | Measurement Method |
|---|---|---|---|
| Legal Compliance | Zero regulatory penalties from e-invoicing violations | 100% compliance | Quarterly compliance audit |
| Operational Efficiency | Reduction in manual invoice processing time | 80% time savings (from 15 min to 3 min per invoice) | Time study comparison pre/post implementation |
| Data Accuracy | Reduction in invoice rejections due to data errors | <2% rejection rate | SDI status tracking (ERRO count / total submissions) |
| Real-Time Visibility | Time from submission to status visibility | <5 minutes | Webhook response time monitoring |
| Market Access | Enable Italian operations without compliance barriers | 100% Italian orders invoiced electronically | Invoice submission rate for IT companies |
1.4 Target Users
| User Role | Primary Goals | Business Impact |
|---|---|---|
| Italian Rental Company Admin | Configure e-invoicing, manage company registration | Enables regulatory compliance |
| Operator | Submit invoices, track status, resolve rejections | Reduces manual processing, faster collections |
| Accountant | Monitor workflow, ensure delivery, audit compliance | Financial accuracy and regulatory reporting |
2. Success Metrics
| Metric | Definition | Baseline | Target | Measurement Method | Timeframe |
|---|---|---|---|---|---|
| SDI Delivery Rate | % of invoices reaching CONS (delivered) status | N/A (new feature) | >95% | electronicBillingStatus = CONS / total submissions | Monthly |
| Rejection Rate | % of invoices rejected by SDI (ERRO status) | N/A | <2% | ERRO count / total submissions | Monthly |
| Processing Time | Average time from invoice creation to SDI submission | Manual: 15 min | Automated: <3 min | Timestamp comparison | Per invoice |
| First-Pass Acceptance | % of invoices accepted without resubmission | N/A | >98% | Invoices requiring 0 resubmissions / total | Monthly |
| Webhook Latency | Time from SDI status change to UI update | N/A | <5 seconds | Webhook timestamp to DB update timestamp | Per event |
| Italian Company Adoption | % of Italian companies with e-billing enabled | 0% | 100% within 90 days | Companies with electronicBillingId / IT companies | Quarterly |
| Support Tickets | E-invoicing related support requests | N/A | <5 tickets/month after stabilization | Help desk categorization | Monthly |
3. Functional Requirements
3.1 Company Electronic Billing Setup
| ID | Requirement | Business Rationale |
|---|---|---|
| FR-01 | System enables electronic billing configuration only for Italian companies (country = IT) | Legal requirement applies only to Italian entities |
| FR-02 | Admin can register company with Italian Revenue Agency requirements through Fatture in Cloud | Compliance with SDI intermediary regulations |
| FR-03 | System validates Italian tax identifiers (P.IVA, Codice Fiscale, REA) before registration | Prevents submission failures and fines |
| FR-04 | Admin can disable electronic billing and remove company registration | Supports business changes and account cleanup |
| FR-05 | Each company maintains independent electronic billing configuration | Multi-company operations with separate tax obligations |
3.2 Invoice Electronic Submission
| ID | Requirement | Business Rationale |
|---|---|---|
| FR-06 | System generates FatturaPA v1.2 compliant XML for all Italian invoices | Mandatory format for SDI acceptance |
| FR-07 | Operator can submit invoices to SDI with one-click action | Reduces manual effort, ensures timely compliance |
| FR-08 | System validates all required data before submission | Prevents rejections and rework |
| FR-09 | Operator can download FatturaPA XML files for archival and audit | Supports 10-year Italian tax retention requirement |
| FR-10 | Operator can resubmit invoices that failed SDI validation after corrections | Enables recovery from data errors |
3.3 Status Tracking and Notifications
| ID | Requirement | Business Rationale |
|---|---|---|
| FR-11 | System displays real-time SDI status for each invoice (Sent, Delivered, Error, Not Delivered) | Visibility into collection workflow |
| FR-12 | System automatically updates invoice status when SDI processes invoices | No manual status tracking required |
| FR-13 | Invoice list provides visual status indicators and filtering by e-billing status | Efficient workflow management |
| FR-14 | System logs all electronic billing operations for audit trail | Compliance documentation and troubleshooting |
3.4 Data Integrity and Security
| ID | Requirement | Business Rationale |
|---|---|---|
| FR-15 | Electronic billing data is isolated per tenant | Multi-tenant security and privacy |
| FR-16 | System authenticates all API communications with Fatture in Cloud | Secure data transmission |
| FR-17 | System handles authentication token refresh automatically | Uninterrupted operations |
4. User Stories
P0 - Critical (Compliance Required)
US-01: Enable Electronic Billing
- As an admin of an Italian rental company
- I want to enable electronic billing through Settings > Integrations
- So that my company complies with Italian e-invoicing regulations
Acceptance Criteria:
- Given I am an admin of a company registered in Italy
- When I navigate to Settings > Integrations and enable Electronic Billing
- Then a registration form opens with pre-populated company data
- And when I complete required fields (P.IVA, Codice Fiscale, REA, etc.) and submit
- Then my company is registered for electronic invoicing
- And I see confirmation of successful registration
US-02: Submit Invoice to SDI
- As an operator
- I want to submit invoices to the SDI system with one click
- So that customers receive legally valid electronic invoices
Acceptance Criteria:
- Given an invoice for an Italian customer with complete data
- When I click “Submit to Electronic Billing”
- Then the invoice is transmitted to SDI
- And the status updates to “Sent” (INVI)
- And I see confirmation of successful submission
US-03: Track Invoice Status
- As an operator
- I want to see the current SDI status of each submitted invoice
- So that I know which invoices have been delivered or need attention
Acceptance Criteria:
- Given I have submitted invoices to electronic billing
- When I view the invoice list
- Then each invoice shows its current status (Sent/Delivered/Error/Not Delivered)
- And I can filter invoices by electronic billing status
- And status updates appear within 5 minutes of SDI processing
P1 - High Priority (Operational Efficiency)
US-04: Download XML for Archival
- As an operator or accountant
- I want to download the FatturaPA XML file for any invoice
- So that I can archive it per Italian tax retention requirements
Acceptance Criteria:
- Given a submitted Italian invoice
- When I click “Download XML” on the invoice detail page
- Then a valid FatturaPA v1.2 XML file downloads
- And the filename matches the invoice number
US-05: Handle Rejected Invoices
- As an operator
- I want to identify and resubmit invoices rejected by SDI
- So that I can resolve errors and ensure delivery
Acceptance Criteria:
- Given an invoice with ERRO (Error) status
- When I view the invoice details
- Then I see an indicator that resubmission is needed
- And after correcting data issues, I can resubmit
- And successful resubmission updates the status to INVI (Sent)
US-06: Disable Electronic Billing
- As an admin
- I want to disable electronic billing for my company
- So that I can manage changes in business registration
Acceptance Criteria:
- Given electronic billing is enabled for my company
- When I disable electronic billing in Settings
- Then a confirmation prompt appears
- And upon confirmation, the company registration is removed
- And electronic billing features are no longer available
P2 - Medium Priority (Data Quality)
US-07: Validate Italian Tax Codes
- As a system user
- I want invalid Italian tax identifiers to be flagged before submission
- So that invoices are not rejected due to data format errors
Acceptance Criteria:
- Given I am entering Italian tax data (P.IVA or Codice Fiscale)
- When the format is invalid
- Then I see an immediate validation error
- And I cannot submit until the format is corrected
5. Acceptance Criteria Summary
| Scenario | Given | When | Then | Success Metric |
|---|---|---|---|---|
| Enable e-billing | Italian company without e-billing | Admin enables and completes registration | Company registered, ID stored | 100% IT company activation |
| Submit invoice | Invoice with complete Italian data | Operator submits to e-billing | Status = INVI, ID stored | <3 min processing time |
| Receive delivery confirmation | Invoice submitted | SDI delivers to recipient | Status = CONS, updated in <5 min | >95% delivery rate |
| Handle rejection | Invoice with data error | SDI rejects (ERRO) | Error visible, resubmission available | <2% rejection rate |
| Download XML | Any submitted invoice | Operator clicks download | Valid XML file downloads | 100% XML compliance |
| Country restriction | Non-Italian company | User attempts e-billing setup | Feature unavailable, clear message shown | Zero non-IT submissions |
6. Business Rules
| Rule ID | Rule | Enforcement |
|---|---|---|
| BR-01 | Electronic billing is only available for Italian companies | System blocks activation for non-IT countries |
| BR-02 | Company must have complete tax registration data before enabling | Form validation prevents incomplete submissions |
| BR-03 | Invoice submission requires valid customer tax identifiers | Pre-submission validation |
| BR-04 | SDI status can only be updated via official webhook callbacks | No manual status overrides |
| BR-05 | All invoices must use EUR currency and FatturaPA v1.2 format | XML generation enforces compliance |
| BR-06 | Each company has exactly one electronic billing registration | Database unique constraint |
| BR-07 | Data is strictly isolated by tenant | Row-level security on all operations |
7. Dependencies
Upstream Dependencies
| System | Dependency | Impact if Unavailable |
|---|---|---|
| Fatture in Cloud API | SDI submission and status tracking | Cannot submit invoices, no compliance |
| Invoice Management (PRD-19) | Source invoice data | No invoices to submit |
| Company Management | Italian tax identifiers | Cannot register companies |
| Multi-Tenant Architecture (PRD-01) | Tenant isolation | Security violation risk |
Downstream Dependencies
| System | Dependency | Impact |
|---|---|---|
| Accounting/Reporting | E-billing status data | Compliance reporting, collections tracking |
| Customer Portal | Invoice delivery confirmation | Customer self-service visibility |
8. Non-Functional Requirements
| Category | Requirement | Target | Measurement |
|---|---|---|---|
| Performance | XML generation time | <2 seconds for 100 line items | Automated performance tests |
| Performance | Webhook processing time | <5 seconds | Log timestamp analysis |
| Reliability | Invoice submission success rate | >99.5% | Submission logs |
| Security | API credential storage | Environment variables only | Security audit |
| Security | Tenant data isolation | 100% isolation | Penetration testing |
| Compliance | XML schema validation | 100% FatturaPA v1.2 compliance | Schema validation tests |
| Compliance | Data retention | 10 years minimum | Retention policy enforcement |
| Usability | Error messages | Italian language for IT users | User testing |
9. Glossary
| Term | Definition |
|---|---|
| Fattura Elettronica | Italian electronic invoice, mandatory since January 2019 |
| SDI (Sistema di Interscambio) | Italian Revenue Agency’s central e-invoicing hub |
| FatturaPA | XML format specification for Italian electronic invoices |
| P.IVA (Partita IVA) | Italian VAT number (11 digits) |
| Codice Fiscale | Italian fiscal code (16 chars for individuals, 11 for companies) |
| REA | Economic Administrative Register number |
| INVI (Inviata) | Invoice sent to SDI, awaiting processing |
| CONS (Consegnata) | Invoice delivered to recipient (success) |
| ERRO (Errore) | Invoice rejected by SDI (requires correction) |
| NONC (Non Consegnata) | Invoice accepted but not delivered; sender obligation fulfilled |
| Fatture in Cloud | Third-party intermediary service for SDI submission |
10. Change Log
| Version | Date | Author | Changes |
|---|---|---|---|
| 1.0 | 2026-01-09 | System Documentation Team | Initial technical documentation |
| 2.0 | 2026-01-15 | Product Team | Business-focused conversion: Added success metrics, consolidated 96 technical requirements to 17 business requirements, prioritized user stories, strengthened acceptance criteria |
Related PRDs: PRD-19 (Invoice Management), PRD-01 (Multi-Tenant Architecture)
External References:
- Fatture in Cloud API: https://fattura-elettronica-api.it/guida2.0/
- FatturaPA Technical Specifications: Agenzia delle Entrate