Ga naar inhoud

6 Functionele specificaties

In dit hoofdstuk volgen de functionele specificaties:

  • Datadictionary;

  • Basisbericht;

  • Kruisreferentie basisbericht & berichten.

6.1 Datadictionary

De datadictionary geeft een overzicht van alle gebruikte entiteiten en entiteittypen die worden gebruikt binnen deze standaard.

Entity.entitytype
commonTechnical.default
party.sender
party.contact
party.receiver
commonFunctional.default
party.pensionProvider
pension.scheme
financialInformation.reportingPeriod
financialTransaction.payment
party.creditor
financialTransaction.cashflow
financialTransaction.expectedPayment
pension.cohort
pension.cohortPool
investment.pool
investment.portfolio
investment.investmentDetails
investment.corporateAction
financialTransaction.trade
error.default
document.default
chunking.default

6.2 Entiteiten en entiteitstypen

In deze paragraaf zijn de diverse entiteiten en de attributen binnen die entiteiten beschreven.

Hieronder volgt een toelichting op de entiteiten. Deze informatie is ontleend aan AFD 2.0 wat via deze link kan worden geraadpleegd.

Let op: het entiteittype is verplicht.

Entiteit.entiteittype Toelichting
commonTechnical.default Deze entiteit bevat technische details over het verzenden en opslaan van berichten. Het vormt als het ware de basis voor de technische aspecten binnen het berichtensysteem.
party.sender De entiteit "party.sender" verwijst naar de afzender van het bericht.
party.contact De entiteit "party.contact" vertegenwoordigt een contactpersoon binnen een juridische entiteit. Deze contactpersonen kunnen worden benaderd voor verdere informatie over het bericht.
party.receiver Deze entiteit vertegenwoordigt de ontvanger van het bericht.
commonFunctional Binnen deze entiteit bevindt zich domeinspecifieke informatie over de inhoud van het bericht. Het geeft context en betekenis aan de functioneledetails in het bericht.
party.pensioenProvider

Deze entiteit staat voor een pensioenuitvoerder,

Een pensioenuitvoerder is een pensioenfonds, verzekeraar of premiepensioeninstelling (PPI) waar pensioen wordt opgebouwd voor de werknemer door de werkgever.

pension.scheme Deze entiteit is bevat gegevens op het niveau van de pensioenregeling of het pensioenplan of -schema.
financialInformation.reportingPeriod Deze entiteit heeft betrekking op rapportageperiodes, tijdsintervallen waarvoor wordt gerapporteerd en andere generieke datums.
financialTransaction.payment Deze combinatie van entiteit en entiteittype gegevens over een betaling.
party.creditor Deze entiteit vertegenwoordigt de crediteur; de ontvanger van de betalingen, binnen het ecosysteem waarin de berichten worden uitgewisseld.
financialTransaction.cashflow Deze entiteit behandelt financiële transacties met betrekking tot pensioenen, specifiek gericht op kasstromen.
financialTransaction.Payment Deze entiteit bevat informatie over betalingen en toekomstige kasstromen/betalingen.
pension.cohort Deze entiteit bevat informatie over specifieke doelgroepen binnen het pensioenschema.
pension.cohortPool

De gepoolde (verzamelde) combinatie van beleggingspools voor een cohort.) Bij FPR wordt óf individueel belegd (via trades in investments) of wordt gezamenlijk belegd in investmentpools via cohortPools.

In deze entiteit worden de gegevens over het pensioenvermogen en de in- en uitstroom voor een gepoolde (verzamelde) combinatie van beleggingen (beleggingspools) voor een cohort vastgelegd.

In een cohortpool wordt belegd voor een groep deelnemers die op basis van de mate van risico een gelijke beleggingsverdeling kennen.

