Kennisbank BerichtenEntiteitenAttributenCodelijstenFouten en oplossingenProcessenRollenReleasesBegrippenEcosysteemVergelijk Validator NL EN

Release 2027 · Schemaversie 001.05 · Actief

SIVI-bericht 1 (0001a): Vermogen (VB-PUO)

Met bericht 1 geeft de PUO het totale pensioenvermogen bij aanvang van de periode door: per pensioenregeling en per cohort (leeftijdscohort of reservecohort). De fiduciair manager gebruikt het als startpunt voor het collectieve beleggingsbeleid; de beleggingsadministrateur gebruikt het om onafhankelijk te kunnen reconciliëren. Optioneel bevat het bericht de gewenste verdeling over beleggingsportefeuilles (absoluut of als percentage).

Verzender
Pensioenuitvoeringsorganisatie (PUO)
Ontvanger
Fiduciair manager (FM) en beleggingsadministrateur / asset serviceprovider (BA)
Moment
Maandelijks (verwacht), bij aanvang van de rapportageperiode; implementatieplannen noemen uiterlijk T+10 voor SIVI-bericht 1 t/m 3
Regeling
SPR (ook voor collectieve stromen in FPR)
afdDefinitionName
VBPUO-001.00-Bericht_1._Vermogen_(0001a)

Berichtstructuur

Entiteiten met cardinaliteit [min..max] en aantal attributen; klik voor de entiteitpagina.

Attributen (47)

EntiteitAttribuutTypeV/OCodelijstOmschrijving
chunking.default currentChunkId string · max 70 V Unieke referentie van de huidige chunk.
chunking.default chunkSequenceNumber integer V Volgnummer van de huidige chunk.
chunking.default totalNumberOfChunks integer V Totale aantal chunks waarin het bericht is opgesplitst.
chunking.default chunkFragmentPaths array[string] V Array van JMESPath-verwijzingen naar de berichtdelen die gebruikt zijn binnen deze chunk.
commonFunctional.default afdDefinitionVersion string · max 80 V 001.05 Met AFD definitieversienummer wordt aangegeven over welke versie van de (product)definitie wordt gecommuniceerd.
commonFunctional.default afdDefinitionName string · max 80 V VBPUO-001.00-Bericht_1._Vermogen_(0001a) De AFD definitienaam van o.a. webservices en verzekeringsproducten.
commonFunctional.default originalMessageId string · max 70 O MessageId van het oorspronkelijke bericht, dat wordt vervangen door dit bericht.
commonFunctional.default function string V ADNFUN Berichtfunctie
commonTechnical.default creationDateTime string · format date-time V Datum en tijd van het aanmaken van het bericht.
commonTechnical.default testMessage boolean O Indicatie of sprake is van een testbericht.
commonTechnical.default messageId string · max 70 V Unique identification of the message. (AFD 2.0 only)
party.receiver refKey string · max 70 V Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.
party.receiver organizationName string · max 60 V Naam beroeps of branche organisatie.
party.receiver rsinNumber string · max 9 O Governmental identification number for legal entities and associations. (AFD 2.0 only)
party.sender refKey string · max 70 V Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.
party.sender applicationSenderName string · max 60 O Naam van de applicatie die de gegevens verzendt.
party.sender organizationName string · max 60 V Naam beroeps of branche organisatie.
party.sender rsinNumber string · max 9 O Governmental identification number for legal entities and associations. (AFD 2.0 only)
party.contact emailWork string · max 60 V E-mail adres werk
party.contact workPhoneNumber string · max 60 V Telefoonnummer werk
document.default refKey string · max 70 V Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.
document.default fileName string · max 60 V Naam van het bestand waaronder de bijlage kan worden opgeslagen.
document.default fileExtension string V pdf | csv | txt Extensienaam van het bestand waaronder de bijlage kan worden opgeslagen. Bijvoorbeeld "PDF", "DOC", etc.
party.pensionProvider organizationName string · max 60 V Naam beroeps of branche organisatie.
party.pensionProvider rsinNumber string · max 9 O Governmental identification number for legal entities and associations. (AFD 2.0 only)
party.pensionProvider puvCode string V AFDIDP Pensioenuitvoerder
pension.scheme refKey string · max 70 V Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.
pension.scheme startAmount number · multipleOf 0.01 V Bedrag (bijvoorbeeld van opgebouwd kapitaal) bij aanvang van een periode.
pension.scheme pensionSchemeName string · max 60 V Naam van de pensioenregeling.
financialInformation.reportingPeriod startDate string · format date V Startdatum (vanaf-datum).
investment.portfolio refKey string · max 70 V Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.
investment.portfolio description string · max 60 V Omschrijving
investment.portfolio startExposurePercentage number · multipleOf 0.01 O Het relatieve aandeel van startExposureAmount ten opzichte van het totale pensioenvermogen per datum.
investment.portfolio startExposureAmount number · multipleOf 0.01 O De toedeling van het pensioenvermogen per cohort aan een specifieke investmentportfolio, berekend op basis van de toedelingsregels zoals door de PUO gehanteerd.
pension.cohort refKey string · max 70 V Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.
pension.cohort startAmount number · multipleOf 0.01 V Bedrag (bijvoorbeeld van opgebouwd kapitaal) bij aanvang van een periode.
pension.cohort description string · max 60 V Omschrijving
pension.cohort reserveType string O AFDRES Type reserve
pension.cohort reserveDescription string · max 60 O Omschrijving van het reserve.
pension.cohort reserveIndicator boolean V Indicatie of een reserve aanwezig is / van toepassing is.
pension.cohort startAge number · multipleOf 1 O Beginleeftijd.
pension.cohort endAge number · multipleOf 1 O Eindleeftijd.
pension.cohort participationStatus string O ADNDNS Deelname status
investment.portfolio refKey string · max 70 V Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.
investment.portfolio description string · max 60 V Omschrijving
investment.portfolio startExposurePercentage number · multipleOf 0.01 O Het relatieve aandeel van startExposureAmount ten opzichte van het totale pensioenvermogen per datum.
investment.portfolio startExposureAmount number · multipleOf 0.01 O De toedeling van het pensioenvermogen per cohort aan een specifieke investmentportfolio, berekend op basis van de toedelingsregels zoals door de PUO gehanteerd.

