Colofon

Datum 20260715
Project Referentie VBPUO
Vertrouwelijkheid Openbaar
Status Pre-Release 2027
Opdrachtgever Stuurgroep DSO
Auteurs SIVI
Repository https://github.com/Stichting-SIVI/VBPUOdsk
English version https://stichting-sivi.github.io/VBPUOdsk-docs/ (unofficial, machine-translated)
Document versie 20260715 Handleiding Standaard datauitwisseling VB-PUO release 2027
Releasenummers

GitHub (pre-)release 2027 Tag v.1.4.0 bestaat uit de volgende onderdelen:

  • JSON-Schema’s versie: VBPUO-001.05 (voor berichten 1 t/m 15 en feedback message -
    Model base: 20260717-0825 vb-puo entiteitenattribs OH - Doc (2027 version) 2.0 veegactie)

Releasenotes

https://github.com/Stichting-SIVI/VBPUOdsk/releases/tag/v1.4.0

In de releasenotes worden de wijzigingen beschreven. De impact van de wijzigingen is verwerkt in deze handleiding.

Technische wijzigingen release 2027

Overgang naar JSON Schema Draft 2020-12:

  • Overgang van definitions naar $defs
  • Aanpassing van interne en externe schemareferenties
  • Modernisering van JSON Schema-validatie en toolingondersteuning

Zie ook GitHub issue #104 JSON Schema Versie