investment.pool Deze entiteit (beleggingspool) vertegenwoordigt de collecties van uiteenlopende onderliggende beleggingen (liquide, illiquide, fondsen en mandaten).
investment.portfolio Deze entiteit heeft betrekking op beleggingsportefeuilles, die het totaal beheerde vermogen (of een deelvermogen) binnen het collectief weergeven.
investment.investmentdetails Deze entiteit beschrijft individuele beleggingen van een pensioenuitvoerder in aandelen of beleggingsfondsen.
investment.corporateAction Deze entiteit bevat gegevens over corporate-action gebeurtenissen op beleggingsproducten, zoals cash dividend, stockdividend, rebate, unit- en kapitaalverschuivingen en productwijzigingen. Het bericht is bedoeld voor het doorgeven van dergelijke gebeurtenissen vanuit de vermogensbeheerketen aan de PUO.
financialTransaction.trade Deze entiteit heeft betrekking op handelsactiviteiten binnen het pensioenschema.
error In het geval van fouten in het systeem wordt deze entiteit gebruikt om foutmeldingen te genereren en aan te geven wat er precies mis is gegaan.
document Deze entiteit is bedoeld voor het toevoegen van eventuele bijlagen aan berichten.
chunking.default Deze entiteit bevat metadata voor het opsplitsen en samenvoegen van grote berichten in deelberichten (chunking). Indien aanwezig, geeft het aan dat het bericht een deel van een groter logisch bericht is.

6.3 Attributen in entiteiten.entiteitstypen

In de tabellen in deze paragraaf worden de attributen per combinatie van entiteit en entiteitstype beschreven. De beschrijving bevat naast de attribuutnaam een definitie van het attribuut, het datatype van het attribuut, de beoogde maximale lengte van het gegeven en een verwijzing (link) naar een eventuele codelijst.

PM de omschrijving van de attributen in de feedback message kan afwijken van de omschrijving in de inhoudelijke berichten.

De beschrijving van de gebruikte datatypen is te vinden in de manual sivi-all-finance-standard.

Bij het interpreteren van de tabellen hierna is het volgende van belang:

  • Datatype string: In de tabellen hierna wordt bij strings het maximum aantal posities vermeld tenzij wordt verwezen naar een codelijst of een opsomming. In die gevallen is “lengte” leeg.

  • Datatype decimal: heeft in principe maximaal 2 plaatsten achter de “,” (1E-2). Bij afwijking daarvan wordt dat vermeld in de kolom datatype.

De attribuutnamen wijken af van de naamgeving in het consultatiedocument; ze zijn nu – mede – vormgegeven op basis van de AFD 2.0 conventies. In de bijlage 8.4 is de “Vertaaltabel van functionele attributen naar AFD2.0 attributen.

Gebruik van refKey

In de tabellen hieronder komt bij vrijwel elke entiteit het attribuut refKey voor. Dit attribuut dient als unieke identifier van een entiteit. Het doel is dat een entiteit binnen of tussen berichten en bestanden betrouwbaar kan worden herkend en dat ernaar kan worden verwezen — zoals een ISIN een beleggingsinstrument identificeert zonder iets te zeggen over het beleggingsbeleid dat erop van toepassing is.

refKey mag technisch of functioneel herkenbaar zijn, maar er mag geen classificatie, beleggingsbeleid of businesslogica uit worden afgeleid. De inhoudelijke classificatie hoort in de daarvoor bestemde velden (bijvoorbeeld reserveType).

Zie GitHub issue #111.

commonTechnical.default [T1]
Unieke berichtidentificatie
Attribuutnaam Definitie datatype lengte Codelijst
messageIdUnieke berichtidentificatiestring70
creationDateTimeAanmaakdatum en tijd Datetimestamp
testMessageIndicatie testberichtboolean

Uniciteit van messageId

De messageId is altijd uniek over alle berichten heen, ongeacht berichtsoort of periode. Gebruik van de messageId voor het groeperen of bundelen van berichten is niet toegestaan. Eventuele samenhang tussen berichten wordt afgeleid uit inhoudelijke kenmerken, zoals de periode waarop het bericht betrekking heeft.

De enige uitzondering is chunking (§7.6): chunks van hetzelfde logische bericht delen dezelfde messageId.

Zie GitHub issue #108.

