Release 2027 · Schemaversie 001.05 · Nieuw in Release 2027
SIVI-bericht 15 (00557): Corporate Actions (VB-PUO)
Bericht 15 is nieuw in Release 2027 en meldt corporate actions op beleggingsproducten die in de vermogensadministratie zijn verwerkt maar niet vanzelf zichtbaar zijn in de systemen van de PUO: contant dividend, stockdividend, productwijzigingen en rebates (retourprovisies). Zo blijft de PUO-administratie synchroon met die van de vermogensbeheerder en worden geld- en unitmutaties correct verwerkt.
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] · 2 attr.
- investment.investmentDetails[1..999] · 2 attr.
- investment.corporateAction[1..99] · 13 attr.
- investment.investmentDetails[1..999] · 2 attr.
- pension.scheme[1..999] · 2 attr.
Attributen (43)
| Entiteit | Attribuut | Type | V/O | Codelijst | Omschrijving |
|---|---|---|---|---|---|
| chunking.default | currentChunkId | string · max 70 | 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 | VBPUO-001.00-Bericht_15._Corporate_Actions_(00557) | 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 | testMessage | boolean | O | Indicatie of sprake is van een testbericht. | |
| commonTechnical.default | messageId | string · max 70 | V | Unique identification of the message. (AFD 2.0 only) | |
| 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 | emailWork | string · max 60 | V | E-mail adres werk | |
| party.contact | workPhoneNumber | string · max 60 | V | Telefoonnummer werk | |
| document.default | refKey | string · max 70 | V | Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend. | |
| document.default | fileName | string · max 60 | V | Naam van het bestand waaronder de bijlage kan worden opgeslagen. | |
| document.default | fileExtension | string | V | pdf | csv | txt | Extensienaam van het bestand waaronder de bijlage kan worden opgeslagen. Bijvoorbeeld "PDF", "DOC", etc. |
| 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. | |
| investment.investmentDetails | refKey | string · max 70 | V | Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend. | |
| investment.investmentDetails | description | string · max 60 | V | Omschrijving | |
| investment.corporateAction | refKey | string · max 70 | V | Sleutel van de Corporate Action. | |
| investment.corporateAction | tradeDate | string · format date | V | Transactiedatum van de Corporate Action. | |
| investment.corporateAction | instructionDate | string · format date | V | Instructiedatum van de Corporate Action. | |
| investment.corporateAction | description | string · max 60 | V | Omschrijving van de Corporate Action. | |
| investment.corporateAction | currencyType | string · max 3 | O | ISOVAL | Valuta van het contante bedrag. |
| investment.corporateAction | paymentDate | string · format date | V | Betaaldatum van de Corporate Action. | |
| investment.corporateAction | corporateActionType | string | V | AFDCOA | Type Corporate Action. |
| investment.corporateAction | stockDividendPerUnitNumber | number · multipleOf 0.01 | O | Aantal stockdividend per eenheid. | |
| investment.corporateAction | cashDividendPerUnitAmount | number · multipleOf 0.01 | O | Contant bedrag per eenheid. | |
| investment.corporateAction | stockDividendTotalNumber | number · multipleOf 0.01 | O | Totaal aantal stockdividend. | |
| investment.corporateAction | newProductName | string · max 60 | O | Naam van het nieuwe product. | |
| investment.corporateAction | cashDividendTotalAmount | number · multipleOf 0.01 | O | Totaal contant bedrag van de Corporate Action. | |
| investment.corporateAction | newProductIdentifier | string · max 60 | O | Identificatie van het nieuwe product. |
Voorbeeldbericht
Bron voorbeeld: SIVI voorbeeldbericht (Voorbeeldbericht_15). Waarden zijn fictief.
{
"commonTechnical": [
{
"entityType": "default",
"creationDateTime": "2027-03-01T09:00:00+01:00",
"messageId": "VB-00557-0001",
"testMessage": true,
"party": [
{
"entityType": "sender",
"refKey": "BA01",
"organizationName": "Beleggingsadministrateur Voorbeeld",
"applicationSenderName": "VoorbeeldApplicatie"
},
{
"entityType": "receiver",
"refKey": "PUO01",
"organizationName": "Pensioenuitvoerder Voorbeeld"
}
]
}
],
"commonFunctional": [
{
"entityType": "default",
"afdDefinitionName": "VBPUO-001.00-Bericht_15._Corporate_Actions_(00557)",
"afdDefinitionVersion": "001.05",
"function": "01"
}
],
"party": [
{
"entityType": "pensionProvider",
"puvCode": "U0130",
"organizationName": "Bpf. Bouw",
"pension": [
{
"entityType": "scheme",
"refKey": "REG-01",
"pensionSchemeName": "Basisregeling Voorbeeld",
"investment": [
{
"entityType": "investmentDetails",
"refKey": "QZ00000010034",
"description": "Aandelenfonds Wereld Voorbeeld",
"investment": [
{
"entityType": "corporateAction",
"refKey": "CA-0001",
"corporateActionType": "1",
"description": "Cash dividend Q4 2026",
"tradeDate": "2027-03-10",
"instructionDate": "2027-03-08",
"paymentDate": "2027-03-15",
"currencyType": "EUR",
"cashDividendPerUnitAmount": 0.42,
"cashDividendTotalAmount": 525000
},
{
"entityType": "corporateAction",
"refKey": "CA-0002",
"corporateActionType": "2",
"description": "Stockdividend 2026",
"tradeDate": "2027-03-10",
"instructionDate": "2027-03-08",
"paymentDate": "2027-03-15",
"stockDividendPerUnitNumber": 0.02,
"stockDividendTotalNumber": 25000
},
{
"entityType": "corporateAction",
"refKey": "CA-0003",
"corporateActionType": "99",
"description": "Rebate beheervergoeding Q4 2026",
"tradeDate": "2027-03-12",
"instructionDate": "2027-03-11",
"paymentDate": "2027-03-17",
"currencyType": "EUR",
"cashDividendTotalAmount": 18375.4
}
]
},
{
"entityType": "investmentDetails",
"refKey": "QZ00000010117",
"description": "Obligatiefonds Voorbeeld",
"investment": [
{
"entityType": "corporateAction",
"refKey": "CA-0004",
"corporateActionType": "3",
"description": "Naamswijziging en nieuwe identificatie",
"tradeDate": "2027-03-20",
"instructionDate": "2027-03-18",
"paymentDate": "2027-03-20",
"newProductName": "Obligatiefonds Duurzaam Voorbeeld",
"newProductIdentifier": "QZ00000020272"
}
]
}
]
}
]
}
]
}Regels en verbandscontroles
- corporateActionType komt uit codelijst AFDCOA: 1 cash dividend, 2 stock dividend, 3 productverandering en 99 anders. Het schema verwijst daarvoor naar het codelijstbestand naast het schema (issue #137); de lijst AFDCAE met cashDividend, stockDividend, productChange en rebate bestond alleen in de pre-release.
- Een rebate is voorlopig corporateActionType 99 met een omschrijving in description; hij gebruikt de velden van het cash dividend: SIVI's voorbeeld zet het bedrag in cashDividendTotalAmount, met currencyType.
- Een productwijziging vult newProductIdentifier en newProductName; een stockdividend vult stockDividendTotalNumber en stockDividendPerUnitNumber.
- instructionDate, tradeDate en paymentDate staan op de corporate action zelf en beschrijven de tijdlijn; sinds de definitieve Release 2027 heeft bericht 15 geen financialInformation.reportingPeriod meer. investment.investmentDetails identificeert het product. Dividendbedragen en -aantallen hebben twee decimalen.
Valkuilen
- Een bericht 15 dat op de pre-release van juli is gebouwd, wordt afgewezen: de codes cashDividend, stockDividend, productChange en rebate bestaan niet meer, en financialInformation is een onbekend veld. Het versienummer 001.05 is hetzelfde gebleven.
- Een validator die het codelijstbestand naast het schema niet vindt (corporateActionType verwijst naar …-afdCodelists.json, niet naar sivi.org), kan het schema niet compileren.
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'.
- Dubbele messageId na acceptatie (HTTP 400 met feedback)De ontvanger antwoordt HTTP 400 met een feedbackbericht (statusType 0) op een bericht dat inhoudelijk correct lijkt.
- afdDefinitionName onjuist (vaste waarde sinds de definitieve Release 2027)Schemafout 'must be equal to constant' op afdDefinitionName; de validator van WTP Data Lab noemt de verwachte waarde. Typisch voor een bericht dat op de pre-release van juli 2026 is gebouwd: het vermeldt de juiste versie 001.05 en valt toch af.
- 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.
- corporateActionType ongeldig (AFDCOA)Schemafout op corporateActionType: de waarde komt niet voor in de codelijst. Bij een bericht dat op de pre-release is gebouwd meestal samen met een fout op het onbekende veld financialInformation.
- originalMessageType 00557 afgewezen: feedback getoetst tegen het schema van de pre-releaseEen feedbackbericht op een corporate action (bericht 15) met originalMessageType = 00557 geeft een schemafout op originalMessageType.
- currencyType geen ISO 4217-codeSchemafout op currencyType (codelijst ISOVAL).
- Onbekend veld (additionalProperties = false)Schemafout 'must NOT have additional properties' met de naam van het extra veld.
- Schema-draft mismatch: definitions versus $defs, draft 2019-09 versus 2020-12De validator meldt 'can't resolve reference', MissingRefError of 'no schema with key or ref' bij het laden van het schema, nog vóór het bericht wordt getoetst.
Veelgestelde vragen
Waarom een apart bericht voor corporate actions?
Omdat dividenden, rebates en productwijzigingen geld- en unitmutaties veroorzaken die niet uit orders (5/6) of waarde-informatie (13) volgen; zonder melding loopt de PUO-administratie uit de pas met de vermogensbeheerder.
Wijzigingsgeschiedenis
- v1.4.0 (Release 2027): nieuw bericht; AFD 2.0-release april 2026 voegde het entityType corporateAction toe.
- Definitieve Release 2027 (12 oktober 2026): codelijst AFDCOA (1, 2, 3, 99) in plaats van AFDCAE; financialInformation.reportingPeriod verwijderd; dividendvelden twee decimalen (issue #137).
Schema-bestand: VBPUO-001.00-Bericht_15._Corporate_Actions_(00557).json · JSON-schema (001.05) · codelijstbestand bij dit schema · GitHub