Functionele wijzigingen release 2027
  • participationStatus (ADNDNS): waarde 60 verwijderd uit documentatie (was reeds gecorrigeerd in JSON-schema). Zie GitHub issue #103 en #71.
  • APF-kringen: toelichting twee gangbare scenario's voor PUV-codes bij APF's met meerdere kringen (§6.4.1, §6.3). Zie GitHub issue #114.
  • Lege cohorten: toelichting dat beide benaderingen (meesturen met waarde 0 of weglaten) zijn toegestaan (§3.2.3). Zie GitHub issue #100.
  • Chunking: geen maximum aantal chunks in de standaard; limieten zijn afspraken tussen ketenpartijen (§2.7). Zie GitHub issue #127.
  • Datumconventies: eenduidige toepassing van startDate en projectionDate vastgelegd (§6.3, §3.2.1, §3.2.3). Zie GitHub issue #94.
  • Dekkingsgraad / coverage ratio: expliciet buiten scope geplaatst (§2.3). Zie GitHub issue #118.
  • Opschoning FPR-berichten: berichten 7, 8, 9, 11 en 12 uit de actieve berichtenset gehaald; nummering ongewijzigd. Berichtenmatrix omgezet naar nieuwe actorkolommen: Soort, ACB en BR verwijderd, LDI toegevoegd (§6.4, §4.5). Zie GitHub issues #99, #119, #121, #98.
  • Rol ACB (Administrateur cohorten- en beleggingspools): vervallen als zelfstandige actor. In de praktijk ingevuld door de BA of de PUO; het berichtenschema biedt nog steeds de mogelijkheid deze rol te ondersteunen indien nodig (§6.4). Zie GitHub issue #131.
  • Reserves en voorzieningen: rolverdeling refKey (identificatie), reserveType/AFDRES (classificatie en sleutel beleggingsbeleid) en reserveDescription (beschrijvend) verduidelijkt (§6.3). Zie GitHub issue #111.
  • Bericht 10 (00553): cohortPool-laag verwijderd; gegevens rechtstreeks op investment.pool-niveau (§6.4.11, §4.5.3, §6.3). Geen expliciet formeel FPR-besluit in beschikbare verslaglegging; wijziging doorgevoerd op basis van beschikbare context en ontbreken van bekende bezwaren. Zie GitHub issue #124.
  • Bericht 10 (00553): velden dummyCashId, tradeQuantity, unitPrice en currencyExchangeRate verwijderd uit entiteit investment.pool. De velden buySellId, tradeValueAmount en currencyType blijven actief (§6.4.11, §6.3, §6.5). Zie GitHub issue #133.
  • Bericht 14 Betaalinformatie (00556): veldlengte collectionAccountIban gecorrigeerd van 10 naar 34 in financialTransaction.payment en party.creditor. De waarde 34 is de internationale IBAN-maxlengte conform ISO 13616; de Nederlandse IBAN-lengte (18) valt daar binnen (§6.3). Zie GitHub issue #135.
  • Berichten 5 en 6 (00541/00542): switch-conventie aangepast. Code switch in buySellId vervangen door switchfrom en switchto; richting volgt uit buySellId, bedragen zijn altijd positief. switchType en financialInformationRef nu ook beschikbaar in bericht 6 (§4.4, §6.3, §6.5). Zie GitHub issue #115.
  • Bericht 5 (00541): verbandscontrole expliciet vastgelegd — per trade-instructie moet exact één van tradeAmount of tradeQuantity gevuld zijn. Beide gevuld of beide leeg is niet toegestaan (§4.4). Zie GitHub issue #116.
  • Bericht 6 (00542): velden tradeQuantity, tradePrice, counterparty, broker, interestAmount, commissionAmount, clearingBroker en clearingBrokerCashAccount gewijzigd van verplicht naar optioneel onder financialTransaction.trade. tradeAmount blijft verplicht (§6.4.7, §6.5). Zie GitHub issue #105.
  • Uniciteit messageId: expliciet vastgelegd dat messageId altijd uniek is over alle berichten heen; gebruik voor groepering of bundeling is niet toegestaan (§6.3). Uitzondering: chunking (§7.6). Zie GitHub issue #108.
  • Bericht 15 Corporate Actions (00557): procesuitleg toegevoegd voor het doorgeven van corporate-action gebeurtenissen vanuit de vermogensbeheerketen naar de PUO. Modellering rebate toegelicht: corporateActionType = rebate, vastlegging via cashDividendTotalAmount en/of cashDividendPerUnitAmount (§4.5.7). Zie GitHub issue #87.
  • Bericht 4 Rendementsinformatie: verduidelijkt dat totaalrendement en uitsplitsing naar matching/return in één bericht mogen, onderscheiden via refKey (§3.2.4). Zie GitHub issue #109.
  • Bericht 2 Cashflow (0001b): twee wederzijds uitsluitende invulpatronen vastgelegd. SPR-route: directe cashflow op regelingniveau met optionele cohortuitsplitsing (incl. netDate op cohortniveau). FPR-route: cashflow per beleggingsportefeuille via investment.portfolio → financialTransaction.cashflow; netAmount en netDate verplicht. Conditionele verbandscontroles vastgelegd (§3.2.2, §4.4, §6.3, §6.3.1, §6.4.3, §6.5). Zie GitHub issue #113.
  • Gebruik van SPR-berichten in FPR: expliciet vastgelegd dat voor collectieve premiestromen binnen FPR (risicopremies, reserves, onttrekkingen) gebruik wordt gemaakt van SPR-berichten 1, 2, 3 en/of 4, zowel voor Model 1 als Model 2 (§4.6). Zie GitHub issue #91.
  • Feedbackbericht: afhandeling van een duplicaat messageId vastgelegd — de ontvangende partij wijst het bericht af met HTTP 400 en een Feedbackbericht in de response body, inclusief errorCode en errorCodeExplanation (§4.7). Zie GitHub issue #129.
  • Feedbackbericht: party.sender en party.receiver toegevoegd aan de beschrijving van commonTechnical (§4.7). Zie GitHub issue #90.
  • Feedbackbericht: asynchroon feedbackbericht uitgebreid met aanvullende scenario's voor succesvolle en foutieve verwerking; maximale lengte errorCodeExplanation verhoogd van 300 naar 1000 tekens (§4.7, §6.3). Zie GitHub issue #107.
  • Feedbackbericht: 00542 (Orderconfirmation) toegevoegd aan de originalMessageType enum, zodat ook op orderconfirmation-berichten feedback kan worden gegeven (§6.3). Zie GitHub issue #126.
  • Bericht 13 Waarde-informatie beleggingspool (00555b): marketValueAmount verwijderd uit investment.pool; de netto vermogenswaarde wordt uitsluitend via preliminaryUnitValueAmount uitgedrukt, met bijgewerkte omschrijving. Veldbeschrijvingen geconsolideerd; dubbele buySellId-definitie samengevoegd en tradeValueAmount-omschrijving verduidelijkt (§6.3, §6.5). Zie GitHub issue #128.
  • Functionele uitval bij orders: vastgelegd dat niet-uitvoerbare orders worden teruggekoppeld via het feedbackbericht (status Afgewezen, foutcode, omschrijving). Overmacht en force majeure kennen geen standaardbericht; afhandeling valt onder bilaterale SLA/TOM-afspraken (§4.7). Zie GitHub issue #132.
  • Procesplaten FPR model 2: Figuur 8 en 9 zijn indicatieve procesflow schema's. Tijdsaanduidingen zijn indicatief; de volgorde van stappen is richtinggevend. Berichten 10 en 14 kunnen door de PUO of de BA worden verstuurd (§4.5).
  • Reserves en voorzieningen: codelijst AFDRES uitgebreid met codes 9 t/m 15 voor reserveType. Bij gedeeld beleggingsbeleid kan worden ingedikt; expliciete code alleen bij separaat beleggingsbeleid. Geldt voor SPR en FPR (§6.3). Zie GitHub issue #134.
  • Verbandscontroles cashflowbericht: SPR/FPR-uitsluitingsregel als formele verbandscontrole gepositioneerd; somcontroles bij cohortuitsplitsing expliciet naar SPR-route geschaald en reconciliatiebegrip toegelicht (§6.3.1). Zie GitHub issue #113.
  • Entiteitnaam chunkMeta.default hernoemd naar chunking.default in de documentatie, conform de reeds doorgevoerde wijziging in de JSON-schema's (§2.7, §6.3, §6.4, §6.5, §7.6).
  • Procesflow FPR model 2, Fase 3 (stap H): rolverdeling gecorrigeerd — de LDI-manager voert zelf de transacties op het LDI-mandaat uit (stap H1), de FM/VB monitort de LDI-manager en handelt de overige (non-LDI) beleggingsportefeuilles af (stap H2) (§4.5). Begrippen LDI-mandaat en Mandaat toegevoegd aan de begrippenlijst (§8.1).
  • Procesflow FPR model 2, non-unitized variant (figuur 9): timing SIVI 2 cash-instructie CVP (stappen O en P) gecorrigeerd van T+3 naar T-4, gelijktijdig met SIVI 5 orderopdracht (§4.5).
  • Enkele tekstuele verbeteringen doorgevoerd.