Perfex CRM ist eine selbstgehostete CRM-Software, die sich hervorragend für nahezu jedes Unternehmen, jeden Freiberufler und viele weitere Anwendungsbereiche eignet. Mit ihrem großen Funktionsumfang, wie Projektverwaltung, Rechungsverwaltung, Kundenmanagement, Angebote, Einnahmen, Ausgaben, Zahlungen, Support-System und vielem mehr, stellt es eine günstige Alternative zu Angeboten bekannte Rechnungsverwaltungs-Anbieter dar.

In Version 3.4.0 wurde das Perfex CMS um das Modul E-Rechnung, auf XML-Basis, erweitert. Damit Perfex nicht mehr auf exteren Module/Plugins angewiesen.

1. E-Rechnung aktivieren

Prüft zuerst unter "Setup > Einstellungen > Systemupdate" (URL: admin/settings?group=update) die installierte Perfex-Version. Sie sollte höher als 3.4.0 sein.
Um anschließend die neuen E-Rechnungen nutzen zu können, müsst Ihr das Modul e-Invoice unter "Setup > Module" aktivieren (URL: admin/modules).
Ist das Modul e-Invoice aktiviert, findet Ihr den neuen Menüpunkt E-Rechnung unter "Setup > Einstellungen > E-Rechnung" (URL: admin/settings?group=einvoice) und könnt mit der Erstellung der ersten Vorlage für eine E-Rechnung auf XML-Basis beginnen.

2. Neue E-Rechnungs-Vorlage

2.1 Variablen

Perfex stellt Euch bereits viele wichtige Variablen für eine eigene XML E-Rechnungsvorlage zur Verfügung. Ihr könnt auf Basis von XML und/oder JSON Euch eine neue Vorlage erstellen.

Auf die folgenden Template-Variablen könnt Ihr direkt nach der Aktivierung des E-Rechnung-Modules zugreifen:

Rechnungs-Variablen
  • {{INVOICE_ID}}
  • {{INVOICE_NUMBER}}
  • {{INVOICE_DATE}}
  • {{INVOICE_DUE_DATE}}
  • {{INVOICE_STATUS}}
  • {{INVOICE_SUBTOTAL}}
  • {{INVOICE_TOTAL_TAX}}
  • {{INVOICE_ADJUSTMENT}}
  • {{INVOICE_DISCOUNT_TOTAL}}
  • {{INVOICE_TOTAL}}
  • {{INVOICE_AMOUNT_PAID}}
  • {{INVOICE_BALANCE_DUE}}
  • {{CURRENCY_CODE}}
  • {{INVOICE_BILLING_ADRESS}}
  • {{INVOICE_BILLING_CITY}}
  • {{INVOICE_BILLING_STATE}}
  • {{INVOICE_BILLING_ZIP}}
  • {{INVOICE_BILLING_COUNTRY_NAME}}
  • {{INVOICE_BILLING_COUNTRY_ISO2}}
  • {{INVOICE_BILLING_COUNTRY_ISO3}}
  • {{INVOICE_SHIPPING_ADRESS}}
  • {{INVOICE_SHIPPING_CITY}}
  • {{INVOICE_SHIPPING_STATE}}
  • {{INVOICE_SHIPPING_ZIP}}
  • {{INVOICE_SHIPPING_COUNTRY_NAME}}
  • {{INVOICE_SHIPPING_COUNTRY_ISO2}}
  • {{INVOICE_SHIPPING_COUNTRY_ISO3}}
