Advertisementtop - development preview

← Indietro

FatturaPA to ZUGFeRD

Learn how to convert your Italian FatturaPA electronic invoices into the ZUGFeRD format — Germany's leading hybrid e-invoicing standard that packages a visual PDF invoice together with embedded structured XML data for seamless automated processing in German and Central European business environments.

What Is ZUGFeRD?

ZUGFeRD stands for Zentraler User Guide des Forums elektronische Rechnung Deutschland. It is a German e-invoicing standard defined by the Forum elektronische Rechnung Deutschland (FeRD). Like Factur-X, ZUGFeRD uses a PDF/A-3 file as its container and embeds a structured XML invoice document inside it. Both standards share the same technical foundation because ZUGFeRD 2.x and Factur-X are technically identical — they differ only in branding and the market they target.

Core characteristics of ZUGFeRD:

  • PDF/A-3 document with embedded UN/CEFACT CII XML
  • Based on the EN 16931 European invoicing semantic model
  • Primarily used in Germany and DACH region (Austria, Switzerland)
  • Widely adopted in German public sector (B2G) and B2B invoicing
  • Supports conformance profiles: MINIMUM, BASIC WL, BASIC, EN 16931, EXTENDED, XRECHNUNG
  • Required by many German federal agencies and large corporations
  • Enables zero-touch invoice processing in accounts payable systems

ZUGFeRD XML Structure Example

The XML file embedded in a ZUGFeRD document uses the UN/CEFACT Cross Industry Invoice (CII) D16B schema. Below is a representative example showing the key structural elements:

xml
<?xml version="1.0" encoding="UTF-8"?>
<rsm:CrossIndustryInvoice
  xmlns:rsm="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"
  xmlns:ram="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"
  xmlns:qdt="urn:un:unece:uncefact:data:standard:QualifiedDataType:100"
  xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100">

  <rsm:ExchangedDocumentContext>
    <ram:GuidelineSpecifiedDocumentContextParameter>
      <ram:ID>urn:cen.eu:en16931:2017#compliant#urn:zugferd.de:2p1:en16931</ram:ID>
    </ram:GuidelineSpecifiedDocumentContextParameter>
  </rsm:ExchangedDocumentContext>

  <rsm:ExchangedDocument>
    <ram:ID>2024-IT-DE-0042</ram:ID>
    <ram:TypeCode>380</ram:TypeCode>
    <ram:IssueDateTime>
      <udt:DateTimeString format="102">20240115</udt:DateTimeString>
    </ram:IssueDateTime>
    <ram:IncludedNote>
      <ram:Content>Converted from Italian FatturaPA format</ram:Content>
    </ram:IncludedNote>
  </rsm:ExchangedDocument>

  <rsm:SupplyChainTradeTransaction>
    <ram:ApplicableHeaderTradeAgreement>
      <ram:SellerTradeParty>
        <ram:Name>Italian Exporter SRL</ram:Name>
        <ram:SpecifiedTaxRegistration>
          <ram:ID schemeID="VA">IT12345678901</ram:ID>
        </ram:SpecifiedTaxRegistration>
        <ram:PostalTradeAddress>
          <ram:CountryID>IT</ram:CountryID>
        </ram:PostalTradeAddress>
      </ram:SellerTradeParty>
      <ram:BuyerTradeParty>
        <ram:Name>German Buyer GmbH</ram:Name>
        <ram:SpecifiedTaxRegistration>
          <ram:ID schemeID="VA">DE987654321</ram:ID>
        </ram:SpecifiedTaxRegistration>
        <ram:PostalTradeAddress>
          <ram:CountryID>DE</ram:CountryID>
        </ram:PostalTradeAddress>
      </ram:BuyerTradeParty>
    </ram:ApplicableHeaderTradeAgreement>
    <ram:ApplicableHeaderTradeDelivery/>
    <ram:ApplicableHeaderTradeSettlement>
      <ram:InvoiceCurrencyCode>EUR</ram:InvoiceCurrencyCode>
      <ram:ApplicableTradeTax>
        <ram:CalculatedAmount>220.00</ram:CalculatedAmount>
        <ram:TypeCode>VAT</ram:TypeCode>
        <ram:BasisAmount>1000.00</ram:BasisAmount>
        <ram:CategoryCode>S</ram:CategoryCode>
        <ram:RateApplicablePercent>22</ram:RateApplicablePercent>
      </ram:ApplicableTradeTax>
    </ram:ApplicableHeaderTradeSettlement>
  </rsm:SupplyChainTradeTransaction>
</rsm:CrossIndustryInvoice>

Why Convert FatturaPA to ZUGFeRD?

