pain.001 Validator

PmtInf/PmtInfId is mandatory in each PmtInf block.

Why pain.001 files fail rule PAIN00109-GEN-008 (ERROR) and how to fix it: PmtInf/PmtInfId is mandatory in each PmtInf block.

What this rule checks

PmtInf/PmtInfId is mandatory in each PmtInf block.

Applies to pain.001.001.09. Severity: ERROR.

Why your file is rejected

Banks validate this rule server-side after the XSD schema check. When it fails, the whole file is typically rejected — even if every other transaction is correct — so a single violation blocks the entire batch.

How to fix it

This is a computed consistency check (a total or a transaction count). Recompute the value directly from the transactions in your file and make the header match exactly. Accumulate monetary amounts as integer minor units (cents) to avoid floating-point drift, then format with the correct number of decimals.

Verify before you send

Upload your pain.001 file to the validator below to confirm this rule — and every other business rule and XSD constraint — passes before your bank sees it.

PmtInf/PmtInfId is mandatory in each PmtInf block. — pain.001 PAIN00109-GEN-008 — Ifriqa