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.
| Attribuutnaam | Definitie | datatype | lengte | Codelijst |
|---|---|---|---|---|
| messageId | Unieke berichtidentificatie | string | 70 | |
| creationDateTime | Aanmaakdatum en tijd Date | timestamp | ||
| testMessage | Indicatie testbericht | boolean |
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.
| Attribuutnaam | Definitie | datatype | lengte | Codelijst |
|---|---|---|---|---|
| refKey | Unique reference key assigned to an entity. (NL: Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.) | string | 70 | |
| rsinNumber | Governmental identification number for legal entities and associations (RSIN) | string | 9 | |
| organizationName | Organisatie naam van de afzender | string | 60 | |
| applicationSenderName | Naam van de applicatie die het bericht heeft aangemaakt* | string | 60 |
* 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. ↩︎
| Attribuutnaam | Definitie | datatype | lengte | Codelijst |
|---|---|---|---|---|
| emailWork | Werk emailadres | string | 60 | |
| workPhoneNumber | Werk telefoonnummer | string | 60 |
| Attribuutnaam | Definitie | datatype | lengte | Codelijst |
|---|---|---|---|---|
| refKey | Unique reference key assigned to an entity. (NL: Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.) | string | 70 | |
| rsinNumber | Governmental identification number for legal entities and associations (RSIN) | string | 9 | |
| organizationName | Naam van de ontvanger(s) (organisatie (s)) | string | 60 |
| Attribuutnaam | Definitie | datatype | lengte | Codelijst |
|---|---|---|---|---|
| function | Message function code. (NL: Code waarmee de functie van het bericht wordt aangegeven.) | string | ADNFUN (01; 02;09;54 of 23) | |
| statusType | Status 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). | string | ADNSTS (0; 8) | |
| afdDefinitionName | Soort bericht | string | 80 | |
| afdDefinitionVersion | Versie van de standaard | string | 80 | |
| originalMessageId | Het oorspronkelijke messageId van het bericht dat wordt vervangen door dit bericht | string | 70 | |
| originalMessageType | Message 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)” | string | 0001a; 0001b; 0001c; 00002; 00541; 00542; 00551; 00552a; 00552b; 00553; 00554; 00555a; 00555b; 00556 |
| Attribuutnaam | Definitie | datatype | lengte | Codelijst |
|---|---|---|---|---|
| puvCode | 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.) | string | AFDIDP (U0003; U0005; ... ;U0765) | |
| rsinNumber | Governmental identification number for legal entities and associations (RSIN) | string | 9 | |
| organizationName | Naam van de pensioenuitvoerder | string | 60 |
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.
| Attribuutnaam | Definitie | datatype | lengte | Codelijst |
|---|---|---|---|---|
| refKey | ID van de pensioenregeling / (Unique reference key assigned to an entity. (NL: Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.)) | string | 70 | |
| pensionSchemeName | Naam van de pensioenregeling | string | 60 | |
| startAmount | Totaal pensioenvermogen per startdatum | decimal | ||
| tradingPortfolioId | Portefeuille ID van de custodian (bewaren en beheren van financiële activa) | string | 10 |
| Attribuutnaam | Definitie | datatype | lengte | Codelijst |
|---|---|---|---|---|
| startDate | Begindatum van de gegevensperiode waarop de aanlevering vanuit de PUO wordt gebaseerd of Peildatum | date | ||
| endDate | Einddatum van de gegevensperiode waarop de aanlevering vanuit de PUO wordt gebaseerd | date | ||
| mutationValuationDate | Datum verwerking mutaties per leeftijdsgroep | date | ||
| tradeDate | Gewenste handelsdatum | date | ||
| investmentOrderSettlementDate | Datum waarop de volledige cyclus van de beleggingsorder afgewikkeld moet zijn | date | ||
| projectionDate | Datum van de projectie van pensioenuitkeringen | date | ||
| instructionDate | Instructiedatum (datum van de bestelling verzonden door de PUO) | date | ||
| unitValueEstimationDate | Geeft de datum aan waarop de voorlopige unitwaarde (belegginspool) is bepaald | date | ||
| participationValuationDate | Prijsdatum participatiewaarde (cohortpool) | date | ||
| valueDate | Currency date. (NL: Valutadatum) | date | ||
| positionDate | De datum waarop de posities in de beleggingsadministratie zijn vastgesteld | date |
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.
| Attribuutnaam | Definitie | datatype | lengte | Codelijst |
|---|---|---|---|---|
| amount | Bedrag in valuta | decimal | ||
| currencyType | Valuta | string | ISOVAL (EUR; USD; …) | |
| collectionAccountIban | IBAN-nummer van debet rekening | string | 34 | |
| description | Omschrijving van de transactie (betaling) | string | 60 | |
| refKey | ID van de expected payment | string | 70 | |
| expectedPensionPaymentDate | Pensioenuitkeringsmoment | date | ||
| hedgedExpectedPensionPaymentAmount | Af te dekken kasstroom over alle cohorten | decimal |
| Attribuutnaam | Definitie | datatype | lengte | Codelijst |
|---|---|---|---|---|
| refKey | Unique reference key assigned to an entity. (NL: Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.) | string | 70 | |
| collectionAccountIban | IBAN-nummer van credit rekening per regeling | string | 34 | |
| collectionAccountInNameOf | Naam van de tegenpartij per regeling | string | 60 | |
| collectionAccountBic | Business Identifier Code (BIC) per regeling | string | 10 | |
| collectionAccountBicCorrespondent | BIC-correspondent per regeling | string | 10 |
| Attribuutnaam | Definitie | datatype | lengte | Codelijst |
|---|---|---|---|---|
| contributionAmount | Som van inleg | decimal | ||
| contributionDate | Datum van ontvangst van de inleg | date | ||
| withdrawalAmount | Som van de uitstroom | decimal | ||
| withdrawalDate | Datum waarop (uiterlijk) de liquiditeiten ten behoeve van de onttrekking zijn vrijgemaakt | date | ||
| netAmount | Som 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 | ||
| netDate | De valutadatum waarop het gesaldeerde netto kasstroombedrag (inleg minus onttrekking) daadwerkelijk door de PUO wordt betaald aan, of ontvangen van, de Vermogensbeheerder | date | ||
| netAmount | Gesaldeerd netto kasstroombedrag per beleggingsportefeuille binnen een regeling. Een negatief bedrag is een netto onttrekking. | decimal | ||
| netDate | De valutadatum waarop het netto kasstroombedrag per beleggingsportefeuille daadwerkelijk door de PUO wordt betaald aan, of ontvangen van, de Vermogensbeheerder | date |
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.
| Attribuutnaam | Definitie | datatype | lengte | Codelijst |
|---|---|---|---|---|
| refKey | ID van het cohort | string | 70 | |
| description | Beschrijving van het cohort | string | 60 | |
| participationStatus | Status van de deelnemers in een cohort | string | ADNDNS (16; 20; 35; 40; 70; 80) | |
| startAge | Startleeftijd in maanden | integer | ||
| endAge | Eindleeftijd in maanden | integer | ||
| reserveIndicator | Indicatie of het cohort een reserve weerspiegelt | boolean | ||
| reserveType | Keuze van het type (reserve feitelijk een) voorziening / type of provision. Bij gedeeld beleggingsbeleid kan worden ingedikt; expliciete code alleen bij separaat beleggingsbeleid. | string | AFDRES (1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 99) | |
| reserveDescription | Beschrijving de reserve bij keuze van "Overige" in reserve type. | string | 60 | |
| startAmount | Pensioenvermogen van het cohort per begindatum | decimal | ||
| netAmount | Som van inleg en onttrekkingen per cohort. Een negatief bedrag is een (netto) onttrekking.) | decimal | ||
| netDate | De valutadatum waarop het gesaldeerde netto kasstroombedrag voor het cohort daadwerkelijk door de PUO wordt betaald aan, of ontvangen van, de Vermogensbeheerder | date | ||
| contributionAmount | Instroom te beleggen door de fiduciair manager | decimal | ||
| withdrawalAmount | Uitstroom te beleggen door de fiduciair manager | decimal | ||
| protectionReturnPercentage | Het behaalde beschermingsrendement in percentage over gegevensperiode per regeling en per cohort | decimal (1E-12) | ||
| excessReturnPercentage | Het behaalde overrendement in percentage over gegevensperiode per regeling en per cohort | decimal (1E-12) | ||
| protectionReturnAmount | Het behaalde beschermingsrendement in valuta van de regeling over gegevensperiode per regeling en per cohort | decimal | ||
| excessReturnAmount | Het behaalde overrendement in valuta van de regeling over gegevensperiode per regeling en per cohort | decimal |
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 verschillendereserveType-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.reserveDescriptionis uitsluitend beschrijvend. De omschrijving kan toelichten of verduidelijken, maar is niet bepalend voor classificatie, routering of beleggingsbeleid.refKeyidentificeert het cohort uniek (zie de algemene toelichting oprefKeyhierboven). Meerdere cohorten met hetzelfdereserveTypezijn toegestaan, mits zij onder hetzelfde beleggingsbeleid vallen.
Zie GitHub issue #111.
| Attribuutnaam | Definitie | datatype | lengte | Codelijst |
|---|---|---|---|---|
| refKey | ID Beleggingsportefeuille / Unique reference key assigned to an entity. (NL: Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.) | string | 70 | |
| description | Beschrijving | string | 60 | |
| startExposureAmount | De toedeling van het pensioenvermogen per cohort aan een specifieke investmentportfolio, berekend op basis van de toedelingsregels zoals door de PUO gehanteerd.) | decimal | ||
| startExposurePercentage | Het relatieve aandeel van startExposureAmount ten opzichte van het totale pensioenvermogen per datum.) | decimal | ||
| startAmount | De waarde van de Total Market Value aan het begin van de gegevensperiode | decimal | ||
| netAmount | Som van inleg en onttrekkingen per regeling (net). Een negatief bedrag is een (netto) withdrawal | decimal | ||
| endAmount | De waarde van de Total Market Value aan het eind van de gegevensperiode. Per regeling en beleggingsportefeuille | decimal | ||
| returnPercentage | Het behaalde rendement in percentage over gegevensperiode per regeling en per beleggingsportefeuille | decimal (1E-12) | ||
| returnAmount | Het behaalde rendement in valuta van de regeling over gegevensperiode per regeling en per beleggingsportefeuille | decimal |
| Attribuutnaam | Definitie | datatype | lengte | Codelijst |
|---|---|---|---|---|
| refKey | ID van de cohortpool | string | 70 | |
| cohortRef | Geeft aan op welk cohort in de regeling de cohortpool-gegevens betrekking hebben | string | 70 | |
| description | Beschrijving | string | 60 | |
| currencyType | Valuta van de cohortgegevens | string | ISOVAL (EUR; USD; …) | |
| inflowPremiumAmount | Premie-inleg per cohortpool per regeling | decimal | ||
| inflowRebalanceAmount | Geldbedrag van rebalance transacties per cohortpool per regeling | decimal | ||
| numberOfNewParticipations | Nieuwe uit te geven participaties in cohortpool per regeling (instroom) | decimal (1E-06) | ||
| numberOfParticipations | Aantal uitstaande units (participaties) in de Cohortpool | decimal (1E-06) | ||
| numberOfRebalanceParticipations | Rebalance participaties per cohortpool per regeling (bij overgang van een cohortpool naar een ander cohort) | decimal (1E-06) | ||
| participationsSummedValueAmount | Waarde per cohortpool (som participatiewaarde) per participationValuationDate | decimal |
| Attribuutnaam | Definitie | datatype | lengte | Codelijst |
|---|---|---|---|---|
| refKey | ID van de beleggingspool per regeling | string | 70 | |
| description | Beschrijving | string | 60 | |
| unitsSummedValueAmount | Waarde per beleggingspool(unitwaarde) | decimal | ||
| preliminaryUnitValueAmount | De door de beleggingsadministrateur vastgestelde netto vermogenswaarde (NAV) per unit van de beleggingspool | decimal (1E-06) | ||
| numberOfUnits | Aantal units uitgegeven voor de beleggingspool, | decimal (1E-06) | ||
| currencyType | Valuta van de pool | string | ISOVAL (EUR; USD; …) | |
| buySellId | Aan- verkoopindicator; ID voor aan-/verkoop per beleggingspool per regeling per cohort | string | sell, buy | |
| tradeValueAmount | Waarde transactie per beleggingspool per regeling (gesommeerd over cohorten) | decimal |
| Attribuutnaam | Definitie | datatype | lengte | Codelijst |
|---|---|---|---|---|
| refKey | Identifier (bijvoorbeeld ISIN of interne code) | string | 70 | |
| description | De naam van de belegging / de officiële naam van het fonds / van het instrument | string | 60 | |
| currencyType | Valuta van het instrument | string | ISOVAL (EUR; USD; …) | |
| numberOfUnits | Aantal aangekochte units per instrument per regeling per beleggingsportefeuille | decimal (1E-06) | ||
| numberOfHoldings | Aantal holdings per instrument per regeling per beleggingsportefeuille | decimal (1E-06) | ||
| localPrice | Prijs per instrument in originele valuta per regeling per beleggingsportefeuille | decimal (1E-06) | ||
| localValueAmount | Totale marktwaarde in originele valuta per instrument per regeling per beleggingsportefeuille[1] | decimal | ||
| result | Ongerealiseerd resultaat per instrument per regeling per beleggingsportefeuille | decimal | ||
| accruedInterest | Opgelopen rente per instrument per regeling per beleggingsportefeuille | decimal | ||
| poolPercentage | Gewicht in de portefeuille per instrument per regeling per beleggingsportefeuille[2] | decimal | ||
| currencyExchangeRate | FX rates per instrument per regeling per beleggingsportefeuille / koers per positionDate | decimal | ||
| tradeDate | handelsdatum (beoogd) | date |
| Attribuutnaam | Definitie | datatype | lengte | Codelijst |
|---|---|---|---|---|
| refKey | Sleutel van de Corporate Action. | string | 70 | |
| description | Omschrijving van de Corporate Action. | string | 60 | |
| corporateActionType | Type Corporate Action. | string | AFDCAE (cashDividend; productChange; rebate; stockDividend) | |
| instructionDate | Instructiedatum van de Corporate Action. | date | ||
| tradeDate | Transactiedatum van de Corporate Action. | date | ||
| paymentDate | Betaaldatum van de Corporate Action. | date | ||
| cashDividendTotalAmount | Totaal contant bedrag van de Corporate Action. | decimal | ||
| cashDividendPerUnitAmount | Contant bedrag per eenheid. | decimal | ||
| currencyType | Valuta van het contante bedrag. | string | 3 | ISOVAL (EUR; USD; GBP; CHF; JPY) |
| stockDividendPerUnitNumber | Aantal stockdividend per eenheid. | decimal | ||
| stockDividendTotalNumber | Totaal aantal stockdividend. | decimal | ||
| newProductName | Naam van het nieuwe product. | string | 60 | |
| newProductIdentifier | Identificatie van het nieuwe product. | string | 60 |
| Attribuutnaam | Definitie | datatype | lengte | Codelijst |
|---|---|---|---|---|
| tradeDate | handelsdatum (feitelijk) | date | ||
| refKey | Unique reference key assigned to an entity. (NL: Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.) | string | 70 | |
| adjustmentIndicator | Aangepaste trade instructie | boolean | ||
| buySellId | Aan-, verkoop- of switchrichtingindicator | string | sell; buy; switchfrom; switchto | |
| tradeAmount | Positief bedrag van de transactie in de valuta waarin de belegging luidt; richting volgt uit buySellId | decimal | ||
| tradeQuantity | Positief aantal te verhandelen stukken (units) van de transactie; richting volgt uit buySellId | decimal (1E-06) | ||
| tradePrice | Aankoopprijs / koers | decimal (1E-06) | ||
| switchType | Type switch; one-day of sequential | string | AFDSWI (sequential; one-day) | |
| financialInformationRef | Verwijs hier bij switchfrom/switchto naar de refKey van de andere switch-leg ten behoeve van verbandscontrole. | array | ||
| counterparty | Transfer Agent; de partij die de aankoop/verkoop verricht | string | 70 | |
| broker | Effectenmakelaar die beleggingsorders uitvoert namens klanten op de markt | string | 70 | |
| interestAmount | Bedrag aan van toepassing zijnde rente | decimal | ||
| commissionAmount | Vergoeding voor het uitvoeren van de transactie | decimal | ||
| clearingBroker | Effectenmakelaar verantwoordelijk administratieve en financiële afwikkeling van de transactie | string | 70 | |
| clearingBrokerCashAccount | Geldrekening (IBAN) bij de clearingbroker op naam van de Pensioenuitvoerder | string | 18 |
| Attribuutnaam | Definitie | datatype | lengte | Codelijst |
|---|---|---|---|---|
| refKey | Unique reference key assigned to an entity. (NL: Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.) | string | 70 | |
| errorCode | Error code type. (NL: Soort foutmelding code.) | string | ADNFTM (09; 11; 12; 13; 14; 99) | |
| errorCodeExplanation | Explanation of the error message. (NL: Toelichting op de soort foutmelding.) | string | 1000 |
Zie ook de informatie over de error.default in de SIVI All Finance Standard
| Attribuutnaam | Definitie | datatype | lengte | Codelijst |
|---|---|---|---|---|
| refKey | Unique reference key assigned to an entity. (NL: Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.) | string | 70 | |
| fileName | Name of the file under which the attachment can be saved. (NL: Naam van het bestand waaronder de bijlage kan worden opgeslagen.) | string | 60 | |
| fileExtension | Extension 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.) | string | pdf; csv; txt |
| Attribuutnaam | Definitie | datatype | lengte | Codelijst |
|---|---|---|---|---|
| currentChunkId | Unique reference (id) of the current chunk. (NL: Unieke referentie van de huidige chunk.) | string | 70 | |
| chunkSequenceNumber | Sequence number of the current chunk. (NL: Volgnummer van de huidige chunk.) | integer | ||
| totalNumberOfChunks | Total number of chunks the message has been split into. (NL: Totale aantal chunks waarin het bericht is opgesplitst.) | integer | ||
| chunkFragmentPaths | Array 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.schemeopgenomen alsfinancialTransaction.cashflow, met optionele uitsplitsing viapension.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.portfolio→financialTransaction.cashflowwordt niet direct onderpension.schemegevuld. - Aanwezigheid van
pension.cohort→investment.portfoliomag 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.