Attestwire › Rule reference
EN 16931 rule reference
every code an invoice can be refused with, defined like a word.
Find the rule ID shown in your invoice error, such as BR-DE-15.
Each page explains the affected field and the next correction. Codes beginning BT
identify individual invoice fields; BG identifies a group of fields.
299 rules can be triggered by what you send. 6 arithmetic invariants protect values the engine computes itself. One additional page documents a retired ID for compatibility, so there are 306 pages here.
The payloads are not transcribed by hand: the site build executes the library and publishes what it returns, so a page cannot describe an error the code does not produce. Rules marked written up also carry the normative text, a worked example and a divergence note.
Try a sample failure Read product limits
Start here: the rejections people search for
These 28 rules have a written explanation: what went wrong on the invoice in plain words, what to change, and how our check differs from the official validator. The tables below list every rule.
BR-01An invoice must state its specification identifierBR-02An invoice must have an invoice numberBR-03An invoice must have an issue dateBR-05An invoice must have a currency codeBR-16An invoice must have at least one lineBR-63The buyer electronic address needs a scheme identifierBR-AE-02Reverse charge requires both parties to be identifiedBR-S-02Charging standard-rate VAT requires a seller VAT identifierBR-CO-09VAT identifiers must carry a country prefixBR-CO-10The line net amounts must add up to the stated totalBR-CO-13The total without VAT is the lines, minus allowances, plus chargesBR-CO-14The total VAT is the sum of the VAT breakdown groupsBR-CO-15The total with VAT is the net total plus the VAT totalBR-CO-16The amount due is the gross total, less what is already paidBR-CO-17The VAT in each breakdown group must equal base × rateBR-CO-26The seller must be identifiable by something other than a nameBR-DE-1XRechnung requires payment instructionsBR-DE-2XRechnung requires seller contact details, all three of themBR-DE-6XRechnung requires a seller telephone numberBR-DE-7XRechnung requires a seller email addressBR-DE-14XRechnung requires a VAT rate on every breakdown groupBR-DE-15XRechnung requires a buyer referenceBR-DE-16XRechnung requires a seller tax identifier for almost every categoryBR-DE-17XRechnung narrows the invoice type codes to eightBR-DE-19The IBAN on a SEPA credit transfer must check outBR-DE-23-aA credit transfer code obliges the credit transfer groupBR-DE-TMP-32Add the delivery date or service periodPEPPOL-EN16931-R010A Peppol invoice needs the buyer electronic address
EN 16931 core
| Rule | Term | Requirement |
|---|---|---|
BR-01 |
BT-24 |
An invoice must state its specification identifier written up |
BR-02 |
BT-1 |
An invoice must have an invoice number written up |
BR-03 |
BT-2 |
An invoice must have an issue date written up |
BR-04 |
BT-3 |
An invoice must have an invoice type code |
BR-05 |
BT-5 |
An invoice must have a currency code written up |
BR-06 |
BT-27 |
An invoice must contain the seller name |
BR-07 |
BT-44 |
An invoice must contain the buyer name |
BR-08 |
BG-5 |
An invoice must contain the seller postal address |
BR-09 |
BT-40 |
The seller postal address must include a country code |
BR-10 |
BG-8 |
An invoice must contain the buyer postal address |
BR-11 |
BT-55 |
The buyer postal address must include a country code |
BR-12 |
BT-106 |
An invoice must state the sum of its line net amounts |
BR-13 |
BT-109 |
An invoice must state its total amount without VAT |
BR-14 |
BT-112 |
An invoice must state its total amount with VAT |
BR-15 |
BT-115 |
An invoice must state the amount due for payment |
BR-16 |
BG-25 |
An invoice must have at least one line written up |
BR-17 |
BT-59 |
A separate payee must be named |
BR-18 |
BT-62 |
A seller tax representative must be named |
BR-19 |
BG-12 |
A seller tax representative must have a postal address |
BR-20 |
BT-69 |
The tax representative’s address must include a country code |
BR-21 |
BT-126 |
Every invoice line must have a line identifier |
BR-22 |
BT-129 |
Every invoice line must have an invoiced quantity |
BR-23 |
BT-130 |
Every invoice line must have a unit of measure code |
BR-24 |
BT-131 |
Every invoice line must have a line net amount |
BR-25 |
BT-153 |
Every invoice line must have an item name |
BR-26 |
BT-146 |
Every invoice line must have an item net price |
BR-27 |
BT-146 |
The item net price must not be negative |
BR-28 |
BT-148 |
The item gross price must not be negative |
BR-29 |
BT-73 / BT-74 |
The invoicing period must not end before it starts |
BR-30 |
BT-134 / BT-135 |
An invoice line period must not end before it starts |
BR-31 |
BT-92 |
Every document-level allowance must have an amount |
BR-32 |
BT-95 |
Every document-level allowance must have a VAT category code |
BR-33 |
BT-97 / BT-98 |
Every document-level allowance must state a reason or reason code |
BR-36 |
BT-99 |
Every document-level charge must have an amount |
BR-37 |
BT-102 |
Every document-level charge must have a VAT category code |
BR-38 |
BT-104 / BT-105 |
Every document-level charge must state a reason or reason code |
BR-41 |
BT-136 |
Every line allowance must have an amount |
BR-42 |
BT-139 / BT-140 |
Every line allowance must state a reason or reason code |
BR-43 |
BT-141 |
Every line charge must have an amount |
BR-44 |
BT-144 / BT-145 |
Every line charge must state a reason or reason code |
BR-47 |
BT-118 |
Each VAT breakdown group must have a VAT category code |
BR-49 |
BT-81 |
Payment instructions must include a payment means code |
BR-50 |
BG-17 / BT-84 |
Credit transfer details must include the account identifier |
BR-51 |
BT-87 |
A payment card number should show no more than ten characters |
BR-52 |
BT-122 |
Every supporting document must have a reference |
BR-53 |
BT-111 |
A VAT accounting currency requires the VAT total in that currency |
BR-54 |
BT-160 / BT-161 |
Every item attribute must have both a name and a value |
BR-55 |
BT-25 |
Every preceding invoice reference must give the invoice number |
BR-56 |
BT-63 |
A seller tax representative must have a VAT identifier |
BR-57 |
BT-80 |
A delivery address must include a country code |
BR-61 |
BT-84 |
A credit transfer must state the account to pay into |
BR-62 |
BT-34 |
The seller electronic address needs a scheme identifier |
BR-63 |
BT-49 |
The buyer electronic address needs a scheme identifier written up |
BR-64 |
BT-157 |
An item standard identifier needs a scheme identifier |
BR-65 |
BT-158 |
An item classification code needs a scheme identifier |
VAT category rules
| Rule | Term | Requirement |
|---|---|---|
BR-AE-01 |
BT-118 |
Reverse-charge items need a reverse-charge VAT breakdown group |
BR-AE-02 |
BT-31 / BT-32 |
Reverse charge requires both parties to be identified written up |
BR-AE-03 |
BT-31 / BT-48 |
A reverse-charge allowance requires both parties to be identified |
BR-AE-04 |
BT-31 / BT-48 |
A charge under reverse charge requires both parties to be identified |
BR-AE-05 |
BT-152 |
Reverse-charge lines must have a VAT rate of zero |
BR-AE-06 |
BT-96 |
A reverse-charge allowance must have a VAT rate of zero |
BR-AE-07 |
BT-103 |
A charge under reverse charge must have a VAT rate of zero |
BR-AE-08 |
BT-116 |
Reverse-charge taxable amounts must match their lines, allowances and charges |
BR-AE-09 |
BT-117 |
A reverse-charge VAT breakdown must show zero VAT |
BR-AE-10 |
BT-120 / BT-121 |
A reverse-charge VAT breakdown must give the reverse-charge reason |
BR-AF-01 |
BT-118 |
Canary Islands IGIC items need an IGIC VAT breakdown group |
BR-AF-02 |
BT-31 / BT-32 |
Canary Islands IGIC lines require a seller or tax representative tax ID |
BR-AF-03 |
BT-31 / BT-32 |
A Canary Islands IGIC allowance requires a seller or tax representative tax ID |
BR-AF-04 |
BT-31 / BT-32 |
A Canary Islands IGIC charge requires a seller or tax representative tax ID |
BR-AF-05 |
BT-152 |
Canary Islands IGIC lines must state a rate of zero or more |
BR-AF-06 |
BT-96 |
A Canary Islands IGIC allowance must state a rate of zero or more |
BR-AF-07 |
BT-103 |
A Canary Islands IGIC charge must state a rate of zero or more |
BR-AF-08 |
BT-116 |
Canary Islands IGIC taxable amounts must match their lines, allowances and charges |
BR-AF-09 |
BT-117 |
Canary Islands IGIC must equal the taxable amount times the rate |
BR-AF-10 |
BT-120 / BT-121 |
A Canary Islands IGIC breakdown should not give an exemption reason |
BR-AG-01 |
BT-118 |
Ceuta and Melilla IPSI items need an IPSI VAT breakdown group |
BR-AG-02 |
BT-31 / BT-32 |
Ceuta and Melilla IPSI lines require a seller or tax representative tax ID |
BR-AG-03 |
BT-31 / BT-32 |
A Ceuta and Melilla IPSI allowance requires a seller or tax representative tax ID |
BR-AG-04 |
BT-31 / BT-32 |
A Ceuta and Melilla IPSI charge requires a seller or tax representative tax ID |
BR-AG-05 |
BT-152 |
Ceuta and Melilla IPSI lines must state a rate of zero or more |
BR-AG-06 |
BT-96 |
A Ceuta and Melilla IPSI allowance must state a rate of zero or more |
BR-AG-07 |
BT-103 |
A Ceuta and Melilla IPSI charge must state a rate of zero or more |
BR-AG-08 |
BT-116 |
Ceuta and Melilla IPSI taxable amounts must match their lines, allowances and charges |
BR-AG-09 |
BT-117 |
Ceuta and Melilla IPSI must equal the taxable amount times the rate |
BR-AG-10 |
BT-120 / BT-121 |
A Ceuta and Melilla IPSI breakdown should not give an exemption reason |
BR-CL-01 |
BT-3 |
The document type code must be a UNTDID 1001 invoice or credit note code |
BR-CL-03 |
BT-5 |
Every amount’s currency must be an ISO 4217 currency code |
BR-CL-04 |
BT-5 |
The invoice currency must be an ISO 4217 currency code |
BR-CL-05 |
BT-6 |
The VAT accounting currency must be an ISO 4217 currency code |
BR-CL-06 |
BT-8 |
The VAT point date code must be one of the three codes EN 16931 allows |
BR-CL-07 |
BT-18 |
The invoiced object identifier scheme must be a UNTDID 1153 code |
BR-CL-08 |
BT-21 |
An invoice note subject code must be a UNCL 4451 code |
BR-CL-10 |
BT-29 |
A party identifier scheme must be an ISO 6523 ICD code |
BR-CL-11 |
BT-30 |
A legal registration identifier scheme must be an ISO 6523 ICD code |
BR-CL-13 |
BT-158 |
An item classification scheme must be a UNTDID 7143 code |
BR-CL-14 |
BT-40 |
An address country code must be an ISO 3166-1 alpha-2 code |
BR-CL-15 |
BT-159 |
An item’s country of origin must be an ISO 3166-1 alpha-2 code |
BR-CL-16 |
BT-81 |
The payment means code must be a UNTDID 4461 code |
BR-CL-17 |
BT-118 |
A VAT breakdown category code must be a UNTDID 5305 code |
BR-CL-18 |
BT-151 |
A line VAT category code must be a UNTDID 5305 code |
BR-CL-19 |
BT-98 |
An allowance reason code must be a UNCL 5189 code |
BR-CL-20 |
BT-105 |
A charge reason code must be a UNCL 7161 code |
BR-CL-21 |
BT-157 |
An item standard identifier scheme must be an ISO 6523 ICD code |
BR-CL-22 |
BT-121 |
A VAT exemption reason code must come from the CEF VATEX list |
BR-CL-23 |
BT-130 |
A unit of measure must be a UN/ECE Recommendation 20 code |
BR-CL-24 |
BT-125 |
An attachment must use one of the MIME types EN 16931 allows |
BR-CL-25 |
BT-34 |
An electronic address scheme must be a CEF EAS code |
BR-CL-26 |
BT-71 |
A delivery location identifier scheme must be an ISO 6523 ICD code |
BR-DEC-01 |
BT-92 |
A document-level allowance amount may have at most two decimals |
BR-DEC-02 |
BT-93 |
A document-level allowance base amount may have at most two decimals |
BR-DEC-05 |
BT-99 |
A document-level charge amount may have at most two decimals |
BR-DEC-06 |
BT-100 |
A document-level charge base amount may have at most two decimals |
BR-DEC-09 |
BT-106 |
The sum of line net amounts may have at most two decimals |
BR-DEC-10 |
BT-107 |
The sum of document-level allowances may have at most two decimals |
BR-DEC-11 |
BT-108 |
The sum of document-level charges may have at most two decimals |
BR-DEC-12 |
BT-109 |
The total amount without VAT may have at most two decimals |
BR-DEC-13 |
BT-110 |
The total VAT amount may have at most two decimals |
BR-DEC-14 |
BT-112 |
The total amount with VAT may have at most two decimals |
BR-DEC-15 |
BT-111 |
The VAT total in accounting currency may have at most two decimals |
BR-DEC-16 |
BT-113 |
The paid amount may have at most two decimals |
BR-DEC-17 |
BT-114 |
The rounding amount may have at most two decimals |
BR-DEC-18 |
BT-115 |
The amount due for payment may have at most two decimals |
BR-DEC-24 |
BT-136 |
A line allowance amount may have at most two decimals |
BR-DEC-25 |
BT-137 |
A line allowance base amount may have at most two decimals |
BR-DEC-27 |
BT-141 |
A line charge amount may have at most two decimals |
BR-DEC-28 |
BT-142 |
A line charge base amount may have at most two decimals |
BR-E-01 |
BT-118 |
VAT-exempt items need an exempt VAT breakdown group |
BR-E-02 |
BT-31 / BT-32 |
Exempt lines require a seller or tax representative tax ID |
BR-E-03 |
BT-31 / BT-32 |
A VAT-exempt allowance requires a seller or tax representative tax ID |
BR-E-04 |
BT-31 / BT-32 |
A VAT-exempt charge requires a seller or tax representative tax ID |
BR-E-05 |
BT-152 |
Exempt lines must have a VAT rate of zero |
BR-E-06 |
BT-96 |
A VAT-exempt allowance must have a VAT rate of zero |
BR-E-07 |
BT-103 |
A VAT-exempt charge must have a VAT rate of zero |
BR-E-08 |
BT-116 |
Exempt taxable amounts must match their lines, allowances and charges |
BR-E-09 |
BT-117 |
An exempt VAT breakdown must show zero VAT |
BR-E-10 |
BT-120 / BT-121 |
An exempt VAT breakdown must give an exemption reason |
BR-G-01 |
BT-118 |
Exports need an export VAT breakdown group |
BR-G-02 |
BT-31 / BT-63 |
Export lines require a seller or tax representative VAT ID |
BR-G-03 |
BT-31 / BT-63 |
An export allowance requires a seller or tax representative VAT ID |
BR-G-04 |
BT-31 / BT-63 |
An export charge requires a seller or tax representative VAT ID |
BR-G-05 |
BT-152 |
Export lines must have a VAT rate of zero |
BR-G-06 |
BT-96 |
An export allowance must have a VAT rate of zero |
BR-G-07 |
BT-103 |
An export charge must have a VAT rate of zero |
BR-G-08 |
BT-116 |
Export taxable amounts must match their lines, allowances and charges |
BR-G-09 |
BT-117 |
An export VAT breakdown must show zero VAT |
BR-G-10 |
BT-120 / BT-121 |
An export VAT breakdown must give the export exemption reason |
BR-IC-01 |
BT-118 |
Intra-community supplies need an intra-community VAT breakdown group |
BR-IC-02 |
BT-31 / BT-63 |
Intra-community supply lines require a buyer VAT ID and a seller or representative VAT ID |
BR-IC-03 |
BT-31 / BT-48 |
An intra-community allowance requires a buyer VAT ID and a seller or representative VAT ID |
BR-IC-04 |
BT-31 / BT-48 |
An intra-community charge requires a buyer VAT ID and a seller or representative VAT ID |
BR-IC-05 |
BT-152 |
Intra-community supply lines must have a VAT rate of zero |
BR-IC-06 |
BT-96 |
An intra-community allowance must have a VAT rate of zero |
BR-IC-07 |
BT-103 |
An intra-community charge must have a VAT rate of zero |
BR-IC-08 |
BT-116 |
Intra-community supply taxable amounts must match their lines, allowances and charges |
BR-IC-09 |
BT-117 |
An intra-community VAT breakdown must show zero VAT |
BR-IC-10 |
BT-120 / BT-121 |
An intra-community VAT breakdown must give the matching exemption reason |
BR-IC-11 |
BT-72 |
An intra-community supply must state a delivery date or invoicing period |
BR-IC-12 |
BT-80 |
An intra-community supply must state the deliver-to country |
BR-O-01 |
BT-118 |
Items not subject to VAT need a matching VAT breakdown group |
BR-O-02 |
BT-31 / BT-48 |
Lines not subject to VAT rule out VAT identifiers on the invoice |
BR-O-03 |
BT-31 / BT-48 |
An allowance not subject to VAT rules out VAT identifiers on the invoice |
BR-O-04 |
BT-31 / BT-48 |
A charge not subject to VAT rules out VAT identifiers on the invoice |
BR-O-05 |
BT-152 |
Lines not subject to VAT must not have a VAT rate at all |
BR-O-06 |
BT-96 |
An allowance not subject to VAT must not have a VAT rate at all |
BR-O-07 |
BT-103 |
A charge not subject to VAT must not have a VAT rate at all |
BR-O-08 |
BT-116 |
Not-subject-to-VAT taxable amounts must match their lines, allowances and charges |
BR-O-09 |
BT-117 |
A not-subject-to-VAT breakdown must show zero VAT |
BR-O-10 |
BT-120 / BT-121 |
A not-subject-to-VAT breakdown must give the matching exemption reason |
BR-O-11 |
BT-118 |
A not-subject-to-VAT invoice can have no other VAT breakdown group |
BR-O-12 |
BT-151 |
On a not-subject-to-VAT invoice, every line must be not subject to VAT |
BR-O-13 |
BT-95 |
On a not-subject-to-VAT invoice, every allowance must be not subject to VAT |
BR-O-14 |
BT-102 |
On a not-subject-to-VAT invoice, every charge must be not subject to VAT |
BR-S-01 |
BT-118 |
Standard-rated items need a standard-rated VAT breakdown group |
BR-S-02 |
BT-31 / BT-32 |
Charging standard-rate VAT requires a seller VAT identifier written up |
BR-S-03 |
BT-31 / BT-32 |
A standard-rated allowance requires a seller or tax representative tax ID |
BR-S-04 |
BT-31 / BT-32 |
A standard-rated charge requires a seller or tax representative tax ID |
BR-S-05 |
BT-152 |
Standard-rated lines must have a VAT rate above zero |
BR-S-06 |
BT-96 |
A standard-rated allowance must have a VAT rate above zero |
BR-S-07 |
BT-103 |
A standard-rated charge must have a VAT rate above zero |
BR-S-08 |
BT-116 |
Standard-rated taxable amounts must match their lines, allowances and charges |
BR-S-09 |
BT-117 |
Standard-rated VAT must equal the taxable amount times the rate |
BR-S-10 |
BT-120 / BT-121 |
A standard-rated VAT breakdown should not give an exemption reason |
BR-Z-01 |
BT-118 |
Zero-rated items need a zero-rated VAT breakdown group |
BR-Z-02 |
BT-31 / BT-32 |
Zero-rated lines require a seller or tax representative tax ID |
BR-Z-03 |
BT-31 / BT-32 |
A zero-rated allowance requires a seller or tax representative tax ID |
BR-Z-04 |
BT-31 / BT-32 |
A zero-rated charge requires a seller or tax representative tax ID |
BR-Z-05 |
BT-152 |
Zero-rated lines must have a VAT rate of zero |
BR-Z-06 |
BT-96 |
A zero-rated allowance must have a VAT rate of zero |
BR-Z-07 |
BT-103 |
A zero-rated charge must have a VAT rate of zero |
BR-Z-08 |
BT-116 |
Zero-rated taxable amounts must match their lines, allowances and charges |
BR-Z-09 |
BT-117 |
A zero-rated VAT breakdown must show zero VAT |
BR-Z-10 |
BT-120 / BT-121 |
A zero-rated VAT breakdown should not give an exemption reason |
Conditions and calculations
| Rule | Term | Requirement |
|---|---|---|
BR-CO-03 |
BT-7 / BT-8 |
The VAT point may be given as a date or as a code, not both |
BR-CO-04 |
BT-151 |
Every invoice line must have a VAT category code |
BR-CO-09 |
BT-31 |
VAT identifiers must carry a country prefix written up |
BR-CO-10 |
BT-106 |
The line net amounts must add up to the stated total written up |
BR-CO-11 |
BT-107 |
The allowance total must equal the sum of document-level allowances |
BR-CO-12 |
BT-108 |
The charge total must equal the sum of document-level charges |
BR-CO-13 |
BT-109 |
The total without VAT is the lines, minus allowances, plus charges written up |
BR-CO-14 |
BT-110 |
The total VAT is the sum of the VAT breakdown groups written up |
BR-CO-15 |
BT-112 |
The total with VAT is the net total plus the VAT total written up |
BR-CO-16 |
BT-115 |
The amount due is the gross total, less what is already paid written up |
BR-CO-17 |
BT-117 |
The VAT in each breakdown group must equal base × rate written up |
BR-CO-18 |
BG-23 |
An invoice must have at least one VAT breakdown group |
BR-CO-19 |
BG-14 |
An invoicing period must give a start date, an end date or a VAT point code |
BR-CO-20 |
BG-26 |
An invoice line period must have a start date, an end date or both |
BR-CO-21 |
BT-97 / BT-98 |
A document-level allowance needs a reason, a reason code, or both |
BR-CO-22 |
BT-104 / BT-105 |
A document-level charge needs a reason, a reason code, or both |
BR-CO-23 |
BT-139 / BT-140 |
A line allowance needs a reason, a reason code, or both |
BR-CO-24 |
BT-144 / BT-145 |
A line charge needs a reason, a reason code, or both |
BR-CO-26 |
BT-29 / BT-30 / BT-31 |
The seller must be identifiable by something other than a name written up |
XRechnung (German CIUS)
| Rule | Term | Requirement |
|---|---|---|
BR-DE-1 |
BG-16 |
XRechnung requires payment instructions written up |
BR-DE-2 |
BG-6 |
XRechnung requires seller contact details, all three of them written up |
BR-DE-3 |
BT-37 |
XRechnung requires the seller city |
BR-DE-4 |
BT-38 |
XRechnung requires the seller post code |
BR-DE-5 |
BT-41 |
XRechnung requires a seller contact name |
BR-DE-6 |
BT-42 |
XRechnung requires a seller telephone number written up |
BR-DE-7 |
BT-43 |
XRechnung requires a seller email address written up |
BR-DE-8 |
BT-52 |
XRechnung requires the buyer city |
BR-DE-9 |
BT-53 |
XRechnung requires the buyer post code |
BR-DE-10 |
BT-77 |
XRechnung requires a city in the delivery address |
BR-DE-11 |
BT-78 |
XRechnung requires a post code in the delivery address |
BR-DE-14 |
BT-119 |
XRechnung requires a VAT rate on every breakdown group written up |
BR-DE-15 |
BT-10 |
XRechnung requires a buyer reference written up |
BR-DE-16 |
BT-31 / BT-32 |
XRechnung requires a seller tax identifier for almost every category written up |
BR-DE-17 |
BT-3 |
XRechnung narrows the invoice type codes to eight written up |
BR-DE-18 |
BT-20 |
Skonto entries in the payment terms must follow the XRechnung format |
BR-DE-19 |
BT-84 |
The IBAN on a SEPA credit transfer must check out written up |
BR-DE-20 |
BT-91 |
The debited account on a SEPA direct debit should be a valid IBAN |
BR-DE-22 |
BG-24 / BT-125 |
Attachment filenames must be unique within the invoice |
BR-DE-23-a |
BG-17 / BT-84 |
A credit transfer code obliges the credit transfer group written up |
BR-DE-23-b |
BG-18 |
A credit transfer code rules out card and direct debit details |
BR-DE-24-a |
BG-18 |
A card payment code requires the payment card details |
BR-DE-24-b |
BG-17 / BG-19 |
A card payment code rules out credit transfer and direct debit details |
BR-DE-25-a |
BG-19 |
A direct debit code requires the direct debit details |
BR-DE-25-b |
BG-17 |
A direct debit code rules out credit transfer and card details |
BR-DE-26 |
BG-3 / BT-25 |
A corrected invoice should reference the invoice it corrects |
BR-DE-27 |
BT-42 |
The seller telephone number should contain at least three digits |
BR-DE-28 |
BT-43 |
The seller email address should be a single well-formed address |
BR-DE-30 |
BG-19 / BT-90 |
An XRechnung direct debit requires the SEPA creditor identifier |
BR-DE-31 |
BG-19 / BT-91 |
An XRechnung direct debit requires the debited account |
BR-DE-TMP-32 |
BT-72 / BG-14 |
Add the delivery date or service period written up |
Peppol BIS 3
| Rule | Term | Requirement |
|---|---|---|
PEPPOL-COMMON-R040 |
BT-34 |
A GLN must be all digits with a valid check digit |
PEPPOL-COMMON-R041 |
BT-34 |
A Norwegian organisation number must be nine digits with a valid check digit |
PEPPOL-COMMON-R042 |
BT-34 |
A Danish CVR number must be eight digits, optionally prefixed DK |
PEPPOL-COMMON-R043 |
BT-34 |
A Belgian enterprise number must be ten digits with valid check digits |
PEPPOL-COMMON-R044 |
BT-34 |
An Italian IPA code should be exactly six letters or digits |
PEPPOL-COMMON-R045 |
BT-29 |
An Italian Codice Fiscale under scheme 0210 should be well formed |
PEPPOL-COMMON-R046 |
BT-34 |
An Italian Codice Fiscale under scheme 9907 should be well formed |
PEPPOL-COMMON-R047 |
BT-46 |
An Italian VAT number under scheme 0211 should be well formed |
PEPPOL-COMMON-R048 |
BT-49 |
An Italian VAT number under scheme 9906 should be well formed |
PEPPOL-COMMON-R049 |
BT-34 |
A Swedish organisation number must be ten digits with a valid check digit |
PEPPOL-COMMON-R050 |
BT-34 |
An Australian Business Number must be eleven digits with a valid checksum |
PEPPOL-COMMON-R052 |
BT-29 |
A Danish P-number should be exactly ten digits |
PEPPOL-COMMON-R053 |
BT-46 |
A Danish SE number should be DK followed by eight digits |
PEPPOL-EN16931-CL007 |
BT-5 |
The invoice currency must be on Peppol’s ISO 4217 list |
PEPPOL-EN16931-CL008 |
BT-34 |
An electronic address scheme must be on Peppol’s scheme list |
PEPPOL-EN16931-F001 |
BT-2 |
Peppol requires every date to be a real YYYY-MM-DD date |
PEPPOL-EN16931-P0100 |
BT-3 |
The invoice type code must be one Peppol billing allows |
PEPPOL-EN16931-P0101 |
BT-3 |
A credit note type code must be one Peppol billing allows |
PEPPOL-EN16931-P0104 |
BT-121 / BT-118 |
The VATEX-EU-G exemption code is only for export outside the EU |
PEPPOL-EN16931-P0105 |
BT-121 / BT-118 |
The VATEX-EU-O exemption code is only for supplies not subject to VAT |
PEPPOL-EN16931-P0106 |
BT-121 / BT-118 |
The VATEX-EU-IC exemption code is only for intra-community supply |
PEPPOL-EN16931-P0107 |
BT-121 / BT-118 |
The VATEX-EU-AE exemption code is only for reverse charge |
PEPPOL-EN16931-P0108 |
BT-121 / BT-118 |
The VATEX-EU-D exemption code is only for exempt supplies |
PEPPOL-EN16931-P0109 |
BT-121 / BT-118 |
The VATEX-EU-F exemption code is only for exempt supplies |
PEPPOL-EN16931-P0110 |
BT-121 / BT-118 |
The VATEX-EU-I exemption code is only for exempt supplies |
PEPPOL-EN16931-P0111 |
BT-121 / BT-118 |
The VATEX-EU-J exemption code is only for exempt supplies |
PEPPOL-EN16931-P0112 |
BT-3 / BT-40 / BT-55 |
Peppol allows type codes 326 and 384 only between German parties |
PEPPOL-EN16931-R002 |
BT-21 |
Peppol allows no subject code on the document note |
PEPPOL-EN16931-R003 |
BT-10 / BT-13 |
Peppol requires a buyer reference or a purchase order reference |
PEPPOL-EN16931-R005 |
BT-6 / BT-5 |
The VAT accounting currency must differ from the invoice currency |
PEPPOL-EN16931-R010 |
BT-49 |
A Peppol invoice needs the buyer electronic address written up |
PEPPOL-EN16931-R020 |
BT-34 |
A Peppol invoice should give the seller electronic address |
PEPPOL-EN16931-R040 |
BT-92 / BT-93 / BT-94 |
An allowance or charge amount must equal base amount × percentage |
PEPPOL-EN16931-R041 |
BT-93 / BT-94 |
An allowance or charge percentage requires a base amount |
PEPPOL-EN16931-R042 |
BT-100 / BT-101 |
An allowance or charge base amount requires a percentage |
PEPPOL-EN16931-R046 |
BT-146 / BT-147 / BT-148 |
The item net price must equal the gross price less the discount |
PEPPOL-EN16931-R055 |
BT-110 / BT-111 |
The VAT total and its accounting-currency amount must share a sign |
PEPPOL-EN16931-R061 |
BT-89 |
A direct debit must state the mandate reference |
PEPPOL-EN16931-R110 |
BT-134 / BT-73 |
A line period must not start before the invoicing period |
PEPPOL-EN16931-R111 |
BT-135 / BT-74 |
A line period must not end after the invoicing period |
PEPPOL-EN16931-R120 |
BT-131 |
The line net amount must equal quantity × price, less allowances, plus charges |
PEPPOL-EN16931-R121 |
BT-149 |
The item price base quantity must be greater than zero |
Other
ATW-AMOUNT-OUT-OF-RANGE— No amount or total may exceed 999,999,999,999.99ATW-CREDIT-NOTE-DUE-DATE-UNBOUND— A UBL credit note can carry a due date only with payment instructionsATW-CREDIT-NOTE-NEGATIVE-AMOUNTS— A credit note should state its amounts as positive figuresATW-CREDIT-NOTE-NO-PRECEDING-INVOICE— A credit note should name the invoice it creditsATW-CREDIT-NOTE-PROJECT-REFERENCE-UNBOUND— A UBL credit note cannot carry a project referenceATW-CREDIT-NOTE-UNSUPPORTED— Retired — credit notes are supported nowATW-DATE-NOT-A-CALENDAR-DATE— Every date must be a real calendar date written as YYYY-MM-DDATW-DECLARED-TOTAL-NOT-A-NUMBER— A stated document total must be a number with a decimal pointATW-DECLARED-TOTAL-NOT-FINITE— A declared document total must be a finite numberATW-INPUT-TYPE— Every field must have the type the input model expectsATW-NUMBER-NOT-FINITE— Every number in the invoice must be finiteATW-NUMBER-TOO-LARGE— A number must be small enough to write without exponent notationATW-PROFILE-UNKNOWN— The profile must be one this library knowsATW-TEXT-NOT-XML— Text must contain only characters an XML document can carryATW-VAT-CATEGORY-UNSUPPORTED— Split-payment VAT (category B) is not supported by this libraryATW-VAT-RATE-OUT-OF-RANGE— A VAT rate cannot exceed 100%
Arithmetic invariants
You cannot trigger any of these 6. They check figures the library computes for you (the VAT breakdown, the document totals, the line net amount), not figures it reads from your invoice. If one ever fires, the fault is ours, and its page says so.
| Rule | Term | Guards |
|---|---|---|
BR-45 |
BT-116 |
Each breakdown group must state a taxable amount |
BR-46 |
BT-117 |
Each breakdown group must state a VAT amount |
BR-48 |
BT-119 |
Each breakdown group must state a VAT rate |
BR-DEC-19 |
BT-106 |
The sum of line net amounts must have at most two decimals |
BR-DEC-20 |
BT-109 |
The invoice total without VAT must have at most two decimals |
BR-DEC-23 |
BT-115 |
The amount due for payment must have at most two decimals |
How to read these pages
- Rule ID
BR-*is EN 16931 core,BR-CO-*a cross-field condition,BR-DE-*the German XRechnung CIUS,BR-<category>-*a VAT-category rule,PEPPOL-*a Peppol BIS 3 restriction.- Term
- The business term the rule constrains:
BT-*a field,BG-*a group. - Severity
fatalmeans the document is non-conformant and will be rejected.warningmeans it is conformant but likely to cause a downstream problem — KoSIT's own warnings map to this.informationis advisory: the official validator raises it and then accepts the invoice.- Divergence
- Where our check is not the same assertion as the published rule. Read it: several of our input-level checks are deliberately stricter, and a few are narrower.