Validation DGI
Simulateur d'homologation — conformité aux cas de test SFE v1.2
Score de conformité global
100%
37 conformes sur 37 exigences
37
Conformes
0
Partiels
0
Manquants
29 cas de test officiels
FV — PP — TVA 16% (Groupe B) — Bien
Facture de vente à une personne physique, TVA 16%, bien matériel
FV — PM — TVA 16% (Groupe B) — Service
Facture de vente à une personne morale, TVA 16%, prestation de services
FV — PP — TVA 5% (Groupe C) — Bien
Facture de vente à une personne physique, TVA réduite 5%
FV — PM — HORS CHAMP (Groupe A, non assujetti) — Code HORSCHAMP
Facture pour opération hors champ de la TVA — le code article doit être automatiquement « HORSCHAMP » (distinct d'une simple exonération)
FV — PM — Exportation (Groupe E)
Facture de vente à l'exportation — TVA 0%, mention « Exportation »
FV — AO — Exonéré avec certificat (Groupe A) — Service
Facture à une administration — certificat d'exonération obligatoire, commentaire réglementaire automatique
FV — PM — Marché public 16% (Groupe F)
Facture marché public — TVA 16%
FV — PM — Multi-groupes B + C + A avec taxe spécifique (mode TTC)
Facture de vente : LIVRE 3 × 5 278,00 (B, taxe spéc.), SUCRE 2 × 7 166,25 (C, taxe spéc.), ORDINATEUR 1 × 409 500,00 (A) — total TTC DGI 439 666,50 CDF
FT — Acompte — Multi-groupes (2× B + 3× A) — PM
Facture d'acompte ou d'avance (FT) — 2 unités groupe B (TVA 16%) + 3 unités groupe A (TVA 0%) — client PM
FA — Avoir Correction (COR) — Référence facture originale — Groupe B
Avoir pour correction d'une facture originale — la référence à la facture d'origine doit être affichée clairement, groupe de taxation B respecté
FT — Acompte — PM — TVA 16% (Groupe B)
Facture d'acompte versée par le client avant la livraison — TVA 16%
FT — Acompte — PP — TVA 5% (Groupe C)
Facture d'acompte — TVA réduite 5%
FA — Avoir Correction (COR) — Référence facture originale
Avoir pour correction d'une erreur — référence à la facture originale obligatoire
FA — Avoir Annulation (RAN) — Référence facture originale
Avoir pour annulation totale de la facture originale
FA — Avoir Reprise (RAM) — Retour de marchandises
Avoir suite à reprise de marchandises
FA — Avoir Remise / Ristourne / Rabais (RRR)
Avoir pour remise, ristourne ou rabais postérieur
ET — Acompte à l'Exportation — 3× E — PM
Facture d'acompte ou d'avance à l'exportation (ET) — 3 unités groupe E (TVA 0%) — client PM
FV — Multi-groupes Marché public (2× F + 2× G) — PM
Facture de vente — 2 unités groupe F (Marché public 16%) + 2 unités groupe G (Marché public 5%) — client PM
FV — Multi-groupes (2× B + 2× H) — PM
Facture de vente — 2 unités groupe B (TVA 16%) + 2 unités groupe H (Consignation, TVA 0%) — client PM
FV — Multi-groupes (1× C + 1× I) — PM
Facture de vente — 1 unité groupe C (TVA 5%) + 1 unité groupe I (Garantie, TVA 0%) — client PM
FV — Débours (2× J) — PM
Facture de vente — 2 unités groupe J (Débours, TVA 0%) — client PM
FV — Non-assujetti (2× K) — PM
Facture de vente — 2 unités groupe K (Non-assujetti, TVA 0%) — client PM
FV — Multi-groupes (2× B + 2× L) — PM
Facture de vente — 2 unités groupe B (TVA 16%) + 2 unités groupe L (Prélèvements, TVA 0%) — client PM
FV — TVA spécifique (3× M + 3× N) — PM
Facture de vente — 3 unités groupe M (Ventes réglementées) + 3 unités groupe N (TVA spécifique) — client PM
FV — Remises par ligne (2× B 10% + 3× C + 3× A 300 CDF) — PM
Facture de vente avec remises par ligne — 2 unités groupe B (remise 10%), 3 unités groupe C (sans remise), 3 unités groupe A (remise fixe 300 CDF) — client PM
FV — Équivalent USD (2× B + 3× C) — PM
Facture de vente en CDF avec affichage du montant total équivalent en USD — 2 unités groupe B + 3 unités groupe C — client PM
FV — TVA 1% (1× O) — PM
Facture de vente — 1 unité groupe O (TVA 1%) — client PM
FV — Marché public 1% (1× P) — PM
Facture de vente — 1 unité groupe P (Marché public 1%) — client PM
FV — HORS CHAMP (1× A) — PM
Facture de vente — 1 unité groupe A avec code article HORS CHAMP (hors champ de la TVA) — client PM
Matrice de conformité détaillée
Types de factures
Facture de Vente (FV)
Entité InvoiceType + seed data + préfixe de numérotation + modèle PDF
Facture d'Acompte / Avance (FT)
Type FT configuré avec préfixe et logique d'acompte
Facture d'Avoir (FA)
Type FA + sous-types d'avoir (COR, RAN, RAM, RRR) + référence facture originale
Facture de Vente à l'Exportation (EV)
Type EV configuré pour l'exportation
Facture d'Acompte à l'Exportation (ET)
Type ET configuré pour l'exportation
Facture d'Avoir à l'Exportation (EA)
Type EA configuré pour l'exportation
Groupes de taxation
16 groupes A à P configurables
Entité TaxGroup + seed data avec 16 groupes officiels (A-P)
Application automatique des règles fiscales
taxEngine.js applique le taux de TVA par groupe automatiquement
Table de configuration évolution
Page TaxGroups permet d'éditer les groupes (taux, descriptions)
Types de clients
PP — Personne Physique
Champ dgi_type (enum PP/PM/PC/PL/AO) sur l'entité Client
PM — Personne Morale
NIF obligatoire pour PM via validation
PC — Personne physique commerçante
Nom + NIF obligatoires (fiche client et facture)
PL — Profession libérale
Nom + NIF obligatoires (fiche client et facture)
AO — Ambassades et organisations internationales
Nom + référence du document obligatoires ; NIF non exigé — champ exemption_certificate_ref + commentaire réglementaire automatique
Types d'articles
BIE — Bien
Champ dgi_article_type (enum BIE/SER/TAX) sur l'entité Product
SER — Service
Champ dgi_article_type supporté
TAX — Taxes et redevances
Champ dgi_article_type supporté
Factures d'avoir
COR — Correction
Champ credit_note_type (enum COR/RAN/RAM/RRR) sur Invoice
RAN — Annulation
Sous-type RAN + référence facture originale obligatoire
RAM — Reprise
Sous-type RAM supporté
RRR — Remise / Ristourne / Rabais
Sous-type RRR supporté
Commentaires réglementaires
Affichage automatique selon le cas (ex: certificat d'exonération pour AO)
Champ regulatory_comments sur Invoice + génération automatique
Cas de test
Module de reproduction des 29 cas de test officiels
Page Validation DGI — simulateur d'homologation avec 29 cas
Gestion des remises
Remises par ligne
taxEngine.js — calculateLine gère les remises par ligne
Remises globales
calculateInvoiceTotals gère les remises globales
Remises en montant
discount_type = montant_fixe supporté
Remises en pourcentage
discount_type = pourcentage supporté
Conversion des devises
Affichage devise principale + devise équivalente (cas #25/#26)
Champs equivalent_total + equivalent_currency sur Invoice + taux de change automatique
Code HORS CHAMP
Inscription automatique « HORS CHAMP » pour le groupe A
dgiRules.js — getAutoArticleCode renvoie HORS CHAMP pour le groupe A
Rapports
Rapport X — Relevé journalier
Page DgiReports — rapport X complet avec export PDF/XLSX
Rapport Z — Clôture journalière
Page DgiReports — rapport Z complet
Rapport A — Récapitulatif de période
Page DgiReports — rapport A avec plage de dates
Vérification DGI
QR Code sur chaque facture
qr_code_enabled + qr_code_data sur Organization, génération PDF du QR code
Statut de transmission (e-DEF)
Entité EDefStatus (pending/submitted/accepted/rejected/cancelled)
Accusé de réception + code DEF
Champ def_code sur Invoice + EDefStatus.response
Mode TTC / HT
Configuration de l'entreprise en mode TTC ou HT
Champ pricing_mode (ht/ttc) sur Organization + calculs cohérents
Simulateur d'homologation
Menu Administration → Validation DGI
Page DgiValidation — exécution des 29 cas + rapport de conformité