ZUGFeRD & E-Invoice
ZUGFeRD & E-Invoice
Digital invoice processing in FileMaker – simple, standards-compliant and future-proof
Our proven add-on makes ZUGFeRD integration child's play – no complicated programming, no weeks of training
Our solution generates electronic invoices in the Factur-X / ZUGFeRD 2.x and UBL formats based on the European standard EN 16931. Incoming e-invoices are read in directly and processed automatically in FileMaker. This keeps you legally compliant and compatible with all common portals and ERP systems.
Ready to use within one hour – guaranteed!
1-hour guarantee
From installation to the first ZUGFeRD invoice
- Install the add-on (5 minutes)
- Map fields (20 minutes)
- Create the first ZUGFeRD PDF (35 minutes)
- Read in e-invoices and process them in FM
New · ZUGFeRD Suite Version 3
E-invoicing from FileMaker: the ZUGFeRD Suite
From 1 January 2027, companies in Germany must issue their invoices to other companies electronically; from 2028 this applies to all of them without exception. Anyone who writes their invoices from FileMaker does not need to rebuild their solution for this. The ZUGFeRD Suite sits alongside it, reads the document via a mapping and returns a ZUGFeRD PDF or XRechnung. One call, two formats, everything on your own server.

The deadline
Since 2025, every company must be able to receive electronic invoices. For issuing them, a phased schedule applies: from 1 January 2027 for companies with a prior-year turnover of more than 800,000 euros, from 1 January 2028 for everyone. A PDF sent by e-mail will then no longer count as an invoice. What is required is a structured format according to the European standard EN 16931, which in Germany comes in two variants:
| Format | Packaging | For whom |
|---|---|---|
| ZUGFeRD Factur-X | a PDF as you know it, with the XML attached. People read the PDF, the accounting software reads the XML. | Between companies |
| XRechnung UBL | pure XML | the form that public authorities and many large corporations require |
Both describe the same invoice. What differs is the packaging.
What the Suite does
The ZUGFeRD Suite is a FileMaker file plus a small server component in PHP. The invoicing program calls a script with three parameters: document type, document number, format.
The call is a Perform Script on ZF_Beleg_erzeugen in the Suite, with a small JSON as the parameter:
{ "beleg" : "Rechnung", "nr" : "RE100001", "format" : "zugferd" }
The Suite finds the document, reads the values, sends them to the server, fetches the result and stores it in a container on the document. For the XRechnung, the same call with "format" : "ubl". Credit notes are a separate document type with type code 381 and are built as a credit note, in the XRechnung as a CreditNote.
Before output, the result is checked against the validation rules of the standard. Whatever the Suite outputs has passed the EN 16931 Schematron validation and, for the XRechnung, additionally the KoSIT rules. The profile is EN 16931, i.e. the full scope: line items with discounts, shipping costs, overall discount, multiple tax rates, intra-community supply, export.


The mapping: set up once
The connection to your own solution is called the mapping. It tells the Suite where each value of the e-invoice is located. It is set up on a page in the web viewer, one tab per document type, with the values in five sections: Document, Seller, Buyer, Payment, Line Items.
Each value is a FileMaker expression that is evaluated in the context of the document:
| Value | Expression |
|---|---|
| Document number | RECHNUNG::#RechnungNr |
| Street | Trim ( GLOBAL::Straße & " " & GLOBAL::Hausnummer ) |
| Currency | If ( IsEmpty ( RECHNUNG::Währung ) ; "EUR" ; RECHNUNG::Währung ) |
| Customer's VAT ID | ADRESSEN::#UStID_Nr |
| Unit | 'C62' |
A field, a formula, a constant – the same mechanism. Related fields work because FileMaker resolves them in an expression anyway. No helper fields are needed in your own solution, nor layouts with objects: one empty layout on the document per document type, nothing more. The line items come from an SQL query that the page assembles from the mapping and displays below the table.




The AI suggestion
One button sends the names and types of the fields to your own server, which queries a language model, and for each value an expression with a justification comes back. For an inventory management system with more than three hundred fields, the test produced 29 suggestions from the AI, 14 decided by name, 5 open, in nine seconds. Anything that changes compared to the saved state carries the label "New" or "Changed", next to it the old value and a "back" button. Document data never leaves the premises, only field names. The API key belongs to the customer.

