Files
erp/fleet/profile/decisions/adc-006-km-retainer-currency.md

137 lines
7.1 KiB
Markdown

---
id: adc-006
title: "Retainer KissMetrics : factures libellées en dollars, une facture par part, écarts de change en 766/666"
status: Accepted
decided: 2026-08-24
effective_from: 2026-08-24
effective_until: null
supersedes: null
superseded_by: null
---
# adc-006 — Le retainer KissMetrics se facture en dollars
## Context
Le contrat cadre du 23/04/2026 fixe un prix **en dollars** : 2 500 USD par mois
en part fixe, plus 3 000 USD en part différée à trois mois. Les factures, elles,
étaient libellées **en euros**, pour une contre-valeur figée au taux du jour de
leur émission — le montant dû n'étant arrêté qu'au règlement.
Le client **paie en dollars** ; l'argent **arrive en euros**, Wise convertissant
à la réception puisqu'il ne détient qu'un solde en euros. Les montants reçus
varient donc de 2 147,00 à 2 195,97 € pour une prestation à prix fixe.
La méthode antérieure consistait à faire coïncider la facture avec l'encaissement
— à « matcher » l'un sur l'autre. Elle représente fidèlement ce qui est entré en
banque, et c'est sa qualité : les factures réglées portent au centime près ce qui
a été reçu. Sa limite apparaît sur une facture NON encore réglée : le montant
affiché n'est alors qu'une contre-valeur provisoire, et la note devait l'écrire —
« le montant effectivement dû en euros sera arrêté au taux du jour du règlement ».
Le 24 août 2026, trois factures ont dû être ajustées après coup pour rejoindre le
virement reçu : FAC004 (2 145,92 € portés à 2 147,00), FAC006 (portés à 2 195,97)
et FAC009 (2 140,45 portés à 2 164,75) — 51,13 € d'encaissement qui manquaient
aux livres.
## Decision
**1. Les factures du retainer sont libellées en dollars des États-Unis.** Le
montant porté sur la facture est le montant contractuel — 2 500,00 ou 3 000,00
USD — et non une contre-valeur. La contre-valeur en euros inscrite aux livres
est celle du taux retenu à l'émission ; elle n'a qu'une portée comptable
interne.
**2. Une facture par part, pas une facture à deux lignes.** La part fixe et la
part différée ont des échéances distinctes — net 30 pour l'une, trois mois après
la fin du cycle pour l'autre. Deux échéances sur une même facture ne se relancent
pas séparément et ne se soldent pas séparément. C'est la pratique suivie depuis
M1 ; elle est ici confirmée, pas inaugurée.
**3. Les écarts de change restent régis par adc-002** : le règlement solde la
facture pour son montant restant, et la différence entre la contre-valeur euro
inscrite et les euros réellement reçus va en 766 (gain) ou 666 (perte). Ce qui
était un cas d'exception devient le cas normal, et c'est le but.
**4. Le périmètre du basculement, au 24/08/2026** : les quatre factures alors
**non réglées** — FAC005, FAC007, FAC010, FAC011 — passent en dollars ; aucune
n'avait été transmise au client. Les quatre déjà réglées restent en euros : leur
montant est exactement ce qui a été encaissé, et rien de rapproché avec la
banque ne doit bouger. Chaque facture dit ainsi sa propre vérité.
## Base légale & doctrine
**Une facture peut être libellée dans toute monnaie.** CGI art. 289, II, qui
transpose l'article 230 de la directive 2006/112/CE : seule contrainte, le
montant de **taxe à payer** doit être déterminé en euros. Il n'y a pas de TVA
française ici — autoliquidation par un preneur assujetti établi hors de l'Union
européenne, CGI art. 259, 1° et 283-2, ce que pose déjà [adc-001]. La contrainte
ne s'applique donc pas.
**Les livres restent tenus en euros.** C. com. art. L.123-22 : les documents
comptables sont établis en euros et en langue française. Facture en devise et
comptabilité en euros ne s'opposent pas — ce sont deux objets différents.
**Permanence des méthodes.** [adc-011] impose qu'un changement de méthode soit
daté, motivé et appliqué uniformément ensuite. C'est le cas : le basculement
porte une date, un motif écrit, un périmètre explicite, et vaut pour toute
facture émise à compter du 24/08/2026.
## Alternatives rejected
**Rester en euros avec contre-valeur au règlement** — c'est l'état antérieur, et
il n'est pas absurde : il fait dire à la facture ce qui est réellement entré en
banque. Rejeté pour les factures NON réglées seulement, où il n'a rien à
représenter encore : le montant affiché y est provisoire, et l'ajustement après
coup a coûté trois reprises en une journée.
**Basculer aussi les factures déjà réglées** — rejeté : leur montant en euros
est exactement ce qui a été encaissé et rapproché avec la banque. Le modifier
déplacerait un montant déjà vérifié, sans rien gagner.
**Attendre le cycle M5 pour basculer** — rejeté par l'opérateur : les quatre
factures non réglées partaient le jour même dans le dossier client. Les envoyer
avec un montant euro que leur propre note qualifie d'indicatif aurait figé le
défaut dans les mains du client.
## Consequences
- **Débloque erp#53** (T05, facture client mensuelle) : la méthode est stable,
l'automatisation peut la câbler.
- **Restreint [adc-002] sans l'abroger.** adc-002 pose qu'« une facture validée
n'est jamais ajustée pour raison de change ». Cette règle reste vraie et
devient d'application plus simple : une facture en dollars n'a aucune raison
d'être ajustée, puisque son montant ne dépend d'aucun taux. Il faut cependant
consigner que le 24/08/2026 trois factures **en euros** ont bel et bien été
reprises — ce qu'adc-002 proscrit. L'opérateur l'a arbitré au motif
qu'aucune n'avait été transmise au client, et la présente décision supprime
la situation qui rendait l'arbitrage nécessaire. Voir la trace complète dans
`fleet/harness/runs/2026-08-24-reprise-fac004-fac006/`.
- **Écarts de change plus fréquents** : chaque règlement en produira un. C'est
attendu et sans gravité — 766 et 666 sont faits pour ça.
- **Annexe des comptes** : la méthode de conversion et le changement daté du
24/08/2026 sont à mentionner au titre des règles et méthodes comptables.
## QA & validation
Appliqué le 24/08/2026 par la voie gated, avec répétition sur bac à sable
rafraîchi depuis la production, juge pré-gate, gate motivé et juge post-gate.
Artefacts : `fleet/harness/runs/2026-08-24-facturation-usd/`.
Contrôles passés : la contre-valeur en euros n'a bougé sur aucune des quatre
factures ; les PDF portent « Montants exprimés en Dollars US » et un total de
3 000,00 ; les désignations et le type de ligne (prestation de services) sont
intacts ; juge post-gate PASS sans dérive.
Un piège, consigné dans `test/setInvoiceCurrency.ts` : `PUT /invoices/{id}`
**accepte** `multicurrency_code` et répond 200 **sans rien appliquer**. Seule
l'interface change la devise, et ce changement abîme la ligne — la contre-valeur
euro dérive et doit être rétablie dans le même mouvement.
## References
- erp#53 (T05 facture client) · erp#54 (amorçage du registre).
- [adc-001] autoliquidation CGI 259-1° · [adc-002] écarts de change 766/666 ·
[adc-011] permanence des méthodes.
- Contrat cadre du 23/04/2026 et son avenant ; pro forma PR2607-0001.
- CGI art. 289, II ; directive 2006/112/CE art. 230 ; C. com. art. L.123-22.