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.1Peppol BIS Billing

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.

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)