The preview
The preview shows for each row the value from the real document, green if filled, red if empty. Enter the document number, preview, then "Test PDF" and "Test UBL": that is the path from the mapping to the first e-invoice, in a single session.
Where the data stays
The server component runs on the customer's premises, on their own web server or with their own hosting provider. There is no vendor server, no cloud in between, no telemetry. The license key is verified on the customer's server, without any outside connection. Anyone using a trial version receives a key with an expiry date; after that the mapping is retained, only the generation stops.
This is deliberate. Invoices contain personal data, and the simplest way to handle it properly is the one in which it never leaves the company.
The integration
What a FileMaker developer has to do for this can be counted on one hand:
- Place the PHP package on the web server and enter the address in the Info tab.
- Connect the customer file as an external data source and drag the table occurrences into the Suite's relationship graph.
- One empty layout per document type.
- Mapping: AI suggestion, review, preview, save.
- A button on the invoice that calls the script.
The instructions are included in the Suite itself, as a tab next to the mapping, with an error table in case a message appears. Part of it is written so that it can be passed on to the accounting department.


For whom
For companies that write their invoices from FileMaker and want to meet the deadline without touching their invoicing program. For FileMaker developers who integrate this for their customers; there is a developer license for that. And for everyone who wants to know where their data is when it comes to e-invoicing.
Trial version and license: ronny@filemaker-experts.de
New · ZUGFeRD Reader Version 3
The other direction: incoming invoices
Issuing is one half of the deadline, receiving is the other. Every company has had to be able to receive e-invoices since 2025. The ZUGFeRD Reader accepts an incoming e-invoice, whether ZUGFeRD PDF, UBL or CII XML, reads it via the same server, validates it and displays it in readable form. For an XRechnung without a print image this is the only view a human can read.

The ZUGFeRD Suite includes the Reader, in the same tab next to the Creator. Those who only need to read take the Reader on its own.
ZUGFeRD components
The 6 main areas of invoice processing
Structured data management for standards-compliant e-invoices
1
Invoice (Header / Document Level)
General invoice details: number, date, currency, totals, payment terms, free text and global references with normalized date values (YYYY-MM-DD) and ISO currency codes.
2
Seller (Seller / Supplier)
Company data of the invoice issuer: name, legal form, address, VAT ID, tax number, contact channels and bank details with ISO country codes.
3
Buyer (Buyer / Customer)
Customer data mapping: name, address, contact person, e-mail, customer number as well as separate billing and delivery addresses.
4
Delivery / Service (Delivery / Performance)
Service period, delivery date, delivery address, delivery reference (delivery note number, IncoTerms) and project/contract IDs with normalized dates.
5
Payment / Bank (Payment)
Payment information: terms (14 days net, cash discount), bank details (IBAN, BIC), payment method and payment reference.
6
Line Items (Items / Line Items)
Line items: item description, SKU, quantity, unit (UN/ECE code), unit price, VAT rate, tax category and order reference.
Normalization & quality assurance
Automatic data processing
Stable mappings with built-in helpers and validation
1
Automatic conversion
- Numbers automatically converted from comma to point
- Date values normalized to YYYY-MM-DD
- Units restricted to upper case and UN/ECE codes
- Empty values transferred correctly instead of placeholders
- Texts trimmed and quotation marks escaped
2
Built-in validation
- Check ZUGFeRD mandatory fields per section
- Profile-dependent validation (Basic, Comfort, Extended)
- Show missing mappings immediately
- Prevent faulty exports before generation
- Immediate feedback on discrepancies
3
Preview & test run
- Preview of the resulting data structure
- JSON/CSV export for review
- Logging of the layouts used
- Discrepancies immediately visible
- Test before ZUGFeRD file generation
4
Versioned mappings
- Mapping stored versioned per file/client
- Export/import between systems
- Duplicate mappings for similar customers
- Switch between alternative layouts
- Multi-client capability built in
License models
Three license models for every use case
ZUGFeRD Suite V3 as single user or server, Enterprise on request. Creator and Reader are also available separately, see AddOns
Suite Single User
Single users, small companies, 1 workstation
- One workstation
- Create and import e-invoices
- Full ZUGFeRD functionality
- Easy installation
- Standard support
Suite Server
Companies with a central FileMaker Server, multiple users
- Multiple users
- Create and import e-invoices
- Central administration
- FileMaker Server integration
- Extended support
Enterprise
Developers, agencies, large companies – incl. source code & unlimited use
- Source code included
- Unlimited use
- Commercial reuse
- White label possible
- Premium support
Frequently asked questions
ZUGFeRD & E-Invoicing FAQ
Do I have to restructure my FileMaker fields?
How is VAT handled?
What happens if a mandatory field is missing?
Does the add-on support multiple languages?
Can I use different ZUGFeRD profiles?
Does the add-on work with multiple clients?
Can incoming e-invoices (ZUGFeRD/UBL) also be read in?
Ready for e-invoicing?
Integrate ZUGFeRD into FileMaker
Start implementing your ZUGFeRD solution now
Demonstrations
ZUGFeRD & E-Invoice - Demonstration
Demonstration of the ZUGFeRD integration with FileMaker
Watch video on LoomZUGFeRD AI Mapping - Demonstration
Demonstration of ZUGFeRD AI mapping with FileMaker
Watch video on Loom