Italian companies that export goods or services to German buyers face a direct need to deliver invoices in a format that German ERP and accounting systems can process automatically. FatturaPA, while mandatory in Italy, is completely foreign to German accounts payable workflows. Converting to ZUGFeRD solves this immediately.

  • German market access: Invoices accepted natively by SAP, DATEV, Lexware, and other German accounting systems
  • Public sector compliance: Meet requirements for German federal and state government invoicing portals
  • Single document delivery: Send one PDF file that serves as both the visual invoice and machine-readable data source
  • Eliminate manual re-entry: German buyers can import your invoice data automatically into their purchase ledger
  • Faster payment cycles: Automated processing reduces the time between invoice receipt and payment approval
  • Long-term archiving: PDF/A-3 format satisfies German GoBD archiving requirements for business records

Conversion Process: FatturaPA to ZUGFeRD

Converting from FatturaPA to ZUGFeRD requires translating Italian fiscal data structures into the international CII schema and packaging the result as a ZUGFeRD-compliant PDF/A-3 document. Here is the full process:

Step 1: Upload Your FatturaPA File

Upload the FatturaPA XML file. The converter parses the complete Italian invoice structure — including the FatturaElettronicaHeader with transmission data, the CedentePrestatore (seller), the CessionarioCommittente (buyer), and all body sections containing line items, tax summaries, and payment details.

Step 2: Schema Translation to CII

Every relevant FatturaPA data element is mapped to its corresponding CII counterpart. The key field translations applied during this step include:

  • CedentePrestatore → SellerTradeParty: Italian supplier identity, VAT number (Partita IVA), and address
  • CessionarioCommittente → BuyerTradeParty: Italian buyer identity mapped to German buyer fields
  • DatiGeneraliDocumento → ExchangedDocument: Invoice number, date, type code, and currency
  • DettaglioLinee → IncludedSupplyChainTradeLineItem: Each invoice line with quantity, price, and description
  • DatiRiepilogo → ApplicableTradeTax: VAT rate, taxable base, and calculated tax amount per rate
  • DatiPagamento → SpecifiedTradeSettlementPaymentMeans: Payment method and bank account details

Step 3: ZUGFeRD Profile Assignment

ZUGFeRD defines several conformance profiles, each requiring a different level of data completeness. The converter determines the best matching profile based on the data present in the source FatturaPA file:

  • MINIMUM: Invoice ID, dates, seller, buyer, and total amounts only — suitable for simple summary invoices
  • BASIC WL: Adds line-level references without full per-line tax details
  • BASIC: Complete invoice with all line items, quantities, prices, and tax breakdowns
  • EN 16931: Full compliance with all mandatory and recommended fields of the European standard
  • EXTENDED: Includes optional fields for logistics references, project codes, and delivery details
  • XRECHNUNG: The German public sector profile required for invoicing federal government entities

Step 4: Italian VAT Code Mapping

One of the most critical steps in the conversion is translating Italian VAT nature codes to internationally recognized ZUGFeRD/EN 16931 VAT category codes. The mapping rules applied are:

  • N1 (excluded under Art. 15) → VAT category O (not subject to VAT)
  • N2 (non-taxable) → VAT category Z (zero-rated goods)
  • N3 (non-taxable - various) → VAT category Z or G based on sub-code
  • N4 (exempt under Art. 10) → VAT category E (exempt from VAT)
  • N5 (margin scheme) → VAT category M (margin scheme)
  • N6 (reverse charge) → VAT category AE (reverse charge)
  • N7 (VAT not charged - small businesses) → VAT category E

Step 5: PDF/A-3 Generation with Embedded XML

The converter generates a professional PDF invoice document that visually presents all invoice information in German-friendly layout conventions. The CII XML file is then attached to the PDF as an embedded file stream following the ZUGFeRD attachment specification. The attachment is named according to the ZUGFeRD standard (zugferd-invoice.xml) and carries the correct MIME type and relationship metadata so that ZUGFeRD-aware software can locate and extract it automatically.

Step 6: Compliance Validation

The output document undergoes structured validation before download:

  • XML schema validation against the CII D16B XSD
  • EN 16931 business rule validation (BR- rules)
  • Profile-specific validation for the selected ZUGFeRD conformance level
  • PDF/A-3 conformance check on the container document
  • Arithmetic verification of line totals, tax amounts, and invoice grand total

Step 7: Download Your ZUGFeRD Document

Receive a fully compliant ZUGFeRD PDF document ready for immediate use — send it by email to German buyers, upload it to German e-invoicing portals, or store it in your GoBD-compliant document archive.

FatturaPA vs ZUGFeRD: Key Differences

Understanding the structural and regulatory differences between these two standards helps ensure smooth conversions and correct data handling:

1. Origin and Jurisdiction

FatturaPA was created by and for the Italian tax authority (Agenzia delle Entrate) and its data model reflects Italian fiscal law, terminology, and administrative processes. ZUGFeRD was created by the German FeRD consortium to address German and Central European business invoicing needs. Despite their common CII foundation in ZUGFeRD 2.x, the two standards serve fundamentally different national contexts.

