2.4 KiB
NQFS-1.0
1. Objet
La NQFS définit un format simple pour encoder, dans un code QR, les données essentielles d’une facture afin de permettre leur ingestion automatique par un ERP ou un logiciel comptable.
2. Portée
La norme couvre :
- le contenu logique minimal
- le format JSON
- le préfixe d’identification
- les règles de validation de base
La norme ne couvre pas :
- les lignes détaillées de facture
- les paiements
- la signature cryptographique
- la transmission réglementaire
- l’archivage documentaire
3. Préfixe de détection
Le contenu du QR DOIT commencer par :
NQFS:
Le texte qui suit DOIT être un document JSON valide encodé en UTF-8.
4. Champs obligatoires
- spec
- supplier_name
- invoice_number
- invoice_date
- currency
- subtotal
- tps_rate
- tps_amount
- tvq_rate
- tvq_amount
- total
5. Champs recommandés
- supplier_tax_id
- supplier_email
- supplier_phone
- due_date
- reference
- description
6. Contraintes
6.1 spec
Chaîne. Exemple : NQFS-1.0
6.2 supplier_name
Chaîne non vide.
6.3 invoice_number
Chaîne non vide.
6.4 invoice_date
Date au format ISO 8601 : YYYY-MM-DD
6.5 due_date
Date au format ISO 8601 : YYYY-MM-DD
6.6 currency
Code alphabétique de devise sur trois caractères. Exemple : CAD
6.7 subtotal
Nombre décimal supérieur ou égal à 0.
6.8 tps_rate
Nombre décimal. Exemple : 0.05
6.9 tps_amount
Nombre décimal supérieur ou égal à 0.
6.10 tvq_rate
Nombre décimal. Exemple : 0.09975
6.11 tvq_amount
Nombre décimal supérieur ou égal à 0.
6.12 total
Nombre décimal supérieur ou égal à 0.
7. Règles de cohérence
- total DEVRAIT être égal à subtotal + tps_amount + tvq_amount
- tps_amount DEVRAIT être cohérent avec subtotal × tps_rate
- tvq_amount DEVRAIT être cohérent avec subtotal × tvq_rate
Une tolérance d’arrondi de deux cents est acceptable.
8. Exemple
{ "spec": "NQFS-1.0", "supplier_name": "Chezlepro Inc", "supplier_tax_id": "1234567890", "supplier_email": "facturation@chezlepro.ca", "supplier_phone": "+1-450-555-1234", "invoice_number": "INV-2026-00312", "invoice_date": "2026-03-09", "due_date": "2026-04-08", "currency": "CAD", "subtotal": 1000.00, "tps_rate": 0.05, "tps_amount": 50.00, "tvq_rate": 0.09975, "tvq_amount": 99.75, "total": 1149.75, "reference": "BC-2026-0312", "description": "Services informatiques" }