À lire d'abord. Ces outils produisent des signaux, jamais des preuves.
Un écart mirror n'est pas une fraude : il peut venir du fret (FOB/CIF), d'un transit, d'une réexportation,
d'une différence de classification douanière — ou d'une sous/sur-déclaration réelle.
L'outil ne constitue pas un avis fiscal et ne remplace pas une vérification contradictoire.
1. Démarrer en 10 minutes (parcours recommandé)
- Choisir une cible : Dashboard → page Alertes → File d'audit triée par score de risque (écart relatif + écart absolu + sens + fiabilité + récurrence, 0-100).
- Vérifier la nature de l'écart via la catégorie : sous-déclare = les deux côtés ont déclaré ; non déclaré côté Afrique = une seule face déclare (souvent donnée manquante).
- Regarder les prix : page Table → colonnes Prix Afr ($/kg) / Prix Part ($/kg). Un prix partenaire ≥ 2× le prix Afrique (surligné ambre) oriente vers une sous-facturation.
- Restreindre par constat : page Table → panneau Filtres → Signaux du moteur d'analyse →
cocher une famille (ou suivre un lien filtrer → du §3) pour ne garder que les lignes
porteuses de ce constat. Les familles se cumulent en OU ; la colonne Signaux de la
table détaille la nature exacte du constat. Voir §4.
- Comparer au marché : page Prix réf. (Banque mondiale).
- Regarder le contrat : Observatoire des Contrats → clauses à risque.
- Identifier l'entreprise : Corporate Registry → LEI, groupe (parent ultime).
- Consolider : Cas à vigilance → dossier agrégé + pièces à demander.
- Fonder juridiquement : FiscalMine AI → checklist d'audit (BEPS 8-10, EITI 4.3).
2. La méthode « mirror trade » (commerce miroir)
Comparer ce que le pays africain déclare exporter (flow X) avec ce que le partenaire déclare importer (flow M), même produit (code HS) et même année.
- Écart absolu = valeur déclarée par le partenaire − valeur déclarée par l'Afrique (USD).
- Écart relatif (%) = écart ÷ valeur du côté le plus grand.
- Seuil paramétrable (20 % par défaut).
- Prix unitaire = valeur ÷ quantité : indice le plus parlant (un prix trop bas signale une possible sous-facturation même si les volumes concordent).
Force de l'approche : elle inverse la charge de la preuve — « vous avez déclaré X, votre client a déclaré Y : expliquez l'écart ».
3. Lire un signal — les 7 familles de constats du moteur
Au-delà de la comparaison export/import, le moteur d'analyse produit 7 familles de constats sur ces
mêmes lignes commerciales, chacune avec sa règle explicite, sa sévérité et sa confiance. Trois familles
méritent d'être regardées en premier : Écart mirror confirmé
(les deux côtés déclarent, l'écart subsiste), Sous-évaluation persistante
(divergence de prix répétée sur ≥ 3 années : un schéma vaut bien plus qu'un écart isolé) et
Divergence de valeur unitaire.
Le tableau ci-dessous est généré depuis la sortie du moteur (fiscal_signals.json,
injecté par sync_guide_signals.py) : libellés, couleurs, méthodes et nombres de constats
sont ceux réellement produits — aucun recopiage manuel susceptible de dériver au prochain recalibrage.
Le nombre affiché est le nombre de constats, pas le nombre de lignes commerciales : un même flux peut
cumuler plusieurs familles, et une famille peut couvrir plusieurs années.
| Famille de constat | Nb | Méthode du moteur | Note du moteur | Portée | Dashboard |
|---|
Écart mirror confirmé mirror_gap_confirmed | 738 | ecart mirror (deux cotes) ; scenarios XL/XM/XU ; seuil de reference 20% (+1 variante) | Afrique sur-declare ses exportations -> flux entrant (inward) · Afrique sous-declare ses exportations -> flux sortant (outward) | filtre le tableau | filtrer → |
Côté manquant (un seul côté) mirror_missing_side | 343 | un seul cote declare (donnee manquante possible, pas une preuve) | Export fantome · Import orphelin | filtre le tableau | filtrer → |
Divergence de valeur unitaire unit_value_divergence | 115 | prix unitaire (USD/kg) Afrique vs partenaire - ratio >= 2 | Ecart de prix, pas de volume | filtre le tableau | filtrer → |
Prix unitaire suspect unit_price_suspect | 44 | prix unitaire hors bornes plausibles (0.02-50 USD/kg) | Qualite de donnee a verifier - PAS un signal de fraude | filtre le tableau | filtrer → |
Sous-évaluation persistante unit_value_persistent | 15 | prix unitaire divergent (>=1.5x) sur >=3 annees | Sous-evaluation persistante | filtre le tableau | filtrer → |
Prix sous référence price_below_benchmark | 287 | prix declare Afrique vs reference annuelle — Copper (+5 variantes) | Comparabilite limitee (grade/forme/incoterm) - signal a verifier | filtre le tableau | filtrer → |
Groupe d'entreprises (GLEIF) corporate_group | 1 | GLEIF ultimate-parent relationships (CC0) | Entités partageant le même parent ultime — signal de concentration, pas une irrégularité | hors lignes (entités GLEIF) | voir les entités → |
Ce qu'il faut lire dans un constat : chaque constat porte une sévérité
(faible / moyenne / élevée), une confiance et une note de portée rédigée par le moteur lui-même —
par exemple « Export fantôme » pour un côté manquant, ou « Qualité de donnée à vérifier — PAS un
signal de fraude » pour un prix hors bornes. Lisez cette note avant d'engager une demande de pièces :
elle dit ce que le constat est et n'est pas.
4. Filtrer par constat dans le Dashboard
Le Dashboard expose ces 7 familles comme des filtres : panneau Filtres → groupe
Signaux du moteur d'analyse, où chaque famille est cochable et affiche le nombre de constats qu'elle
porte. Cocher plusieurs familles filtre en OU : une ligne reste affichée dès qu'elle porte au moins
une des familles cochées, et non toutes — c'est volontaire, on élargit la piste plutôt que de la fermer.
- Partir d'une famille : le lien filtrer → du tableau du §3 ouvre le Dashboard
déjà filtré (l'URL transporte le constat, ?sig=…) — le lien est donc transmissible à un
collègue, à la différence d'un clic non conservé.
- Croiser avec les filtres existants : minerai, pays, partenaire, période et catégorie se cumulent
avec les constats, qui viennent restreindre la sélection courante.
- Lire la colonne Signaux de la page Table : une pastille par famille
présente sur la ligne, avec le détail (sévérité, confiance, note, méthode) au survol. Les listes
d'alertes et les puces de synthèse portent les mêmes pastilles.
- Exporter la sélection : l'export CSV suit le filtre actif et ajoute les colonnes
signaux et nb_signaux, pour rejouer l'analyse hors de l'outil.
- Attendre le bon millésime : la fenêtre Période va jusqu'à la dernière année collectée
(2025), mais l'outil s'arrête par défaut à la dernière année complète (2023) afin de ne pas fausser
les agrégats ; les années plus récentes restent consultables en déplaçant la glissière de fin, en gardant
en tête que la collecte y est partielle.
La 7e famille n'est pas un filtre de lignes.
Groupe d'entreprises (GLEIF) décrit des
entités partageant un même parent ultime, pas des flux commerciaux : elle ne peut donc pas restreindre
le tableau sans lui inventer une correspondance ligne à ligne. Elle est présentée à part, comme
concentration capitalistique à croiser manuellement avec les flux — un groupe commun n'est en soi
ni une irrégularité ni une preuve de lien commercial.
Réflexe d'auditeur : ne demandez jamais de pièces « parce qu'une pastille est rouge ».
Écartez d'abord l'explication ordinaire (fret FOB/CIF, transit, teneur du minerai, année incomplète), puis
retenez le constat qui survit — c'est celui-là qui justifie la demande de documents du §5.
5. Pièces à demander (kit de base par dossier)
- Contrat de vente et avenants (prix, quantité, qualité, incoterm).
- Factures commerciales et notes de débit/crédit correspondantes.
- Documentation de prix de transfert (Local File / Master File, CbCR) et méthode de fixation du prix.
- Certificats d'analyse/qualité (teneur, grade) et rapports de pesée.
- Documents de transport : connaissement, manifeste, documents douaniers d'exportation (déclaration, valeur en douane).
- Justificatifs de paiement (virements, comptes intragroupe) et liste des contreparties liées.
- Identité du bénéficiaire effectif de l'acheteur et chaîne de propriété.
- Licence/concession d'exploitation et état de production déclaré.
Astuce : commencez par la demande la plus « factuelle » (contrat + facture + certificat qualité).
L'écart de prix se démontre par le grade et l'incoterm, pas par un chiffre global.
6. Limites & pièges à connaître
- FOB vs CIF : les exportations sont souvent déclarées FOB et les importations CIF (transport + assurance inclus) → un écart « normal » de 5-15 % peut exister sans fraude.
- Transit / réexportation : un minerai peut transiter par un hub (Émirats, Singapour, Suisse) — l'écart reflète alors la logistique, pas la fiscalité.
- Granularité : un code HS agrège des qualités différentes ; un prix moyen bas peut venir d'un minerai de faible teneur.
- Le « 0 » : un 0 peut être un vrai zéro, une non-déclaration du partenaire, ou une donnée non collectée. D'où le statut non déclaré distinct du statut sous-déclare.
- Décalage temporel : les données sont annuelles et historiques — utiles pour le contrôle a posteriori, pas pour bloquer un départ au cordon.
- Fiabilité des sources : quand le champ de fiabilité n'est pas fourni, l'outil l'affiche n/a plutôt que de supposer.
7. Glossaire express
- Mirror trade : comparaison des déclarations export/import entre deux pays pour un même flux.
- Sous-facturation : valeur déclarée inférieure à la valeur réelle (souvent au prix, pas au volume).
- Prix de transfert : prix pratiqué entre entités d'un même groupe ; encadré par le principe de pleine concurrence (OCDE).
- BEPS 8-10 : actions OCDE sur les actifs incorporels, risques et capital — utiles pour contester redevances et marges.
- EITI 4.3 : exigence de transparence sur le négoce des matières premières (dont le transfer pricing).
- UBO : bénéficiaire effectif — la personne physique qui contrôle réellement une société.
- Constat du moteur : résultat machine rattaché à un flux (pays × partenaire × minerai × année),
porteur d'un type, d'une sévérité, d'une confiance et d'une note de portée. Un constat est une piste,
pas une preuve.
- Sévérité / confiance : la sévérité dit la gravité si le constat est confirmé ; la confiance
dit la qualité de la donnée qui le porte. Les deux doivent être lues ensemble avant d'engager une procédure.
- Filtre en OU : cocher plusieurs constats affiche les lignes portant au moins un d'entre eux.
Cumulé aux autres filtres (pays, minerai, période…), il réduit la sélection au lieu de la segmenter par type.
- Score de risque : indicateur 0-100 explicable (voir §1), à titre de priorisation uniquement.
Rappel final : l'outil hiérarchise les pistes ; la conclusion (redressement, ajustement de prix)
résulte de l'examen contradictoire et des pièces obtenues dans le cadre légal d'enquête.