semt.002 — Custody Statement of Holdings
Le relevé de positions vu côté custodian. Optimisé pour le rapprochement des comptes en conservation, il ventile chaque ISIN par sous-compartiment (disponible, bloqué, pension…) — la vraie photo physique des titres détenus.
Objet et place dans le flux
semt.002 est le statement of holdings spécialisé custody. Par rapport au générique semt.001, il apporte :
- Une ventilation par sous-balance (SubBalTp) : AVAI (available), BLCK (blocked), PEND (pending), RSTR (restricted), COLL (collateral).
- Le type de compte (SfkpgAcct/Tp) : SEGR (segregated), OMNI (omnibus), SUSP (suspense).
- Des informations spécifiques aux conventions custody : SSI, sous-custodian, account servicer.
C'est le format de référence pour le reconciliation engine custodian (Omgeo CTM, SmartStream TLM, Calypso reconciliation). Émis quotidiennement (EOD) ou en streaming selon l'accord de service.
Structure XML
- Id — identifiant unique.
- StmtGnlDtls — métadonnées.
- AcctOwnr / SfkpgAcct — owner et compte avec son type.
- BalForFinInstrm (répétable) — par ISIN, avec AggtBal (total) et SubBalTp (ventilation par sous-balance).
Champs clés
SfkpgAcct/Tp/Cd— SEGR (segregated), OMNI (omnibus).BalForFinInstrm/AggtBal/FaceAmtouQty/Unit— quantité totale.BalForFinInstrm/SubBalTp/SubBalQty/SubBalTp/Cd— AVAI, BLCK, PEND, RSTR, COLL.BalForFinInstrm/SubBalTp/SubBalQty/AddtlSubBalInf— narrative (référence du collatéral, suspens, etc.).
Exemple XML
Relevé custody BNP Paribas au 31 mai 2026. Position 5M€ d'OAT 2032 ventilée : 4,92M€ disponibles, 80k€ bloqués pour collatéral CSA-2024-001 :
<?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— compte segregated.AggtBal/FaceAmt = 5000000— total.- Deux
SubBalQty: 4 920 000 AVAI + 80 000 BLCK. AddtlSubBalInfdocumente le motif du blocage.
Pièges courants
- SubBalQty incohérent — total SubBalQty ≠ AggtBal casse la réconciliation. Toujours valider l'invariant.
- BLCK sans AddtlSubBalInf — un blocage sans contexte empêche l'investigation. Toujours documenter (collatéral, settlement, regulator).
- OMNI account et claims — sur un compte omnibus, les sous-balances peuvent ne pas être attribuables à des bénéficiaires précis. Vérifier la convention SSI.
- Confusion SEGR vs OMNI — SEGR = compte dédié, OMNI = compte mutualisé. Impacts compliance et MiFID II différents.
- Pricing partiel — semt.002 peut omettre les prix sur certains ISIN illiquides. Toujours vérifier avant valorisation NAV.