party.sender [T2]
Unique reference key assigned to an entity. (NL: Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.)
Attribuutnaam Definitie datatype lengte Codelijst
refKeyUnique reference key assigned to an entity. (NL: Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.)string70
rsinNumberGovernmental identification number for legal entities and associations (RSIN)string9
organizationNameOrganisatie naam van de afzenderstring60
applicationSenderNameNaam van de applicatie die het bericht heeft aangemaakt*string60

* applicationSendername is in AFD 2.0 zowel beschikbaar onder party.sender als onder commonTechnical. Dat blijkt inderdaad niet uit de AFD 2.0 Online raadplegen documentatie (per april 2024). Er is voor gekozen om het attribuut voor VBPUO te plaatsen onder party.sender. ↩︎

party.contact [T3]
Werk emailadres
Attribuutnaam Definitie datatype lengte Codelijst
emailWorkWerk emailadres string60
workPhoneNumberWerk telefoonnummer string60
party.receiver [T4]
Unique reference key assigned to an entity. (NL: Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.)
Attribuutnaam Definitie datatype lengte Codelijst
refKeyUnique reference key assigned to an entity. (NL: Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.)string70
rsinNumberGovernmental identification number for legal entities and associations (RSIN)string9
organizationNameNaam van de ontvanger(s) (organisatie (s))string60
commonFunctional.default [T5]
Message function code. (NL: Code waarmee de functie van het bericht wordt aangegeven.)
Attribuutnaam Definitie datatype lengte Codelijst
functionMessage function code. (NL: Code waarmee de functie van het bericht wordt aangegeven.)stringADNFUN (01; 02;09;54 of 23)
statusTypeStatus of the proccessing of the original message for which the status and/or errors are being sent to the Feedback endpoint. Message statuses are either 'Accepted (8 - Geaccepteerd)' or 'Not Accepted (0 - Afgewezen).stringADNSTS (0; 8)
afdDefinitionNameSoort berichtstring80
afdDefinitionVersionVersie van de standaardstring80
originalMessageIdHet oorspronkelijke messageId van het bericht dat wordt vervangen door dit berichtstring70
originalMessageTypeMessage type of the original request to which this message is a response. (NL: Berichtsoort van het oorspronkelijke bericht waarop dit bericht een response is.). Bijvoorbeeld: 0001a uit “Berichtstructuur 1. Vermogen (0001a)”string0001a; 0001b; 0001c; 00002; 00541; 00542; 00551; 00552a; 00552b; 00553; 00554; 00555a; 00555b; 00556
party.pensionProvider [T6]
ID van het pensioenuitvoerder (PUV-code) / Unique reference key assigned to an entity. (NL: Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.)
Attribuutnaam Definitie datatype lengte Codelijst
puvCodeID van het pensioenuitvoerder (PUV-code) / Unique reference key assigned to an entity. (NL: Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.)stringAFDIDP (U0003; U0005; ... ;U0765)
rsinNumberGovernmental identification number for legal entities and associations (RSIN)string9
organizationNameNaam van de pensioenuitvoerderstring60

Bij APF's met meerdere kringen zijn er twee gangbare scenario's voor het gebruik van PUV-codes. Zie de toelichting bij het basisbericht in §6.4.1.

pension.scheme [T7]
ID van de pensioenregeling / (Unique reference key assigned to an entity. (NL: Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.))
Attribuutnaam Definitie datatype lengte Codelijst
refKeyID van de pensioenregeling / (Unique reference key assigned to an entity. (NL: Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.))string70
pensionSchemeNameNaam van de pensioenregelingstring60
startAmountTotaal pensioenvermogen per startdatumdecimal
tradingPortfolioIdPortefeuille ID van de custodian (bewaren en beheren van financiële activa)string10
financialInformation.reportingPeriod [T8]
Begindatum van de gegevensperiode waarop de aanlevering vanuit de PUO wordt gebaseerd of Peildatum
Attribuutnaam Definitie datatype lengte Codelijst
startDateBegindatum van de gegevensperiode waarop de aanlevering vanuit de PUO wordt gebaseerd of Peildatumdate
endDateEinddatum van de gegevensperiode waarop de aanlevering vanuit de PUO wordt gebaseerddate
mutationValuationDateDatum verwerking mutaties per leeftijdsgroepdate
tradeDateGewenste handelsdatumdate
investmentOrderSettlementDateDatum waarop de volledige cyclus van de beleggingsorder afgewikkeld moet zijndate
projectionDateDatum van de projectie van pensioenuitkeringendate
instructionDateInstructiedatum (datum van de bestelling verzonden door de PUO)date
unitValueEstimationDateGeeft de datum aan waarop de voorlopige unitwaarde (belegginspool) is bepaalddate
participationValuationDatePrijsdatum participatiewaarde (cohortpool)date
valueDateCurrency date. (NL: Valutadatum)date
positionDateDe datum waarop de posities in de beleggingsadministratie zijn vastgestelddate

