Release 2027 (pre-release) · Schema version001.05 · New in Release 2027
SIVI message 15 (00557): Corporate actions (VB-PUO)
Message 15 is new in Release 2027 and reports corporate actions on investment products that have been processed in the asset administration but are not automatically visible in the PUO's systems: cash dividend, stock dividend, product changes and rebates. This keeps the PUO administration in sync with the asset manager's and ensures cash and unit mutations are processed correctly.
Message structure
Entities with cardinality [min..max] and number of attributes; click for the entity page.
- 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.
- financialInformation.reportingPeriod[1..1] · 0 attr.
- investment.investmentDetails[1..999] · 2 attr.
- investment.corporateAction[1..99] · 13 attr.
- pension.scheme[1..999] · 2 attr.
Attributes(43)
| Entity | Attribute | Type | V/O | Code list | Description |
|---|---|---|---|---|---|
| chunking.default | currentChunkId | string | V | Unique reference (id) of the current chunk. | |
| chunking.default | chunkSequenceNumber | integer | V | Sequence number of the current chunk. | |
| chunking.default | totalNumberOfChunks | integer | V | Total number of chunks the message has been split into. | |
| chunking.default | chunkFragmentPaths | array[string] | V | Array of JMESPath references to the message fragments used within the current chunk. | |
| commonFunctional.default | afdDefinitionName | string · max 80 | V | Name of the AFD-definition. | |
| commonFunctional.default | afdDefinitionVersion | string · max 80 | V | 001.05 | Version of the AFD-definition. |
| commonFunctional.default | originalMessageId | string · max 70 | O | The messageId of the original message, which is replaced by this message. | |
| commonFunctional.default | function | string | V | ADNFUN | Message function |
| commonTechnical.default | creationDateTime | string · format date-time | V | Date and time (as timestamp) when the message was created. | |
| commonTechnical.default | messageId | string · max 70 | V | Unique identification of the message. (AFD 2.0 only) | |
| commonTechnical.default | testMessage | boolean | O | Indication whether the message is a test message. | |
| party.receiver | refKey | string · max 70 | V | Unique reference key assigned to an entity. | |
| party.receiver | organizationName | string · max 60 | V | Name of professional or branch organization. | |
| 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 | Unique reference key assigned to an entity. | |
| party.sender | applicationSenderName | string · max 60 | O | Name of the application that sends the data. | |
| party.sender | organizationName | string · max 60 | V | Name of professional or branch organization. | |
| 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 | Work telephone number. | |
| party.contact | emailWork | string · max 60 | V | Work email address. | |
| document.default | refKey | string · max 70 | V | Unique reference key assigned to an entity. | |
| document.default | fileName | string · max 60 | V | Name of the file under which the attachment can be saved. | |
| document.default | fileExtension | string | V | pdf | csv | txt | File extension under which the attachment can be saved. For example "pdf", "doc", etc. |
| party.pensionProvider | organizationName | string · max 60 | V | Name of professional or branch organization. | |
| 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 | Pension provider |
| pension.scheme | refKey | string · max 70 | V | Unique reference key assigned to an entity. | |
| pension.scheme | pensionSchemeName | string · max 60 | V | Name of the pension scheme. | |
| investment.investmentDetails | refKey | string · max 70 | V | Unique reference key assigned to an entity. | |
| investment.investmentDetails | description | string · max 60 | V | Description. | |
| investment.corporateAction | refKey | string · max 70 | V | Unique reference key assigned to an entity. | |
| investment.corporateAction | description | string · max 60 | V | Description. | |
| investment.corporateAction | corporateActionType | string | V | AFDCAE | Corporate action type |
| investment.corporateAction | instructionDate | string · format date | V | Instruction date (date of the order sent by the pension administration organization). | |
| investment.corporateAction | tradeDate | string · format date | V | Desired trade date. | |
| investment.corporateAction | paymentDate | string · format date | V | Date on which the payment takes or took place. | |
| investment.corporateAction | cashDividendTotalAmount | number | O | Total cash dividend amount across all held units. | |
| investment.corporateAction | cashDividendPerUnitAmount | number | O | Cash dividend amount paid per held unit. | |
| investment.corporateAction | currencyType | string · max 3 | O | ISOVAL | Valuta van het contante bedrag. |
| investment.corporateAction | stockDividendPerUnitNumber | number | O | Number of additional units granted per held unit as stock dividend. | |
| investment.corporateAction | stockDividendTotalNumber | number | O | Total number of additional units granted as stock dividend. | |
| investment.corporateAction | newProductName | string · max 60 | O | New name of the product after a product name change. | |
| investment.corporateAction | newProductIdentifier | string · max 60 | O | New identifier of the product after a product name change. |
Sample message
Sample source: Gegenereerd door WTP Data Lab. Values are fictitious.
{
"commonFunctional": [
{
"entityType": "default",
"afdDefinitionName": "VBPUO-001.05-Bericht_15._Corporate_Actions_(00557)",
"afdDefinitionVersion": "001.05",
"function": "01"
}
],
"commonTechnical": [
{
"entityType": "default",
"creationDateTime": "2026-09-30T17:00:00+02:00",
"messageId": "00557-20260930-000001",
"testMessage": true,
"party": [
{
"entityType": "receiver",
"refKey": "RECEIVER-001",
"organizationName": "Fiduciair Beheer Voorbeeld N.V.",
"rsinNumber": "123456789"
},
{
"entityType": "sender",
"refKey": "SENDER-002",
"applicationSenderName": "WTP Data Lab",
"organizationName": "Pensioenuitvoeringsorganisatie Voorbeeld B.V.",
"rsinNumber": "123456789",
"party": [
{
"entityType": "contact",
"workPhoneNumber": "+31201234567",
"emailWork": "[email protected]"
}
]
}
]
}
],
"party": [
{
"entityType": "pensionProvider",
"organizationName": "Stichting Pensioenfonds Voorbeeld",
"rsinNumber": "123456789",
"puvCode": "U0003",
"pension": [
{
"entityType": "scheme",
"refKey": "SCHEME-003",
"pensionSchemeName": "Solidaire premieregeling Voorbeeld",
"financialInformation": [
{
"entityType": "reportingPeriod"
}
],
"investment": [
{
"entityType": "investmentDetails",
"refKey": "INVESTME-004",
"description": "Voorbeeld",
"investment": [
{
"entityType": "corporateAction",
"refKey": "CORPORAT-005",
"description": "Voorbeeld",
"corporateActionType": "rebate",
"instructionDate": "2026-09-24",
"tradeDate": "2026-09-28",
"paymentDate": "2026-10-05",
"cashDividendTotalAmount": 250000,
"cashDividendPerUnitAmount": 12.345678,
"currencyType": "AED"
}
]
}
]
}
]
}
]
}Rules and consistency checks
- corporateActionType comes from code list AFDCAE (renamed to AFDCOA, issue #137): cashDividend, stockDividend, productChange and rebate.
- A rebate is modelled as corporateActionType = rebate with the amount in cashDividendTotalAmount and cashDividendPerUnitAmount.
- A product change fills newProductIdentifier and newProductName; a stock dividend fills stockDividendTotalNumber and stockDividendPerUnitNumber.
- instructionDate, tradeDate and paymentDate describe the timeline of the event; investment.investmentDetails identifies the product and the number of units.
Pitfalls
- Feedback schema 001.02 does not yet list 00557 in originalMessageType; a feedback message on a corporate action therefore cannot fill that field (yet). Use originalMessageId and report it to SIVI.
- The code list name in the schema is still AFDCAE while SIVI is renaming the list to AFDCOA (issue #137); check at every release which name the schema uses.
Errors and fixes
- messageId missing, empty or longer than 70 charactersSchema error on commonTechnical/0/messageId: 'must have required property' or 'must NOT have more than 70 characters'.
- Duplicate messageId after acceptance (HTTP 400 with feedback)The receiver answers HTTP 400 with a feedback message (statusType 0) to a message that looks correct in content.
- afdDefinitionVersion incorrect (001.04 versus 001.05)Schema error 'must be equal to one of the allowed values' on afdDefinitionVersion, or the receiver validates against the wrong schema and reports unknown fields.
- corporateActionType invalid (AFDCAE, becoming AFDCOA)Schema error 'must match exactly one schema in oneOf' on corporateActionType.
- originalMessageType 00557 not accepted by feedback schema 001.02A feedback message on a corporate action (message 15) with originalMessageType = 00557 gives a schema error on originalMessageType.
- currencyType not an ISO 4217 codeSchema error on currencyType (code list ISOVAL).
Frequently asked questions
Why a separate message for corporate actions?
Because dividends, rebates and product changes cause cash and unit mutations that do not follow from orders (5/6) or value information (13); without a notification the PUO administration drifts from the asset manager's.
Change history
- v1.4.0 (Release 2027): new message; the AFD 2.0 release of April 2026 added the entityType corporateAction.
Schema file: VBPUO-001.00-Bericht_15._Corporate_Actions_(00557)_v5.json · JSON-schema (001.05) · GitHub