Voorbeeldbericht

✓ Gevalideerd tegen schema VBPUO-001.05 · 2026-10-14

Bron voorbeeld: SIVI voorbeeldbericht (Voorbeeldbericht_1). Waarden zijn fictief.

{
  "commonTechnical": [
    {
      "entityType": "default",
      "creationDateTime": "2023-10-27T10:00:00Z",
      "messageId": "1234567890123456789012",
      "testMessage": false,
      "party": [
        {
          "entityType": "sender",
          "refKey": "ABC123",
          "rsinNumber": "123456789",
          "organizationName": "VoorbeeldBedrijf B.V.",
          "applicationSenderName": "ApplicatieNaam",
          "party": [
            {
              "entityType": "contact",
              "emailWork": "[email protected]",
              "workPhoneNumber": "+31678717607"
            }
          ]
        },
        {
          "entityType": "receiver",
          "refKey": "XYZ789",
          "rsinNumber": "987654321",
          "organizationName": "OntvangerCorp1"
        }
      ]
    }
  ],
  "commonFunctional": [
    {
      "entityType": "default",
      "afdDefinitionName": "VBPUO-001.00-Bericht_1._Vermogen_(0001a)",
      "afdDefinitionVersion": "001.05",
      "function": "01",
      "originalMessageId": "987654321"
    }
  ],
  "party": [
    {
      "entityType": "pensionProvider",
      "puvCode": "U0003",
      "rsinNumber": "222333449",
      "organizationName": "St. Pf. Openbare Bibliotheken",
      "pension": [
        {
          "entityType": "scheme",
          "refKey": "SCHEME456",
          "pensionSchemeName": "BasisPensioen",
          "startAmount": 100000,
          "financialInformation": [
            {
              "entityType": "reportingPeriod",
              "startDate": "2023-01-01"
            }
          ],
          "pension": [
            {
              "entityType": "cohort",
              "refKey": "COHORT101",
              "startAmount": 60000,
              "description": "Beschrijving van cohort 101",
              "reserveIndicator": false,
              "startAge": 300,
              "endAge": 780,
              "participationStatus": "16"
            },
            {
              "entityType": "cohort",
              "refKey": "COHORT202",
              "startAmount": 75000,
              "description": "Beschrijving van cohort 202",
              "reserveIndicator": false,
              "startAge": 540,
              "endAge": 780,
              "participationStatus": "20"
            }
          ]
        },
        {
          "entityType": "scheme",
          "refKey": "SCHEME457",
          "pensionSchemeName": "PlusPensioen",
          "startAmount": 200000,
          "financialInformation": [
            {
              "entityType": "reportingPeriod",
              "startDate": "2023-01-01"
            }
          ],
          "pension": [
            {
              "entityType": "cohort",
              "refKey": "COHORTRES1",
              "startAmount": 85000,
              "description": "Solidariteitsreserve",
              "reserveIndicator": true,
              "reserveType": "1"
            },
            {
              "entityType": "cohort",
              "refKey": "COHORTRES2",
              "startAmount": 85000,
              "description": "Overige reserve",
              "reserveIndicator": true,
              "reserveType": "99",
              "reserveDescription": "specifieke reserve voor slapers"
            }
          ]
        }
      ]
    }
  ]
}
Variant: Voorbeeldbericht_2
{
  "commonTechnical": [
    {
      "entityType": "default",
      "creationDateTime": "2023-10-27T10:00:00Z",
      "messageId": "1234567890123456789012",
      "testMessage": false,
      "party": [
        {
          "entityType": "sender",
          "refKey": "ABC123",
          "rsinNumber": "123456789",
          "organizationName": "VoorbeeldBedrijf B.V.",
          "applicationSenderName": "ApplicatieNaam",
          "party": [
            {
              "entityType": "contact",
              "emailWork": "[email protected]",
              "workPhoneNumber": "+31678717607"
            }
          ]
        },
        {
          "entityType": "receiver",
          "refKey": "XYZ789",
          "rsinNumber": "987654321",
          "organizationName": "OntvangerCorp1"
        }
      ]
    }
  ],
  "commonFunctional": [
    {
      "entityType": "default",
      "afdDefinitionName": "VBPUO-001.00-Bericht_1._Vermogen_(0001a)",
      "afdDefinitionVersion": "001.05",
      "function": "01",
      "originalMessageId": "987654321"
    }
  ],
  "party": [
    {
      "entityType": "pensionProvider",
      "puvCode": "U0003",
      "rsinNumber": "222333449",
      "organizationName": "St. Pf. Openbare Bibliotheken",
      "pension": [
        {
          "entityType": "scheme",
          "refKey": "SCHEME456",
          "pensionSchemeName": "BasisPensioen",
          "startAmount": 100000,
          "financialInformation": [
            {
              "entityType": "reportingPeriod",
              "startDate": "2023-01-01"
            }
          ],
          "pension": [
            {
              "entityType": "cohort",
              "refKey": "COHORT101",
              "startAmount": 60000,
              "description": "Beschrijving van cohort 101",
              "reserveIndicator": false,
              "startAge": 300,
              "endAge": 780,
              "participationStatus": "16",
              "investment": [
                {
                  "entityType": "portfolio",
                  "refKey": "PF_MIX_NEUTRAL_01",
                  "description": "Neutraal Mixfonds Beleggingen Standaard",
                  "startExposureAmount": 60000
                }
              ]
            },
            {
              "entityType": "cohort",
              "refKey": "COHORT202",
              "startAmount": 75000,
              "description": "Beschrijving van cohort 202",
              "reserveIndicator": false,
              "startAge": 540,
              "endAge": 780,
              "participationStatus": "20",
              "investment": [
                {
                  "entityType": "portfolio",
                  "refKey": "PF_STOCK_GLOBAL_02",
                  "description": "Wereldwijde Aandelenportefeuille Dynamisch",
                  "startExposureAmount": 45000
                },
                {
                  "entityType": "portfolio",
                  "refKey": "PF_BOND_EURO_02",
                  "description": "Europese Obligatieportefeuille Defensief",
                  "startExposurePercentage": 0.4
                }
              ]
            }
          ]
        },
        {
          "entityType": "scheme",
          "refKey": "SCHEME457",
          "pensionSchemeName": "PlusPensioen",
          "startAmount": 200000,
          "financialInformation": [
            {
              "entityType": "reportingPeriod",
              "startDate": "2023-01-01"
            }
          ],
          "pension": [
            {
              "entityType": "cohort",
              "refKey": "COHORTRES1",
              "startAmount": 85000,
              "description": "Beschrijving van cohort RES1",
              "reserveIndicator": true,
              "reserveType": "1",
              "startAge": 45,
              "endAge": 65,
              "participationStatus": "16",
              "investment": [
                {
                  "entityType": "portfolio",
                  "refKey": "PF_RESERVE_LOWRISK_03",
                  "description": "Lage Risico Reserveportefeuille Solide",
                  "startExposurePercentage": 1
                }
              ]
            },
            {
              "entityType": "cohort",
              "refKey": "COHORTRES2",
              "startAmount": 85000,
              "description": "Beschrijving van cohort RES2",
              "reserveIndicator": true,
              "reserveType": "99",
              "reserveDescription": "specifieke reserve voor slapers",
              "startAge": 45,
              "endAge": 65,
              "participationStatus": "40",
              "investment": []
            }
          ]
        }
      ]
    }
  ]
}
Variant: Voorbeeldbericht_1-reserves
{
  "commonTechnical": [
    {
      "entityType": "default",
      "creationDateTime": "2027-03-01T09:00:00+01:00",
      "messageId": "VB-0001A-RES-0001",
      "testMessage": true,
      "party": [
        {
          "entityType": "sender",
          "refKey": "PUO01",
          "organizationName": "Pensioenuitvoerder Voorbeeld",
          "applicationSenderName": "VoorbeeldApplicatie"
        },
        {
          "entityType": "receiver",
          "refKey": "FM01",
          "organizationName": "Fiduciair Manager Voorbeeld"
        }
      ]
    }
  ],
  "commonFunctional": [
    {
      "entityType": "default",
      "afdDefinitionName": "VBPUO-001.00-Bericht_1._Vermogen_(0001a)",
      "afdDefinitionVersion": "001.05",
      "function": "01"
    }
  ],
  "party": [
    {
      "entityType": "pensionProvider",
      "puvCode": "U0536",
      "organizationName": "Pensioenfonds Zorg en Welzijn",
      "pension": [
        {
          "entityType": "scheme",
          "refKey": "REG-01",
          "pensionSchemeName": "Basisregeling Voorbeeld",
          "startAmount": 34089489.28,
          "financialInformation": [
            {
              "entityType": "reportingPeriod",
              "startDate": "2027-02-01"
            }
          ],
          "pension": [
            {
              "entityType": "cohort",
              "refKey": "C-16-300",
              "startAmount": 2312498.83,
              "description": "Actief 25 jaar",
              "reserveIndicator": false,
              "startAge": 300,
              "endAge": 300,
              "participationStatus": "16"
            },
            {
              "entityType": "cohort",
              "refKey": "C-80-300",
              "startAmount": 1743136.62,
              "description": "Slaper 25 jaar",
              "reserveIndicator": false,
              "startAge": 300,
              "endAge": 300,
              "participationStatus": "80"
            },
            {
              "entityType": "cohort",
              "refKey": "C-16-420",
              "startAmount": 1601733.54,
              "description": "Actief 35 jaar",
              "reserveIndicator": false,
              "startAge": 420,
              "endAge": 420,
              "participationStatus": "16"
            },
            {
              "entityType": "cohort",
              "refKey": "C-80-420",
              "startAmount": 1371514.14,
              "description": "Slaper 35 jaar",
              "reserveIndicator": false,
              "startAge": 420,
              "endAge": 420,
              "participationStatus": "80"
            },
            {
              "entityType": "cohort",
              "refKey": "C-16-540",
              "startAmount": 4545636.64,
              "description": "Actief 45 jaar",
              "reserveIndicator": false,
              "startAge": 540,
              "endAge": 540,
              "participationStatus": "16"
            },
            {
              "entityType": "cohort",
              "refKey": "C-80-540",
              "startAmount": 2898917.9,
              "description": "Slaper 45 jaar",
              "reserveIndicator": false,
              "startAge": 540,
              "endAge": 540,
              "participationStatus": "80"
            },
            {
              "entityType": "cohort",
              "refKey": "C-16-660",
              "startAmount": 2876220.79,
              "description": "Actief 55 jaar",
              "reserveIndicator": false,
              "startAge": 660,
              "endAge": 660,
              "participationStatus": "16"
            },
            {
              "entityType": "cohort",
              "refKey": "C-80-660",
              "startAmount": 997670.06,
              "description": "Slaper 55 jaar",
              "reserveIndicator": false,
              "startAge": 660,
              "endAge": 660,
              "participationStatus": "80"
            },
            {
              "entityType": "cohort",
              "refKey": "C-16-780",
              "startAmount": 5965026.7,
              "description": "Actief 65 jaar",
              "reserveIndicator": false,
              "startAge": 780,
              "endAge": 780,
              "participationStatus": "16"
            },
            {
              "entityType": "cohort",
              "refKey": "C-80-780",
              "startAmount": 1251288.8,
              "description": "Slaper 65 jaar",
              "reserveIndicator": false,
              "startAge": 780,
              "endAge": 780,
              "participationStatus": "80"
            },
            {
              "entityType": "cohort",
              "refKey": "R-01",
              "startAmount": 2809748.75,
              "description": "Solidariteitsreserve",
              "reserveIndicator": true,
              "reserveType": "1"
            },
            {
              "entityType": "cohort",
              "refKey": "R-02",
              "startAmount": 491160.94,
              "description": "Operationele reserve",
              "reserveIndicator": true,
              "reserveType": "3"
            },
            {
              "entityType": "cohort",
              "refKey": "R-03",
              "startAmount": 2708836.85,
              "description": "Compensatiedepot",
              "reserveIndicator": true,
              "reserveType": "4"
            },
            {
              "entityType": "cohort",
              "refKey": "R-04",
              "startAmount": 1348217.95,
              "description": "Overige reserve",
              "reserveIndicator": true,
              "reserveType": "99",
              "reserveDescription": "Reserve premiekorting"
            },
            {
              "entityType": "cohort",
              "refKey": "R-05",
              "startAmount": 1167880.77,
              "description": "Overige reserve",
              "reserveIndicator": true,
              "reserveType": "99",
              "reserveDescription": "Reserve uitvoeringskosten"
            }
          ]
        }
      ]
    }
  ]
}

