PEPPOL-EN16931-R061:Missing direct debit mandate reference
Fix: This requires user input to resolve. Provide the correct value for `cbc:ID` (BT-89). Provide the required value in the free validator.
When payment is by direct debit (SEPA or other), the invoice must include the mandate reference number. This is the unique identifier of the agreement that authorizes the seller to collect payment from the buyer's bank account.
Engine Classification
Business data required · Explicit input workflow · No assumptions made
Required input: Direct Debit Mandate Reference
What is PEPPOL-EN16931-R061?
PEPPOL-EN16931-R061 is a fatal validation rule defined in the Peppol BIS 3.0 specification. It validates the ID (BT-89) must be present. element under PaymentMandate > ID — Peppol rule PEPPOL-EN16931-R061. When PaymentMeansCode = 59 (direct debit), PaymentMandate in the UBL invoice XML.
When this rule fires, the invoice is rejected by Peppol access points and never reaches the buyer.
Target path: XPath: cac:PaymentMeans/cac:PaymentMandate/cbc:ID — Peppol rule PEPPOL-EN16931-R061. When PaymentMeansCode = 59 (direct debit), PaymentMandate/ID (BT-89) must be present.
Why This Error Matters
Invoice will be rejected by PEPPOL validation. Direct debit requires mandate reference for payment processing.
PEPPOL-EN16931-R061 is a hard failure — the invoice must be corrected and re-sent before it can reach the recipient.
Without the mandate reference, the buyer's bank cannot match the direct debit request to the authorization. The payment will fail.
Validator Behavior
- ·Causes invoice rejection
- ·Rejected by PEPPOL Access Points
- ·Error returned: PEPPOL-EN16931-R061
- ·Specification: Peppol BIS 3.0
How to Fix It
Find the SEPA mandate
Check your bank records for the SEPA Direct Debit mandate signed by this customer. It has a unique mandate reference number.
Enter the reference
Add the mandate reference number (e.g. MANDATE-2024-001 or your bank's format).
Alternative: change payment method
If you do not use direct debit, change the PaymentMeansCode to a different method (e.g. 30 for credit transfer).
Before / After
<cac:PayerFinancialAccount> <!-- cbc:ID is missing --> </cac:PayerFinancialAccount>
<cac:PayerFinancialAccount> <cbc:ID>valid-value</cbc:ID> </cac:PayerFinancialAccount>
Technical Reference
XPath: cac:PaymentMeans/cac:PaymentMandate/cbc:ID — Peppol rule PEPPOL-EN16931-R061. When PaymentMeansCode = 59 (direct debit), PaymentMandate/ID (BT-89) must be present.Common Causes
- ·Direct debit configured without mandate reference
- ·SEPA mandate not linked in invoicing software
- ·Using payment code 59 but payment is actually credit transfer
Seeing this in production? The API handles PEPPOL-EN16931-R061 automatically. See the fix response →
Commonly Seen In
Frequently Asked Questions
R061 requires a mandate reference whenever the payment means code is 49 or 59 (direct debit). This is a SEPA compliance requirement — every direct debit must reference the authorization mandate signed by the buyer.
Not fully. The mandate reference is a real-world identifier that must come from your payment records. However, if your system stores mandate references linked to customer accounts, it can be looked up and inserted automatically during invoice generation.
Your ERP is likely setting the wrong payment means code. Change PaymentMeansCode from 49/59 to the correct value: 30 for credit transfer, 58 for SEPA credit transfer, or 1 for not defined.
Related Errors
Related Content
Last updated: 31 March 2026
Validate your invoice
Drop your XML here to check for PEPPOL-EN16931-R061
Fix PEPPOL-EN16931-R061 with guided input
Upload your invoice and we'll ask for the missing data, then apply a safe, auditable fix.