BT coverage: write and read tests per syntax¶
Every EN 16931 business term and group (and the library's root BG-0) needs a write test and a read test
in each syntax. The counts are the non-vacuous rows of the per-term tables: BT_ROWS in
tests/syntax/test_{ubl,cii}_write_bts.py (the XPath each term is written to) and READ_ROWS in
tests/syntax/test_{ubl,cii}_read_bts.py (the value the reader returns). The gate
tests/syntax/test_bt_coverage.py fails on any missing cell that is not an exemption with a reason.
Summary¶
| UBL write | UBL read | CII write | CII read | |
|---|---|---|---|---|
| Ids | 197 | 197 | 197 | 197 |
| Covered | 197 | 197 | 197 | 197 |
| Exempt | 0 | 0 | 0 | 0 |
| Missing | 0 | 0 | 0 | 0 |
| Rows | 218 | 218 | 209 | 201 |
Exemptions¶
None: every term and group is covered in both directions of both syntaxes.
Per term¶
| Id | Name | UBL write | UBL read | CII write | CII read |
|---|---|---|---|---|---|
| BG-0 | INVOICE (root) | 1 | 1 | 1 | 1 |
| BG-1 | INVOICE NOTE | 1 | 1 | 1 | 1 |
| BG-2 | PROCESS CONTROL | 1 | 1 | 1 | 1 |
| BG-3 | PRECEDING INVOICE REFERENCE | 1 | 1 | 1 | 1 |
| BG-4 | SELLER | 1 | 1 | 1 | 1 |
| BG-5 | SELLER POSTAL ADDRESS | 1 | 1 | 1 | 1 |
| BG-6 | SELLER CONTACT | 1 | 1 | 1 | 1 |
| BG-7 | BUYER | 1 | 1 | 1 | 1 |
| BG-8 | BUYER POSTAL ADDRESS | 1 | 1 | 1 | 1 |
| BG-9 | BUYER CONTACT | 1 | 1 | 1 | 1 |
| BG-10 | PAYEE | 1 | 1 | 1 | 1 |
| BG-11 | SELLER TAX REPRESENTATIVE PARTY | 1 | 1 | 1 | 1 |
| BG-12 | SELLER TAX REPRESENTATIVE POSTAL ADDRESS | 1 | 1 | 1 | 1 |
| BG-13 | DELIVERY INFORMATION | 1 | 1 | 1 | 1 |
| BG-14 | INVOICING PERIOD | 1 | 1 | 1 | 1 |
| BG-15 | DELIVER TO ADDRESS | 1 | 1 | 1 | 1 |
| BG-16 | PAYMENT INSTRUCTIONS | 1 | 1 | 1 | 1 |
| BG-17 | CREDIT TRANSFER | 1 | 1 | 1 | 1 |
| BG-18 | PAYMENT CARD INFORMATION | 1 | 1 | 1 | 1 |
| BG-19 | DIRECT DEBIT | 1 | 1 | 1 | 1 |
| BG-20 | DOCUMENT LEVEL ALLOWANCES | 1 | 1 | 1 | 1 |
| BG-21 | DOCUMENT LEVEL CHARGES | 1 | 1 | 1 | 1 |
| BG-22 | DOCUMENT TOTALS | 1 | 1 | 1 | 1 |
| BG-23 | VAT BREAKDOWN | 1 | 1 | 1 | 1 |
| BG-24 | ADDITIONAL SUPPORTING DOCUMENTS | 1 | 1 | 1 | 1 |
| BG-25 | INVOICE LINE | 1 | 1 | 1 | 1 |
| BG-26 | INVOICE LINE PERIOD | 1 | 1 | 1 | 1 |
| BG-27 | INVOICE LINE ALLOWANCES | 1 | 1 | 1 | 1 |
| BG-28 | INVOICE LINE CHARGES | 1 | 1 | 1 | 1 |
| BG-29 | PRICE DETAILS | 1 | 1 | 1 | 1 |
| BG-30 | LINE VAT INFORMATION | 1 | 1 | 1 | 1 |
| BG-31 | ITEM INFORMATION | 1 | 1 | 1 | 1 |
| BG-32 | ITEM ATTRIBUTES | 1 | 1 | 1 | 1 |
| BT-1 | Invoice number | 1 | 1 | 1 | 1 |
| BT-2 | Invoice issue date | 1 | 1 | 1 | 1 |
| BT-3 | Invoice type code | 1 | 1 | 1 | 1 |
| BT-5 | Invoice currency code | 2 | 2 | 1 | 1 |
| BT-6 | VAT accounting currency code | 1 | 1 | 1 | 1 |
| BT-7 | Value added tax point date | 1 | 1 | 1 | 1 |
| BT-8 | Value added tax point date code | 1 | 1 | 3 | 3 |
| BT-9 | Payment due date | 1 | 1 | 1 | 1 |
| BT-10 | Buyer reference | 1 | 1 | 1 | 1 |
| BT-11 | Project reference | 1 | 1 | 1 | 1 |
| BT-12 | Contract reference | 1 | 1 | 1 | 1 |
| BT-13 | Purchase order reference | 1 | 1 | 1 | 1 |
| BT-14 | Sales order reference | 1 | 1 | 1 | 1 |
| BT-15 | Receiving advice reference | 1 | 1 | 1 | 1 |
| BT-16 | Despatch advice reference | 1 | 1 | 1 | 1 |
| BT-17 | Tender or lot reference | 1 | 1 | 1 | 1 |
| BT-18 | Invoiced object identifier | 2 | 2 | 2 | 1 |
| BT-19 | Buyer accounting reference | 1 | 1 | 1 | 1 |
| BT-20 | Payment terms | 1 | 1 | 1 | 1 |
| BT-21 | Invoice note subject code | 1 | 1 | 1 | 1 |
| BT-22 | Invoice note | 1 | 1 | 1 | 1 |
| BT-23 | Business process type | 1 | 1 | 1 | 1 |
| BT-24 | Specification identifier | 1 | 1 | 1 | 1 |
| BT-25 | Preceding Invoice reference | 1 | 1 | 1 | 1 |
| BT-26 | Preceding Invoice issue date | 1 | 1 | 1 | 1 |
| BT-27 | Seller name | 1 | 1 | 1 | 1 |
| BT-28 | Seller trading name | 1 | 1 | 1 | 1 |
| BT-29 | Seller identifier | 2 | 2 | 2 | 1 |
| BT-30 | Seller legal registration identifier | 2 | 2 | 1 | 1 |
| BT-31 | Seller VAT identifier | 1 | 1 | 1 | 1 |
| BT-32 | Seller tax registration identifier | 1 | 1 | 1 | 1 |
| BT-33 | Seller additional legal information | 1 | 1 | 1 | 1 |
| BT-34 | Seller electronic address | 2 | 2 | 1 | 1 |
| BT-35 | Seller address line 1 | 1 | 1 | 1 | 1 |
| BT-36 | Seller address line 2 | 1 | 1 | 1 | 1 |
| BT-37 | Seller city | 1 | 1 | 1 | 1 |
| BT-38 | Seller post code | 1 | 1 | 1 | 1 |
| BT-39 | Seller country subdivision | 1 | 1 | 1 | 1 |
| BT-40 | Seller country code | 1 | 1 | 1 | 1 |
| BT-41 | Seller contact point | 1 | 1 | 1 | 1 |
| BT-42 | Seller contact telephone number | 1 | 1 | 1 | 1 |
| BT-43 | Seller contact email address | 1 | 1 | 1 | 1 |
| BT-44 | Buyer name | 1 | 1 | 1 | 1 |
| BT-45 | Buyer trading name | 1 | 1 | 1 | 1 |
| BT-46 | Buyer identifier | 2 | 2 | 2 | 2 |
| BT-47 | Buyer legal registration identifier | 2 | 2 | 1 | 1 |
| BT-48 | Buyer VAT identifier | 1 | 1 | 1 | 1 |
| BT-49 | Buyer electronic address | 2 | 2 | 1 | 1 |
| BT-50 | Buyer address line 1 | 1 | 1 | 1 | 1 |
| BT-51 | Buyer address line 2 | 1 | 1 | 1 | 1 |
| BT-52 | Buyer city | 1 | 1 | 1 | 1 |
| BT-53 | Buyer post code | 1 | 1 | 1 | 1 |
| BT-54 | Buyer country subdivision | 1 | 1 | 1 | 1 |
| BT-55 | Buyer country code | 1 | 1 | 1 | 1 |
| BT-56 | Buyer contact point | 1 | 1 | 1 | 1 |
| BT-57 | Buyer contact telephone number | 1 | 1 | 1 | 1 |
| BT-58 | Buyer contact email address | 1 | 1 | 1 | 1 |
| BT-59 | Payee name | 1 | 1 | 1 | 1 |
| BT-60 | Payee identifier | 2 | 2 | 1 | 1 |
| BT-61 | Payee legal registration identifier | 2 | 2 | 1 | 1 |
| BT-62 | Seller tax representative name | 1 | 1 | 1 | 1 |
| BT-63 | Seller tax representative VAT identifier | 1 | 1 | 1 | 1 |
| BT-64 | Tax representative address line 1 | 1 | 1 | 1 | 1 |
| BT-65 | Tax representative address line 2 | 1 | 1 | 1 | 1 |
| BT-66 | Tax representative city | 1 | 1 | 1 | 1 |
| BT-67 | Tax representative post code | 1 | 1 | 1 | 1 |
| BT-68 | Tax representative country subdivision | 1 | 1 | 1 | 1 |
| BT-69 | Tax representative country code | 1 | 1 | 1 | 1 |
| BT-70 | Deliver to party name | 1 | 1 | 1 | 1 |
| BT-71 | Deliver to location identifier | 2 | 2 | 1 | 1 |
| BT-72 | Actual delivery date | 1 | 1 | 1 | 1 |
| BT-73 | Invoicing period start date | 1 | 1 | 1 | 1 |
| BT-74 | Invoicing period end date | 1 | 1 | 1 | 1 |
| BT-75 | Deliver to address line 1 | 1 | 1 | 1 | 1 |
| BT-76 | Deliver to address line 2 | 1 | 1 | 1 | 1 |
| BT-77 | Deliver to city | 1 | 1 | 1 | 1 |
| BT-78 | Deliver to post code | 1 | 1 | 1 | 1 |
| BT-79 | Deliver to country subdivision | 1 | 1 | 1 | 1 |
| BT-80 | Deliver to country code | 1 | 1 | 1 | 1 |
| BT-81 | Payment means type code | 1 | 1 | 1 | 1 |
| BT-82 | Payment means text | 1 | 1 | 1 | 1 |
| BT-83 | Remittance information | 1 | 1 | 1 | 1 |
| BT-84 | Payment account identifier | 1 | 1 | 2 | 2 |
| BT-85 | Payment account name | 1 | 1 | 1 | 1 |
| BT-86 | Payment service provider identifier | 1 | 1 | 1 | 1 |
| BT-87 | Payment card primary account number | 1 | 1 | 1 | 1 |
| BT-88 | Payment card holder name | 1 | 1 | 1 | 1 |
| BT-89 | Mandate reference identifier | 1 | 1 | 1 | 1 |
| BT-90 | Bank assigned creditor identifier | 2 | 2 | 1 | 1 |
| BT-91 | Debited account identifier | 1 | 1 | 1 | 1 |
| BT-92 | Document level allowance amount | 2 | 2 | 1 | 1 |
| BT-93 | Document level allowance base amount | 1 | 1 | 1 | 1 |
| BT-94 | Document level allowance percentage | 1 | 1 | 1 | 1 |
| BT-95 | Document level allowance VAT category code | 1 | 1 | 1 | 1 |
| BT-96 | Document level allowance VAT rate | 1 | 1 | 1 | 1 |
| BT-97 | Document level allowance reason | 1 | 1 | 1 | 1 |
| BT-98 | Document level allowance reason code | 1 | 1 | 1 | 1 |
| BT-99 | Document level charge amount | 1 | 1 | 1 | 1 |
| BT-100 | Document level charge base amount | 1 | 1 | 1 | 1 |
| BT-101 | Document level charge percentage | 1 | 1 | 1 | 1 |
| BT-102 | Document level charge VAT category code | 1 | 1 | 1 | 1 |
| BT-103 | Document level charge VAT rate | 1 | 1 | 1 | 1 |
| BT-104 | Document level charge reason | 1 | 1 | 1 | 1 |
| BT-105 | Document level charge reason code | 1 | 1 | 1 | 1 |
| BT-106 | Sum of Invoice line net amount | 1 | 1 | 1 | 1 |
| BT-107 | Sum of allowances on document level | 1 | 1 | 1 | 1 |
| BT-108 | Sum of charges on document level | 1 | 1 | 1 | 1 |
| BT-109 | Invoice total amount without VAT | 1 | 1 | 1 | 1 |
| BT-110 | Invoice total VAT amount | 1 | 1 | 1 | 1 |
| BT-111 | Invoice total VAT amount in accounting currency | 1 | 1 | 1 | 1 |
| BT-112 | Invoice total amount with VAT | 1 | 1 | 1 | 1 |
| BT-113 | Paid amount | 1 | 1 | 1 | 1 |
| BT-114 | Rounding amount | 1 | 1 | 1 | 1 |
| BT-115 | Amount due for payment | 1 | 1 | 1 | 1 |
| BT-116 | VAT category taxable amount | 1 | 1 | 1 | 1 |
| BT-117 | VAT category tax amount | 1 | 1 | 1 | 1 |
| BT-118 | VAT category code | 1 | 1 | 1 | 1 |
| BT-119 | VAT category rate | 1 | 1 | 1 | 1 |
| BT-120 | VAT exemption reason text | 1 | 1 | 1 | 1 |
| BT-121 | VAT exemption reason code | 1 | 1 | 1 | 1 |
| BT-122 | Supporting document reference | 1 | 1 | 1 | 1 |
| BT-123 | Supporting document description | 1 | 1 | 1 | 1 |
| BT-124 | External document location | 1 | 1 | 1 | 1 |
| BT-125 | Attached document | 3 | 3 | 3 | 1 |
| BT-126 | Invoice line identifier | 1 | 1 | 1 | 1 |
| BT-127 | Invoice line note | 1 | 1 | 1 | 1 |
| BT-128 | Invoice line object identifier | 2 | 2 | 2 | 1 |
| BT-129 | Invoiced quantity | 1 | 1 | 1 | 1 |
| BT-130 | Invoiced quantity unit of measure code | 1 | 1 | 1 | 1 |
| BT-131 | Invoice line net amount | 2 | 2 | 1 | 1 |
| BT-132 | Referenced purchase order line reference | 1 | 1 | 1 | 1 |
| BT-133 | Invoice line Buyer accounting reference | 1 | 1 | 1 | 1 |
| BT-134 | Invoice line period start date | 1 | 1 | 1 | 1 |
| BT-135 | Invoice line period end date | 1 | 1 | 1 | 1 |
| BT-136 | Invoice line allowance amount | 1 | 1 | 1 | 1 |
| BT-137 | Invoice line allowance base amount | 1 | 1 | 1 | 1 |
| BT-138 | Invoice line allowance percentage | 1 | 1 | 1 | 1 |
| BT-139 | Invoice line allowance reason | 1 | 1 | 1 | 1 |
| BT-140 | Invoice line allowance reason code | 1 | 1 | 1 | 1 |
| BT-141 | Invoice line charge amount | 1 | 1 | 1 | 1 |
| BT-142 | Invoice line charge base amount | 1 | 1 | 1 | 1 |
| BT-143 | Invoice line charge percentage | 1 | 1 | 1 | 1 |
| BT-144 | Invoice line charge reason | 1 | 1 | 1 | 1 |
| BT-145 | Invoice line charge reason code | 1 | 1 | 1 | 1 |
| BT-146 | Item net price | 2 | 2 | 1 | 1 |
| BT-147 | Item price discount | 1 | 1 | 1 | 1 |
| BT-148 | Item gross price | 1 | 1 | 1 | 1 |
| BT-149 | Item price base quantity | 1 | 1 | 2 | 1 |
| BT-150 | Item price base quantity unit of measure code | 1 | 1 | 2 | 1 |
| BT-151 | Invoiced item VAT category code | 1 | 1 | 1 | 1 |
| BT-152 | Invoiced item VAT rate | 1 | 1 | 1 | 1 |
| BT-153 | Item name | 1 | 1 | 1 | 1 |
| BT-154 | Item description | 1 | 1 | 1 | 1 |
| BT-155 | Item Sellers identifier | 1 | 1 | 1 | 1 |
| BT-156 | Item Buyers identifier | 1 | 1 | 1 | 1 |
| BT-157 | Item standard identifier | 2 | 2 | 1 | 1 |
| BT-158 | Item classification identifier | 3 | 3 | 2 | 1 |
| BT-159 | Item country of origin | 1 | 1 | 1 | 1 |
| BT-160 | Item attribute name | 1 | 1 | 1 | 1 |
| BT-161 | Item attribute value | 1 | 1 | 1 | 1 |
| BT-162 | Seller address line 3 | 1 | 1 | 1 | 1 |
| BT-163 | Buyer address line 3 | 1 | 1 | 1 | 1 |
| BT-164 | Tax representative address line 3 | 1 | 1 | 1 | 1 |
| BT-165 | Deliver to address line 3 | 1 | 1 | 1 | 1 |