FileMaker Experts, Database Engineering
DEENPT
FM ZUGFeRD Einrichtung und Zuordnung des Creator, Schritt für Schritt Testversion anfragen

FM ZUGFeRD · Einrichtung

ZUGFeRD Creator: Einrichtung und Zuordnung

Wie aus einer Rechnung in Ihrer FileMaker-Lösung eine E-Rechnung wird, Schritt für Schritt

Der Creator erzeugt aus einem vorhandenen Beleg zwei Formate: ZUGFeRD/Factur-X als PDF/A-3 mit eingebettetem XML und XRechnung 3.0 als UBL, für Rechnungen und für Gutschriften. Dafür wird kein Feld Ihrer Lösung geändert. Die ganze Arbeit steckt in einer Zuordnung, die einmal eingerichtet und dann gespeichert wird.

Die Zuordnung der Rechnung mit gefüllter Vorschau: links die Einstellungen der Belegart, rechts je Zeile ein Wert der E-Rechnung mit seiner Nummer aus der Norm und dem zugeordneten Feld
Die Zuordnung der Rechnung mit gefüllter Vorschau: links die Einstellungen der Belegart, rechts je Zeile ein Wert der E-Rechnung mit seiner Nummer aus der Norm und dem zugeordneten Feld

Schritt 1

Server und Schlüssel

Im Reiter „Preferences“ stehen drei Angaben: die Adresse des eigenen Webservers, auf dem die PHP-Komponente liegt, ein API-Schlüssel für den KI-Vorschlag, der optional ist, und der Lizenzschlüssel. Darunter liegen zwei Containerfelder, in denen die erzeugte ZUGFeRD-PDF und die UBL-Datei landen.

Reiter Preferences vor dem ersten Lauf: Server-Adresse, API-Schlüssel, Lizenzschlüssel und zwei leere Containerfelder, rechts eine Grafik des Wegs von der Rechnung zur PDF/A-3
Reiter Preferences vor dem ersten Lauf: Server-Adresse, API-Schlüssel, Lizenzschlüssel und zwei leere Containerfelder, rechts eine Grafik des Wegs von der Rechnung zur PDF/A-3

Die Grafik rechts im Bild zeigt den Weg: aus der Rechnung im Rechnungsprogramm wird über die Zuordnung nach EN 16931 eine PDF/A-3 mit eingebettetem XML.

Schritt 2

Die Zuordnung

Der Reiter „Zuordnung“ ist die zentrale Seite. Oben rechts steht ein Reiter je Belegart, hier „Rechnung“ und „Gutschrift“, dazu „+ Belegart“.

Links stehen die Einstellungen der Belegart: Name, Typcode (380 für die Rechnung, 381 für die Gutschrift), das Tabellenauftreten des Belegs, das Layout, das Feld mit der Belegnummer, der Container mit der gedruckten Rechnung, die Zielcontainer und die Angaben zu den Positionen.

Rechts liegt die eigentliche Zuordnung, aufgeteilt in fünf Bereiche mit Zähler: Beleg 15/17, Verkäufer 9/10, Käufer 7/7, Zahlung 4/5, Positionen 8/9. Jede Zeile ist ein Wert der E-Rechnung, mit seiner Nummer aus der Norm (BT-1, BT-2, BT-5 und so fort) und einer kurzen Erklärung. Daneben das Eingabefeld: dort steht ein Feld der eigenen Lösung, eine FileMaker-Formel oder ein fester Wert. Die kleine Marke dahinter sagt, was es ist:

MarkeBedeutung
FELDEin Feld der eigenen Lösung, etwa RECHNUNG::#RechnungNr
FORMELEine FileMaker-Formel, etwa eine Fallunterscheidung für die Währung
KONSTANTEEin fester Wert in Anführungszeichen, etwa "DE" als Landcode
LEERNicht zugeordnet. Bei Pflichtangaben ist das ein offener Punkt

Pflichtangaben sind markiert, ebenso die Angaben, die nur für die XRechnung Pflicht sind, etwa Leitweg-ID, Ansprechpartner, Telefon und E-Mail des Ausstellers.

Die Vorschau

Ganz rechts steht die Spalte „Vorschau“. Wer unten eine Belegnummer eingibt und „Vorschau“ drückt, sieht je Zeile den echten Wert dieses Belegs, bevor die erste Rechnung entsteht. Unten links steht das Ergebnis, im Bild „Vorschau für RE602127: 48 Werte, 7 leer.“ So sieht man vor dem ersten Test, ob die Zuordnung trägt.

Schritt 3

Der KI-Vorschlag

