Knowledge base MessagesEntitiesAttributesCode listsErrors and fixesProcessesRolesReleasesGlossaryEcosystemCompare Validator NL EN

Release 2027 · Schema version 001.05 · v1.4.0-prerelease → v1.4.0

Release 2027: pre-release versus final (what changed on 12 October 2026)

On 12 October 2026 SIVI published the final Release 2027 (tag v1.4.0). It replaces the pre-release of 17 July 2026, which is now tag v1.4.0-prerelease. Both carry afdDefinitionVersion 001.05 (the feedback message 001.02): the version number does not show which of the two a message was built on. A message built on the pre-release can therefore state 001.05 and still be rejected. Below, per message, what changed, what it means for a message built on the pre-release, and what the validator then reports.

Pre-release
17 July 2026, tag v1.4.0-prerelease
Final
12 October 2026, tag v1.4.0 (commit a603372)
Version number
001.05 (feedback 001.02), unchanged
In use
from 1 January 2027

Per message

MessageWhat changedA message built on the pre-releaseWhat the validator reports
All messagesafdDefinitionName has a fixed value again: the file name of the schema with 001.00, for example VBPUO-001.00-Bericht_2._Cashflow_(0001b). The version is only in afdDefinitionVersion (#140, manual section 7.5.1.1). Also: chunking.currentChunkId at most 70 characters, and every attribute carries a Dutch explanation by SIVI (customDescription).In the pre-release the name was free; SIVI's own chunk samples carried Pensioenprojectie_0001c. Any value other than the fixed name is now a schema error.Error at afdDefinitionName, with the expected value and the reason.
2 CashflownetAmount and netDate are mandatory in every cashflow block: directly under the scheme, per cohort and per investment portfolio. The cashflow per portfolio may now also carry contributionAmount and withdrawalAmount with their dates (two decimals). A portfolio next to the cashflow directly under the scheme is the FPR route itself; only a breakdown per cohort and per portfolio in one scheme is not valid. At least one cashflow per scheme (manual sections 6.3.1, 3.2.5).A cohort without netDate is rejected; SIVI's own pre-release sample had that. The published schema only counts the valid array items (#63), so a generic validator misses it; a receiver that checks every item does not.Error: required property netDate missing, per cohort. Error for a scheme without any cashflow.
3 Pension projectionNew: the FPR route with 0 to 99 investment portfolios per scheme, each with 0 to 9999 projected payments. Payments under a cohort or portfolio are optional. Each scheme uses exactly one breakdown: per cohort or per portfolio (manual section 6.3.1).A scheme with only scheme-level payments and no cohorts is no longer valid. SIVI changed its own sample for that reason.Error for a scheme without a breakdown and for a scheme with both cohorts and portfolios. Not on a chunk.
5 Trade instructionThe order rules are now in the new section 6.3.2 (the old section 4.4.1 no longer exists). Per order exactly one of tradeAmount and tradeQuantity; both empty only on the order of a switch that does not steer, and that may be either order. Per switch pair exactly one order carries an amount or quantity. switchType has the codes 1 (sequential) and 2 (one day), via the code-list file next to the schema; a validator that does not find that file cannot compile the schema.Amount and quantity together was already forbidden in the pre-release (section 4.4.1), yet SIVI's own three samples did it; the final samples no longer do. Newly allowed: an empty switchfrom order when the switchto order steers.Error for amount and quantity together or both empty; error when neither or both orders of a switch steer.
6 Order confirmationIf tradeQuantity and tradePrice are both present, then per trade quantity × price = tradeAmount. In a switch the amount of the switchfrom order goes into the switchto order, except between products in different currencies (manual section 6.3.2). switchType as in message 5.A confirmation in which quantity × price is not the amount is rejected. SIVI's buy sample computes 102 × 98.04 = 10000.08.Error when quantity × price differs by more than half a cent (plus the rounding of the price); warning when the amounts of a switch in the same currency differ.
14 Payment informationPer scheme 1 to 999 payments in one message (was exactly one, #149). collectionAccountIban at most 34 characters, on the payment and on the creditor (was 10, #135). The sender is the investment administrator; the PUO only when it fulfils that role itself (#142).A pre-release message stays valid. Not the other way round: with full IBANs or several payments the message is valid under Release 2027 only; Release 2026 (001.04, also v1.3.2) allows 10 characters and one payment.Under Release 2026: error on the length of the IBAN and on the number of payments.
15 Corporate actionsThe empty financialInformation.reportingPeriod has been removed from the message. corporateActionType uses code list AFDCOA: 1 cash dividend, 2 stock dividend, 3 product change, 99 other; a rebate falls under 99. AFDCAE no longer exists. The dividend fields have two decimals.Every message 15 of the pre-release is rejected: the codes cashDividend, stockDividend, productChange and rebate no longer exist, and financialInformation is an unknown field.Error: value is not in the code list; error: unknown field financialInformation.
Feedback messageafdDefinitionName is fixed as VBPUO_Feedback_Message-001.00-VBPUO_Feedback_Message (the pre-release had …-001.02-…); the version stays 001.02. originalMessageType lists the ten active messages, 00557 added and the discontinued messages removed.Every pre-release feedback message is rejected on afdDefinitionName. Feedback on message 15 is now possible.Error at afdDefinitionName, with the expected value.
1 to 4: reservesThe manual lays down a consistency check: if reserveIndicator is true, reserveType is mandatory (section 6.3). The schema keeps both fields optional. reserveDescription is desired with code 99.The schema accepts a reserve cohort without reserveType; a receiver that applies the consistency checks does not.Error under Release 2027, warning under Release 2026.

What changed in the manual

Built on the pre-release? What to change

  1. Set afdDefinitionName to the fixed name of the message (the list is on the code list page afdDefinitionName).
  2. Message 2: give netAmount and netDate in every cashflow block, also per cohort; use either cohorts or portfolios per scheme.
  3. Message 3: give every scheme exactly one breakdown.
  4. Message 5: per order an amount or a quantity; per switch one order steers.
  5. Message 6: make quantity × price come out at the amount.
  6. Message 15: use the AFDCOA codes 1, 2, 3 and 99 and leave financialInformation out.
  7. Feedback message: the new fixed afdDefinitionName.
  8. Validator: resolve the reference to the code-list file next to the schema (messages 5, 6 and 15), next to the code lists on sivi.org.
  9. Check your messages again in the validator, with Release 2027 (or automatic) selected.

Validate a message

Measured

Source: Release notes v1.4.0 (SIVI, GitHub) · Manual Release 2027 (final, Dutch) · Manual of the pre-release (online until April 2027)

Attribution. Source: SIVI – VB-PUO Standard. Schemas, attribute descriptions and code lists are taken unchanged from the VB-PUO Standard (owned by the Pensioenfederatie, managed by SIVI) and shown with their release and version. Explanations, examples, error descriptions and translations are by WTP Data Lab and are not part of the standard. GitHub Stichting-SIVI/VBPUOdsk · Manual · sivi.org