REMADV — Remittance Advice Message (D.96A)
Le message REMADV — Avis de Règlement — communique entre partenaires commerciaux une comptabilité détaillée d'un paiement ou autre forme de règlement financier des biens et services fournis.
Objet du message
Selon la définition officielle UN/CEFACT, l'Avis de Règlement « est une communication entre partenaires commerciaux — par exemple vendeur, acheteur, institutions financières — qui fournit une comptabilité détaillée relative à un paiement, ou autre forme de règlement financier, pour la fourniture de biens et/ou services telle que détaillée dans l'avis ».
En clair, REMADV explique quels documents sont réglés par un virement ou prélèvement donné, avec les montants, les retenues éventuelles et les ajustements (déductions de notes de crédit, remises commerciales en fin de période, retenues fiscales). Côté comptabilité fournisseur, c'est le message qui permet le lettrage automatique des factures avec le virement entrant.
Structure segmentaire
REMADV D.96A se découpe en trois sections : Header, Detail (groupe SG4 répétable, jusqu'à 9 999 occurrences), et Summary. Chaque SG4 décrit un document réglé (typiquement une facture) avec son montant net après ajustements.
Header
Au niveau du header, les segments mandataires sont : UNH M , BGM M , et DTM M .
Les segments conditionnels du header sont : RFF C , FII C , PAI C , et FTX C .
Suivent les groupes : SG1 NAD (parties — payeur, bénéficiaire, banque
de l'un ou l'autre côté), avec SG2 CTA+COM. Puis SG3 CUX+DTM
pour la devise du règlement.
Detail (documents réglés)
Le Detail est porté par le loop SG4 (jusqu'à 9 999 occurrences), construit autour de : DOC M + MOA M + DTM C + RFF C + NAD C .
Le code DOC[0] qualifie le type de document :
380 facture commerciale, 381 note de crédit, 383
note de débit, 389 facture auto-facturée, etc. Le code MOA[0]
qualifie le type de montant :
12 montant facture payé, 9 montant total à payer,
52 retenue à la source, etc.
Chaque SG4 imbrique : SG5 CUX+DTM (devise spécifique au document si
différente du header), SG6 AJT+MOA+RFF+FTX — Adjustment Details — pour les
ajustements (rabais, remises, escompte, retenues), SG7 INP+FTX — Parties to
Instruction — et le sous-loop SG8 DLI+MOA+PIA+DTM avec son SG9
CUX+DTM et SG10 AJT+MOA+RFF+FTX. SG8 (Document Line
Identification) permet de descendre à la maille ligne de facture quand c'est nécessaire.
Summary
La section Summary contient : UNS M , MOA M , et UNT M .
Le MOA du Summary porte typiquement MOA+9 (montant total payé) — le total
doit correspondre à la somme algébrique des MOA des SG4 (factures positives, avoirs
négatifs).
Obligatoire / conditionnel
Cinq éléments structurels sont strictement mandataires dans tout REMADV D.96A :
UNH— ouvre le message.BGM— précise la fonction (481 = avis de règlement) et le numéro.DTMau header — au moins une date (typiquement DTM+137 date émission et DTM+209 date de valeur).UNS+S— délimite Detail / Summary.MOAau Summary — montant total payé mandataire.
En pratique métier, il faut aussi un NAD+PR (Payer), un NAD+PE
(Payee), une CUX de devise, et au moins un SG4 avec son DOC + MOA. Les
réconciliations automatiques exigent typiquement un RFF+IV (référence
facture) ou un RFF+CD (référence avoir) dans chaque SG4 pour le lettrage.
Exemple réel
Un avis de règlement pour deux documents : une facture de 1 707,45 € moins un avoir de 50 €, soit un virement net de 1 657,45 €.
UNB+UNOC:3+5410000000123:14+5410000000456:14+260610:1100+CTRL000020'
UNH+1+REMADV:D:96A:UN:EAN008'
BGM+481+REMADV-2026-06-10+9'
DTM+137:20260610:102'
DTM+209:20260612:102'
RFF+PQ:WIRE-FR76-2026-06-10'
FII+OR+12345600789::25+SOCIETE GENERALE'
PAI+::1'
NAD+PR+5410000000123::9'
NAD+PE+5410000000456::9'
CUX+2:EUR:4'
DOC+380:INV-2026-0512'
MOA+12:1707.45'
DTM+171:20260512:102'
RFF+IV:INV-2026-0512'
DOC+381:CN-2026-0007'
MOA+12:-50.00'
DTM+171:20260530:102'
RFF+CD:CN-2026-0007'
UNS+S'
MOA+9:1657.45'
UNT+19+1'
UNZ+1+CTRL000020' BGM+481+REMADV-2026-06-10+9— type 481 (avis de règlement), numéro REMADV-2026-06-10, statut 9.DTM+137— date émission.DTM+209— date de valeur (date à laquelle le virement est exécuté).RFF+PQ— référence du paiement (Payment reference number) côté banque.FII+OR— Ordering Bank : la banque du payeur (Société Générale, IBAN tronqué).PAI+::1— Payment Instructions, méthode 1 (cash, dans la nomenclature UN/EDIFACT 4461).NAD+PR/NAD+PE— Payer et Payee.CUX+2:EUR:4— devise de référence du paiement : EUR (code rôle 2 = currency reference, code 4 = invoicing currency).- Deux SG4 : DOC+380 (facture) avec MOA+12:1707.45 puis DOC+381 (avoir) avec MOA+12:-50.00. Chaque doc est référencé via un
RFF+IV(Invoice) ouRFF+CD(Credit note). UNS+S+MOA+9:1657.45— montant total payé.UNT+19+1— 19 segments.
Erreurs fréquentes
- Total MOA+9 incohérent avec la somme des MOA+12 — l'ERP comptabilité fournisseur rejette systématiquement les REMADV où la somme algébrique des montants par document ne correspond pas au montant total. C'est le contrôle de cohérence n°1 sur REMADV.
- Avoir non négatif — un avoir (DOC+381) doit porter un MOA négatif (ex.
MOA+12:-50.00). Beaucoup de générateurs envoient l'avoir en positif et soustraient à la main, ce qui casse le lettrage. - RFF de lettrage absent — sans
RFF+IVdans chaque SG4, la facture ne peut pas être identifiée dans l'ERP du fournisseur. Le DOC[1] (numéro de facture) seul est rarement suffisant si l'acheteur a tronqué le numéro. - Devise oubliée — REMADV exige une CUX au header (ou en SG5 pour un document spécifique). Sans devise, les montants sont ambigus dans un contexte multi-devises.
- FII mal qualifié — l'institution financière doit porter un qualifier :
OROrdering Bank (payeur),BFBeneficiary Bank (bénéficiaire),I1Intermediary. L'omettre rend impossible la cross-check anti-fraude.
Messages liés
REMADV clôt le cycle order-to-cash :
- INVOIC D.96A — la facture réglée, référencée via RFF+IV.
- ORDERS D.96A — la commande d'origine (rarement référencée directement dans REMADV, mais traçabilité possible).
- DESADV D.96A — l'expédition.
- RECADV D.96A — la réception côté acheteur.
- CONTRL D.96A — l'accusé syntaxique automatique.
Équivalent JSON
Projection JSON correspondant à l'exemple ci-dessus. Ce mapping n'est pas normatif : c'est une convention ediverse pour faciliter l'intégration en TypeScript / Python.
{
"interchange": {
"controlRef": "CTRL000020",
"from": { "id": "5410000000123", "qualifier": "14" },
"to": { "id": "5410000000456", "qualifier": "14" },
"datetime": "2026-06-10T11:00:00Z",
"syntax": { "id": "UNOC", "version": "3" }
},
"message": {
"ref": "1",
"type": "REMADV",
"version": { "syntax": "D", "release": "96A", "agency": "UN", "association": "EAN008" }
},
"remittanceAdvice": {
"number": "REMADV-2026-06-10",
"function": "481",
"status": "9",
"issueDate": "2026-06-10",
"valueDate": "2026-06-12",
"paymentReference": "WIRE-FR76-2026-06-10",
"payerBank": { "iban": "12345600789", "qualifier": "25", "name": "SOCIETE GENERALE" },
"paymentMethod": "1",
"parties": {
"payer": { "gln": "5410000000123" },
"payee": { "gln": "5410000000456" }
},
"currency": "EUR",
"documents": [
{ "type": "380", "number": "INV-2026-0512", "amount": 1707.45, "date": "2026-05-12" },
{ "type": "381", "number": "CN-2026-0007", "amount": -50.00, "date": "2026-05-30" }
],
"totals": { "paid": 1657.45 }
}
}