Statt die Zuordnung von Hand zu füllen, drückt man unten „KI-Vorschlag“. Die Software schickt die Namen und Typen der Felder an den eigenen Server, der fragt ein Sprachmodell. Zurück kommt je Wert ein Vorschlag mit Begründung.

KI-Vorschlag im Bereich Verkäufer: je Zeile Herkunft und Sicherheit, darunter die Begründung im Klartext, geänderte Werte mit der Marke GEÄNDERT und einem Knopf zurück
KI-Vorschlag im Bereich Verkäufer: je Zeile Herkunft und Sicherheit, darunter die Begründung im Klartext, geänderte Werte mit der Marke GEÄNDERT und einem Knopf zurück

Im Bild ist der Bereich „Verkäufer“ zu sehen. Rechts steht je Zeile die Herkunft und die Sicherheit, „KI · hoch“ oder „KI · mittel“, darunter die Begründung im Klartext, etwa „USt-IdNr. des Ausstellers“ oder „kein Landcodefeld beim Verkäufer, deutsche Firma“. Findet die KI nichts, steht dort in Rot „KI · niedrig · nichts gefunden“.

Was sich gegenüber dem gespeicherten Stand ändert, bekommt die Marke „GEÄNDERT“ oder „NEU“. Der alte Wert steht durchgestrichen daneben, ein kleiner Knopf „zurück“ stellt ihn wieder her. Unten steht die Bilanz, im Bild „29 von der KI, 14 über den Namen, 5 offen, prüfen und speichern.“

Wichtig: Übertragen werden nur Feld- und Tabellennamen, keine Rechnungsdaten. Der API-Schlüssel gehört dem Kunden, die Funktion ist optional.

Schritt 4

Weitere Belegarten

Jede Belegart hat ihren eigenen Reiter und ihre eigene Zuordnung. Die Gutschrift trägt den Typcode 381, und bei ihr ist „Bezug auf Rechnung“ (BT-25) gefüllt, der Verweis auf die Ursprungsrechnung.

Zuordnung der Gutschrift mit Typcode 381, das Feld Bezug auf Rechnung (BT-25) verweist auf die Ursprungsrechnung
Zuordnung der Gutschrift mit Typcode 381, das Feld Bezug auf Rechnung (BT-25) verweist auf die Ursprungsrechnung
Neue Belegart anlegen: Name und Tabellenauftreten links eintragen, beim Tippen schlägt die Software die Tabellenauftreten der angebundenen Lösung vor
Neue Belegart anlegen: Name und Tabellenauftreten links eintragen, beim Tippen schlägt die Software die Tabellenauftreten der angebundenen Lösung vor

Eine neue Belegart entsteht über „+ Belegart“: links Name und Tabellenauftreten eintragen. Beim Tippen schlägt die Software alle Tabellenauftreten der angebundenen Lösung vor. Dieselbe Hilfe gibt es in jedem Zuordnungsfeld für die Feldnamen.

Schritt 5

Sichern und übertragen

Mit „Export“ lässt sich die gesamte Zuordnung als JSON anzeigen und kopieren, mit „Import“ wieder einlesen. Damit sichert man eine fertige Einrichtung oder überträgt sie in eine andere Installation.

Export der Zuordnung als JSON: die gesamte Einrichtung in einem Textfeld, zum Kopieren und späteren Einlesen
Export der Zuordnung als JSON: die gesamte Einrichtung in einem Textfeld, zum Kopieren und späteren Einlesen

Schritt 6

Testen

Oben links stehen „Test PDF“ und „Test UBL“ mit einem Feld für die Belegnummer. Beide erzeugen die Datei genau so, wie es das Rechnungsprogramm später tut. Das Ergebnis landet in den Containerfeldern aus Schritt 1: links die fertige ZUGFeRD-PDF, die aussieht wie die gewohnte Rechnung und das XML im Inneren trägt, rechts die UBL-Datei der XRechnung.

Reiter Preferences nach dem Lauf: links die fertige ZUGFeRD-PDF im Container, rechts die UBL-Datei, daneben eine Darstellung des erzeugten XML nach EN 16931
Reiter Preferences nach dem Lauf: links die fertige ZUGFeRD-PDF im Container, rechts die UBL-Datei, daneben eine Darstellung des erzeugten XML nach EN 16931

Schritt 7

Einbau in die eigene Lösung

In der eigenen Lösung genügt ein Knopf, der ein Script mit drei Angaben aufruft: Belegart, Belegnummer und Format. Zurück kommt die fertige Datei.

  1. Kein Feld der eigenen Lösung muss geändert werden.
  2. Keine Hilfsfelder, keine Layouts mit Feldern.
  3. Was sich ändert, ändert sich in der Zuordnung, nicht im Rechnungsprogramm.

