Anrok · Schema

LineItem

Line item details

Sales TaxVATTax ComplianceSaaSFintechTax AutomationNexusE-Invoicing

Properties

Name Type Description
id string The ID of the line item in the source billing system, if available.
product object
quantity string The quantity of the line item.
unitPrice string The unit price of the line item in the smallest denomination of the currency (e.g. cents or pennies).
inputAmount integer The input amount of the line item in the smallest denomination of the currency (e.g. cents or pennies).
preTaxAmount string The pre-tax amount of the line item in the smallest denomination of the currency (e.g. cents or pennies).
taxAmountDue object
jurises array
View JSON Schema on GitHub

JSON Schema

line-item.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/anrok/main/json-schema/line-item.json",
  "title": "LineItem",
  "description": "Line item details",
  "type": "object",
  "properties": {
    "id": {
      "description": "The ID of the line item in the source billing system, if available.",
      "type": "string",
      "nullable": true,
      "example": "li_1234567890"
    },
    "product": {
      "type": "object",
      "properties": {
        "internalId": {
          "description": "The internal ID of the product.",
          "type": "string",
          "example": "saas-product-1"
        },
        "externalId": {
          "description": "The external ID of the product.",
          "type": "string",
          "example": "product-1234567890"
        },
        "name": {
          "description": "The name of the product.",
          "type": "string",
          "example": "Product 1"
        },
        "productTaxCategory": {
          "description": "The tax category of the product.",
          "type": "object",
          "properties": {
            "type": {
              "description": "The type of the product tax category.",
              "type": "string",
              "enum": [
                "standard",
                "custom"
              ]
            },
            "id": {
              "description": "The ID of the product tax category.",
              "type": "string",
              "example": "saasBusiness"
            },
            "name": {
              "description": "The name of the product tax category.",
              "type": "string",
              "example": "SaaS - General, B2B"
            }
          }
        }
      }
    },
    "quantity": {
      "description": "The quantity of the line item.",
      "type": "string",
      "nullable": true,
      "format": "Decimal",
      "example": "1"
    },
    "unitPrice": {
      "description": "The unit price of the line item in the smallest denomination of the currency (e.g. cents or pennies).",
      "type": "string",
      "nullable": true,
      "format": "Decimal",
      "example": "100.00"
    },
    "inputAmount": {
      "description": "The input amount of the line item in the smallest denomination of the currency (e.g. cents or pennies).",
      "type": "integer",
      "format": "int64",
      "example": 10000
    },
    "preTaxAmount": {
      "description": "The pre-tax amount of the line item in the smallest denomination of the currency (e.g. cents or pennies).",
      "type": "string",
      "format": "Decimal",
      "example": "100.00"
    },
    "taxAmountDue": {
      "$ref": "#/components/schemas/TaxAmountDue"
    },
    "jurises": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "description": "The name of the jurisdiction.",
            "type": "string",
            "example": "Texas"
          },
          "id": {
            "description": "The ID of the jurisdiction.",
            "type": "string",
            "example": "us-TX"
          },
          "calc": {
            "oneOf": [
              {
                "title": "TaxCalcRemitting",
                "type": "object",
                "properties": {
                  "isRemitting": {
                    "description": "Whether the seller is remitting tax to the jurisdiction.",
                    "type": "boolean",
                    "enum": [
                      true
                    ]
                  },
                  "taxes": {
                    "description": "The taxes for each line item for the jurisdiction.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/LineItemJurisTax"
                    }
                  }
                }
              },
              {
                "title": "TaxCalcIfWereRemitting",
                "type": "object",
                "properties": {
                  "isRemitting": {
                    "description": "Whether the seller is remitting tax to the jurisdiction.",
                    "type": "boolean",
                    "enum": [
                      false
                    ]
                  },
                  "taxesIfWereRemitting": {
                    "description": "The taxes for each line item for the jurisdiction if the seller were remitting tax.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/LineItemJurisTax"
                    }
                  }
                }
              }
            ]
          }
        }
      }
    }
  }
}