Regels en verbandscontroles

  • Het regelingtotaal (pension.scheme.startAmount) en de cohortbedragen (pension.cohort.startAmount) worden naast elkaar aangeleverd. De standaard schrijft niet voor dat de cohorten optellen tot het regelingtotaal: volgens de handleiding kan de ontvanger desgewenst een totaalberekening maken en de aansluiting toetsen, afhankelijk van de afspraken tussen partijen. In SIVI's eigen voorbeeldbericht staat 100.000 naast een cohortsom van 135.000.
  • Elk cohort heeft een unieke refKey en wordt beschreven met startAge en endAge (gehele getallen sinds Release 2026) en een deelnemerstatus uit codelijst ADNDNS.
  • Reservecohorten (solidariteitsreserve, risicodelingsreserve, compensatiedepot) worden gemarkeerd met reserveIndicator en getypeerd met reserveType uit codelijst AFDRES. Sinds de definitieve Release 2027 is reserveType verplicht zodra reserveIndicator true is (handleiding §6.3), al laat het schema beide velden optioneel; reserveDescription is gewenst bij code 99 (Overige).
  • Een cohort met waarde 0 mag met bedrag 0 worden meegestuurd of worden weggelaten, ook als het een reserve is; partijen moeten beide kunnen verwerken en leggen in hun afspraken vast wat een ontbrekend cohort betekent. Een veld zonder waarde (null) kent de standaard niet (handleiding §6.3, issue #100).
  • financialInformation.reportingPeriod.startDate is de peildatum van het vermogen; de ontvanger toetst of die aansluit op de vorige periode.
  • Bedragen hebben maximaal twee decimalen (multipleOf 0.01); percentages maximaal twaalf.

Valkuilen

  • Een cohort dat in bericht 2 (cashflow) voorkomt maar niet in bericht 1: de ontvanger kan de mutatie dan niet plaatsen. Houd de cohortindeling over berichten 1, 2 en 3 identiek.
  • Meer dan enkele duizenden cohorten of jaarcohorten maken het bericht groot: gebruik het chunking-protocol van Release 2026 in plaats van meerdere losse berichten.
  • Het veld investment.portfolio is optioneel en nieuw sinds Release 2026; een ontvanger op een oudere release negeert het of wijst het bericht af.

Fouten en oplossingen

Veelgestelde vragen

Wat is het verschil tussen bericht 1 (Vermogen) en bericht 2 (Cashflow)?

Bericht 1 is een stand: het vermogen bij aanvang van de periode. Bericht 2 is een stroom: de in- en uitstroom in de periode. Samen met bericht 4 (rendement) sluit de keten de periode: beginstand + cashflow + rendement = eindstand.

Wie ontvangt bericht 1: de fiduciair manager of de beleggingsadministrateur?

Beiden, rechtstreeks van de PUO. Een uitgangspunt van de standaard is dat een onafhankelijke asset serviceprovider dezelfde informatie ontvangt als de fiduciair manager, zodat hij zelfstandig kan rapporteren en reconciliëren.

Wordt bericht 1 ook in de flexibele premieregeling gebruikt?

Ja. De FPR-berichten 5 tot en met 15 dekken alleen de geunitiseerde stromen. Collectieve stromen zoals risicopremies, reservestortingen en onttrekkingen aan collectieve pools lopen via de SPR-berichten 1 tot en met 4 (handleiding §4.1).

Zijn startAge en endAge in jaren of in maanden?

Het schema schrijft gehele getallen voor en legt de eenheid niet vast; het officiële voorbeeldbericht gebruikt maanden (300 en 780). Leg de eenheid vast in de ketenafspraken en houd die in alle berichten gelijk.

Wijzigingsgeschiedenis

  • v0.2.0 (april 2024): puvCode toegevoegd, refKey verplicht.
  • v1.3.0 (Release 2026): investment.portfolio toegevoegd, startAge en endAge gehele getallen, chunking.
  • v1.4.0 (Release 2027): JSON Schema 2020-12, codelijsten via $defs.
  • Definitieve Release 2027 (12 oktober 2026): afdDefinitionName weer een vaste waarde; refKey van de portefeuille onder het cohort maximaal 70 tekens; toelichting van SIVI per attribuut; reserveType verplicht bij reserveIndicator = true.

Schema-bestand: VBPUO-001.00-Bericht_1._Vermogen_(0001a).json · JSON-schema (001.05) · GitHub

Bronvermelding. Bron: SIVI – VB-PUO Standaard. Schema's, attribuutomschrijvingen en codelijsten zijn ontleend aan de VB-PUO Standaard (eigendom Pensioenfederatie, beheer SIVI) en hier onveranderd weergegeven met vermelding van release en versie. Toelichtingen, voorbeelden, foutbeschrijvingen en vertalingen zijn van WTP Data Lab en maken geen deel uit van de standaard. GitHub Stichting-SIVI/VBPUOdsk · Handleiding · sivi.org