erroren16931

BR-CO-02:Payment means code must be valid

Payment means type code must be from UNCL4461.

Severity
Fatal
Rule set
en16931
Country
All EU
Fix type
INPUT REQUIRED

Engine Classification

Business data required · Explicit input workflow · No assumptions made

Required input: Payment Means Code

What is BR-CO-02?

BR-CO-02 is a fatal validation rule defined in the en16931 specification. It validates the PaymentMeansCode element under Invoice > PaymentMeans in the UBL invoice XML.

When this rule fires, the invoice is non-compliant and will be rejected by Peppol access points and national validation services. The sending system receives a rejection response and the invoice does not reach the buyer.

Target path: XPath: /Invoice/cac:PaymentMeans/cbc:PaymentMeansCode

Why This Error Matters

Payment codes enable automated payment processing.

BR-CO-02 is a hard failure. Invoices that trigger this rule are rejected at the access point and never reach the recipient. In Peppol networks, this means your sending system receives an MLR (Message Level Response) with a rejection status. The invoice must be corrected and re-sent, adding delay to your payment cycle.

Validator Behavior

  • ·Causes invoice rejection
  • ·Fails EN 16931 business rule validation
  • ·Error returned: BR-CO-02
  • ·Specification: en16931

How to Fix It

1.

Check payment code

Find PaymentMeansCode value

2.

Use valid code

30=Credit transfer, 58=SEPA credit, 59=SEPA direct debit, 48=Card

XML Example

Generic example based on the rule's target XPath. Your actual XML structure may differ.

Before
<!-- Missing or empty element triggers cbc:PaymentMeansCode error -->
<cbc:PaymentMeansCode></cbc:PaymentMeansCode>
After
<!-- Provide the required value -->
<cbc:PaymentMeansCode>VALID_VALUE</cbc:PaymentMeansCode>

Technical Reference

XPathXPath: /Invoice/cac:PaymentMeans/cbc:PaymentMeansCode
Specen16931

Common Causes

  • ·Invalid code value
  • ·Using deprecated code

Seeing this in production? The API handles BR-CO-02 automatically. See the fix response →

Frequently Asked Questions

Payment means type code must be from UNCL4461.

Use valid UNCL4461 payment code. You can also use Invoice Navigator's automatic Fixer tool to correct this instantly.

Yes, BR-CO-02 is a critical error that will cause invoice rejection. It must be fixed before submission to ensure your invoice is accepted by the recipient's system.

Many instances of BR-CO-02 can be automatically corrected using Invoice Navigator's Fixer tool. Upload your invoice and the tool will identify and fix common issues, including payment means code must be valid.

See Also

Related Errors

Last updated: 18 January 2026

Share this guide:

Handle BR-CO-02 Automatically in Your Pipeline

The compliance engine auto-remediates this error with controlled safety policies and evidence pack generation.