What it means
BT-148 is the price before any price discount; it still excludes VAT. In UBL, it is cbc:BaseAmount in the line's cac:Price/cac:AllowanceCharge; CII checks the corresponding field. The decimal and length limits always apply, counting any minus sign but not the dot. The S9, M9 and B9 exception applies in both UBL and CII, although only the CII message states it explicitly.
Why it matters
Software uses the price before discount together with the price discount to interpret the price after discount. The sign requirement depends on your invoicing framework.
How to fix it
Correct BT-148 in the affected line's price details, not the amount including VAT. Check BT-23 before changing its sign. Outside S9, M9 and B9, use zero or a positive value without a minus sign. Remove grouping separators and currency symbols, check decimal places and length, then recheck the file.
Once the file is corrected, check it again for free: Check an e-invoice
The rule as published
Le montant « … » est invalide. Il doit : - être un nombre strictement positif (sans signe « - »), - comporter au plus 6 décimales (séparateur « . »), - contenir au maximum 19 caractères (hors séparateur). Veuillez corriger ce montant pour respecter le format requis. Where France CTC (CII) run it, the rule reads:
Le montant « … » est invalide. Il doit : - être un nombre strictement positif (sans signe « - »), sauf si Cadre de Facturation (BT-23) est S9, M9 ou B9 (bi-directionnel) - comporter au plus 6 décimales (séparateur « . »), - contenir au maximum 19 caractères (hors séparateur). Veuillez corriger ce montant pour respecter le format requis. Where this rule applies
| Rule set | Version |
|---|---|
| France CTC (UBL invoice) | 1.4.0-04 |
| France CTC (UBL credit note) | 1.4.0-04 |
| France CTC (CII) | 1.4.0-04 |
Check your file
Drop your e-invoice to see whether BR-FR-DEC-03_BT-148 still fails, and which other rules do.