E-invoice error explained
The validator found no embedded invoice XML in the uploaded PDF, so there is nothing to check against EN 16931.
The validator found no embedded invoice XML in the uploaded PDF, so there is nothing to check against EN 16931. Since 1 January 2025 businesses in Germany must be able to receive e-invoices. For domestic B2B supplies a plain PDF only remains an acceptable invoice during the transition periods.
Summary in our own words, not an official rule text: A ZUGFeRD or Factur-X invoice carries the invoice data as an embedded XML file. From ZUGFeRD 2.1 it is named factur-x.xml, for the XRECHNUNG profile xrechnung.xml, in ZUGFeRD 2.0 zugferd-invoice.xml. The file is linked to the document as an associated file (AFRelationship, usually Alternative or Data). A PDF without this file is not an e-invoice.
Summary of the requirement in our own words.
Create the invoice with your system's ZUGFeRD function. Printing to PDF does not create one. Check the attachments panel of a PDF viewer for factur-x.xml (or xrechnung.xml). If you only have an XML file, such as an XRechnung, upload that file directly.
Wrong (XMP)
<!-- no Factur-X extension in the XMP metadata,
no embedded file in the PDF -->Right (XMP)
<rdf:Description rdf:about=""
xmlns:fx="urn:factur-x:pdfa:CrossIndustryDocument:invoice:1p0#">
<fx:DocumentType>INVOICE</fx:DocumentType>
<fx:DocumentFileName>factur-x.xml</fx:DocumentFileName>
<fx:Version>1.0</fx:Version>
<fx:ConformanceLevel>EN 16931</fx:ConformanceLevel>
</rdf:Description>Sales / Project Operations: Sales and Project Operations have no e-invoice output out of the box. In the WBS Invoice Accelerator for Dynamics 365 an e-invoice is only created by the buttons E-Invoice (ZUGFeRD) and E-Invoice (XRechnung), or by Generate e-invoice in the editor. A PDF from the print dialog that Send To… opens in the editor is a plain PDF. The ZUGFeRD file is attached to the invoice as a note.
Business Central: From version 26.3, ZUGFeRD is a document format on the E-Document Services page. Each Document Sending Profile supports only one format.
Finance: The German setup creates an xRechnung XML file. With eInvoice attachment set to Yes on the customer, the XML also carries a PDF copy. Upload the XML file.
Check your invoice for free. The validator shows every finding with an explanation and its location in the XML.