Guide de l'inspecteur Mirror Trade · Corporate Registry · Contrats · FiscalMine

Guide pratique — de la détection à la demande de documents

À 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é)

  1. 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).
  2. 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).
  3. 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.
  4. 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.
  5. Comparer au marché : page Prix réf. (Banque mondiale).
  6. Regarder le contrat : Observatoire des Contrats → clauses à risque.
  7. Identifier l'entreprise : Corporate Registry → LEI, groupe (parent ultime).
  8. Consolider : Cas à vigilance → dossier agrégé + pièces à demander.
  9. 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 constatNbMéthode du moteurNote du moteurPortéeDashboard
Écart mirror confirmé
mirror_gap_confirmed
738ecart 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 tableaufiltrer →
Côté manquant (un seul côté)
mirror_missing_side
343un seul cote declare (donnee manquante possible, pas une preuve)Export fantome · Import orphelinfiltre le tableaufiltrer →
Divergence de valeur unitaire
unit_value_divergence
115prix unitaire (USD/kg) Afrique vs partenaire - ratio >= 2Ecart de prix, pas de volumefiltre le tableaufiltrer →
Prix unitaire suspect
unit_price_suspect
44prix unitaire hors bornes plausibles (0.02-50 USD/kg)Qualite de donnee a verifier - PAS un signal de fraudefiltre le tableaufiltrer →
Sous-évaluation persistante
unit_value_persistent
15prix unitaire divergent (>=1.5x) sur >=3 anneesSous-evaluation persistantefiltre le tableaufiltrer →
Prix sous référence
price_below_benchmark
287prix declare Afrique vs reference annuelle — Copper (+5 variantes)Comparabilite limitee (grade/forme/incoterm) - signal a verifierfiltre le tableaufiltrer →
Groupe d'entreprises (GLEIF)
corporate_group
1GLEIF 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.

  1. 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é.
  2. 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.
  3. 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.
  4. 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.
  5. 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.