What does BR-49 mean?
Every payment instruction (BG-16) must state the payment means type code (BT-81). The code says how the buyer pays, for example by credit transfer, direct debit or card. Without this code the recipient does not know which route the payment takes. The value comes from the UNTDID 4461 code list.
Common causes of BR-49
- The element ram:SpecifiedTradeSettlementPaymentMeans is in the invoice, but ram:TypeCode is missing.
- The payment means was described as free text only, not set as a code.
- The template writes the account details but leaves the TypeCode empty.
How to fix BR-49
- Find the faulty spot in the XML. Open the XML of the invoice and go to field BT-81 along this XPath:
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans/ram:TypeCode - Apply the fix. Set the element ram:TypeCode in ram:SpecifiedTradeSettlementPaymentMeans with a value from UNTDID 4461, for example 58 for SEPA credit transfer.
- Validate again. Save the file and validate it again to check that BR-49 is no longer reported.
Set the element ram:TypeCode in ram:SpecifiedTradeSettlementPaymentMeans with a value from UNTDID 4461, for example 58 for SEPA credit transfer.
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans/ram:TypeCodeBefore / after: the XML example
This is the spot in question before and after the fix (Cross Industry Invoice, ZUGFeRD/Factur-X).
<ram:SpecifiedTradeSettlementPaymentMeans>
<ram:PayeePartyCreditorFinancialAccount>
<ram:IBANID>DE12500105170648489890</ram:IBANID>
</ram:PayeePartyCreditorFinancialAccount>
</ram:SpecifiedTradeSettlementPaymentMeans>
<ram:SpecifiedTradeSettlementPaymentMeans>
<ram:TypeCode>58</ram:TypeCode>
<ram:PayeePartyCreditorFinancialAccount>
<ram:IBANID>DE12500105170648489890</ram:IBANID>
</ram:PayeePartyCreditorFinancialAccount>
</ram:SpecifiedTradeSettlementPaymentMeans>
Frequent questions about BR-49
Which code do I use for a SEPA credit transfer?
Do I have to set the TypeCode on every payment instruction?
Related error codes
Check BR-49 automatically
Instead of digging through the XML by hand you can validate your ZUGFeRD or XRechnung file online – upload the PDF or the XML and you get every error with rule ID, affected field, fix and XPath, as a readable report or as JSON through the API.