Your invoices are already in DocuWare. As PDFs.
Under the German e-invoicing mandate a PDF is no longer enough: what counts is a structured EN 16931 dataset. You already have the data — in the index fields and line-item table of your file cabinet. The connector turns it into the e-invoice.
Does the mandate apply to me?What you get
Your invoice layout stays
In embed mode the connector takes your existing invoice PDF from DocuWare and embeds the XML (ZUGFeRD hybrid). Your customers see the same invoice as before — now machine-readable.
Errors show up in DocuWare, readable
Instead of a silent failure the document carries OK or ERROR with plain text, e.g. “BR-DE-15: Leitweg-ID missing”. Totals are checked against NET and GROSS from DocuWare beforehand.
Fits your file cabinet
Stored as a new document via REST or imported by mail (e.g. Connect to Mail) — then the connector does not even need write access. Triggered by a workflow step or a webhook.
The flow in four steps
- 1
Approval in DocuWare
A “Web service” workflow step or a webhook reports the approved invoice document.
- 2
Read and check the data
The connector reads index fields and line items, computes tax per rate and compares with your total fields.
- 3
Create the e-invoice
invoice-api creates XRechnung or ZUGFeRD — or embeds the XML into your existing PDF.
- 4
Back into DocuWare
The e-invoice is stored or imported by mail; the original carries status, error text and timestamp.
You choose how
Format
- XRechnung (pure XML) — e.g. for public-sector buyers with a Leitweg-ID
- ZUGFeRD from a template — PDF and XML in one file
- ZUGFeRD hybrid from your existing PDF — layout unchanged
Return path
- New document in the file cabinet, linked via the source DocId (original stays untouched)
- Additional file on the original document
- By mail to an import mailbox, e.g. DocuWare Connect to Mail
What an error looks like in DocuWare
You create the status fields in the file cabinet; the connector fills them. Your accounting team corrects the index data — the next run only starts once the data has actually changed.
| ERECHNUNG_STATUS | ERROR |
| ERECHNUNG_FEHLER | BR-DE-15: Leitweg-ID missing |
| ERECHNUNG_ZEIT | 2026-10-01T09:14:03Z |
Example values
Your field names, your mapping
Which index field means what is defined in one mapping file per file cabinet. Fixed details such as your seller master data live there once, not in every document.
{
"mode": "embed",
"format": "zugferd",
"fields": {
"invoiceNumber": "RECHNUNGSNUMMER",
"issueDate": "RECHNUNGSDATUM",
"buyer.name": "KUNDE_NAME",
"countrySpecific.buyerReference": "LEITWEG_ID"
},
"items": {
"table": "POSITIONEN",
"columns": { "description": "POS_TEXT", "quantity": "POS_MENGE",
"unitPrice": "POS_EINZELPREIS", "taxRate": "POS_UST" }
},
"checks": { "netTotalField": "NETTO", "grossTotalField": "BRUTTO" },
"output": { "target": "newDocument" }
}Set up by us
During the beta we set up every connection together with you. We run the connector for you or deliver it for installation in your environment.
Mapping session
We walk through your file cabinet and map index fields and the line-item table.
Test with your documents
We create e-invoices from real sample documents and check them before anything goes live.
Go-live
Activate the workflow step or webhook — from then on every approval produces the e-invoice.
What works with DocuWare
Supported
- XRechnung and ZUGFeRD (DE) from DocuWare index fields and a line-item table
- ZUGFeRD hybrid: XML embedded into the invoice PDF already stored in DocuWare
- Tax per rate computed and checked against your NET/GROSS fields before generation
- Generated and embedded e-invoices are checked against XSD and Schematron before they are stored: XRechnung under the XRechnung rules (KoSIT), ZUGFeRD under the ZUGFeRD Schematron and the EN 16931 rules
- Return as new document, as additional file or by mail (e.g. Connect to Mail)
- Trigger via “Web service” workflow step or DocuWare webhook
Limits
- Beta: every connection is set up with us and tested with your sample documents before go-live
- Line items must be stored as a table field in the file cabinet
- DocuWare Cloud; on-premises installations on request
- German formats (XRechnung, ZUGFeRD) only for now
DocuWare — frequently asked
Do I need a new DMS or a new ERP?
No. The connector reads the data that is already in your DocuWare file cabinet and writes the e-invoice back there. Your existing processes stay as they are.
Will my invoice still look the same?
Yes, if you choose embed mode: the connector takes the invoice PDF from DocuWare and embeds the XML (ZUGFeRD hybrid). Alternatively a pure XRechnung or a ZUGFeRD from a template is created.
What happens if data is missing or wrong?
The document gets the status ERROR with a readable message, e.g. a missing Leitweg-ID or totals that do not match. Once the index data has been corrected, the document is processed again on the next trigger; unchanged data is not sent a second time.
Does the connector need write access in DocuWare?
Only if it should store the result and the status itself. With the mail return path (e.g. Connect to Mail) read access is enough; the status fields are then optional.
Your question about DocuWare isn't listed? Ask directly
For system integrators
If you look after DocuWare installations for clients: this page is the explanation you can hand them. Get in touch for joint projects and volume terms.
DocuWare is a trademark of DocuWare GmbH. invoice-api.xhub is not a partner of DocuWare GmbH; the connector uses the publicly documented DocuWare Platform API.