Release 2027 · Schema version 001.05 · Active
SIVI message 14 (00556): Payment information (VB-PUO)
Message 14 contains the payment instructions for withdrawals: which amount, in which currency, to which account (IBAN and BIC of the creditor) and with which value date. The fiduciary has the payment executed and cash settlement takes place via SWIFT outside the standard. Since the final Release 2027 one message carries 1 to 999 payments per scheme.
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] · 1 attr.
- financialTransaction.payment[1..999] · 4 attr.
- party.creditor[1..1] · 5 attr.
- pension.scheme[1..999] · 2 attr.
Attributes (38)
| Entity | Attribute | Type | V/O | Code list | Description |
|---|---|---|---|---|---|
| chunking.default | currentChunkId | string · max 70 | 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 | afdDefinitionVersion | string · max 80 | V | 001.05 | Version of the AFD-definition. |
| commonFunctional.default | afdDefinitionName | string · max 80 | V | VBPUO-001.00-Bericht_14._Betaalinformatie_(00556) | Name 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 | testMessage | boolean | O | Indication whether the message is a test message. | |
| commonTechnical.default | messageId | string · max 70 | V | Unique identification of the message. (AFD 2.0 only) | |
| 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 | emailWork | string · max 60 | V | Work email address. | |
| party.contact | workPhoneNumber | string · max 60 | V | Work telephone number. | |
| 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 | Extension of the file 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. | |
| financialInformation.reportingPeriod | valueDate | string · format date | V | Currency date. | |
| financialTransaction.payment | amount | number · multipleOf 0.01 | V | An amount. | |
| financialTransaction.payment | description | string · max 60 | V | Description. | |
| financialTransaction.payment | currencyType | string | V | ISOVAL | Currency |
| financialTransaction.payment | collectionAccountIban | string · max 34 | V | IBAN of the direct debit account. | |
| party.creditor | refKey | string · max 70 | V | Unique reference key assigned to an entity. | |
| party.creditor | collectionAccountIban | string · max 34 | V | IBAN of the direct debit account. | |
| party.creditor | collectionAccountBic | string · max 10 | V | Bank Identification Code (BIC) of the collection account. | |
| party.creditor | collectionAccountInNameOf | string · max 60 | V | Collection account ascription. | |
| party.creditor | collectionAccountBicCorrespondent | string · max 10 | O | BIC correspondent collection account. |
Sample message
Sample source: SIVI voorbeeldbericht (Voorbeeldbericht_14). Values are fictitious.
{
"commonTechnical": [
{
"entityType": "default",
"creationDateTime": "2027-03-01T09:00:00+01:00",
"messageId": "VB-00556-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_14._Betaalinformatie_(00556)",
"afdDefinitionVersion": "001.05",
"function": "01"
}
],
"party": [
{
"entityType": "pensionProvider",
"puvCode": "U0202",
"organizationName": "Stichting Pensioenfonds ABP",
"pension": [
{
"entityType": "scheme",
"refKey": "REG-01",
"pensionSchemeName": "Basisregeling Voorbeeld",
"financialInformation": [
{
"entityType": "reportingPeriod",
"valueDate": "2027-03-25"
}
],
"financialTransaction": [
{
"entityType": "payment",
"amount": 334684.54,
"description": "Uitkeringen ouderdomspensioen maart 2027",
"currencyType": "EUR",
"collectionAccountIban": "NL86ABNA9711164294",
"party": [
{
"entityType": "creditor",
"refKey": "CRED-01",
"collectionAccountIban": "NL94INGB3692677651",
"collectionAccountBic": "INGBNL2A",
"collectionAccountInNameOf": "Stichting Uitkeringen Voorbeeld"
}
]
},
{
"entityType": "payment",
"amount": 1400556.36,
"description": "Uitkeringen partnerpensioen maart 2027",
"currencyType": "EUR",
"collectionAccountIban": "NL70ABNA6742218167",
"party": [
{
"entityType": "creditor",
"refKey": "CRED-02",
"collectionAccountIban": "NL07INGB1059682214",
"collectionAccountBic": "INGBNL2A",
"collectionAccountInNameOf": "Stichting Uitkeringen Voorbeeld"
}
]
},
{
"entityType": "payment",
"amount": 208144.59,
"description": "Afdracht loonheffing februari 2027",
"currencyType": "EUR",
"collectionAccountIban": "NL61ABNA7993076009",
"party": [
{
"entityType": "creditor",
"refKey": "CRED-03",
"collectionAccountIban": "NL18RABO8020886857",
"collectionAccountBic": "RABONL2U",
"collectionAccountInNameOf": "Ontvanger Loonheffing Voorbeeld"
}
]
}
]
}
]
}
]
}Rules and consistency checks
- party.creditor contains collectionAccountIban, collectionAccountBic and collectionAccountInNameOf; collectionAccountBicCorrespondent is optional for payments via a correspondent bank.
- financialTransaction.payment contains amount, currencyType, description and collectionAccountIban (the debit account); per scheme 1 to 999 payments in one message, where Release 2026 and the pre-release allowed exactly one (issue #149). The value date is in financialInformation.reportingPeriod.valueDate.
- collectionAccountIban is at most 34 characters long in the final Release 2027, the international IBAN length, on the payment and on the creditor (issue #135); a Dutch IBAN has 18 characters. Release 2026 (001.04, also in v1.3.2) and the pre-release allowed only 10 characters: there a full IBAN is a schema error.
Pitfalls
- An IBAN with spaces or in lower case falls outside the receiver's length and format expectation; deliver the IBAN contiguous in upper case.
- A message with full IBANs or several payments per scheme is valid under Release 2027 only; do not send it with afdDefinitionVersion 001.04.
- collectionAccountBic is at most 10 characters in both releases, while a BIC has 8 or 11 characters: a BIC of 11 characters gets a schema error. Use the eight-character form where possible.
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.
- afdDefinitionName incorrect (a fixed value since the final Release 2027)Schema error 'must be equal to constant' on afdDefinitionName; the WTP Data Lab validator names the expected value. Typical of a message built on the July 2026 pre-release: it states the right version 001.05 and still fails.
- 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.
- collectionAccountIban invalid or too longSchema error on the maximum length of the IBAN, or a functional rejection by the fiduciary.
- Several payments per scheme or a full IBAN under Release 2026 (message 14)Schema error on the number of payments (at most one item with entityType payment) or on the length of collectionAccountIban, with afdDefinitionVersion 001.04.
- collectionAccountBic invalidFunctional rejection of the payment instruction.
- currencyType not an ISO 4217 codeSchema error on currencyType (code list ISOVAL).
Frequently asked questions
Is message 14 a SEPA payment order?
No. It is the functional instruction to the fiduciary; the actual payment runs through the custodian's payment channel (SWIFT), outside the standard.
Change history
- v1.3.0 (Release 2026): chunking.
- v1.4.0 (Release 2027): JSON Schema 2020-12.
- Final Release 2027 (12 October 2026): 1 to 999 payments per scheme (issue #149); collectionAccountIban at most 34 characters (issue #135); sender the investment administrator (issue #142).
Schema file: VBPUO-001.00-Bericht_14._Betaalinformatie_(00556).json · JSON-schema (001.05) · GitHub
