Chapter 6.4: Messages
6.4 Messages
Note: The tables and detailed message structures below are in Dutch. Technical field names (entity.entitytype, attributes) are identical in both languages.
NL → EN Legend for table headers and terms:
Dutch English Berichten Messages Berichtnaam Message name Berichtsoort Message type Soort Type Omschrijving Description Basisbericht Base message Berichtstructuur Message structure Kardinaliteit Cardinality V (Verplicht) R (Required) O (Optioneel) O (Optional) Maximumaantal iteraties Maximum number of iterations Vervallen Discontinued Van → Naar From → To Zie ook See also Pensioenuitvoeringsorganisaties (PUO) Pension Administration Organizations (PUO) Fiduciair managers (FM) Fiduciary Managers (FM) Beleggingsadministrateurs (BA) Investment Administrators (BA) Vermogen Assets Cashflow Cash flow Pensioenprojectie Pension Projection Rendementsinformatie Return Information Orderopdracht Trade Order Betaalinformatie Payment Information Stuurinformatiebeleggingspools Control Information Investment Pools Waarde-informatie beleggingspool Value Information Investment Pool Mutatiesaldi Balance Adjustments Reconciliatie-informatie Reconciliation Information Rebalancinginformatie Rebalancing Details Waarde-informatie cohortenpool Value Information Cohort Pool Corporate Actions Corporate Actions Feedbackbericht Feedback Message
The base message is further elaborated into specific messages. From release 2027, 10 content messages and the Feedback Message are active; 5 messages from the FPR layered order model have been discontinued (see marking in Table 12).
Table 12 below provides an overview of these messages and between which roles they are exchanged:
| Berichtnaam | PUO | FM | BA | LDI |
|---|---|---|---|---|
| 1. Vermogen (0001a) | van | naar | ||
| 2. Cashflow (0001b) | van | naar | ||
| 3. Pensioenprojectie (0001c) | van | naar | naar | |
| 4. Rendementsinformatie (00002) | naar | van | ||
| 5. Orderopdracht (00541) | van | naar | ||
| 6. Orderconfirmation (00542) | naar | van | ||
| 10. Stuurinformatiebeleggingspools (00553) | naar | van | ||
| 13. Waarde-informatie beleggingspool (00555b) | naar | van | ||
| 14. Betaalinformatie (00556) | van | naar | van | |
| 15. Corporate Actions (00557) | naar | van | van | |
| Feedback Message |
The Feedback Message can be used for both FPR and SPR and is always a response to a received message; one of the other messages.
Tabel 12 – Overzicht berichten tussen zenders en ontvangers
Legenda
-
Pensioenuitvoeringsorganisaties (PUO) — hieronder vallen ook Zelf Administrerende Fondsen (ZAF)
-
Fiduciair managers (FM)
-
Beleggingsadministrateurs / asset serviceprovider (BA)
-
Liability-Driven Investment-managers (LDI)
Toelichting: Administrateur cohorten- en beleggingspools (ACB) — vervallen
De rol ACB is als zelfstandige actor vervallen uit dit overzicht. In de praktijk wordt deze rol ingevuld door de BA of soms de PUO. Omdat de ACB-rol per juli 2026 niet meer als afzonderlijke partij voorkwam, is de kolom uit de matrix verwijderd. Mocht de ACB-rol in de toekomst opnieuw als expliciete partij optreden, dan biedt het berichtenschema via de aanwezige berichten nog steeds de mogelijkheid om daar invulling aan te geven. Zie GitHub issue #131.
Let op: Elke ontvangende partij/rol krijgt zijn informatie rechtstreeks van de verzendende partij. Ook de verzending naar niet in Tabel 12 genoemde partijen/rollen is rechtstreeks. Ontvangen informatie wordt niet doorgestuurd aan andere partijen.
In onderstaande tabel de berichtsoorten en de betekenis. Berichten die vanaf release 2027 zijn vervallen, zijn doorgehaald weergegeven. Tussen haakjes de verwijzing naar het eindrapport van de werkgroep[^7]: "Eindrapport onderzoek standaard VB PUO (september 2023.pdf".
PMT = pensionMessageType in AFD 2.0 (aangegeven zijn de omschrijvingen van de berichttypes).
TAG = de in de API[^8] gebruikte aanduiding voor het bericht.
| Soort | Berichtsoort | PMT/ TAG |
Omschrijving |
|---|---|---|---|
| SPR | 1. Vermogen (0001a) (4.2.1.1) |
Vermogen/ Capital |
Van 🡪 Naar Van PUO naar FM en BA/asset serviceprovider. Op periodieke (naar verwachting maandelijkse) basis ontvangt de FM over een pensioenuitvoerder per regeling het totale pensioenvermogen bij aanvang van de periode. Naast de informatie op totaalniveau kan de FM ook per cohort het pensioenvermogen ontvangen. Zo kan bijvoorbeeld voor het leeftijdscohort 25-29 jaar het totaal van de persoonlijke pensioenvermogens bij aanvang worden ontvangen. Met de cohortinformatie kan de FM desgewenst een totaalberekening maken en de aansluiting bij de geleverde informatie op totaal/collectief niveau toetsen aan het beleid van het fonds. Dit is nuttig voor een robuuste overdracht en audittrail afhankelijk van afspraken die partijen maken. Conform het beleid van de pensioenuitvoerder kan bij (grote) afwijkingen herbalancering wenselijk zijn. Deze informatie kan behalve aan de FM desgewenst ook worden verstrekt aan de BA/asset serviceprovider om deze ook in staat te stellen toetsings- en rapportage-activiteiten uit te voeren met behulp van de leidende beleggingsadministratie. |
| SPR | 2. Cashflow (0001b) (4.2.1.3) |
Cashflow/ Cashflow |
Instroom en uitstroom Van 🡪 Naar Van PUO naar FM en BA/asset serviceprovider. Op periodieke (naar verwachting maandelijkse) basis ontvangt de FM over een pensioenuitvoerder per regeling de instroom in de periode en de uitstroom. Naast op totaalniveau kan ook per cohort instroom en uitstroom aangeleverd worden. De in- en uitstroom bevat naast premies, waardeoverdrachten en uitkeringen ook de verschuivingen over cohorten als daar sprake van is. Een cohort kan ook een geboortejaar zijn. Ook het 'cohort' solidariteitsreserve, het 'cohort' compensatiedepot en mogelijk andere reserves zullen hierbij betrokken worden. Met de cohortinformatie kan de FM desgewenst een totaalberekening maken en de aansluiting bij de geleverde informatie op totaal/collectief niveau toetsen aan het beleid van het fonds. Dit is nuttig voor een robuuste overdracht en audittrail afhankelijk van afspraken die partijen maken. Deze informatie kan behalve aan de FM desgewenst ook worden verstrekt aan de BA/asset serviceprovider om ook deze in staat te stellen toetsings- en rapportage-activiteiten uit te voeren met behulp van de leidende beleggingsadministratie. |
| SPR | 3. Pensioenprojectie (0001c) (4.2.1.3) |
Pensioenprojectie/ PensionProjection |
Geprojecteerde uitkeringen Van 🡪 Naar Van PUO naar FM en BA/asset serviceprovider. Op periodieke (verwachting is maandelijkse) basis ontvangt de FM van een pensioenuitvoerder per regeling en per cohort de geprojecteerde uitkeringen op basis van de opgebouwde vermogens naar toekomstige periodes. Tevens bevat de gegevensuitwisseling de af te dekken kasstromen per regeling per toekomstige periode. Dit is gelijk aan de som van de gewogen geprojecteerde uitkeringen per cohort. De wegingsfactor is gelijk aan het percentage bescherming per cohort. Op deze manier ontstaat een profiel van de af te dekken kasstromen. Deze uitwisseling vermijdt misverstanden ten aanzien van af te dekken kasstromen en kan desgewenst een toets in het proces introduceren. |
| SPR | 4. Rendementsinformatie (00002) (4.2.2.) |
Rendementsinformatie/ ReturnOnInvestment |
Informatiebehoefte PUO Van 🡪 Naar Informatiestroom van BA/asset serviceprovider naar de PUO. De PUO heeft voor het uitvoeren van de solidaire premieregeling periodiek (naar verwachting maandelijks) informatie nodig over het behaalde rendement. Periodiek ontvangt de PUO over de periode voor een pensioenuitvoerder per regeling en per portefeuille de waarde aan het begin van de periode, de waarde aan het einde van de periode en het rendement in portefeuille valuta en (eventueel) uitgedrukt als percentage. De PUO draagt zorg voor de toedeling van rendementen naar deelnemers op basis van portefeuillerendementen. Optioneel kunnen ook per cohort in de regeling pensioenvermogen, beschermingsrendement en overrendement worden gedeeld met de PUO. Of deze optionele elementen worden uitgewisseld hangt af van de overeengekomen rollen en verantwoordelijkheden tussen de samenwerkende partijen. Daarbij is het uitgangspunt dat de PUO de verantwoordelijkheid heeft om conform de door de pensioenuitvoerder vastgestelde toedelingsregels rendementen toe te delen naar de persoonlijke pensioenvermogens van deelnemers, de solidariteitsreserve, een eventueel compensatiedepot en mogelijk andere reserves. |
| FPR | 5. Orderopdracht (00541) (5.4.1.) |
Orderopdracht/ Trade |
Direct order (PUO belegt zelf) Van 🡪 Naar Informatiestroom van PUO naar Brokers/Transfer Agents/Order Desks. Dit is de minimale set aan gegevens die benodigd is om een order te kunnen sturen aan een order verwerkende partij. Tevens kan er een switch mee worden uitgevoerd. De PUO stuurt orders in op het hoogste niveau van het beleggingsfonds. De aanbieder van het fonds voert zelf de ordering uit in de onderliggende beleggingen. Dat kan onder andere genoteerde en illiquide beleggingen betreffen. |
| FPR | 6. Orderconfirmation (00542) (5.4.2.) |
Orderconfirmation | Direct order (PUO belegt via een order platform) Van 🡪 Naar Van brokers/transfer agents/order desks naar PUO. Vanuit de order verwerkende partij komen de confirmationtgegevens van de order terug naar de PUO. |
7. Mutatiesaldi (00551) (5.5.1) |
BalanceAdjustments |
Vervallen vanaf release 2027.
|
|
8. Reconciliatie-informatie (00552a) (5.5.2) |
InvestmentDetails |
Vervallen vanaf release 2027.
|
|
9. PUO-reconciliatie-informatie (00552b) (5.5.2) |
InvestmentDetailsPUO |
Vervallen vanaf release 2027.
|
|
| FPR | 10. Stuurinformatie beleggingspools (00553) (5.5.3) |
Stuurinformatie Beleggingspools/ |
Informatie aansturen beleggingspools Van 🡪 Naar Van PUO en/of BA naar FM (zie Figuur 8 en 9, stappen D en E). De PUO en/of de BA berekent de participatiewaarden van actieve leeftijdsgroepen en combineert deze waarden met de opgegeven mutaties om de casheffecten op de beleggingspools te schatten. De stuurinformatie op de beleggingspool (met onderbouwing) wordt verstuurd naar de FM in het volgende format. |
11. Rebalancinginformatie (00554) (5.5.4) |
RebalancingDetails |
Vervallen vanaf release 2027.
|
|
12. Waarde-informatie cohortenpool (00555a) (5.5.5) |
ValueAmountCohortPool |
Vervallen vanaf release 2027.
|
|
| FPR | 13. Waarde-informatie beleggingspool (00555b) (5.5.5) |
Waarde-informatie Beleggingspool/ ValueAmountInvestmentPool |
Doorgeven waardes per beleggingspool en per cohortenpool Van 🡪 Naar Informatiestroom tussen BA, PUO en FM (zie Figuur 8 en 9, stap J). De BA berekent de unitwaarde per unit in de beleggingspool en de participatiewaarde per participatie in de cohortenpool. De BA geeft de (participatie)waarden van de cohortenpools door aan de PUO en aan de FM. |
| FPR | 14. Betaalinformatie (00556) (5.5.6) |
Betaalinformatie/ PaymentDetailsCreditor |
Betaalinstructies onttrekkingen Van 🡪 Naar Informatiestroom van PUO of BA naar FM, begin van de maand (zie Figuur 8 en 9, stappen K en L). De PUO of de BA verstuurt de betaalinstructie voor onttrekkingen naar de FM. |
| FPR | 15. Corporate Actions (00557) |
Corporate Actions/ CorporateActions |
Doorgeven corporate-action gebeurtenissen op beleggingsproducten Van 🡪 Naar Informatiestroom van de vermogensbeheerketen naar de PUO. Bericht 15 wordt gebruikt voor het doorgeven van corporate-action gebeurtenissen op beleggingsproducten vanuit de vermogensbeheerketen aan de PUO. Het bericht is bedoeld voor situaties waarin dergelijke gebeurtenissen wel binnen de vermogensbeheeradministratie worden verwerkt, maar niet automatisch zichtbaar zijn binnen de administratie van de PUO. |
| SPR/ FPR | Feedback Message | Feedback Message/ Feedback |
Terugkoppeling van fouten of bevestigen van verwerkbaarheid. Van 🡪 Naar De ontvanger van het inhoudelijke bericht, de berichten 1 tot en met 15, is de verzender van de feedback message. |
6.4.1 Base Message
The base structure for messages (transaction) shows the hierarchical relationships between different entities in the data model. The entities and entity types form a coherent hierarchy. By definition, it is necessary to establish a hierarchy in exchanged messages, and the transaction structure forms the basis for this. The structure indicates, among other things, which child entity belongs to which parent entity.
In the "Kardinaliteit" (Cardinality) column, it is shown how many times that entity can occur at minimum and maximum. With R (required) or O (optional), it is indicated under Cardinality whether an entity.entitytype must or may occur. Within the base message, all entities have been left optional.
From the table below, the following can be derived:
1) Per party.sender multiple party.contact are possible
2) Per party.pensionProvider
1) maximally 1 financialInformation.reportingPeriod occurs and possibly
2) multiple pension.schema's
| Entity.entitytype | Kardinaliteit |
|---|---|
| commonTechnical.default | 1..1, V |
| party.sender | 1..1, V |
| party.contact | 0..*, O |
| party.receiver | 1..1, V |
| commonFunctional.default | 1..1, V |
| party.pensionProvider | 1..1, V |
| pension.scheme | 1..*, V |
| financialInformation.reportingPeriod | 1..1, V |
| financialTransaction.payment | 0..*, O |
| party.creditor | 1..*, V |
| financialTransaction.cashflow | 0..1, O |
| pension.cohort | 0..*, O |
| financialTransaction.payment | 0..*, O |
| pension.cohortPool | 0..*, O |
| investment.pool | 1..*, V |
| investment.pool | 0..*, O |
| investment.investmentDetails | 1..*, V |
| investment.corporateAction | 1..*, V |
| investment.portfolio | 0..*, O |
| investment.investmentDetails | 0..*, O |
| financialTransaction.trade | 1..*, V |
| error.default | 0..*, O |
| document.default | 0..*, O |
| chunking.default | 0..1, O |
N.B. In the technical implementation, the number of repetitions (*) is limited. See the overview below:
| Entity.entitytype | Maximum iterations |
|---|---|
| commonTechnical.default | 1 |
| party.sender | 1 |
| party.contact | 9 |
| party.receiver | 1 |
| commonFunctional.default | 1 |
| party.pensionProvider | 1 |
| pension.scheme | 999 |
| financialInformation.reportingPeriod | 1 |
| party.creditor | 1 |
| financialTransaction.cashflow | 1 |
| financialTransaction.payment | 9999 or 99999[^1] |
| pension.cohort | 99999 |
| pension.cohortPool | 99 |
| investment.pool | 99 |
| investment.portfolio | 99 |
| investment.investmentDetails | 999 |
| investment.corporateAction | 99 |
| financialTransaction.trade | 99 |
| error.default | 99 |
| document.default | 99 |
| chunking.default | 1 |
[^1]: The maximum number of financialTransaction.payment under pension.cohort is 9999 and under pension.scheme remains 99999.
APF circles: two common scenarios
For a General Pension Fund (APF) with multiple circles, there is one pension.scheme per circle under one party.pensionProvider. Two scenarios exist side by side in the market:
Scenario 1 — Circle has its own PUV code
Each circle is identified with its own puvCode in party.pensionProvider. Buffer capital above circle level is pragmatically handled via a cohort construction, because no separate PUV code exists for this.
Scenario 2 — Circle does not have its own PUV code
There is one PUV code at APF/provider level. The distinction between circles runs via references at pension.scheme level.
Both scenarios are supported by the standard. Parties record the chosen approach in agreements between chain parties (TOM / SLA). See GitHub issue #114.
6.4.2 – 6.4.17 Message Structures
The detailed message structure tables are hosted as interactive HTML tables. Each iframe below loads the Dutch-language table from the official docs-prepare site; the technical field names (entity.entitytype, attributes) are the same in both languages.
6.4.2 Message structure 1. Assets (0001a)
See also 3.2.1.
6.4.3 Message structure 2. Cashflow (0001b)
See also 3.2.2.
6.4.4 Message structure 3. Pension Projection (0001c)
See also 3.2.3.
6.4.5 Message structure 4. Return Information (00002)
See also 3.2.4.
6.4.6 Message structure 5. Trade Order (00541)
6.4.7 Message structure 6. Order Confirmation (00542)
The following fields under financialTransaction.trade have been changed from required to optional: tradeQuantity, tradePrice, counterparty, broker, interestAmount, commissionAmount, clearingBroker and clearingBrokerCashAccount. tradeAmount remains required. See GitHub issue #105.
6.4.8 – 6.4.10 Messages 7, 8, 9 (Discontinued)
Discontinued from release 2027. Messages 7 (Balance Adjustments / 00551), 8 (Reconciliation Information / 00552a) and 9 (PUO Reconciliation Information / 00552b) are no longer active in the release 2027 message set. See GitHub issues #99, #119, #121.
6.4.11 Message structure 10. Control Information Investment Pools (00553)
From release 2027, the cohortPool layer has been removed from this message; data lands directly at investment.pool level. See GitHub issue #124.
Additionally, the following fields of entity investment.pool have been removed from message 00553: dummyCashId, tradeQuantity, unitPrice and currencyExchangeRate. The fields buySellId, tradeValueAmount and currencyType remain active. See GitHub issue #133.
6.4.12 – 6.4.13 Messages 11, 12 (Discontinued)
Discontinued from release 2027. Messages 11 (Rebalancing Details / 00554) and 12 (Value Information Cohort Pool / 00555a) are no longer active in the release 2027 message set. See GitHub issues #99, #119, #121.
6.4.14 Message structure 13. Value Information Investment Pool (00555b)
6.4.15 Message structure 14. Payment Information (00556)
6.4.16 Message structure 15. Corporate Actions (00557)
6.4.17 Message structure Feedback Message
See also 4.7.
Notes:
- The initial message is not sent along with the feedback message.
- In the feedback message, a reference is always made to the messageId (via originalMessageId) of the message to which the feedback message is a response, and may reference the messageType (via originalMessageType).
[^7]: Eindrapport onderzoek standaard VB PUO (september 2023.pdf. zie: SIVI/Downloads