ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

FINSTA — Financial Statement of an Account Message (D.96A)

FINSTA is the EDI bank statement: a financial institution sends its customer the list of booked entries on one or more accounts over a given period. It is the EDIFACT counterpart of the bank statement.

Purpose

Per the UN/CEFACT functional definition, 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)". Several accounts, value dates, entry dates and currencies may be specified in a single message.

Segment structure

FINSTA D.96A is structured in three hierarchical levels per the UN/CEFACT specification:

  • Level A — starts at UNH, general message data (groups SG1, SG2, SG3, SG7).
  • Level B — starts at the LIN segment in SG4: one bank account.
  • Level C — starts at the SEQ segment in SG6: one booked entry.

Level A (header)

Mandatory header segments: UNH M , BGM M , and DTM M .

Level-A groups:

  • SG1 (C, ×1) — RFF + DTM: reference to a prior instruction.
  • SG2 (C, ×5) — FII + CTA + COM: financial institution issuing the statement.
  • SG3 (C, ×3) — NAD + CTA + COM: parties (account owner, contacts).
  • SG7 (C, ×5, end of message) — AUT + DTM: authentication (bank's electronic signature).

Level B (per account)

Level B is SG4 (M, ×9999) — one bank account. The group is mandatory: a FINSTA must carry at least one account. Composition:

  • LIN M
  • FII M
  • RFF M
  • FTX C
  • SG5 (M, ×99) — MOA + DTM: balances (opening, closing, intermediate) with value dates. MOA is mandatory inside.

Level C (entry)

Level C is SG6 (C, ×9999, inside SG4) — one booked entry. Note: all SG6 segments are marked M (mandatory) within the group. Composition:

  • SEQ M
  • RFF M
  • DTM M
  • BUS M
  • MOA M
  • FTX C

At the message level, CNT C follows the last SG6. The message closes with UNT M .

Mandatory / conditional

Strictly mandatory in every FINSTA D.96A:

  • UNH, UNT — frame the message.
  • BGM — statement type and number (qualifier 39 = statement of account).
  • DTM — at least one header date (statement date).
  • SG4 (Level B, ×9999) — at least one account. Inside: LIN, FII, RFF are mandatory.
  • SG5 (×99 in SG4) — at least one balance (MOA mandatory).
  • Inside SG6: SEQ, RFF, DTM, BUS, MOA are all mandatory.

This particularity — SG6 fully mandatory inside — is rare in EDIFACT and reflects the business need: every entry must carry reference, dates, function and amount to be actionable.

Real-world example

Weekly statement sent by a bank (BIC BANKBEBB) to a corporate (ACME SAS), for one account with two entries in week W19 2026: an outgoing supplier wire and an incoming carrier refund.

edifact finsta-d96a-example.edi
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), number STMT-2026-W19, status 9 (Original).
  • FII+RB — Receiving Bank (qualifier RB = Beneficiary's Bank / Reporting Bank depending on context), IBAN + BIC.
  • NAD+OY — Account Owner (qualifier OY).
  • LIN+1 — Level B starts: first account.
  • MOA+343:55780.00:EUR — opening balance (qualifier 343), DTM+209 = balance on 4 May. MOA+344 = closing balance on 10 May.
  • SEQ++1 — Level C starts: first entry.
  • RFF+CR:INV-2026-7788 — reference to the settled invoice.
  • BUS+39+++ZZZ — business function 39 (Transfer), internal code ZZZ for the reason.
  • MOA+12 — Debit (qualifier 12 = Cash debit). MOA+11 = Cash credit (qualifier 11).
  • CNT+1:2 — number of entries in the statement (qualifier 1).
  • UNT+27+1 — 27 segments in the message.

Common errors

  • Incomplete SG6 — every SG6 segment is mandatory inside the group. Omitting BUS or DTM in an entry trips strict validators.
  • MOA qualifier confusion — 11 = cash credit, 12 = cash debit, 343 = opening balance, 344 = closing balance, 345 = closing book balance. Mixing these breaks accounting reconciliation.
  • Missing IBAN in FII — composite C078 must carry the IBAN in its first component. Many legacy mappings put it in the BIC slot, desynchronising reconciliation.
  • Three-level hierarchy ignored — placing a SEQ before a LIN, or a level-A MOA where it should live in SG5, breaks the A/B/C hierarchy; strict (spec-compliant) parsers reject.
  • Inconsistent CNT — the CNT control must match the actual entry count (instantiated SG6). A mismatch signals a corrupt FINSTA — most treasuries fire an automatic alert on that control.

FINSTA sits in the bank cash-management cycle:

  • PAYORD D.96A — upstream payment order.
  • CREMUL / DEBMUL — multiple credit / debit advices (alternative or complement to FINSTA).
  • BANSTA — Banking Status (bank's reply to an instruction).
  • APERAK D.96A — application rejection of an instruction.
  • CONTRL D.96A — automatic syntactic acknowledgment.

JSON equivalent

JSON projection of the statement for integration in a TMS (Treasury Management System) or cash analytics platform:

json finsta-d96a-equivalent.json
{
  "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 }
      }
    ]
  }
}