states/TN.json

{
  "state": "TN",
  "spec": {
    "document": "Tennessee PET 373 Transporter Excel Template, filed through TNTAP",
    "version": "as published",
    "where": "https://www.tn.gov/content/dam/tn/revenue/documents/efileandpay/tntap_info/motorfuels_spreadsheets/PET%20373%20Transporter%20Excel%20Template.xlsx",
    "pinned": "2020-02-11",
    "checked": "2026-09-23",
    "note": "the published template matched the one these tests were written against in every cell, formula and list when checked."
  },
  "tests": [
    {
      "type": "Freight",
      "name": "BOL is not a 3 to 20 digit number",
      "field": "bol",
      "test": "^[0-9]{3,20}$"
    },
    {
      "type": "Freight",
      "name": "Net is not a 3 to 6 digit number",
      "field": "net",
      "test": "^[0-9]{3,6}$"
    },
    {
      "type": "Freight",
      "name": "Gross is not a 3 to 6 digit number",
      "field": "gross",
      "test": "^[0-9]{3,6}$"
    },
    {
      "type": "Freight",
      "name": "No Commodity Code Mapping",
      "field": "cmd_code",
      "test": "^(?!nocode-).+$"
    },
    {
      "type": "Freight",
      "name": "Missing Shipper",
      "field": "shipper.cmp_id",
      "test": "^.+$"
    },
    {
      "type": "Freight",
      "name": "Missing Supplier",
      "field": "supplier.cmp_id",
      "test": "^.+$"
    },
    {
      "type": "Freight",
      "name": "Missing AccountOf/Consignor",
      "field": "consignor.cmp_id",
      "test": "^.+$"
    },
    {
      "type": "Freight",
      "name": "Missing Consignee",
      "field": "consignee.cmp_id",
      "test": "^.+$"
    },
    {
      "type": "Shipper",
      "name": "Shipper State is not 2 letters",
      "field": "shipper.state",
      "test": "^[a-z]{2}$"
    },
    {
      "type": "Shipper",
      "name": "Shipper TCN missing or Invalid Format",
      "field": "shipper.tcn",
      "test": "^T[0-9]{2}[a-z]{2}[0-9]{4}$"
    },
    {
      "type": "Supplier",
      "name": "Supplier Tax ID is not a 9 digit number",
      "field": "supplier.tax_id",
      "test": "^[0-9]{9,}$"
    },
    {
      "type": "Consignor",
      "name": "Consignor Tax ID is not a 9 digit number",
      "field": "consignor.tax_id",
      "test": "^[0-9]{9,}$"
    },
    {
      "type": "Consignee",
      "name": "Missing Consignee name",
      "field": "consignee.name",
      "test": "^.+$"
    },
    {
      "type": "Consignee",
      "name": "Consignee State is not 2 Letters",
      "field": "consignee.state",
      "test": "^[a-z]{2}$"
    },
    {
      "type": "Consignee",
      "name": "Consignee Tax ID is not a 9 digit number",
      "field": "consignee.tax_id",
      "test": "^[0-9]{9,}$"
    }
  ]
}