2. Transmission Mechanism

FatturaPA invoices must be transmitted through the Italian Sistema di Interscambio (SDI), a government-operated routing hub that validates and forwards invoices between trading partners. ZUGFeRD invoices are exchanged directly between trading partners — typically via email, EDI, or e-invoicing network operators — without a mandatory government intermediary for B2B transactions.

3. Document Container

A FatturaPA invoice is a standalone XML file with no visual component. A ZUGFeRD invoice is always a PDF/A-3 document — visual presentation is a mandatory part of the standard, not an optional add-on. This is why converting FatturaPA to ZUGFeRD always involves generating both a visual PDF and the embedded CII XML from the source Italian data.

4. Party Identification

FatturaPA identifies sellers and buyers using Italian Partita IVA numbers, Codice Fiscale (personal tax codes), and the Codice Destinatario or PEC address for SDI routing. ZUGFeRD uses internationally recognized VAT registration numbers prefixed with country codes (e.g., DE for Germany, IT for Italy) and supports additional global identifier schemes, making it compatible with business partner master data in German ERP systems.

Common Conversion Considerations

Pay attention to these technical and business points when converting your FatturaPA invoices to ZUGFeRD format:

1. Fields Without CII Equivalents

Certain FatturaPA-specific data elements such as the FormatoTrasmissione code (FPA12, FPR12), the ProgressivoInvio transmission sequence number, and Italian-specific document type codes (TD01 through TD28) have no direct counterpart in the CII schema. The converter maps document type codes to the nearest UNTDID 1001 invoice type code and preserves administrative Italian references as free-text notes within the ZUGFeRD document.

2. Decimal Precision and Rounding

FatturaPA permits up to 8 decimal places for unit prices and quantities. The EN 16931 standard enforced by ZUGFeRD constrains certain amount fields to 2 decimal places while allowing more precision on unit prices. The converter applies the correct rounding rules for each field type and recalculates line totals to ensure they are consistent with EN 16931 arithmetic requirements.

3. Retention of Italian References

For cross-border audit and reconciliation purposes, the original Italian invoice number, the SDI reception date, and the FatturaPA document type code are preserved as buyer/seller reference notes in the ZUGFeRD document. This allows both the Italian seller and the German buyer to trace the ZUGFeRD invoice back to its Italian original without maintaining a separate mapping table.

Best Practices for FatturaPA to ZUGFeRD Conversion

Follow these recommendations to produce accurate, compliant ZUGFeRD invoices every time:

1. Confirm the Buyer's Required Profile

  • Ask your German trading partner which ZUGFeRD profile their system requires
  • Government buyers typically require the XRECHNUNG profile or EN 16931 level
  • Large corporations may have specific profile requirements defined in supplier portals
  • Using the wrong profile can lead to automatic rejection by accounts payable systems

2. Prepare Complete Source Data

  • Ensure the FatturaPA contains the buyer's full address including city, postal code, and country
  • Verify that the Italian VAT nature code for each line is correctly assigned
  • Include payment due dates and bank IBAN/BIC in the DatiPagamento section
  • Use clear, descriptive item names in DettaglioLinee that are meaningful to German buyers

3. Archive Both Invoice Versions

  • Keep the original FatturaPA XML received from SDI for Italian tax compliance
  • Store the ZUGFeRD PDF with the same document number for cross-reference
  • Maintain a conversion log that links each ZUGFeRD output to its FatturaPA source
  • Ensure your DMS (document management system) tags both files as related records

Benefits of Converting FatturaPA to ZUGFeRD

The FatturaPA to ZUGFeRD conversion creates measurable efficiency gains for Italian businesses with German trading partners:

For Sales and Export Operations

  • Deliver invoices in the exact format German buyers request without manual reformatting
  • Reduce invoice disputes caused by data re-entry errors on the buyer's side
  • Speed up the entire order-to-cash cycle for German export transactions
  • Meet German public procurement e-invoicing mandates for government contracts

For Finance and Compliance Teams

  • Single-step conversion eliminates time-consuming manual document preparation
  • Automated validation catches data errors before the invoice reaches the buyer
  • EN 16931 alignment ensures the invoice data model is consistent with European audit standards
  • GoBD-compliant archiving of the PDF/A-3 output satisfies German retention requirements

For Digital Transformation Initiatives

  • Establish a fully digital, touchless invoice flow from Italian issuance to German processing
  • Build a foundation for broader EU e-invoicing compliance under ViDA and PEPPOL frameworks
  • Reduce paper-based processes and associated costs in cross-border financial operations
  • Integrate with German ERP systems that natively consume ZUGFeRD without custom adapters
Last modified: 2025
Advertisementbottom - development preview