PEPPOL-EN16931-R121Severity raised
Base quantity now fails documents that previously passed with a "warning".
Between published 2.1.0 and 2.2.0, the severity of this rule changed from "warning" to "fatal". The test expression is byte-identical in both releases, and the message is "Base quantity MUST be a positive number above zero." Documents that previously passed validation with a "warning" now fail it. No other change is shown in the evidence.
Before · 2.1.0warning
→After · 2.2.0fatal
PEPPOL-EN16931-R046Severity raised
The net price check now rejects documents instead of returning a "warning".
The rule's severity changed from "warning" to "fatal". Its test expression is byte-identical in both releases. A severity change from "warning" to "fatal" means documents that previously passed with a "warning" now fail validation.
Before · 2.1.0warning
→After · 2.2.0fatal
PEPPOL-EN16931-R040Severity raised
Allowance/charge amount calculation rule now "fatal", not "warning"
The rule's severity was raised from "warning" to "fatal". Its test expression is byte-identical in both releases. The rule still requires an allowance/charge amount to equal the base amount times the percentage divided by 100 when both base amount and percentage exist. As a result, documents that previously passed validation with a "warning" now fail it.
fatalformat
Original rule text: Allowance/charge amount must equal base amount * percentage/100 if base amount and percentage exists
PEPPOL-EN16931-R040 rule detailsBefore · 2.1.0warning
→After · 2.2.0fatal
PEPPOL-EN16931-R053Severity raised
Severity raised from warning to fatal; test unchanged.
The severity of the rule was raised from warning to fatal. The test expression is byte-identical between the two releases. As a result, documents that previously passed validation carrying a warning now fail validation.
fatalformat
Original rule text: No more than one tax total amount must be provided where currency id equals document currency code.
PEPPOL-EN16931-R053 rule detailsBefore · 2.1.0warning
→After · 2.2.0fatal
PEPPOL-EN16931-R005Severity raised
Equal VAT and invoice currency codes now fail validation instead of warning
The rule's severity moved from "warning" to "fatal". The check itself is unchanged between the two releases: if the VAT accounting currency code is provided, it must be different from the invoice currency code. A document fails when that code is provided and equals the invoice currency code. Documents that previously passed validation while carrying this warning now fail validation. The rule message remains "VAT accounting currency code MUST be different from invoice currency code when provided."
Before · 2.1.0warning
→After · 2.2.0fatal
PEPPOL-EN16931-R020Severity raised
Seller electronic address rule now fatal instead of warning
The rule's severity moved from warning to fatal. Its test expression is unchanged between the two releases. Documents that previously passed validation carrying a warning now fail it.
Before · 2.1.0warning
→After · 2.2.0fatal
PEPPOL-EN16931-R055Severity raised
Severity raised from "warning" to "fatal"; test unchanged
The rule's severity changed from "warning" to "fatal". The check itself and the rule message are unchanged. Documents that previously passed validation carrying a warning now fail validation.
fatalformat
Original rule text: Invoice total VAT amount and Invoice total VAT amount in accounting currency MUST have the same operational sign
PEPPOL-EN16931-R055 rule detailsBefore · 2.1.0warning
→After · 2.2.0fatal
PEPPOL-EN16931-R101Severity raised
Rule now fails documents that previously passed with a "warning"
The rule message is "Element Additional referenced document can only be used for Invoice line object." The test expression is byte-identical in published "2.1.0" and published "2.2.0". The severity changed from "warning" to "fatal". Documents that previously passed validation carrying a "warning" under this rule now fail validation. No other aspect of the rule changed.
Before · 2.1.0warning
→After · 2.2.0fatal
PEPPOL-EN16931-R061Severity raised
The rule now fails documents it previously only warned about.
The rule's severity changed from "warning" to "fatal", while its test expression remained byte-identical. Documents that previously passed validation carrying a warning now fail. The rule's message is unchanged: "Mandate reference MUST be provided for direct debit."
Before · 2.1.0warning
→After · 2.2.0fatal
PEPPOL-EN16931-R111Severity raised
Severity of line period end date rule raised from warning to fatal
The rule's severity changed from warning to fatal. Its test expression is byte-identical in both releases, so the check performed is unchanged. Documents that previously passed validation with a warning from this rule now fail validation.
Before · 2.1.0warning
→After · 2.2.0fatal
PEPPOL-EN16931-R043-1Severity raised
The allowance/charge ChargeIndicator rule changed from "warning" to "fatal"
The severity of this rule was raised from "warning" to "fatal". Its test expression and message are unchanged; the test still requires the allowance/charge ChargeIndicator text to equal "true" or "false". The test expression is byte-identical in both releases, and no change to the expression or message was made.
Before · 2.1.0warning
→After · 2.2.0fatal
PEPPOL-EN16931-R001Severity raised
Rule "Business process MUST be provided" now "fatal", not "warning"
The severity of the rule "Business process MUST be provided" changed from "warning" to "fatal" between published 2.1.0 and published 2.2.0. The test expression is unchanged. Documents that previously passed validation while carrying a warning now fail it.
Before · 2.1.0warning
→After · 2.2.0fatal
PEPPOL-EN16931-R010Severity raised
Severity raised from warning to fatal; test unchanged.
The severity of this rule changed from "warning" to "fatal". The test expression is the same in both releases. As a result, a document that previously passed validation with a warning now fails validation. The rule message is "Buyer electronic address MUST be provided".
Before · 2.1.0warning
→After · 2.2.0fatal
PEPPOL-EN16931-R044Severity raised
Charge-on-price rule now fails instead of "warning".
The rule's severity changed from "warning" to "fatal", so the same condition now produces a fatal result rather than a warning. The test expression is byte-identical in both releases, so the condition itself is unchanged. This is a severity-only change.
Before · 2.1.0warning
→After · 2.2.0fatal
PEPPOL-EN16931-R042Severity raised
Documents previously warned by this rule now fail validation
The rule's severity was raised from "warning" to "fatal". A document that would previously have passed validation carrying a warning for this rule now fails validation. The test expression is "false()" in both releases and is byte-identical, so the rule's check itself has not changed.
Before · 2.1.0warning
→After · 2.2.0fatal
PEPPOL-EN16931-R043-2Severity raised
Severity raised from warning to fatal; test unchanged
The rule's severity was raised from warning to fatal, so documents that previously passed validation carrying a warning now fail it. The test expression is byte-identical in both releases and still contains the same condition requiring the charge indicator to equal "true" or "false". The rule message is unchanged: Allowance/charge ChargeIndicator value MUST equal "true" or "false".
Before · 2.1.0warning
→After · 2.2.0fatal
PEPPOL-EN16931-R130Severity raised
Severity raised from warning to fatal
The severity of the rule was raised from "warning" to "fatal". The test expression is byte-identical in both releases; it compares the unit code of the price base quantity to the unit code of the billed quantity. Documents that previously passed validation carrying a "warning" now fail validation.
Before · 2.1.0warning
→After · 2.2.0fatal
PEPPOL-EN16931-R054Severity raised
Rule severity raised from warning to fatal; test unchanged
The rule's severity increased from warning to fatal between published 2.1.0 and published 2.2.0. The test expression is byte-identical in both releases. Documents that previously passed validation with a warning for this rule now fail. The rule message remains that only one tax total amount must be provided where currency id equals tax currency code, if tax currency code is provided.
fatalformat
Original rule text: Only one tax total amount must be provided where currency id equals tax currency code, if tax currency code (BT-6) is provided.
PEPPOL-EN16931-R054 rule detailsBefore · 2.1.0warning
→After · 2.2.0fatal
PEPPOL-EN16931-R041Severity raised
Severity raised from "warning" to "fatal": documents carrying this warning now fail validation
The rule's severity increased from "warning" to "fatal", so documents that previously passed validation with a warning for this rule now fail validation. The rule message remains "Allowance/charge base amount MUST be provided when allowance/charge percentage is provided." The test expression stays "false()" in both releases.
Before · 2.1.0warning
→After · 2.2.0fatal
PEPPOL-EN16931-R110Severity raised
Line period start date rule is now "fatal", not "warning"
The severity of the rule changed from "warning" to "fatal". The test expression is byte-identical between the two versions, so the condition it checks has not changed. Documents that previously passed validation with a "warning" now fail it.
Before · 2.1.0warning
→After · 2.2.0fatal
PEPPOL-EN16931-R008Severity raised
Empty-element rule severity changes from "warning" to "fatal"
The rule's severity changed from "warning" to "fatal". Its message remains "Document MUST not contain empty elements." The test expression is "false()" before and after (byte-identical in both releases), so the change is only in severity. Documents that previously passed validation with a "warning" now fail it.
Before · 2.1.0warning
→After · 2.2.0fatal
BR-DEX-01New rule
New rule restricts MIME codes on the attached document element
The rule now requires the MIME code on the attached document element "BT-125" to be one of "application/pdf", "image/png", "image/jpeg", "text/csv", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", or "application/vnd.oasis.opendocument.spreadsheet". In the case of an extension, "application/xml" is also allowed. This check did not exist in the previous published version.
fatalcountry
Original rule text: [BR-DEX-01] Das Element "Attached Document" (BT-125) benutzt einen nicht zulässigen MIME-Code: . Im Falle einer Extension darf zusätzlich zu der Liste der mime codes (definiert in Abschnitt 8.2, "Binary Object") der MIME-Code application/xml genutzt werden.
Explanation and fix
What this rule requires
This fatal rule applies to an Attached Document (BT-125) in an invoice that is declared as an XRechnung extension ($isExtension). The mimeCode attribute of the embedded document binary object must be present and its value must exactly match one of the allowed codes: application/pdf, image/png, image/jpeg, text/csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.oasis.opendocument.spreadsheet, or application/xml. A missing attribute, an empty value, or any other value causes the invoice to fail validation.
How to fix
Set the mimeCode attribute on the relevant binary object element (cbc:EmbeddedDocumentBinaryObject in UBL or ram:AttachmentBinaryObject in CII) to one of the permitted values that matches the actual file content. If the attached file is not in one of these formats, convert it to a permitted format or remove the attachment before resubmitting.
BR-DEX-01 rule detailsAdded · 2.2.0
.[@mimeCode = 'application/pdf' or @mimeCode = 'image/png' or @mimeCode = 'image/jpeg' or @mimeCode = 'text/csv' or @mimeCode = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' or @mimeCode = 'application/vnd.oasis.opendocument.spreadsheet' or @mimeCode = 'application/xml']