Invoices according to ZUGFeRD Standard (XRechnung)

e-Invoices with ZUGFeRD

The Invoice with list of services (as of Vertec 6.3.0.12), the Invoice with processing sums and the Invoice with phase sums (as of Vertec 6.8.0.12) contain a ZUGFeRD implementation, which embeds metadata in the PDF according to the ZUGFeRD standard. Thus, any invoice that is based on one of these templates and is generated as a PDF is automatically also an e-invoice.

For more specific applications, if you have to meet requirements on the recipient side, you can use the additional Additional Feature E-Invoice Templates, which allows you to define e-invoices (ZUGFeRD and XRechnungen) in detail and define content criteria for each invoice recipient.

ZUGFeRD standard implementation

The ZUGFeRD implementation in the supplied invoice templates uses the profile EN 16931 and the following criteria:

Invoicing agent
The Company is used as the invoice originator. This is:
  • The stored invoice address on the corresponding Payment Type or, if not explicitly stored there,
  • Your company from the system settings.
Invoice recipient
The invoice address is the invoice recipient.
Invoice type
Fix 380 (commercial invoice) is used as invoice type.
Addresses
The addresses (invoice issuer and invoice recipient) must include the following information:
  • The company’s VAT number (VAT number) must be entered on the More Info page.
  • A complete and valid address (address)
  • ZUGFeRD requires a 2-digit ISO country code as a country (see e.g. https://de.wikipedia.org/wiki/ISO-3166-1-Kodierliste).
    • In invoice templates before Vertec 6.8.0.12 (or if they were adapted before this version), the 2-digit ISO code must be entered as Land on the addresses.
    • Templates starting with Vertec 6.8.0.12 use the following mapping if the country is not a 2-digit ISO code:
      • Deutschland/Germany/Allemagne/Germania = DE
      • Austria/Austria/Autriche/Austria = AT
      • France/France/Francia = FR
      • Switzerland/Switzerland/Suisse/Svizzera = CH
      • Netherlands/Netherlands/Pays-bas/Paesi bassi = NL
      • Great Britain/Gross Britain/Great Britain/Vereinigtes Königreich/United Kingdom/R Royaume-uni/Regno unito = GB

If the country of the invoice recipient is empty, the country of the invoice issuer is also used for the invoice recipient, since we then assume that the invoice recipient is located in the country.

Currency

Only one currency can be used per invoice at a time.

On the Currency, rounding should be set to 0.01, otherwise rounding errors may occur, which are rejected by ZUGFeRD.

Services

Outlays

Services, expenses and outlays are summed up and handed over as individual items.

Discounts are simply deducted from the services.

downpayments
Downpayments are transferred as items such as services, expenses and outlays.
VAT

VAT types used must indicate the appropriate Tax category according to uncl5305.

The XML metadata is generated in the code of the Office Reports and passed to the reporting mechanism, which integrates it into the PDF. The method for this is:

metadata_zugferd(context)

This returns a tuple consisting of :

  • profilename: Name of the ZUGFeRD profile. The following ZUGFeRD profiles are supported:
    • EXTENDED
    • EN 16931 (COMFORT, XInvoice)
    • BASIC
    • BASIC WL
    • MINIMUM
    The standard reports included include a sample code for the profile EN 16931.
  • data: ZUGFeRD XML Data. The XML that contains the ZUGFeRD data for the invoice. This is created with the template engine built into Vertec in Python via vtcapp.rendertemplate(). It can use variables that contain the numbers from Vertec.
  • schema: Only versions before 6.8.0.18. Optional. Version number as string. The default value (without specification) was “2.0.1”. There you could also specify “2.1.1” to use the then newer ZUGFeRD schema. In versions from 6.8.0.18 the schema “Factur-X 1.0” is automatically used, which supports all ZUGFeRD versions from 2.0 as well as Factur-X 1.08, and any schema specification is ignored.
return ("EN 16931", zugferdxml)

Further information about ZUGFeRD can be found on the official FeRD website.

Netherlands

United Kingdom