Release 2027 (pre-release) · Schemaversie001.05 · Actief
SIVI-bericht 6 (00542): Orderconfirmation (VB-PUO)
De orderconfirmation koppelt de uitvoering terug: welke order is tegen welke prijs en in welk aantal uitgevoerd. De structuur spiegelt bericht 5, inclusief de switch-conventie, zodat de PUO de confirmatie één-op-één aan de opdracht kan koppelen en de unit-administratie kan bijwerken.
Berichtstructuur
Entiteiten met cardinaliteit [min..max] en aantal attributen; klik voor de entiteitpagina.
- chunking.default[0..1] · 4 attr.
- commonFunctional.default[1..1] · 4 attr.
- commonTechnical.default[1..1] · 3 attr.
- party.receiver[1..1] · 3 attr.
- party.sender[1..1] · 4 attr.
- party.contact[0..9] · 2 attr.
- document.default[0..99] · 3 attr.
- party.pensionProvider[1..1] · 3 attr.
- pension.scheme[1..999] · 3 attr.
- financialInformation.reportingPeriod[1..1] · 2 attr.
- investment.investmentDetails[1..999] · 4 attr.
- financialTransaction.trade[1..99] · 15 attr.
- pension.scheme[1..999] · 3 attr.
Attributen(50)
| Entiteit | Attribuut | Type | V/O | Codelijst | Omschrijving |
|---|---|---|---|---|---|
| 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 | investmentOrderSettlementDate | string · format date | V | Datum waarop de volledige cyclus van de beleggingsorder afgewikkeld moet zijn. | |
| financialInformation.reportingPeriod | instructionDate | string · format date | O | 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 | |
| investment.investmentDetails | numberOfUnits | number · multipleOf 0.000001 | O | Aantal units/eenheden. | |
| 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 | O | Gewenste handelsdatum. | |
| financialTransaction.trade | tradeAmount | number · multipleOf 0.01 | V | Aankoopbedrag in de valuta van de belegging. | |
| financialTransaction.trade | tradeQuantity | number · multipleOf 0.000001 | O | Aantal eenheden van de transactie. | |
| financialTransaction.trade | tradePrice | number · multipleOf 0.000001 | O | Aankoopprijs. | |
| financialTransaction.trade | switchType | string | O | AFDSWI | Switchsoort |
| financialTransaction.trade | clearingBroker | string · max 70 | O | Naam van de effectenmakelaar verantwoordelijk voor de administratieve en financiële afwikkeling van de transactie. | |
| financialTransaction.trade | broker | string · max 70 | O | Naam van de effectenmakelaar die (belegging)orders uitvoert op de markt. | |
| financialTransaction.trade | commissionAmount | number · multipleOf 0.01 | O | Vergoedingsbedrag voor het uitvoeren van een transactie. | |
| financialTransaction.trade | clearingBrokerCashAccount | string · max 18 | O | Geldrekening (IBAN) van de clearing broker. | |
| financialTransaction.trade | buySellId | string | V | sell | buy | switchfrom | switchto | Aan- en verkoopindicator. |
| financialTransaction.trade | counterparty | string · max 70 | O | Tegenpartij, transfer agent die de aan-/verkoop verricht. | |
| financialTransaction.trade | adjustmentIndicator | boolean | V | Indicatie of de huidige instructie gewijzigd is. | |
| financialTransaction.trade | interestAmount | number · multipleOf 0.01 | O | Rentebedrag. |
Voorbeeldbericht
Bron voorbeeld: SIVI voorbeeldbericht (Voorbeeldbericht_6-buy-sell-switch). Waarden zijn fictief.
{
"commonFunctional": [
{
"entityType": "default",
"function": "02",
"afdDefinitionName": "VBPUO-001.00-Bericht_6._Orderconfirmation_(00542)",
"afdDefinitionVersion": "001.05",
"originalMessageId": "20240529 1532"
}
],
"commonTechnical": [
{
"entityType": "default",
"messageId": "77891",
"creationDateTime": "2024-10-07T10:00:00Z",
"testMessage": false,
"party": [
{
"entityType": "sender",
"refKey": "recv001",
"rsinNumber": "123456789",
"organizationName": "Pension Fund A",
"applicationSenderName": "OurApp"
},
{
"entityType": "receiver",
"rsinNumber": "876543219",
"organizationName": "Investment Firm B",
"refKey": "send001"
}
]
}
],
"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",
"investmentOrderSettlementDate": "2024-01-07",
"instructionDate": "2024-01-02"
}
],
"investment": [
{
"entityType": "investmentDetails",
"refKey": "inv001",
"description": "Equity Fund",
"currencyType": "EUR",
"financialTransaction": [
{
"entityType": "trade",
"refKey": "trade123",
"adjustmentIndicator": false,
"buySellId": "buy",
"tradeAmount": 10000,
"tradeQuantity": 100,
"tradePrice": 100,
"commissionAmount": 50,
"interestAmount": 0.5,
"counterparty": "Counterparty XYZ",
"broker": "Broker ABC",
"clearingBroker": "Clearing Broker DEF",
"clearingBrokerCashAccount": "CBA123456"
},
{
"entityType": "trade",
"refKey": "trade124",
"adjustmentIndicator": false,
"buySellId": "sell",
"tradeDate": "2024-01-04",
"tradeAmount": 5000,
"tradeQuantity": 50,
"tradePrice": 100,
"commissionAmount": 25,
"interestAmount": 0.25,
"counterparty": "Counterparty XYZ",
"broker": "Broker ABC",
"clearingBroker": "Clearing Broker DEF",
"clearingBrokerCashAccount": "CBA123456"
}
]
}
]
},
{
"entityType": "scheme",
"refKey": "schemeABC",
"pensionSchemeName": "Retirement Plan B",
"tradingPortfolioId": "Trade456",
"financialInformation": [
{
"entityType": "reportingPeriod",
"investmentOrderSettlementDate": "2024-01-07",
"instructionDate": "2024-01-05"
}
],
"investment": [
{
"entityType": "investmentDetails",
"refKey": "inv002",
"description": "Bond Fund",
"currencyType": "USD",
"financialTransaction": [
{
"entityType": "trade",
"refKey": "trade125",
"adjustmentIndicator": false,
"buySellId": "switchfrom",
"tradeDate": "2024-01-06",
"tradeAmount": 2000,
"tradeQuantity": 20,
"tradePrice": 100,
"switchType": "1",
"financialInformationRef": [
"trade126",
"inv003"
],
"commissionAmount": 20,
"interestAmount": 0.2,
"counterparty": "Counterparty XYZ",
"broker": "Broker ABC",
"clearingBroker": "Clearing Broker DEF",
"clearingBrokerCashAccount": "CBA123456"
}
]
},
{
"entityType": "investmentDetails",
"refKey": "inv003",
"description": "Global Equity",
"currencyType": "EUR",
"financialTransaction": [
{
"entityType": "trade",
"refKey": "trade126",
"adjustmentIndicator": false,
"buySellId": "switchto",
"tradeDate": "2024-01-06",
"tradeAmount": 2000,
"tradeQuantity": 50,
"tradePrice": 40,
"switchType": "1",
"financialInformationRef": [
"trade125",
"inv002"
],
"commissionAmount": 20,
"interestAmount": 0.2,
"counterparty": "Counterparty XYZ",
"broker": "Broker ABC",
"clearingBroker": "Clearing Broker DEF",
"clearingBrokerCashAccount": "CBA123456"
}
]
}
]
}
]
}
],
"document": []
}Regels en verbandscontroles
- tradeAmount is verplicht; tradeQuantity, tradePrice, counterparty, broker, interestAmount, commissionAmount, clearingBroker en clearingBrokerCashAccount zijn sinds Release 2027 optioneel.
- Een confirmatie verwijst naar de opdracht via dezelfde refKey en, bij switches, dezelfde financialInformationRef en switchType.
- Een afwijkende uitvoering (deels uitgevoerd, andere prijs) wordt gemeld met adjustmentIndicator.
Valkuilen
- Een confirmatie zonder de refKey van de oorspronkelijke order is voor de PUO niet te matchen; de ontvanger zal het bericht functioneel afwijzen.
Fouten en oplossingen
- messageId ontbreekt, is leeg of langer dan 70 tekensSchemafout op commonTechnical/0/messageId: 'must have required property' of 'must NOT have more than 70 characters'.
- afdDefinitionVersion onjuist (001.04 versus 001.05)Schemafout 'must be equal to one of the allowed values' op afdDefinitionVersion, of de ontvanger valideert tegen het verkeerde schema en meldt onbekende velden.
- switchfrom zonder switchto, of financialInformationRef ontbreektDe broker kan het switchpaar niet vormen en wijst de order af.
- switchType ongeldig (AFDSWI)Schemafout op switchType.
- buySellId ongeldigSchemafout 'must be equal to one of the allowed values' op buySellId.
- tradeAmount of tradeQuantity negatiefSchema-valide, maar de ontvanger interpreteert het teken verschillend van de bedoeling.
Verschil met Release 2026(001.04 → 001.05)
Attributentoegevoegd:financialTransaction.trade.financialInformationRef, financialTransaction.trade.switchType
Verplichting gewijzigd:financialTransaction.trade.tradeQuantity (V → O), financialTransaction.trade.tradePrice (V → O), financialTransaction.trade.clearingBroker (V → O), financialTransaction.trade.broker (V → O), financialTransaction.trade.commissionAmount (V → O), financialTransaction.trade.clearingBrokerCashAccount (V → O), financialTransaction.trade.counterparty (V → O), financialTransaction.trade.interestAmount (V → O)
Veelgestelde vragen
Waarom is bericht 6 hernoemd van Orderbevestiging naar Orderconfirmation?
In november 2024 (v1.2.0) koos SIVI de Engelse term die brokers en transfer agents gebruiken; de code 00542 veranderde niet.
Wijzigingsgeschiedenis
- v1.2.0 (november 2024): hernoemd naar Orderconfirmation; numberOfUnits.
- v1.4.0 (Release 2027): velden tradeQuantity, tradePrice, counterparty, broker, interestAmount, commissionAmount, clearingBroker en clearingBrokerCashAccount optioneel; switchfrom/switchto.
Schema-bestand: VBPUO-001.00-Bericht_6._Orderconfirmation_(00542)_v5.json · JSON-schema (001.05) · GitHub
