PDF Xpansion SDK
My Account

PDF Xpansion SDK



To SDK

E-Invoices

in PDF Xpansion SDK

XRechnung 2.0 – 3.0ZUGFeRD 2.0 – 2.3Factur-X 1.0UN/CEFACT CIIUBL 2.1

E-Rechnungen

XRechnung

is the German public sector standard and is based on the EU standard EN 16931. Invoices according to this standard are XML files without visual representation.

With the PDF Xpansion SDK, outgoing invoices can be conveniently created, incoming invoices checked and invoice data read out. The UN/CEFACT CII and UBL syntax are supported. Invoices with sub-items in accordance with the XRechnung extension can also be processed via the SDK. ZUGFeRD 2.2 with the XRechnung profile is supported.

ZUGFeRD/ FACTUR-X

Since ZUGFeRD 2.1.1, the “XRechnung” profile is also supported. ZUGFeRD version 2.0 and higher is “fully compliant” in terms of the European standard EN 16931-1. ZUGFeRD 1.0 is not fully compliant with EN 16931-1, but is already widely used for automated processing.

The French invoice standard is EN 16931-1 compliant and technically identical to ZUGFeRD from version 2.1. The PDF Xpansion SDK supports all six profiles: EXTENDED, EN 16931, BASIC, BASIC WL, MINIMUM, XRECHNUNG.

In Germany, mandatory eInvoicing is coming!

    eInvoicing in Germany

  • Legal basis: Growth Opportunities Act
  • Phase (since 27.03.2024): Bundesrat has approved the compromise proposal of the Mediation Committee on the law, thus overcoming the last hurdle in the legislative process. The Growth Opportunities Act was promulgated in the Federal Law Gazette on 27 March 2024. This means that the introduction of the mandatory use of eInvoicing from January 1, 2025 has been decided.
  • So now there are only a few months left to deal with the topic before the law comes into force, to check existing software solutions for eInvoices and to design your processes accordingly from the outset. “Wait and see” would not be a good strategy – e-invoicing is coming!“
  • Object: as of 1.1.2025, the receipt of eInvoices will initially be mandatory between companies based in Germany (B2B), exceptions to the obligation (e.g. for small-value invoices, travel tickets, invoices to associations, services to foreign entrepreneurs) have been defined, transitional regulations will apply to the issuing of eInvoices for the years 2025 to 2027 (see Section 27 (38) and (39) UStG)
  • Validity (eInvoicing area): 1.1.2025
  • Basic definition: from 2025, eInvoices within the meaning of the law are only those invoices that comply with EU standard EN 16931

eInvoicing Features in PDF Xpansion SDK

  • Format support: XRechnung 1.2 – 3.0.1 (UN/CEFACT CII, UBL and extension), Factur-X 1.0, ZUGFeRD 1.0 – 2.2
  • File formats: XML- and PDF/A-based (Factur-X/ZUGFeRD) eInvoices see example files
  • Reading and technical validation (syntax, structure, completeness) of XML-based invoices, retrieving invoice data
  • Reading and technical validation (PDF/A conformity, PDF metadata, embedded XML invoice) of Factur-X and ZUGFeRD-based invoices, extracting embedded XML invoices
  • Reading and technical validation (PDF/A conformity, PDF metadata, embedded XML invoice) of Factur-X and ZUGFeRD-based invoices, extracting embedded XML invoices
  • Creation of PDF/A invoices from XML-based invoices and the classic invoice (presentation as PDF file), save eInvoices as PDF/A files (Factur-X/ZUGFeRD)
  • Change the format, version or profile for the existing XML-based invoices, for example from ZUGFeRD 2.3 to XRechnung 3.0.1.
  • Visualize existing XML-based invoices (create a PDF file from the invoice data and a template) see visualization templates
  • Support of XRechnung Extension “SubInvoiceLine” (only possible for UBL format)
  • Display the PDF part of the invoice in the PDF viewer
  • Printing the PDF part of the invoice
  • Digital signatures for ZUGFeRD outgoing invoices, including all PAdES compliance levels
  • Incoming invoice with “RECEIVED” stamp

