Kennisbank BerichtenEntiteitenAttributenCodelijstenFouten en oplossingenProcessenRollenReleasesBegrippenEcosysteemVergelijk Validator NL EN

Release 2027 (pre-release) · Schemaversie001.05 · Actief

SIVI-bericht 2 (0001b): Cashflow (VB-PUO)

Bericht 2 geeft de geldstromen van de periode door: premies en inkomende waardeoverdrachten (instroom), uitkeringen en uitgaande overdrachten (uitstroom) en verschuivingen tussen cohorten. De stromen worden per regeling en per cohort aangeleverd, óf gesaldeerd als netto cashflow. Ook stortingen in en onttrekkingen aan reserves (solidariteitsreserve, compensatiedepot) lopen via dit bericht.

Verzender
Pensioenuitvoeringsorganisatie (PUO)
Ontvanger
Fiduciair manager (FM) en beleggingsadministrateur (BA)
Moment
Maandelijks (verwacht); prospectief (verwachte stromen) of retrospectief (gerealiseerde stromen), afhankelijk van de ketenafspraak
Regeling
SPR (ook voor collectieve stromen in FPR)
afdDefinitionName
VBPUO-001.00-Bericht_2._Cashflow_(0001b)

Berichtstructuur

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

Attributen(52)

EntiteitAttribuutTypeV/OCodelijstOmschrijving
chunking.default currentChunkId string 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 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 messageId string · max 70 V Unique identification of the message. (AFD 2.0 only)
commonTechnical.default testMessage boolean O Indicatie of sprake is van een testbericht.
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 workPhoneNumber string · max 60 V Telefoonnummer werk
party.contact emailWork string · max 60 V E-mail adres werk
document.default refKey string · max 70 V Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.
document.default fileExtension string V pdf | csv | txt Extensienaam van het bestand waaronder de bijlage kan worden opgeslagen. Bijvoorbeeld "PDF", "DOC", etc.
document.default fileName string · max 60 V Naam van het bestand waaronder de bijlage kan worden opgeslagen.
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 pensionSchemeName string · max 60 V Naam van de pensioenregeling.
financialInformation.reportingPeriod endDate string · format date V Vervaldatum (tot-datum).
financialInformation.reportingPeriod startDate string · format date V Startdatum (vanaf-datum).
financialTransaction.cashflow netAmount number · multipleOf 0.01 O Netto som van inleg en onttrekkingen per regeling. Een negatief bedrag is een (netto) onttrekking.
financialTransaction.cashflow withdrawalDate string · format date O Datum waarop (uiterlijk) de liquiditeiten voor de onttrekking zijn vrijgemaakt.
financialTransaction.cashflow withdrawalAmount number · multipleOf 0.01 O Som van de uitstroom.
financialTransaction.cashflow contributionDate string · format date O Datum van ontvangst van inleg.
financialTransaction.cashflow contributionAmount number · multipleOf 0.01 O Som van de inleg.
financialTransaction.cashflow netDate string · format date O Datum waarop gesaldeerde instroom en uitstroom wordt gefaciliteerd.
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
financialTransaction.cashflow netAmount number · multipleOf 0.01 V Netto som van inleg en onttrekkingen per regeling. Een negatief bedrag is een (netto) onttrekking.
financialTransaction.cashflow netDate string · format date V Datum waarop gesaldeerde instroom en uitstroom wordt gefaciliteerd.
pension.cohort refKey string · max 70 V Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.
pension.cohort netAmount number · multipleOf 0.01 O Netto som van inleg en onttrekkingen per regeling. Een negatief bedrag is een (netto) onttrekking.
pension.cohort withdrawalAmount number · multipleOf 0.01 O Som van de uitstroom.
pension.cohort contributionAmount number · multipleOf 0.01 O Som van de inleg.
pension.cohort netDate string · format date O Datum waarop gesaldeerde instroom en uitstroom wordt gefaciliteerd.
pension.cohort description string · max 60 V Omschrijving
pension.cohort reserveDescription string · max 60 O Omschrijving van het reserve.
pension.cohort reserveType string O AFDRES Type 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

Voorbeeldbericht

✓ Gevalideerd tegen schema VBPUO-001.05 · 2026-09-05

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

