Amounts are passed unrounded from a calculation (for example 500000.123).
Fix
Round amounts to two decimals before serialising. If you get this error on an amount that does have two decimals, the validator is at fault: computing multipleOf with floating-point numbers rejects valid amounts. AJV rejects 1234.57 by default and still rejects 1234567.89 with multipleOfPrecision 10. Count the decimals instead of dividing.
Wrong and right
Wrong
{ "startAmount": 500000.123 }
Right
{ "startAmount": 500000.12 }
Check your own message for this and all other errors with the free validator: schema, code lists and consistency checks in one report. Validate a message
Attribution. Source: SIVI – VB-PUO Standard. Schemas, attribute descriptions and code lists are taken unchanged from the VB-PUO Standard (owned by the Pensioenfederatie, managed by SIVI) and shown with their release and version. Explanations, examples, error descriptions and translations are by WTP Data Lab and are not part of the standard. GitHub Stichting-SIVI/VBPUOdsk · Manual · sivi.org