Die andere Richtung

Eingehende Rechnungen lesen

Der Creator schreibt E-Rechnungen. Hereinkommende Rechnungen liest der ZUGFeRD Reader, der dieselbe Serverkomponente nutzt und in der ZUGFeRD Suite gleich mit dabei ist. Er nimmt an, was auf dem Markt unterwegs ist: ZUGFeRD und Factur-X als PDF/A-3 mit eingebettetem XML, XRechnung als UBL, Rechnung und Gutschrift, sowie reines CII-XML. Der Server erkennt selbst, was er bekommt.

Eine ZUGFeRD-PDF im Reader: links die Datei mit Format, Profil, Größe und Prüfsumme, rechts der Beleg lesbar mit Absender, Empfänger, Positionen und Summen
Eine ZUGFeRD-PDF im Reader: links die Datei mit Format, Profil, Größe und Prüfsumme, rechts der Beleg lesbar mit Absender, Empfänger, Positionen und Summen

Herauskommt eine lesbare Ansicht des Belegs, dazu die Prüfung: Pflichtangaben vollständig, Summen rechnen sich, bei ZUGFeRD zusätzlich das Schema. Für UBL liegt kein Schema im Paket, geprüft werden dort Pflichtangaben und Rechenregeln. Eine Gutschrift mit Typcode 381 läuft genauso durch, mit Bezug auf die ursprüngliche Rechnung. Wird derselbe Beleg ein zweites Mal eingelesen, meldet der Reader „Schon im Eingang“.

Dieselbe Rechnung als XRechnung im UBL-Format, gleiche Anzeige
Dieselbe Rechnung als XRechnung im UBL-Format, gleiche Anzeige
Eine Gutschrift als UBL, Typcode 381, mit Bezug auf die Ursprungsrechnung
Eine Gutschrift als UBL, Typcode 381, mit Bezug auf die Ursprungsrechnung

Was danach mit dem Beleg geschieht, entscheidet Ihre Lösung. Der Reader legt ihn im Eingang ab, prüft ihn und stellt ein JSON bereit. An der Stelle übernimmt ein Script, in dem Ihre Warenwirtschaft daraus einen Eingangsbeleg, eine Freigabe oder eine Übergabe an ein anderes System macht.

Das JSON zur gelesenen Rechnung, die Übergabestelle an die eigene Lösung
Das JSON zur gelesenen Rechnung, die Übergabestelle an die eigene Lösung
Einrichten des Readers: Adresse des Servers, Lizenzschlüssel und zwei Testknöpfe für PDF und UBL
Einrichten des Readers: Adresse des Servers, Lizenzschlüssel und zwei Testknöpfe für PDF und UBL

Eingerichtet wird er wie der Creator, mit der Adresse des eigenen Servers und dem Lizenzschlüssel. Zwei Testknöpfe zeigen nach der Installation gleich, ob die Verbindung steht.

Normtreue

Formate und Prüfung

FormatWas erzeugt wird
ZUGFeRD / Factur-XPDF/A-3 mit eingebettetem XML, Profil EN 16931
XRechnung 3.0UBL als reines XML
BelegartenRechnung (Typcode 380) und Gutschrift (Typcode 381), weitere frei anlegbar

Die Software ist entwickelt und getestet gegen die offiziellen Prüfregeln, den CEN-Schematron der EN 16931 und die Prüfregeln der XRechnung. Im Betrieb prüft der Server die Pflichtangaben und errechnet die Summen.

Datenhaltung

Wo die Daten liegen

Die PHP-Komponente läuft auf dem Server des Kunden, im Haus oder beim eigenen Hoster. Keine Cloud, keine Telemetrie, keine Aktivierung über das Netz. Der Lizenzschlüssel wird auf dem Server des Kunden geprüft, ohne Verbindung nach außen. Rechnungsdaten verlassen das Haus des Kunden nicht.

Voraussetzungen

Was Sie brauchen

FileMakerFileMaker Pro ab Version 19
ServerWebserver mit PHP 8.1 oder neuer. Zum Ausprobieren genügt Laravel Herd auf dem eigenen Rechner
KI-VorschlagEin eigener API-Schlüssel, optional

Fristen

Ab wann es gilt

  1. Seit 2025 muss jedes Unternehmen E-Rechnungen empfangen können.
  2. Ab 1. Januar 2027 müssen Unternehmen mit mehr als 800.000 Euro Vorjahresumsatz E-Rechnungen ausstellen.
  3. Ab 1. Januar 2028 gilt das für alle.