Wiki section: Troubleshooting
Tier: 4 — Troubleshooting
Publish when: InvoicePlane v1.8.0 is released
Related issues: #11 — BR-FR-02 invoice reference characters
XML encoding
All generated XML files use UTF-8 encoding. The XML declaration is:
InvoicePlane stores data in UTF-8, so accented characters (é, ä, ö, ñ, etc.) pass through cleanly. If you see garbled characters in the XML output, the database connection or client application is converting encoding incorrectly — the generator itself does not alter character encoding.
Special characters in XML values
The generators use DOMDocument to build XML, which escapes reserved characters automatically:
| Character |
Escaped to |
& |
& |
< |
< |
> |
> |
" |
" |
' |
' |
You do not need to pre-escape these in InvoicePlane data entry.
Invoice number format rules
French Factur-X (BR-FR-02)
French rule BR-FR-02 restricts invoice identifiers to:
Characters not allowed: . , @ # $ % ( ) [ ] space and all other punctuation.
InvoicePlane numbering scheme recommendations for France:
| Pattern |
Valid? |
Example output |
{YYYY}-{MM}-{NNNN} |
✅ Yes |
2026-06-0023 |
INV/{YYYY}/{NNNN} |
✅ Yes |
INV/2026/0023 |
{YYYY}.{MM}.{NNNN} |
❌ No (dot) |
2026.06.0023 |
INV#000{NNNN} |
❌ No (hash) |
INV#0000023 |
Configure the numbering scheme under Settings → Invoices → Invoice number format.
XRechnung
XRechnung has no special character restrictions on the invoice ID itself, but the Leitweg-ID (BT-10) must match the format provided by the contracting authority (typically digits and hyphens, e.g. 991-00001-06).
General
All formats inherit EN 16931's requirement that BT-1 (invoice number) is present and non-empty. Beyond that, character restrictions are format-specific.
Address fields with special characters
Company names and addresses with accented characters (Société, Müller GmbH, España S.L.) work correctly because DOMDocument handles UTF-8 natively. No special handling is needed.
Troubleshooting garbled output
If XML output contains garbled characters:
- Check your database character set:
SHOW CREATE TABLE ip_invoices — should show utf8mb4
- Check the database connection character set:
SHOW VARIABLES LIKE 'character_set%' — should all be utf8mb4
- Check the InvoicePlane
database.php config: 'char_set' => 'utf8mb4'
- If the issue is only in specific fields, check whether those fields were imported from an external source with a different encoding
Migrated from InvoicePlane/InvoicePlane-e-invoices#52.
XML encoding
All generated XML files use UTF-8 encoding. The XML declaration is:
InvoicePlane stores data in UTF-8, so accented characters (
é,ä,ö,ñ, etc.) pass through cleanly. If you see garbled characters in the XML output, the database connection or client application is converting encoding incorrectly — the generator itself does not alter character encoding.Special characters in XML values
The generators use
DOMDocumentto build XML, which escapes reserved characters automatically:&&<<>>""''You do not need to pre-escape these in InvoicePlane data entry.
Invoice number format rules
French Factur-X (BR-FR-02)
French rule BR-FR-02 restricts invoice identifiers to:
Characters not allowed:
. , @ # $ % ( ) [ ] spaceand all other punctuation.InvoicePlane numbering scheme recommendations for France:
{YYYY}-{MM}-{NNNN}2026-06-0023INV/{YYYY}/{NNNN}INV/2026/0023{YYYY}.{MM}.{NNNN}2026.06.0023INV#000{NNNN}INV#0000023Configure the numbering scheme under Settings → Invoices → Invoice number format.
XRechnung
XRechnung has no special character restrictions on the invoice ID itself, but the Leitweg-ID (BT-10) must match the format provided by the contracting authority (typically digits and hyphens, e.g.
991-00001-06).General
All formats inherit EN 16931's requirement that BT-1 (invoice number) is present and non-empty. Beyond that, character restrictions are format-specific.
Address fields with special characters
Company names and addresses with accented characters (
Société,Müller GmbH,España S.L.) work correctly becauseDOMDocumenthandles UTF-8 natively. No special handling is needed.Troubleshooting garbled output
If XML output contains garbled characters:
SHOW CREATE TABLE ip_invoices— should showutf8mb4SHOW VARIABLES LIKE 'character_set%'— should all beutf8mb4database.phpconfig:'char_set' => 'utf8mb4'Migrated from InvoicePlane/InvoicePlane-e-invoices#52.