semt.017 — Securities Balance Custody Report
The periodic statement of securities positions held in custody. Issued by the custodian to the account beneficiary, it's the pivot of EMIR/CSDR regulatory reporting and the institutional portfolio accounting reconciliation.
Purpose and place in the flow
semt.017 is the periodic statement of securities balances held in custody by an account owner (asset manager, fund, institutional manager) at its custodian/account servicer. It's the ISO 20022 equivalent of SWIFT MT535 (Statement of Holdings) which it replaces since 2023 across the Euroclear/Clearstream/DTCC flows.
Typically emitted at end-of-day (frequency DAIL), it lists for each held ISIN: the
settled quantity (SttlmHldgs), outgoing pending deliveries
(PdgDlvry) and incoming pending receives (PdgRct), the
reference price and the valuation. Pivot of the fund valuation cycle: this is the
statement feeding NAV calculation. Also essential for EMIR reporting (collateral used)
and CSDR (settlement discipline regime — fail penalties).
XML structure
semt.017 is wrapped in <Document> then the root element
<SctiesBalCstdyRpt> (Securities Balance Custody Report). Five
structuring blocks:
- Pgntn (Pagination) — Page number + last-page indicator. Large statements are paginated.
- StmtGnlDtls (Statement General Details) — Statement metadata: identifier, type, date, frequency, update type, activity and sub-account indicators.
- AcctOwnr — Account beneficiary (BIC or proprietary identifier).
- SfkpgAcct — Safekeeping account identification.
- BalForAcct — Repeatable block: one entry per held ISIN, with quantities, prices, valuation, and several sub-blocks (total balance, per sub-account if requested).
Key fields
Pgntn/PgNb+Pgntn/LastPgInd— Page number (integer) and boolean indicating the last page. Essential to reassemble a multi-page statement.StmtGnlDtls/RptTp/Cd— Report type:COMP(Complete — all positions, the most frequent),DELT(Delta — only movements since last report).StmtGnlDtls/StmtDtTm/DtTm— Statement datetime (observation cut-off).StmtGnlDtls/Frqcy/Cd— Frequency:DAIL(Daily),WEEK(Weekly),MNTH(Monthly),ADHO(Ad-hoc).StmtGnlDtls/UpdTp/Cd— Update type:COMP(Complete) orDELT(Delta).StmtGnlDtls/ActvtyInd— Boolean indicating whether the account had activity during the period (useful for skip-when-no-activity on the consumer side).AcctOwnr/Id/AnyBIC/AnyBIC— Beneficiary BIC.SfkpgAcct/Id— Safekeeping account identifier.BalForAcct/FinInstrmId/ISIN— Position ISIN.BalForAcct/AggtBal/SttlmHldgs/Qty/Unit— Settled quantity (settled holdings). Decimals possible for funds.BalForAcct/AggtBal/PdgDlvry/Qty/Unit— Pending outgoing delivery quantity (matched but not yet settled).BalForAcct/AggtBal/PdgRct/Qty/Unit— Pending incoming receive quantity.BalForAcct/PricDtls/PricVal/Amt— Reference price withCcy. Feeds downstream valuation.
XML example
Daily custody statement issued by BNP Paribas Securities Services to ACME SARL on 14 May 2026. Two positions: 1,500 Apple shares settled (500 in outgoing pending delivery, 250 in incoming pending receive), and 2,854.7821 Amundi Global Equity fund units.
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:semt.017.001.13">
<SctiesBalCstdyRpt>
<Pgntn>
<PgNb>1</PgNb>
<LastPgInd>true</LastPgInd>
</Pgntn>
<StmtGnlDtls>
<RptNb>
<Lng>STMT-2026-05-14-001</Lng>
</RptNb>
<StmtId>
<Id>BNPP-CUSTODY-20260514-001</Id>
</StmtId>
<RptTp>
<Cd>COMP</Cd>
</RptTp>
<StmtDtTm>
<DtTm>2026-05-14T23:59:59+01:00</DtTm>
</StmtDtTm>
<Frqcy>
<Cd>DAIL</Cd>
</Frqcy>
<UpdTp>
<Cd>COMP</Cd>
</UpdTp>
<ActvtyInd>true</ActvtyInd>
<SubAcctInd>false</SubAcctInd>
</StmtGnlDtls>
<AcctOwnr>
<Id>
<AnyBIC>
<AnyBIC>ACMEFRPP</AnyBIC>
</AnyBIC>
</Id>
</AcctOwnr>
<SfkpgAcct>
<Id>BNPP-SAFE-12345</Id>
<Nm>ACME SARL — Main securities account</Nm>
</SfkpgAcct>
<BalForAcct>
<FinInstrmId>
<ISIN>US0378331005</ISIN>
<Desc>Apple Inc. — Common Stock</Desc>
</FinInstrmId>
<AggtBal>
<SttlmHldgs>
<Qty>
<Unit>1500</Unit>
</Qty>
</SttlmHldgs>
<PdgDlvry>
<Qty>
<Unit>500</Unit>
</Qty>
</PdgDlvry>
<PdgRct>
<Qty>
<Unit>250</Unit>
</Qty>
</PdgRct>
</AggtBal>
<PricDtls>
<PricVal>
<Amt Ccy="USD">175.25</Amt>
</PricVal>
</PricDtls>
</BalForAcct>
<BalForAcct>
<FinInstrmId>
<ISIN>FR0010315770</ISIN>
<Desc>Amundi Funds Global Equity</Desc>
</FinInstrmId>
<AggtBal>
<SttlmHldgs>
<Qty>
<Unit>2854.7821</Unit>
</Qty>
</SttlmHldgs>
</AggtBal>
<PricDtls>
<PricVal>
<Amt Ccy="EUR">99.6531</Amt>
</PricVal>
</PricDtls>
</BalForAcct>
</SctiesBalCstdyRpt>
</Document> Versions
| Version | Published | Usage |
|---|---|---|
semt.017.001.09 | 2017 | SR2017 version. |
semt.017.001.11 | 2019 | T2S alignment. |
semt.017.001.12 | 2022 | Full ISO 20022 EU CSD migration preparation. |
semt.017.001.13 | 2024 | Current version. Settlement discipline regime (CSDR) refinements. |
Common pitfalls
- Confusion
RptTp=COMPvsDELT— a Complete is exhaustive (all positions, even unchanged). A Delta only contains moved positions. Treating a Delta as a Complete erases stable positions on the consumer side. - Ignored pagination — a consumer processing page 1 without waiting for page N on a
LastPgInd=falsestatement has a partial view. Always loop untilLastPgInd=truewith the sameStmtId. - Negative
SttlmHldgsquantities — invalid for a cash account (long-only). A negative position implies short: requires an account permitting short selling, or it's an upstream bug. - Missing or wrong ISIN — ISIN is the matching key on the consumer side.
XS999999999orUNKNOWNISIN breaks every valuation. - Missing price on a non-cash position — without
PricDtls, the consumer can't value. The custodian must supply a reference price (at minimum the last quoted close). StmtDtTminconsistent withFrqcy— a statement announced asDAILbut dated the day before isn't a day's statement. Watch for time-zone offsets on the custodian side (NY cut-off vs Paris).- Sub-account aggregation undocumented — if
SubAcctInd=false, the statement aggregates sub-accounts.true, it details them. Confusing the two doubles positions on the consumer side.
Related messages
- semt.001 — Statement of Investment Fund Transactions. Periodic fund-transaction statement.
- semt.013 — Intra-Position Movement Instruction. Intra-account securities movement (internal reallocation).
- semt.015 — Intra-Balance Movement Instruction. Intra-balance cash movement.
- semt.018 — Securities Transaction Pending Report. Pending-transactions statement.
- sese.023 — Securities Settlement Transaction Instruction: instructions feeding the
PdgDlvryandPdgRctof the statement. - setr.012 — Subscription Bulk Order Confirmation: subscription confirmations increasing
SttlmHldgson the fund side. - SWIFT MT535 — Statement of Holdings. Legacy ancestor on the SWIFT FIN network, replaced by semt.017 on most platforms since 2023.
- camt.053 — Bank-to-Customer Statement: cash counterpart of semt.017 on the treasury side.
See also: the ISO 20022 index.