Datumconventies voor startDate en projectionDate

Om inconsistent gebruik van datums tussen ketenpartijen te voorkomen, hanteert de standaard de volgende conventie:

Veld Bericht Conventie Voorbeeld
startDate Bericht 1 (Vermogen) Laatste dag van de voorgaande maand 31-01-2025
projectionDate Bericht 3 (Pensioenprojectie) Laatste dag van de voorgaande maand 31-01-2025
firstExpectedPaymentDate Bericht 3 (Pensioenprojectie) Eerste dag van de lopende maand 01-02-2025

Deze aanpak biedt duidelijkheid en voorspelbaarheid in de keten. Zie GitHub issue #94.

financialTransaction.payment [T9]
Bedrag in valuta
Attribuutnaam Definitie datatype lengte Codelijst
amountBedrag in valutadecimal
currencyTypeValutastringISOVAL (EUR; USD; …)
collectionAccountIbanIBAN-nummer van debet rekeningstring34
descriptionOmschrijving van de transactie (betaling)string60
refKeyID van de expected paymentstring70
expectedPensionPaymentDatePensioenuitkeringsmomentdate
hedgedExpectedPensionPaymentAmountAf te dekken kasstroom over alle cohortendecimal
Veldlengte `collectionAccountIban` gecorrigeerd van 10 naar 34 (internationale IBAN-maxlengte conform ISO 13616). Zie GitHub issue [#135](https://github.com/Stichting-SIVI/VBPUOdsk/issues/135).
party.creditor [T10]
Unique reference key assigned to an entity. (NL: Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.)
Attribuutnaam Definitie datatype lengte Codelijst
refKeyUnique reference key assigned to an entity. (NL: Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.)string70
collectionAccountIbanIBAN-nummer van credit rekening per regelingstring34
collectionAccountInNameOfNaam van de tegenpartij per regelingstring60
collectionAccountBicBusiness Identifier Code (BIC) per regelingstring10
collectionAccountBicCorrespondentBIC-correspondent per regelingstring10
Veldlengte `collectionAccountIban` gecorrigeerd van 10 naar 34. Zie GitHub issue [#135](https://github.com/Stichting-SIVI/VBPUOdsk/issues/135).
financialTransaction.cashflow [T11]
Som van inleg
Attribuutnaam Definitie datatype lengte Codelijst
contributionAmountSom van inlegdecimal
contributionDateDatum van ontvangst van de inlegdate
withdrawalAmountSom van de uitstroomdecimal
withdrawalDateDatum waarop (uiterlijk) de liquiditeiten ten behoeve van de onttrekking zijn vrijgemaaktdate
netAmountSom van inleg en onttrekkingen per regeling (net). Een negatief bedrag is een (netto) withdrawal. / Verschil tussen inleg en onttrekking. Een negatief bedrag is een (netto) onttrekking.)decimal
netDateDe valutadatum waarop het gesaldeerde netto kasstroombedrag (inleg minus onttrekking) daadwerkelijk door de PUO wordt betaald aan, of ontvangen van, de Vermogensbeheerderdate
netAmountGesaldeerd netto kasstroombedrag per beleggingsportefeuille binnen een regeling. Een negatief bedrag is een netto onttrekking.decimal
netDateDe valutadatum waarop het netto kasstroombedrag per beleggingsportefeuille daadwerkelijk door de PUO wordt betaald aan, of ontvangen van, de Vermogensbeheerderdate

Veldgebruik in financialTransaction.cashflow

In de SPR-context wordt financialTransaction.cashflow direct onder pension.scheme gebruikt; daarbij zijn de bedrag- en datumvelden optioneel. Partijen stemmen onderling af welke bedrag/datum-combinaties zij gebruiken; in het JSON-schema zijn alle velden optioneel. Bij gebruik van de entiteit wordt minimaal één combinatie gevuld.

In de FPR-context wordt de financialTransaction.cashflow entiteit onder investment.portfolio gebruikt en zijn netAmount en netDate verplicht.

pension.cohort [T12]
ID van het cohort
Attribuutnaam Definitie datatype lengte Codelijst
refKeyID van het cohortstring70
descriptionBeschrijving van het cohortstring60
participationStatusStatus van de deelnemers in een cohortstringADNDNS (16; 20; 35; 40; 70; 80)
startAgeStartleeftijd in maandeninteger
endAgeEindleeftijd in maandeninteger
reserveIndicatorIndicatie of het cohort een reserve weerspiegeltboolean
reserveTypeKeuze van het type (reserve feitelijk een) voorziening / type of provision. Bij gedeeld beleggingsbeleid kan worden ingedikt; expliciete code alleen bij separaat beleggingsbeleid.stringAFDRES (1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 99)
reserveDescriptionBeschrijving de reserve bij keuze van "Overige" in reserve type.string60
startAmountPensioenvermogen van het cohort per begindatumdecimal
netAmountSom van inleg en onttrekkingen per cohort. Een negatief bedrag is een (netto) onttrekking.)decimal
netDateDe valutadatum waarop het gesaldeerde netto kasstroombedrag voor het cohort daadwerkelijk door de PUO wordt betaald aan, of ontvangen van, de Vermogensbeheerderdate
contributionAmountInstroom te beleggen door de fiduciair managerdecimal
withdrawalAmountUitstroom te beleggen door de fiduciair managerdecimal
protectionReturnPercentageHet behaalde beschermingsrendement in percentage over gegevensperiode per regeling en per cohortdecimal (1E-12)
excessReturnPercentageHet behaalde overrendement in percentage over gegevensperiode per regeling en per cohort decimal (1E-12)
protectionReturnAmountHet behaalde beschermingsrendement in valuta van de regeling over gegevensperiode per regeling en per cohortdecimal
excessReturnAmountHet behaalde overrendement in valuta van de regeling over gegevensperiode per regeling en per cohortdecimal

