Since 2025 every German business must be able to receive e-invoices, and the files land where the bookkeeping happens: at the Kanzlei. Clients run Lexware, sevDesk, handwritten Word templates and printer drivers, and what arrives from that mix ranges from perfect EN 16931 files to PDFs with broken or missing XML. The systems differ; the constant is the file, and the file can be checked.
The validator in the daily Kanzlei routine
The validator reads a client's file and runs the official rule sets over it: EN 16931 for ZUGFeRD, plus the German CIUS rules for XRechnung. The report names each violated rule and the affected field in plain language, so the answer to the client is not "the import failed" but "the file declares the BASIC WL profile and carries no line items". One check settles whether a problem sits in the file or in the importing software:
- Check a ZUGFeRD file with the validator
- Check an XRechnung against the CIUS rules
- Read the embedded invoice data in the viewer
Client files are client records, which makes the storage question professional rather than technical: files are processed in the server's working memory and are not stored. No copy remains at the service after the report is delivered. What in-memory processing means, spelled out.
Checking batches instead of single files
An inbox check is rarely one file. The validator takes a whole drop at once, up to one hundred files in a queue, and processes them one after another with a separate report per file. The free usage allowance covers the occasional check; Premium removes the cap, which is the difference between trying the routine and running it daily across a client base. Free and premium run the same rules, so nothing about the verdicts changes with the price.
Understanding the DATEV message "Buchungshilfe"
When DATEV labels an incoming file "Buchungshilfe, keine vollständige Rechnung", the cause is almost always the ZUGFeRD profile: MINIMUM and BASIC WL carry no line items and therefore do not count as complete e-invoices under the mandate. The validator names the declared profile in every report, which turns the vague DATEV message into a concrete instruction for the client: switch the issuing software to the EN 16931 profile.
The Buchungshilfe article explains the message and includes wording for the client. And when DATEV does not recognize a ZUGFeRD file at all, the causes are a different, short list: circle them in 60 seconds.
A check gate in front of the bookkeeping
The pattern that scales across a mixed client base is a small gate: every incoming e-invoice is validated before it reaches the respective bookkeeping, findings go back to the client with the rule name, and only passing files move on. It costs minutes, catches the expensive cases early, and works the same whether the client runs DATEV, Lexware or nothing at all. How such a gate looks in practice.
A handout for your clients
Most bad files are produced in good faith, so the fix is education: who must issue e-invoices from when, what a valid file is, and how the client can check their own output before sending. The one-page client handout summarizes exactly that, written to be passed on as is. The Mandanten-Merkblatt, ready to forward.