Avalara · Schema

Avalara Tax Transaction

A tax transaction represents a taxable event such as a sale, purchase, or return processed through the AvaTax API. It contains header-level information, line items, calculated tax amounts, and jurisdiction details.

Taxes

Properties

Name Type Description
id integer Unique identifier for the transaction
code string Unique transaction code assigned by the client or auto-generated
companyCode string Code identifying the company that owns this transaction
type string The document type for this transaction
status string Current lifecycle status of the transaction
date string Date of the transaction
customerCode string Unique code identifying the customer for this transaction
currencyCode string Three-character ISO 4217 currency code
commit boolean Whether the transaction should be committed immediately
totalAmount number Total amount of the transaction before tax
totalTax number Total tax calculated for the transaction
totalTaxable number Total taxable amount
totalExempt number Total exempt amount
totalDiscount number Total discount applied
totalTaxCalculated number Total tax calculated before any adjustments
addresses object Address information for the transaction
lines array Line items included in this transaction
summary array Tax summary broken down by jurisdiction
createdDate string Date and time the transaction was created
modifiedDate string Date and time the transaction was last modified
View JSON Schema on GitHub

JSON Schema

avalara-transaction-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://developer.avalara.com/schemas/avalara/transaction.json",
  "title": "Avalara Tax Transaction",
  "description": "A tax transaction represents a taxable event such as a sale, purchase, or return processed through the AvaTax API. It contains header-level information, line items, calculated tax amounts, and jurisdiction details.",
  "type": "object",
  "required": ["type", "companyCode", "date", "customerCode", "lines"],
  "properties": {
    "id": {
      "type": "integer",
      "description": "Unique identifier for the transaction"
    },
    "code": {
      "type": "string",
      "description": "Unique transaction code assigned by the client or auto-generated"
    },
    "companyCode": {
      "type": "string",
      "description": "Code identifying the company that owns this transaction"
    },
    "type": {
      "type": "string",
      "enum": ["SalesOrder", "SalesInvoice", "PurchaseOrder", "PurchaseInvoice", "ReturnOrder", "ReturnInvoice"],
      "description": "The document type for this transaction"
    },
    "status": {
      "type": "string",
      "enum": ["Temporary", "Saved", "Posted", "Committed", "Cancelled", "Adjusted"],
      "description": "Current lifecycle status of the transaction"
    },
    "date": {
      "type": "string",
      "format": "date",
      "description": "Date of the transaction"
    },
    "customerCode": {
      "type": "string",
      "description": "Unique code identifying the customer for this transaction"
    },
    "currencyCode": {
      "type": "string",
      "pattern": "^[A-Z]{3}$",
      "description": "Three-character ISO 4217 currency code"
    },
    "commit": {
      "type": "boolean",
      "default": false,
      "description": "Whether the transaction should be committed immediately"
    },
    "totalAmount": {
      "type": "number",
      "description": "Total amount of the transaction before tax"
    },
    "totalTax": {
      "type": "number",
      "description": "Total tax calculated for the transaction"
    },
    "totalTaxable": {
      "type": "number",
      "description": "Total taxable amount"
    },
    "totalExempt": {
      "type": "number",
      "description": "Total exempt amount"
    },
    "totalDiscount": {
      "type": "number",
      "description": "Total discount applied"
    },
    "totalTaxCalculated": {
      "type": "number",
      "description": "Total tax calculated before any adjustments"
    },
    "addresses": {
      "type": "object",
      "description": "Address information for the transaction",
      "properties": {
        "shipFrom": {
          "$ref": "#/$defs/Address"
        },
        "shipTo": {
          "$ref": "#/$defs/Address"
        },
        "pointOfOrderOrigin": {
          "$ref": "#/$defs/Address"
        },
        "pointOfOrderAcceptance": {
          "$ref": "#/$defs/Address"
        }
      }
    },
    "lines": {
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/TransactionLine"
      },
      "description": "Line items included in this transaction"
    },
    "summary": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/TaxSummary"
      },
      "description": "Tax summary broken down by jurisdiction"
    },
    "createdDate": {
      "type": "string",
      "format": "date-time",
      "description": "Date and time the transaction was created"
    },
    "modifiedDate": {
      "type": "string",
      "format": "date-time",
      "description": "Date and time the transaction was last modified"
    }
  },
  "$defs": {
    "Address": {
      "type": "object",
      "description": "A physical address used for tax jurisdiction determination",
      "properties": {
        "line1": {
          "type": "string",
          "description": "Street address line 1"
        },
        "line2": {
          "type": "string",
          "description": "Street address line 2"
        },
        "line3": {
          "type": "string",
          "description": "Street address line 3"
        },
        "city": {
          "type": "string",
          "description": "City name"
        },
        "region": {
          "type": "string",
          "description": "State, province, or region code"
        },
        "postalCode": {
          "type": "string",
          "description": "Postal code or ZIP code"
        },
        "country": {
          "type": "string",
          "pattern": "^[A-Z]{2}$",
          "description": "Two-character ISO 3166 country code"
        },
        "latitude": {
          "type": "number",
          "minimum": -90,
          "maximum": 90
        },
        "longitude": {
          "type": "number",
          "minimum": -180,
          "maximum": 180
        }
      }
    },
    "TransactionLine": {
      "type": "object",
      "description": "A single line item within a tax transaction",
      "required": ["amount"],
      "properties": {
        "number": {
          "type": "string",
          "description": "Line number within the transaction"
        },
        "quantity": {
          "type": "number",
          "minimum": 0,
          "default": 1,
          "description": "Quantity of items"
        },
        "amount": {
          "type": "number",
          "description": "Total amount for this line"
        },
        "taxCode": {
          "type": "string",
          "description": "Avalara tax code for this line item"
        },
        "itemCode": {
          "type": "string",
          "description": "Product or service item code"
        },
        "description": {
          "type": "string",
          "description": "Description of the line item"
        },
        "discountAmount": {
          "type": "number",
          "description": "Discount amount applied to this line"
        },
        "exemptionCode": {
          "type": "string",
          "description": "Exemption code for tax-exempt purchases"
        },
        "tax": {
          "type": "number",
          "description": "Calculated tax for this line"
        },
        "taxableAmount": {
          "type": "number",
          "description": "Taxable amount after exemptions"
        },
        "exemptAmount": {
          "type": "number",
          "description": "Amount exempt from tax"
        },
        "addresses": {
          "type": "object",
          "properties": {
            "shipFrom": {
              "$ref": "#/$defs/Address"
            },
            "shipTo": {
              "$ref": "#/$defs/Address"
            }
          }
        }
      }
    },
    "TaxSummary": {
      "type": "object",
      "description": "Tax calculation summary for a specific jurisdiction",
      "properties": {
        "country": {
          "type": "string",
          "description": "Country code"
        },
        "region": {
          "type": "string",
          "description": "State or province code"
        },
        "jurisType": {
          "type": "string",
          "enum": ["Country", "State", "County", "City", "Special"],
          "description": "Jurisdiction type"
        },
        "jurisCode": {
          "type": "string",
          "description": "Jurisdiction code"
        },
        "jurisName": {
          "type": "string",
          "description": "Jurisdiction name"
        },
        "taxType": {
          "type": "string",
          "description": "Type of tax (e.g., Sales, Use, VAT)"
        },
        "rate": {
          "type": "number",
          "minimum": 0,
          "maximum": 1,
          "description": "Tax rate as a decimal"
        },
        "tax": {
          "type": "number",
          "description": "Tax amount for this jurisdiction"
        },
        "taxable": {
          "type": "number",
          "description": "Taxable amount in this jurisdiction"
        },
        "exempt": {
          "type": "number",
          "description": "Exempt amount in this jurisdiction"
        }
      }
    }
  }
}