Leeftijdscohorten: standaardinrichting

In de standaardinrichting worden jaarlijkse leeftijdscohorten gebruikt. Dit betekent dat tussen twee opeenvolgende startAge-waarden in beginsel een verschil van 12 maanden wordt gehanteerd: startAge is een veelvoud van 12 (0, 12, 24, ...) en endAge = startAge + 11. Kleinere stappen (bijvoorbeeld maandelijks) zijn niet uitgesloten, maar de jaarlijkse indeling geldt als referentiemodel. Zie GitHub issue #111.

Reserves en voorzieningen: rolverdeling van velden

Voor cohorten die een reserve of voorziening vertegenwoordigen (reserveIndicator = true) geldt de volgende rolverdeling:

  • reserveType (codelijst AFDRES) is de inhoudelijke classificatie en de uitsluitende sleutel voor het beleggingsbeleid. Reserves of voorzieningen met een verschillend beleggingsbeleid vereisen een verschillende reserveType-waarde. De codelijst is per release 2027 uitgebreid met codes 9 t/m 15. Bij gedeeld beleggingsbeleid kan worden ingedikt; een expliciete code is alleen nodig bij separaat beleggingsbeleid. Dit geldt voor zowel SPR als FPR. Zie GitHub issue #134.
  • reserveDescription is uitsluitend beschrijvend. De omschrijving kan toelichten of verduidelijken, maar is niet bepalend voor classificatie, routering of beleggingsbeleid.
  • refKey identificeert het cohort uniek (zie de algemene toelichting op refKey hierboven). Meerdere cohorten met hetzelfde reserveType zijn toegestaan, mits zij onder hetzelfde beleggingsbeleid vallen.

