This section summarises the most common pitfalls and their solutions.
Regeneration after a configuration change
Already generated XML files are not updated automatically. After a configuration change, regenerate the affected invoices:
bin/magento cache:clean config
bin/magento geissweb:einvoice:generate-xml --invoice-id=123 --force
Check the XML content
# View the generated XML formatted
cat var/export/e-invoices/invoice_000000123.xml | xmllint --format -
# Filter out specific total elements
grep -E "(TaxBasisTotalAmount|TaxTotalAmount|GrandTotalAmount)" var/export/e-invoices/invoice_000000123.xml
Rounding differences
VAT is calculated at document level per tax rate (see Amount Calculation). As a result, small differences (≤ 1 cent per tax rate) compared with line-by-line rounding are possible. Check with:
bin/magento geissweb:einvoice:verify-amounts --invoice-id=000000123
The business rules BR-CO-13 and BR-CO-15 must be satisfied in this process.
Common validation errors
| Error | Cause | Solution |
|---|---|---|
| BR-DE-1 | Payment instruction (BG-16) missing | Enter IBAN (BT-84) and payment means code (BT-81) |
| BR-DE-5/6/7 | Seller contact incomplete | Add contact name (BT-41), telephone (BT-42), email (BT-43) |
| BR-DE-15 | Buyer reference (BT-10) missing | Set buyer reference (Buyer Information) |
| BR-DE-17 | VAT ID or tax number missing | Enter BT-31 or BT-32 |
| BR-CO-13 | Tax basis amount incorrect | Check BT-109 = BT-106 − BT-107 + BT-108 |
| BR-CO-15 | Grand total incorrect | Check BT-112 = BT-109 + BT-110 |
You will find detailed solutions for XRechnung rules under XRechnung. For the full business rule check, additionally use a complete EN 16931 / XRechnung validation service.
Further support
Reach our support via the GEISSWEB Knowledge Base.