{
  "commonTechnical": [
    {
      "entityType": "default",
      "creationDateTime": "2023-12-28T12:00:00Z",
      "messageId": "msg123456",
      "testMessage": false,
      "party": [
        {
          "entityType": "sender",
          "refKey": "SEND123",
          "organizationName": "Zender Organisatie",
          "applicationSenderName": "ApplicatieNaam",
          "party": [
            {
              "entityType": "contact",
              "emailWork": "[email protected]",
              "workPhoneNumber": "+31678717607"
            }
          ]
        },
        {
          "entityType": "receiver",
          "refKey": "REC123",
          "rsinNumber": "987654321",
          "organizationName": "Ontvanger Organisatie"
        }
      ]
    }
  ],
  "commonFunctional": [
    {
      "entityType": "default",
      "afdDefinitionName": "VBPUO-001.00-Bericht_2._Cashflow_(0001b)",
      "afdDefinitionVersion": "001.05",
      "function": "01",
      "originalMessageId": "987654321"
    }
  ],
  "party": [
    {
      "entityType": "pensionProvider",
      "rsinNumber": "123456789",
      "organizationName": "Pensioenverstrekker",
      "puvCode": "U0003",
      "pension": [
        {
          "entityType": "scheme",
          "refKey": "SCH456",
          "pensionSchemeName": "Standaard Pensioen",
          "financialInformation": [
            {
              "entityType": "reportingPeriod",
              "startDate": "2023-01-01",
              "endDate": "2023-12-31"
            }
          ],
          "financialTransaction": [
            {
              "entityType": "cashflow",
              "contributionAmount": 15000,
              "contributionDate": "2023-01-01",
              "withdrawalAmount": 4000,
              "withdrawalDate": "2023-01-15",
              "netAmount": 11000,
              "netDate": "2023-01-31"
            }
          ],
          "pension": [
            {
              "entityType": "cohort",
              "refKey": "COH789",
              "description": "Cohort 2023",
              "netAmount": 5000,
              "contributionAmount": 7000,
              "withdrawalAmount": 2000,
              "participationStatus": "16",
              "reserveIndicator": false,
              "startAge": 300,
              "endAge": 540
            },
            {
              "entityType": "cohort",
              "refKey": "COH790",
              "description": "Cohort 2024",
              "netAmount": 6000,
              "contributionAmount": 8000,
              "withdrawalAmount": 2000,
              "participationStatus": "16",
              "reserveIndicator": false,
              "startAge": 540,
              "endAge": 780
            }
          ]
        },
        {
          "entityType": "scheme",
          "refKey": "SCH457",
          "pensionSchemeName": "Geavanceerd Pensioen",
          "financialInformation": [
            {
              "entityType": "reportingPeriod",
              "startDate": "2023-03-01",
              "endDate": "2023-12-31"
            }
          ],
          "financialTransaction": [
            {
              "entityType": "cashflow",
              "contributionAmount": 16000,
              "contributionDate": "2023-03-01",
              "withdrawalAmount": 4000,
              "withdrawalDate": "2023-03-15",
              "netAmount": 12000,
              "netDate": "2023-03-31"
            }
          ],
          "pension": [
            {
              "entityType": "cohort",
              "refKey": "COH791",
              "description": "Cohort 2025",
              "netAmount": 5500,
              "contributionAmount": 7500,
              "withdrawalAmount": 2000,
              "participationStatus": "16",
              "reserveIndicator": false,
              "startAge": 400,
              "endAge": 520
            },
            {
              "entityType": "cohort",
              "refKey": "COH792",
              "description": "Cohort 2026",
              "netAmount": 6500,
              "contributionAmount": 8500,
              "withdrawalAmount": 2000,
              "participationStatus": "16",
              "reserveIndicator": false,
              "startAge": 520,
              "endAge": 900
            }
          ]
        }
      ]
    }
  ],
  "document": []
}

Regels en verbandscontroles

  • Instroom en uitstroom worden óf apart aangeleverd (contributionAmount en withdrawalAmount met hun datums), óf gesaldeerd (netAmount met netDate). Beide vormen in één cohort is niet de bedoeling.
  • De SPR-route (per cohort) en de FPR-route (per beleggingsportefeuille) sluiten elkaar uit: kies per bericht één patroon.
  • De cohorttotalen sluiten aan op het regelingniveau; de cohortindeling is identiek aan die van bericht 1.
  • Alle datums vallen binnen de rapportageperiode (financialInformation.reportingPeriod.startDate tot endDate).

Valkuilen

  • Een prospectief bericht (verwachte stromen) dat later niet wordt gevolgd door de gerealiseerde stromen laat de beleggingsadministratie met een schatting achter; spreek af welke variant leidend is.
  • netDate ontbreekt vaak bij gesaldeerde aanlevering; sinds de documentatie-update van oktober 2025 (issue #82) is duidelijk dat de datum bij het saldo hoort.

Fouten en oplossingen

Verschil met Release 2026(001.04 → 001.05)

Entiteitentoegevoegd:investment.portfolio

Attributentoegevoegd:investment.portfolio.refKey, investment.portfolio.description, pension.cohort.netDate

Verplichting gewijzigd:financialTransaction.cashflow.netAmount (O → V), financialTransaction.cashflow.netDate (O → V)

Veelgestelde vragen

Moet ik instroom en uitstroom apart aanleveren?

Dat mag, maar het hoeft niet: de standaard staat ook een gesaldeerde cashflow toe (netAmount). Fiduciair managers geven vaak de voorkeur aan aparte stromen omdat die de liquiditeitsplanning ondersteunen.

Hoe geef ik een verschuiving tussen cohorten door?

Als uitstroom bij het ene cohort en instroom bij het andere, in dezelfde periode. Het regelingtotaal verandert dan niet.

Waar horen reservestortingen thuis?

Bij het reservecohort (reserveIndicator = true, reserveType uit AFDRES) als instroom of uitstroom, net als bij een gewoon cohort.

Wijzigingsgeschiedenis

  • v1.3.0 (Release 2026): documentatie netDate (issue #82); chunking.
  • v1.4.0 (Release 2027): SPR-route en FPR-route als invulpatronen beschreven; JSON Schema 2020-12.

Schema-bestand: VBPUO-001.00-Bericht_2._Cashflow_(0001b)_v5.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