Zie GitHub issue #111.

investment.portfolio [T13]
ID Beleggingsportefeuille / Unique reference key assigned to an entity. (NL: Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.)
Attribuutnaam Definitie datatype lengte Codelijst
refKeyID Beleggingsportefeuille / Unique reference key assigned to an entity. (NL: Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.)string70
descriptionBeschrijvingstring60
startExposureAmountDe toedeling van het pensioenvermogen per cohort aan een specifieke investmentportfolio, berekend op basis van de toedelingsregels zoals door de PUO gehanteerd.)decimal
startExposurePercentageHet relatieve aandeel van startExposureAmount ten opzichte van het totale pensioenvermogen per datum.)decimal
startAmountDe waarde van de Total Market Value aan het begin van de gegevensperiodedecimal
netAmountSom van inleg en onttrekkingen per regeling (net). Een negatief bedrag is een (netto) withdrawaldecimal
endAmountDe waarde van de Total Market Value aan het eind van de gegevensperiode. Per regeling en beleggingsportefeuilledecimal
returnPercentageHet behaalde rendement in percentage over gegevensperiode per regeling en per beleggingsportefeuilledecimal (1E-12)
returnAmountHet behaalde rendement in valuta van de regeling over gegevensperiode per regeling en per beleggingsportefeuilledecimal
pension.cohortPool [T14]
ID van de cohortpool
Attribuutnaam Definitie datatype lengte Codelijst
refKeyID van de cohortpoolstring70
cohortRefGeeft aan op welk cohort in de regeling de cohortpool-gegevens betrekking hebbenstring70
descriptionBeschrijvingstring60
currencyTypeValuta van de cohortgegevensstringISOVAL (EUR; USD; …)
inflowPremiumAmountPremie-inleg per cohortpool per regelingdecimal
inflowRebalanceAmountGeldbedrag van rebalance transacties per cohortpool per regelingdecimal
numberOfNewParticipationsNieuwe uit te geven participaties in cohortpool per regeling (instroom)decimal (1E-06)
numberOfParticipationsAantal uitstaande units (participaties) in de Cohortpooldecimal (1E-06)
numberOfRebalanceParticipationsRebalance participaties per cohortpool per regeling (bij overgang van een cohortpool naar een ander cohort)decimal (1E-06)
participationsSummedValueAmountWaarde per cohortpool (som participatiewaarde) per participationValuationDatedecimal
investment.pool [T15]
Beleggingspool / beleggingsportefeuille
Attribuutnaam Definitie datatype lengte Codelijst
refKeyID van de beleggingspool per regelingstring70
descriptionBeschrijvingstring60
unitsSummedValueAmountWaarde per beleggingspool(unitwaarde)decimal
preliminaryUnitValueAmountDe door de beleggingsadministrateur vastgestelde netto vermogenswaarde (NAV) per unit van de beleggingspooldecimal (1E-06)
numberOfUnitsAantal units uitgegeven voor de beleggingspool, decimal (1E-06)
currencyTypeValuta van de poolstringISOVAL (EUR; USD; …)
buySellIdAan- verkoopindicator; ID voor aan-/verkoop per beleggingspool per regeling per cohortstringsell, buy
tradeValueAmountWaarde transactie per beleggingspool per regeling (gesommeerd over cohorten)decimal
`marketValueAmount` is per release 2027 uit de standaard verwijderd; de netto vermogenswaarde wordt uitsluitend via `preliminaryUnitValueAmount` uitgedrukt. De veldnaam `preliminary` is historisch gegroeid en wordt in een toekomstige release opgeschoond. Zie GitHub issue [#128](https://github.com/Stichting-SIVI/VBPUOdsk/issues/128).
investment.investmentDetails [T16]
Identifier (bijvoorbeeld ISIN of interne code)
Attribuutnaam Definitie datatype lengte Codelijst
refKeyIdentifier (bijvoorbeeld ISIN of interne code)string70
descriptionDe naam van de belegging / de officiële naam van het fonds / van het instrumentstring60
currencyTypeValuta van het instrument stringISOVAL (EUR; USD; …)
numberOfUnitsAantal aangekochte units per instrument per regeling per beleggingsportefeuilledecimal (1E-06)
numberOfHoldingsAantal holdings per instrument per regeling per beleggingsportefeuilledecimal (1E-06)
localPricePrijs per instrument in originele valuta per regeling per beleggingsportefeuilledecimal (1E-06)
localValueAmountTotale marktwaarde in originele valuta per instrument per regeling per beleggingsportefeuille[1]decimal
resultOngerealiseerd resultaat per instrument per regeling per beleggingsportefeuilledecimal
accruedInterestOpgelopen rente per instrument per regeling per beleggingsportefeuilledecimal
poolPercentageGewicht in de portefeuille per instrument per regeling per beleggingsportefeuille[2]decimal
currencyExchangeRateFX rates per instrument per regeling per beleggingsportefeuille / koers per positionDatedecimal
tradeDatehandelsdatum (beoogd)date
investment.corporateAction [T17]
Sleutel van de Corporate Action.
Attribuutnaam Definitie datatype lengte Codelijst
refKeySleutel van de Corporate Action.string70
descriptionOmschrijving van de Corporate Action.string60
corporateActionTypeType Corporate Action.stringAFDCAE (cashDividend; productChange; rebate; stockDividend)
instructionDateInstructiedatum van de Corporate Action.date
tradeDateTransactiedatum van de Corporate Action.date
paymentDateBetaaldatum van de Corporate Action.date
cashDividendTotalAmountTotaal contant bedrag van de Corporate Action.decimal
cashDividendPerUnitAmountContant bedrag per eenheid.decimal
currencyTypeValuta van het contante bedrag.string3ISOVAL (EUR; USD; GBP; CHF; JPY)
stockDividendPerUnitNumberAantal stockdividend per eenheid.decimal
stockDividendTotalNumberTotaal aantal stockdividend.decimal
newProductNameNaam van het nieuwe product.string60
newProductIdentifierIdentificatie van het nieuwe product.string60
financialTransaction.trade [T18]
handelsdatum (feitelijk)
Attribuutnaam Definitie datatype lengte Codelijst
tradeDatehandelsdatum (feitelijk)date
refKeyUnique reference key assigned to an entity. (NL: Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.)string70
adjustmentIndicatorAangepaste trade instructieboolean
buySellIdAan-, verkoop- of switchrichtingindicatorstringsell; buy; switchfrom; switchto
tradeAmountPositief bedrag van de transactie in de valuta waarin de belegging luidt; richting volgt uit buySellIddecimal
tradeQuantityPositief aantal te verhandelen stukken (units) van de transactie; richting volgt uit buySellIddecimal (1E-06)
tradePriceAankoopprijs / koersdecimal (1E-06)
switchTypeType switch; one-day of sequentialstringAFDSWI (sequential; one-day)
financialInformationRefVerwijs hier bij switchfrom/switchto naar de refKey van de andere switch-leg ten behoeve van verbandscontrole.array
counterpartyTransfer Agent; de partij die de aankoop/verkoop verrichtstring70
brokerEffectenmakelaar die beleggingsorders uitvoert namens klanten op de marktstring70
interestAmountBedrag aan van toepassing zijnde rentedecimal
commissionAmountVergoeding voor het uitvoeren van de transactiedecimal
clearingBrokerEffectenmakelaar verantwoordelijk administratieve en financiële afwikkeling van de transactiestring70
clearingBrokerCashAccountGeldrekening (IBAN) bij de clearingbroker op naam van de Pensioenuitvoerderstring18
error.default [Te]
Error message. (NL: Foutmelding)
Attribuutnaam Definitie datatype lengte Codelijst
refKeyUnique reference key assigned to an entity. (NL: Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.)string70
errorCodeError code type. (NL: Soort foutmelding code.)stringADNFTM (09; 11; 12; 13; 14; 99)
errorCodeExplanationExplanation of the error message. (NL: Toelichting op de soort foutmelding.)string1000

Zie ook de informatie over de error.default in de SIVI All Finance Standard

document.default [T19]
Unique reference key assigned to an entity. (NL: Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.)
Attribuutnaam Definitie datatype lengte Codelijst
refKeyUnique reference key assigned to an entity. (NL: Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.)string70
fileNameName of the file under which the attachment can be saved. (NL: Naam van het bestand waaronder de bijlage kan worden opgeslagen.)string60
fileExtensionExtension of the file under which the attachment can be saved. For example "pdf", "doc", etc. (NL: Extensienaam van het bestand waaronder de bijlage kan worden opgeslagen. Bijvoorbeeld "PDF", "DOC", etc.)stringpdf; csv; txt
chunking.default [T20]
Unique reference (id) of the current chunk. (NL: Unieke referentie van de huidige chunk.)
Attribuutnaam Definitie datatype lengte Codelijst
currentChunkIdUnique reference (id) of the current chunk. (NL: Unieke referentie van de huidige chunk.)string70
chunkSequenceNumberSequence number of the current chunk. (NL: Volgnummer van de huidige chunk.)integer
totalNumberOfChunksTotal number of chunks the message has been split into. (NL: Totale aantal chunks waarin het bericht is opgesplitst.)integer
chunkFragmentPathsArray of JMESPath references to the message fragments used within the current chunk. (NL: Array van JMESPath-verwijzingen naar de berichtdelen die gebruikt zijn binnen deze chunk.)array

6.3.1 Verbandscontroles cashflowbericht (0001b)

Structuurregel: SPR-route en FPR-route zijn wederzijds uitsluitend

Per pension.scheme geldt exact één cashflowpatroon:

  • SPR-route — de cashflow wordt direct onder pension.scheme opgenomen als financialTransaction.cashflow, met optionele uitsplitsing via pension.cohort.
  • FPR-route — de cashflow wordt opgenomen per beleggingsportefeuille via pension.scheme → investment.portfolio → financialTransaction.cashflow.

Binnen één pension.scheme gelden de volgende uitsluitingsregels:

  • Aanwezigheid van investment.portfoliofinancialTransaction.cashflow wordt niet direct onder pension.scheme gevuld.
  • Aanwezigheid van pension.cohortinvestment.portfolio mag niet worden gebruikt.

Deze regel is een formele verbandscontrole: een bericht dat beide routes combineert of geen van beide toepast, is niet geldig.

Somcontroles bij cohortuitsplitsing (SPR-route)

Wanneer in de SPR-route pension.cohort wordt gebruikt als uitsplitsing van de cashflow op regelingniveau, moeten de detailbedragen aansluiten op het totaal. Dit is een reconciliatiecontrole: de controle dat de som van de afzonderlijke cohortbedragen overeenkomt met het eerder opgegeven bedrag op cohort-regelingniveau — ofwel, de onderdelen tellen op tot het geheel.

  • scheme.netAmount = som(cohort.netAmount)
  • scheme.contributionAmount = som(cohort.contributionAmount)
  • scheme.withdrawalAmount = som(cohort.withdrawalAmount)

Deze somcontroles zijn van toepassing op de SPR-route en niet automatisch op de FPR-route. In het FPR-model worden cashflows per beleggingsportefeuille vastgelegd zonder een hiërarchie van scheme- naar cohortniveau; de somrelatie is daar niet definieerbaar. Pas deze controles uitsluitend toe wanneer totalen en onderliggende uitsplitsingen gelijktijdig aanwezig zijn.

Open punt (AOS)

De formele verwerking van M002-0001b-001 in SIVI AOS is nog niet afgerond. De verbandscontroles zijn functioneel vastgesteld; de technische borging volgt in een separate stap.