All explained rules

BR-DE-1: The invoice does not say how to pay it. How to fix it

The invoice is missing the payment instructions block (BG-16), which states the means of payment.

Error: the invoice is refusedFrom the German additional rules (XRechnung)

The rule, in its own words

Eine Rechnung (INVOICE) muss Angaben zu "PAYMENT INSTRUCTIONS" (BG-16) enthalten.

Fields involved: BG-16

What the rule checks

The rule checks that the invoice says how it is to be paid at all. That means at least the payment type, normally a credit transfer, and for a transfer the account it should go to. The European norm leaves this block optional; XRechnung makes it mandatory.

Why files fail it

  • The invoice was produced without bank details, usually because none are held in the master data.
  • Payment is by direct debit or has already been made, so the software left the block out. It is still required.
  • The bank details appear only in the visible PDF text, not in the structured data. Only the data counts for the check.

How to fix it

  1. Put your bank details into your master data and generate the invoice again.
  2. The block is called "PAYMENT INSTRUCTIONS" (BG-16) in the standard. In invoicing software it is the "payment", "payment method" or "bank details" section.
  3. For a transfer, the payment type and the IBAN both belong in it. If payment is by direct debit, state the payment type anyway.
  4. Check that the bank details really are in the data and not only in the PDF layout.

Check your file

Upload your invoice. It runs through the same official validator that applies this rule, and you see immediately whether it passes now.

Check an invoice

or drop it here

XRechnung XML, or a ZUGFeRD / Factur-X PDF. Up to 10 MB.

  • Run against the official EN 16931 and XRechnung rules
  • Your file is deleted the moment the result appears
  • No sign-up, and a result in seconds

What to do next

An invoice with errors will be rejected. Build a compliant one from the PDF you already have, or enter the details yourself. Either way you get a file that passes.