FINSTA — Financial Statement of an Account Message (D.96A)
FINSTA est le relevé de compte financier : la banque (ou l'institution financière) transmet à son client la liste des écritures comptabilisées sur un ou plusieurs comptes, sur une période donnée. C'est le pendant du « bank statement » en EDI.
Objet du message
Selon la définition fonctionnelle UN/CEFACT, FINSTA « can be used to cater for various communication functions between financial institutions and their customers. The most frequent function is to provide a statement of booked items confirming entries on a customer's account. The message type may contain several accounts (quoted in the B-level) ». Plusieurs comptes, dates de valeur, dates d'entrée et devises peuvent être spécifiés dans le même message.
Structure segmentaire
FINSTA D.96A est structuré en trois niveaux hiérarchiques selon la spécification UN/CEFACT :
- Niveau A — démarre au segment
UNH, données générales du message (groupes SG1, SG2, SG3, SG7). - Niveau B — démarre au segment
LINdans SG4 : un compte bancaire. - Niveau C — démarre au segment
SEQdans SG6 : une écriture comptabilisée.
Niveau A (header)
Les segments mandataires sont UNH M , BGM M , et DTM M .
Groupes de niveau A :
- SG1 (C, ×1) —
RFF + DTM: référence à une instruction préalable. - SG2 (C, ×5) —
FII + CTA + COM: institution financière qui émet le relevé. - SG3 (C, ×3) —
NAD + CTA + COM: parties (propriétaire du compte, contacts). - SG7 (C, ×5, en fin de message) —
AUT + DTM: authentification (signature électronique de la banque).
Niveau B (par compte)
Le niveau B est SG4 (M, ×9999) — un compte bancaire. Le groupe est obligatoire : un FINSTA doit porter au moins un compte. Composition :
- LIN M
- FII M
- RFF M
- FTX C
- SG5 (M, ×99) —
MOA + DTM: soldes (ouvrant, clôturant, intermédiaire) avec leurs dates de valeur. Le segment MOA est mandataire à l'intérieur.
Niveau C (écriture)
Le niveau C est SG6 (C, ×9999, à l'intérieur de SG4) — une écriture comptabilisée. Particularité : tous les segments du groupe SG6 sont marqués M (mandatory) à l'intérieur du groupe. Composition :
- SEQ M
- RFF M
- DTM M
- BUS M
- MOA M
- FTX C
Au niveau message, le segment CNT C suit immédiatement le dernier SG6. Le message se clôt par UNT M .
Obligatoire / conditionnel
Strictement mandataires dans tout FINSTA D.96A :
UNH,UNT— encadrent le message.BGM— type et numéro du relevé (qualifier 39 = statement of account).DTM— au moins une date dans le header (date du relevé).- SG4 (Niveau B, ×9999) — au moins un compte. À l'intérieur : LIN, FII, RFF sont mandataires.
- SG5 (×99 dans SG4) — au moins un solde (MOA mandataire).
- À l'intérieur de SG6 : SEQ, RFF, DTM, BUS, MOA sont tous mandataires.
Cette particularité — SG6 entièrement mandataire à l'intérieur — est rare dans EDIFACT et reflète le besoin métier : chaque écriture doit obligatoirement porter référence, dates, nature et montant pour être exploitable.
Exemple réel
Relevé hebdomadaire envoyé par une banque (BIC BANKBEBB) à un corporate (ACME SAS), pour un compte avec deux écritures sur la semaine S19 2026 : un virement sortant fournisseur, et un remboursement reçu d'un transporteur.
UNB+UNOC:3+BANKBEBB:25+5410000000123:14+260513:0700+CTRL000500'
UNH+1+FINSTA:D:96A:UN'
BGM+39+STMT-2026-W19+9'
DTM+137:20260510:102'
RFF+ACK:STMT-2026-W19'
DTM+171:20260510:102'
FII+RB+FR7612345678901234567890123::25+BANK NAME:::BANKBEBB'
NAD+OY+5410000000123::9++ACME SAS+12 RUE DES LILAS+PARIS++75011+FR'
LIN+1'
FII+AB+FR7612345678901234567890123::25+BANK NAME'
RFF+ACK:STMT-2026-W19/01'
MOA+343:55780.00:EUR'
DTM+209:20260504:102'
MOA+344:42330.00:EUR'
DTM+209:20260510:102'
SEQ++1'
RFF+CR:INV-2026-7788'
DTM+202:20260505:102'
BUS+39+++ZZZ'
MOA+12:12450.00:EUR'
FTX+SSR+++WIRE TRANSFER OUT TO SUPPLIER GMBH'
SEQ++2'
RFF+CR:CR-2026-0012'
DTM+202:20260508:102'
BUS+39+++ZZZ'
MOA+11:1000.00:EUR'
FTX+SSR+++REFUND FROM CARRIER'
CNT+1:2'
UNT+27+1'
UNZ+1+CTRL000500' BGM+39+STMT-2026-W19+9— qualifier 39 (statement of account), numéro STMT-2026-W19, statut 9 (original).FII+RB— Receiving Bank (qualifier RB = Beneficiary's Bank ou Reporting Bank selon contexte), IBAN + BIC.NAD+OY— Account Owner (qualifier OY).LIN+1— début du niveau B : premier compte.MOA+343:55780.00:EUR— opening balance (qualifier 343),DTM+209= solde au 4 mai.MOA+344= closing balance au 10 mai.SEQ++1— début du niveau C : première écriture.RFF+CR:INV-2026-7788— référence à la facture réglée.BUS+39+++ZZZ— business function 39 (Transfer), code interne ZZZ pour le motif.MOA+12— Debit (qualifier 12 = Cash debit).MOA+11= Cash credit (qualifier 11).CNT+1:2— nombre d'écritures dans le relevé (qualifier 1).UNT+27+1— 27 segments dans le message.
Erreurs fréquentes
- SG6 incomplet — tous les segments de SG6 sont mandataires à l'intérieur du groupe. Omettre BUS ou DTM dans une écriture fait planter les contrôleurs stricts.
- MOA qualifier confondu — 11 = cash credit, 12 = cash debit, 343 = opening balance, 344 = closing balance, 345 = closing book balance. Mélanger ces qualifiers casse la réconciliation comptable.
- IBAN absent en FII — le composite C078 doit porter l'IBAN dans le premier composant. Beaucoup de mappings legacy le placent dans le BIC, ce qui désynchronise les rapprochements.
- Trois niveaux non respectés — placer un SEQ avant un LIN, ou un MOA niveau A là où il devrait être en SG5, brouille la hiérarchie A/B/C ; les parsers stricts (qui suivent la spec) refusent.
- CNT incohérent — le contrôle CNT doit refléter le nombre réel d'écritures (SG6 instanciés). Un écart signale un FINSTA corrompu — la plupart des trésoreries génèrent une alerte automatique sur ce contrôle.
Messages liés
FINSTA s'inscrit dans le cycle Cash Management bancaire :
- PAYORD D.96A — ordre de paiement envoyé en amont.
- CREMUL / DEBMUL — avis de crédit / débit multiples (alternative ou complément à FINSTA).
- BANSTA — Banking Status (réponse de la banque à une instruction).
- APERAK D.96A — rejet applicatif d'une instruction.
- CONTRL D.96A — acquittement syntaxique automatique.
Équivalent JSON
Projection JSON du relevé pour intégration en TMS (Treasury Management System) ou plateforme d'analyse cash :
{
"interchange": {
"controlRef": "CTRL000500",
"from": { "id": "BANKBEBB", "qualifier": "25" },
"to": { "id": "5410000000123", "qualifier": "14" },
"datetime": "2026-05-13T07:00:00Z",
"syntax": { "id": "UNOC", "version": "3" }
},
"message": {
"ref": "1",
"type": "FINSTA",
"version": { "syntax": "D", "release": "96A", "agency": "UN" }
},
"statement": {
"number": "STMT-2026-W19",
"function": "39",
"status": "9",
"documentDate": "2026-05-10",
"bank": { "iban": "FR7612345678901234567890123", "bic": "BANKBEBB" },
"owner": { "gln": "5410000000123", "name": "ACME SAS" },
"accounts": [
{
"ref": 1,
"iban": "FR7612345678901234567890123",
"balances": {
"opening": { "amount": 55780.00, "currency": "EUR", "date": "2026-05-04" },
"closing": { "amount": 42330.00, "currency": "EUR", "date": "2026-05-10" }
},
"entries": [
{
"seq": 1,
"ref": "INV-2026-7788",
"valueDate": "2026-05-05",
"function": "39",
"amount": { "value": 12450.00, "currency": "EUR", "qualifier": "12" },
"narrative": "WIRE TRANSFER OUT TO SUPPLIER GMBH"
},
{
"seq": 2,
"ref": "CR-2026-0012",
"valueDate": "2026-05-08",
"function": "39",
"amount": { "value": 1000.00, "currency": "EUR", "qualifier": "11" },
"narrative": "REFUND FROM CARRIER"
}
],
"totals": { "entryCount": 2 }
}
]
}
}