Rechnungsartikel-Variablen
{{# LINE_ITEMS }}
  • {{LINE_ITEM_ID}}
  • {{LINE_ITEM_ORDER}}
  • {{LINE_ITEM_NAME}}
  • {{LINE_ITEM_DESCRIPTION}}
  • {{LINE_ITEM_QUANTITY_NUMBER}}
  • {{LINE_ITEM_QUANTITY_UNIT}}
  • {{LINE_ITEM_UNIT_PRICE}}
  • {{LINE_ITEM_TOTAL}}
{{# LINE_ITEM_TAXES }}
  • {{TAX_NAME}}
  • {{TAX_RATE}}
  • {{TAX_TOTAL}}
Firma-Variablen
  • {{COMPANY_NAME}}
  • {{COMPANY_ADDRESS}}
  • {{COMPANY_CITY}}
  • {{COMPANY_STATE}}
  • {{COMPANY_COUNTRY_NAME}}
  • {{COMPANY_COUNTRY_ISO2}}
  • {{COMPANY_COUNTRY_ISO3}}
  • {{COMPANY_ZIP_CODE}}
  • {{COMPANY_PHONE}}
  • {{COMPANY_VAT_NUMBER}}
Kunde-Variablen
  • {{CONTACT_FIRST_NAME}}
  • {{CONTACT_LAST_NAME}}
  • {{CONTACT_PHONE_NUMBER}}
  • {{CONTACT_EMAIL}}
  • {{CUSTOMER_NAME}}
  • {{CUSTOMER_PHONE}}
  • {{CUSTOMER_COUNTRY_NAME}}
  • {{CUSTOMER_COUNTRY_ISO2}}
  • {{CUSTOMER_COUNTRY_ISO3}}
  • {{CUSTOMER_CITY}}
  • {{CUSTOMER_ZIP}}
  • {{CUSTOMER_STATE}}
  • {{CUSTOMER_ADDRESS}}
  • {{CUSTOMER_VAT_NUMBER}}
  • {{CUSTOMER_ID}}
Gutschrift-Variablen
  • {{CREDIT_NOTE_ID}}
  • {{CREDIT_NOTE_NUMBER}}
  • {{CREDIT_NOTE_DATE}}
  • {{CREDIT_NOTE_STATUS}}
  • {{CREDIT_NOTE_SUBTOTAL}}
  • {{CREDIT_NOTE_TOTAL_TAX}}
  • {{CREDIT_NOTE_ADJUSTMENT}}
  • {{CREDIT_NOTE_DISCOUNT_TOTAL}}
  • {{CREDIT_NOTE_TOTAL}}
  • {{CURRENCY_CODE}}
  • {{CREDIT_NOTE_BILLING_ADRESS}}
  • {{CREDIT_NOTE_BILLING_CITY}}
  • {{CREDIT_NOTE_BILLING_STATE}}
  • {{CREDIT_NOTE_BILLING_ZIP}}
  • {{CREDIT_NOTE_BILLING_COUNTRY}}
  • {{CREDIT_NOTE_SHIPPING_ADRESS}}
  • {{CREDIT_NOTE_SHIPPING_CITY}}
  • {{CREDIT_NOTE_SHIPPING_STATE}}
  • {{CREDIT_NOTE_SHIPPING_ZIP}}
  • {{CREDIT_NOTE_SHIPPING_COUNTRY}}

2.2 Syntaxschema

Es gibt verschiedene Syntaxschemas die für eine E-Rechnung herangezogen werden können. Da Perfex uns jedoch nur XML und JSON als Varianten anbietet, entfällt vorerst die ZUGPFeRD-Variante. Wir entscheiden uns für das Schema XRechnung 3.0 nach den EN 16931-Regeln und UBL 2.1 Syntax. Daraufhin beginnen mit der Erstellung unserer erste E-Rechnungsvorlage.

2.3 Grundgerüst

Wir beginnen mit dem Header-Bereich, der alle wichtigen grundlegende Rechnungsinformationen beinhalten sollte, wie CustomizationID, ProfileID, ID, IssueDate, InvoiceTypeCode, etc.


<?xml version="1.0" encoding="UTF-8"?>
<ubl:Invoice xmlns:ubl="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
             xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
             xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">

  <cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0
  <cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0

Am Ende der XML-Vorlage wird dies wieder geschlossen:


</ubl:Invoice>

2.4 Allgemeiner Inhalt

Jetzt befüllen wir die Vorlage mit allen notwendigen Informationen zu Verkäufer, Käufer, Zahlungsinformationen und Steuern, wie z.B.:


  <!-- Rechnungsnummer (BT-1) -->
  <cbc:ID>RE-2026-123456

  <!-- Rechnungsdatum (BT-2) -->
  <cbc:IssueDate>2026-07-08

  <!-- Fälligkeitsdatum (BT-9) -->
  <cbc:DueDate>2026-07-20

2.5 Rechnungspositionen

Eine Besonderheit sind die Rechnungspositionen, die in einer Art Schleife in die XML-Vorlage eingefügt werden.


  {{#LINE_ITEMS}}
  <cac:InvoiceLine>
  ...
  ...
  ...
  </cac:InvoiceLine>
  {{/LINE_ITEMS}}

Darin werden dann die Artikel/Leistungen einzeln aufgeführt und beinhalten Felder wie ID, InvoicedQuantity, Name, Description, LineExtensionAmount, etc.
Hierbei ist die genaue Reihenfolge der Felder besonders wichtig. Oft kommt es zu Fehlermeldungen bei der Validierung, wenn die Reihenfolge nicht korrekt ist.

2.6 Extra-Felder

Für eine konforme XML-Vorlage müsst Ihr in Perfex mindestens 1 benutzerdefiniertes Feld anlegen. Dieses Feld ist zwingend für eine konforme XML-Vorlage notwendig und ist den Perfex Rechnungs-Variablen leider nicht enthalten.

Für die Anlage eines benutzerdefinierten Feldes klickt Ihr auf "Setup > Benutzerdefiniertes Feld" und dort auf den Button "Benutzerdefiniertes Feld hinzufügen". Jetzt könnt Ihr z.B. das benötigte Feld Lieferdatum neu anlegen. Gebt dazu folgende Daten ein:

Zuordnung des FeldesRechnungen
Feld NameLieferdatum
ArtDate Picker
custom_field_add_edit_default_valueleer
Reihenfolgez.B. 1
Grid (Bootstrap-Spalte z.B. 12) - Max ist 126
SichtbarkeitIm Frontend anzeigen (+eventuell Zeige PDF)

Jetzt könnt Ihr das neu angelegte Feld als XML Template-Variable {{CF_INVOICE_LIEFERDATUM}} ansprechen und verwenden.

Sofern Ihr Rechnungen an Behörden stellt, müsst noch das Feld Leitweg-ID anlegen.

3. Erstellung und Validierung

Ist die Vorlage erstellt, kann sie von Euch auch schon getestet werden.
Sucht Euch eine bestehende Rechnung, klickt diese an (nicht bearbeiten) und wählt dann im Kopf der Rechnung den Reiter E-Rechnung. Dort könnt Ihr zwischen "Anzeigen" und "Herunterladen" wählen. Um die XRechnung validieren zu können, sollte sie heruntergeladen werden. Verwendet jetzt einen online E-Rechnungs-Validator, wie z.B. https://erechnungsvalidator.service-bw.de/ für die Überprüfung. Klickt auf E-Rechnung hochladen und dann auf "Validieren". Wenn Ihr ein konformes Ergebnis in dem Prüfbericht erhaltet, dann steht der Annahme und Verarbeitung der E-Rechnung nichts mehr im Wege.

4. XML-Vorlage für eine E-Rechnung für Perfex

Wir bieten Euch hier eine konforme XML-Vorlage für eine E-Rechnung, passend für Perfex zum Kauf und anschließendem Download an. Nach dem Kauf könnt Ihr die Vorlage, XRechnung 3.0 nach den EN 16931-Regeln und UBL 2.1 Syntax, sofort in Euer Perfex kopieren, speichern und konforme E-Rechnungen erstellen (auch für bereits im System erstellte, vorhandene Rechnungen).
Die Vorlage beinhaltet alle wichtigen und notwendigen Felder, inkl. neu anzulegender benutzerdefinierter Felder.
Ihr könnte die XML-Vorlage direkt nach dem Kauf in dem Download-Ordner im Login-Bereich herunterladen.

Hier geht es zur XML-Rechnungsvorlage für das CMS Perfex.