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.

semt.002 — Custody Statement of Holdings

The custody-side positions statement. Optimised for reconciliation of safekeeping accounts, it splits each ISIN by sub-compartment (available, blocked, repo…) — the real physical snapshot of held securities.

Purpose and place in the flow

semt.002 is the custody-specialised statement of holdings. Compared to the generic semt.001, it adds:

  • A sub-balance breakdown (SubBalTp): AVAI (available), BLCK (blocked), PEND (pending), RSTR (restricted), COLL (collateral).
  • The account type (SfkpgAcct/Tp): SEGR (segregated), OMNI (omnibus), SUSP (suspense).
  • Custody-specific information: SSI, sub-custodian, account servicer.

It's the reference format for custodian reconciliation engines (Omgeo CTM, SmartStream TLM, Calypso reconciliation). Issued daily (EOD) or streaming per service agreement.

XML structure

  • Id — unique identifier.
  • StmtGnlDtls — metadata.
  • AcctOwnr / SfkpgAcct — owner and account with type.
  • BalForFinInstrm (repeating) — per ISIN, with AggtBal (total) and SubBalTp (sub-balance breakdown).

Key fields

  • SfkpgAcct/Tp/Cd — SEGR (segregated), OMNI (omnibus).
  • BalForFinInstrm/AggtBal/FaceAmt or Qty/Unit — total quantity.
  • BalForFinInstrm/SubBalTp/SubBalQty/SubBalTp/Cd — AVAI, BLCK, PEND, RSTR, COLL.
  • BalForFinInstrm/SubBalTp/SubBalQty/AddtlSubBalInf — narrative (collateral reference, suspense, etc.).

XML example

BNP Paribas custody statement on 31 May 2026. 5M€ OAT 2032 position split: 4.92M€ available, 80k€ blocked for CSA-2024-001 collateral:

xml semt-002-custody.xml
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:semt.002.001.11">
  <CtdyStmtOfHldgs>
    <Id>CST-20260531-BNPP-001</Id>
    <StmtGnlDtls>
      <StmtDtTm>
        <Dt>2026-05-31</Dt>
      </StmtDtTm>
      <RptNb>5</RptNb>
      <StmtUpdTp><Cd>COMP</Cd></StmtUpdTp>
      <ActvtyInd>true</ActvtyInd>
    </StmtGnlDtls>
    <AcctOwnr>
      <Id>
        <AnyBIC><AnyBIC>BNPAFRPP</AnyBIC></AnyBIC>
      </Id>
    </AcctOwnr>
    <SfkpgAcct>
      <Id>BNPPSAFEKEEP-EUR-001</Id>
      <Tp><Cd>SEGR</Cd></Tp>
    </SfkpgAcct>
    <BalForFinInstrm>
      <FinInstrmId>
        <ISIN>FR0014007T87</ISIN>
        <Desc>OAT 0,50% 05/2032</Desc>
      </FinInstrmId>
      <AggtBal>
        <FaceAmt Ccy="EUR">5000000.00</FaceAmt>
      </AggtBal>
      <SubBalTp>
        <SubBalQty>
          <Qty><FaceAmt Ccy="EUR">4920000.00</FaceAmt></Qty>
          <SubBalTp><Cd>AVAI</Cd></SubBalTp>
        </SubBalQty>
        <SubBalQty>
          <Qty><FaceAmt Ccy="EUR">80000.00</FaceAmt></Qty>
          <SubBalTp><Cd>BLCK</Cd></SubBalTp>
          <AddtlSubBalInf>COLLATERAL PLEDGE CSA-2024-001</AddtlSubBalInf>
        </SubBalQty>
      </SubBalTp>
    </BalForFinInstrm>
  </CtdyStmtOfHldgs>
</Document>
  • SfkpgAcct/Tp/Cd = SEGR — segregated account.
  • AggtBal/FaceAmt = 5000000 — total.
  • Two SubBalQty: 4,920,000 AVAI + 80,000 BLCK.
  • AddtlSubBalInf documents the blocking reason.

Common pitfalls

  • Inconsistent SubBalQty — total SubBalQty ≠ AggtBal breaks reconciliation. Always validate the invariant.
  • BLCK without AddtlSubBalInf — context-less blocking prevents investigation. Always document (collateral, settlement, regulator).
  • OMNI account and claims — on an omnibus account, sub-balances may not be attributable to specific beneficiaries. Check the SSI convention.
  • SEGR vs OMNI confusion — SEGR = dedicated account, OMNI = mutualised. Different compliance and MiFID II impacts.
  • Partial pricing — semt.002 may omit prices for some illiquid ISINs. Always check before NAV valuation.
  • semt.001 — generic version.
  • semt.003 — Accounting Statement (accounting view).
  • semt.017 — Securities Balance Custody Report.
  • SWIFT MT: MT535.