Kennisbank BerichtenEntiteitenAttributenCodelijstenFouten en oplossingenProcessenRollenReleasesBegrippenEcosysteemVergelijk Validator NL EN

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

SIVI-bericht 5 (00541): Orderopdracht (VB-PUO)

Met de orderopdracht plaatst de PUO netto koop- en verkooporders op het hoogste fondsniveau: de mutaties van deelnemers zijn al vertaald naar nettotransacties per beleggingsfonds. Switches tussen fondsen worden als twee gekoppelde orders aangeleverd. Het bericht bevat alleen wat de uitvoerende partij nodig heeft; het onderliggende suborderen doet de fondsaanbieder.

Verzender
Pensioenuitvoeringsorganisatie (PUO)
Ontvanger
Broker, transfer agent of orderdesk (in model 1b via het orderplatform van de custodian of fiduciair)
Moment
Ad hoc, in de maandcyclus van model 2 op T-4
Regeling
FPR model 1 (direct ordermodel); ook in model 2
afdDefinitionName
VBPUO-001.00-Bericht_5._Orderopdracht_(00541)

Berichtstructuur

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

Attributen(40)

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.
pension.scheme tradingPortfolioId string · max 10 V Portefeuille ID van de custodian (bewaren en beheren van financiële activa).
financialInformation.reportingPeriod instructionDate string · format date V Instructiedatum (datum van de bestelling verzonden door de PUO.
investment.investmentDetails refKey string · max 70 V Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.
investment.investmentDetails currencyType string V ISOVAL ISO valutacodetabel (ISO 4217)
investment.investmentDetails description string · max 60 V Omschrijving
financialTransaction.trade refKey string · max 70 V Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend.
financialTransaction.trade financialInformationRef array[string] O Unique referral to the refKey of one or more financialInformation entities. (AFD 2.0 only)
financialTransaction.trade tradeDate string · format date V Gewenste handelsdatum.
financialTransaction.trade tradeAmount number · multipleOf 0.01 O Aankoopbedrag in de valuta van de belegging.
financialTransaction.trade tradeQuantity number · multipleOf 0.000001 O Aantal eenheden van de transactie.
financialTransaction.trade switchType string O AFDSWI Switchsoort
financialTransaction.trade buySellId string V sell | buy | switchfrom | switchto Aan- en verkoopindicator.

Voorbeeldbericht

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

Bron voorbeeld: SIVI voorbeeldbericht (Voorbeeldbericht_5-buy). Waarden zijn fictief.

{
  "commonFunctional": [
    {
      "entityType": "default",
      "function": "01",
      "afdDefinitionName": "VBPUO-001.00-Bericht_5._Orderopdracht_(00541)",
      "afdDefinitionVersion": "001.05",
      "originalMessageId": "20240529 1532"
    }
  ],
  "commonTechnical": [
    {
      "entityType": "default",
      "messageId": "67890",
      "creationDateTime": "2024-10-07T10:00:00Z",
      "testMessage": false,
      "party": [
        {
          "entityType": "receiver",
          "refKey": "recv001",
          "rsinNumber": "123456789",
          "organizationName": "Pension Fund A"
        },
        {
          "entityType": "sender",
          "rsinNumber": "876543219",
          "organizationName": "Investment Firm B",
          "refKey": "send001",
          "applicationSenderName": "InvestAppV1"
        }
      ]
    }
  ],
  "party": [
    {
      "entityType": "pensionProvider",
      "puvCode": "U0003",
      "rsinNumber": "112233449",
      "organizationName": "Pension Provider YZ",
      "pension": [
        {
          "entityType": "scheme",
          "refKey": "schemeXYZ",
          "pensionSchemeName": "Investment Scheme A",
          "tradingPortfolioId": "Trade123",
          "financialInformation": [
            {
              "entityType": "reportingPeriod",
              "instructionDate": "2024-01-02"
            }
          ],
          "investment": [
            {
              "entityType": "investmentDetails",
              "refKey": "inv001",
              "description": "Equity Fund",
              "currencyType": "EUR",
              "financialTransaction": [
                {
                  "entityType": "trade",
                  "refKey": "trade123",
                  "buySellId": "buy",
                  "tradeDate": "2024-01-03",
                  "tradeAmount": 10000,
                  "tradeQuantity": 100
                }
              ]
            }
          ]
        }
      ]
    }
  ],
  "document": []
}
Variant: Voorbeeldbericht_5-buy-sell
{
  "commonFunctional": [
    {
      "entityType": "default",
      "function": "01",
      "afdDefinitionName": "VBPUO-001.00-Bericht_5._Orderopdracht_(00541)",
      "afdDefinitionVersion": "001.05",
      "originalMessageId": "20240529 1532"
    }
  ],
  "commonTechnical": [
    {
      "entityType": "default",
      "messageId": "67890",
      "creationDateTime": "2023-12-30T12:00:00Z",
      "testMessage": false,
      "party": [
        {
          "entityType": "receiver",
          "refKey": "recv001",
          "rsinNumber": "123456789",
          "organizationName": "Pension Fund A"
        },
        {
          "entityType": "sender",
          "rsinNumber": "876543219",
          "organizationName": "Investment Firm B",
          "refKey": "send001",
          "applicationSenderName": "InvestAppV1"
        }
      ]
    }
  ],
  "party": [
    {
      "entityType": "pensionProvider",
      "rsinNumber": "112233449",
      "puvCode": "U0003",
      "organizationName": "Pension Provider YZ",
      "pension": [
        {
          "entityType": "scheme",
          "refKey": "schemeXYZ",
          "pensionSchemeName": "Investment Scheme A",
          "tradingPortfolioId": "Trade123",
          "financialInformation": [
            {
              "entityType": "reportingPeriod",
              "instructionDate": "2024-01-02"
            }
          ],
          "investment": [
            {
              "entityType": "investmentDetails",
              "refKey": "inv001",
              "description": "Equity Fund",
              "currencyType": "EUR",
              "financialTransaction": [
                {
                  "entityType": "trade",
                  "refKey": "trade123",
                  "buySellId": "buy",
                  "tradeDate": "2024-01-03",
                  "tradeAmount": 10000,
                  "tradeQuantity": 100
                },
                {
                  "entityType": "trade",
                  "refKey": "trade124",
                  "buySellId": "sell",
                  "tradeDate": "2024-01-04",
                  "tradeAmount": 5000,
                  "tradeQuantity": 50
                }
              ]
            }
          ]
        }
      ]
    }
  ],
  "document": []
}
Variant: Voorbeeldbericht_5-buy-sell-switch
{
  "commonFunctional": [
    {
      "entityType": "default",
      "function": "01",
      "afdDefinitionName": "VBPUO-001.00-Bericht_5._Orderopdracht_(00541)",
      "afdDefinitionVersion": "001.05",
      "originalMessageId": "20240529 1532"
    }
  ],
  "commonTechnical": [
    {
      "entityType": "default",
      "messageId": "67890",
      "creationDateTime": "2024-10-07T10:00:00Z",
      "testMessage": false,
      "party": [
        {
          "entityType": "receiver",
          "refKey": "recv001",
          "rsinNumber": "123456789",
          "organizationName": "Pension Fund A"
        },
        {
          "entityType": "sender",
          "rsinNumber": "876543219",
          "organizationName": "Investment Firm B",
          "refKey": "send001",
          "applicationSenderName": "InvestAppV1"
        }
      ]
    }
  ],
  "party": [
    {
      "entityType": "pensionProvider",
      "puvCode": "U0003",
      "rsinNumber": "112233449",
      "organizationName": "Pension Provider YZ",
      "pension": [
        {
          "entityType": "scheme",
          "refKey": "schemeXYZ",
          "pensionSchemeName": "Investment Scheme A",
          "tradingPortfolioId": "Trade123",
          "financialInformation": [
            {
              "entityType": "reportingPeriod",
              "instructionDate": "2024-01-02"
            }
          ],
          "investment": [
            {
              "entityType": "investmentDetails",
              "refKey": "inv001",
              "description": "Equity Fund",
              "currencyType": "EUR",
              "financialTransaction": [
                {
                  "entityType": "trade",
                  "refKey": "trade123",
                  "buySellId": "buy",
                  "tradeDate": "2024-01-03",
                  "tradeAmount": 10000,
                  "tradeQuantity": 100
                },
                {
                  "entityType": "trade",
                  "refKey": "trade124",
                  "buySellId": "sell",
                  "tradeDate": "2024-01-04",
                  "tradeAmount": 5000,
                  "tradeQuantity": 50
                }
              ]
            }
          ]
        },
        {
          "entityType": "scheme",
          "refKey": "schemeABC",
          "pensionSchemeName": "Retirement Plan B",
          "tradingPortfolioId": "Trade456",
          "financialInformation": [
            {
              "entityType": "reportingPeriod",
              "instructionDate": "2024-01-05"
            }
          ],
          "investment": [
            {
              "entityType": "investmentDetails",
              "refKey": "inv002",
              "description": "Bond Fund",
              "currencyType": "USD",
              "financialTransaction": [
                {
                  "entityType": "trade",
                  "refKey": "trade125",
                  "buySellId": "switchfrom",
                  "tradeDate": "2024-01-06",
                  "tradeAmount": 2000,
                  "switchType": "1",
                  "financialInformationRef": [
                    "trade126",
                    "inv003"
                  ]
                }
              ]
            },
            {
              "entityType": "investmentDetails",
              "refKey": "inv003",
              "description": "Global Equity",
              "currencyType": "EUR",
              "financialTransaction": [
                {
                  "entityType": "trade",
                  "refKey": "trade126",
                  "buySellId": "switchto",
                  "tradeDate": "2024-01-06",
                  "financialInformationRef": [
                    "trade125",
                    "inv002"
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ],
  "document": []
}

Regels en verbandscontroles

  • Per transactie is precies één van tradeAmount (bedrag) en tradeQuantity (aantal) gevuld; beide gevuld of beide leeg wordt afgewezen.
  • Een switch bestaat uit twee orders: buySellId = switchfrom en buySellId = switchto, aan elkaar gekoppeld via financialInformationRef; tradeAmount en tradeQuantity zijn altijd positief.
  • switchType (codelijst AFDSWI) geeft aan of de switch gelijktijdig (one-day) of volgtijdelijk wordt uitgevoerd.
  • investment.investmentDetails identificeert het fonds (refKey, description, currencyType); de identifier-conventie (bijvoorbeeld ISIN) wordt bilateraal afgesproken.

Valkuilen

  • Oudere implementaties gebruiken nog buySellId = switch (Release 2026); Release 2027 kent alleen switchfrom en switchto. Een ontvanger op 2027 wijst een oude switch af.
  • Een negatief bedrag om een verkoop aan te duiden is fout: richting zit in buySellId, niet in het teken.

Fouten en oplossingen

Veelgestelde vragen

Wat gebeurt er als een order niet uitvoerbaar is (onbekend fonds, ongeldige combinatie)?

De ontvanger stuurt een feedbackbericht met statusType 0 (afgewezen) en een geclassificeerde errorCode. De PUO stuurt daarna een gecorrigeerde order met een nieuwe messageId.

Kan ik in één bericht meerdere fondsen bedienen?

Ja: het bericht bevat per transactie de investmentDetails van het fonds; meerdere transacties in één bericht zijn toegestaan.

Wijzigingsgeschiedenis

  • v1.2.0 (november 2024): numberOfUnits toegevoegd.
  • v1.4.0 (Release 2027): switch vervangen door switchfrom/switchto met positieve bedragen; JSON Schema 2020-12.

Schema-bestand: VBPUO-001.00-Bericht_5._Orderopdracht_(00541)_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