Process e-invoices quickly & easily with the PDF Xpansion SDK

C++SX::ObjPtr<SX::EInvoice:: IInvoiceDocument> ptrInvoiceDoc = m_pApp->get_Factory()->CreateEInvoiceDocument();
SX::ObjPtr<SX::EInvoice::IInvoiceData> ptrInvoice = ptrInvoiceDoc->CreateInvoice();
ptrInvoice->Create(SX::EInvoice::einv_standard_facturx, SX::EInvoice::einv_profile_EN16931);
// invoice properties
auto pInvDesc = ptrInvoice->get_Description();
pInvDesc->set_ID(L”EI4772485″); // invoice number
pInvDesc->set_TypeCode(380); // invoice type “Handelsrechnung”
pInvDesc->GetNote(true, 0)->set_Content(L”Vertrag V74-2925-678″);
// …
auto pInvTrans = ptrInvoice->get_Transaction();
auto pAgr = pInvTrans->get_Agreement();
pAgr->set_BuyerReference(L”90320860-03083-12″);
auto pSeller = pAgr->GetSeller(true);
auto pAddr = pSeller->GetAddress(true);
pSeller->set_Name(L”Verkäufer GmbH”);
pAddr->set_Line1(L”Berlinerstr. 225″);
pAddr->set_Postcode(80333);
pAddr->set_City(L”München”);
// …
auto pBuyer = pAgr->GetBuyer(true);
pAddr = pBuyer->GetAddress(true);
pBuyer->set_Name(L”Käufer AG”);
pAddr->set_Postcode(10178);
pAddr->set_Line1(L”Jörg Müller”);
pAddr->set_Line2(L”Münchener. 96″);
pAddr->set_City(L”Berlin”);
// …

Visual invoice partVerkäufer GmbH | Berlinerstr. 225 | 80333 München

Käufer AG
Jörg Müller
Münchener. 96
10178 Berlin

Handelsrechnung EI4772485
Vertrag V74-2925-678
Leitweg-ID 90320860-03083-12
XML (FACTUR-X)
<rsm:ExchangedDocument>
<ram:ID>EI4772485</ram:ID>
<ram:TypeCode>380</ram:TypeCode>


<ram:SellerTradeParty>

<ram:Name>Verkäufer GmbH</ram:Name>
<ram:PostalTradeAddress>
<ram:PostcodeCode>80333</ram:PostcodeCode>
<ram:LineOne>Berlinerstr. 225</ram:LineOne>
<ram:CityName>München</ram:CityName>
… </ram:SellerTradeParty>


<ram:BuyerTradeParty>
… <ram:Name>Käufer AG</ram:Name>
<ram:PostalTradeAddress>
<ram:PostcodeCode>10178</ram:PostcodeCode>
<ram:LineOne>Jörg Müller</ram:LineOne>
<ram:LineTwo>Münchener. 96</ram:LineTwo>
<ram:CityName>Berlin</ram:CityName>
</ram:PostalTradeAddress>
… </ram:BuyerTradeParty>

Information sources (English)

FeRD – electronic Invoicing in Germany
Factur-X EN – fnfe-mpe.org
European Standard for eInvoicing (Single Market Economy)

Information sources (German)

Startseite (e-rechnung-bund.de)
XRechnung – XStandards Einkauf (xeinkauf.de)
What is ZUGFeRD | Forum elektronische Rechnung Deutschland (ferd-net.de)
Draft Growth Opportunities Act, topic of eInvoicing anchored in VAT regulations (section “Important printed matter”, see Articles 29 and 30): DIP – Gesetz zur Stärkung von Wachstumschancen, Investitionen und Innovation sowie Steuervereinfachung und Steuerfairness (Wachstumschancengesetz) (bundestag.de)