{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/InvoiceItem",
  "title": "InvoiceItem",
  "type": "object",
  "x-apideck-schema-id": "InvoiceItem",
  "x-apideck-weights": {
    "id": "critical",
    "name": "critical",
    "description": "medium",
    "display_id": "low",
    "code": "high",
    "sold": "edge-case",
    "purchased": "edge-case",
    "tracked": "edge-case",
    "taxable": "edge-case",
    "inventory_date": "high",
    "type": "high",
    "sales_details": "medium",
    "purchase_details": "medium",
    "quantity": "high",
    "unit_price": "high",
    "currency": "medium",
    "asset_account": "medium",
    "income_account": "high",
    "expense_account": "medium",
    "active": "medium",
    "tracking_category": "low",
    "tracking_categories": "low",
    "department_id": "low",
    "location_id": "low",
    "subsidiary_id": "low",
    "category_id": "edge-case",
    "tax_schedule_id": "low",
    "row_version": "edge-case",
    "updated_by": "edge-case",
    "created_by": "edge-case",
    "updated_at": "medium",
    "created_at": "medium"
  },
  "additionalProperties": false,
  "properties": {
    "id": {
      "title": "Item ID",
      "description": "The ID of the item.",
      "type": "string",
      "example": "123456",
      "readOnly": true
    },
    "name": {
      "type": "string",
      "title": "Item name",
      "description": "Item name",
      "example": "Model Y",
      "nullable": true
    },
    "description": {
      "type": "string",
      "title": "Description",
      "description": "A short description of the item",
      "example": "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.",
      "nullable": true
    },
    "display_id": {
      "type": "string",
      "title": "Display ID",
      "description": "Display ID of the item",
      "example": "12345",
      "nullable": true
    },
    "code": {
      "type": "string",
      "title": "Item code",
      "description": "User defined item code",
      "example": "120-C",
      "nullable": true
    },
    "sold": {
      "type": "boolean",
      "title": "Item sold",
      "description": "Item will be available on sales transactions",
      "example": true,
      "nullable": true
    },
    "purchased": {
      "type": "boolean",
      "title": "Item purchased",
      "description": "Item is available for purchase transactions",
      "example": true,
      "nullable": true
    },
    "tracked": {
      "type": "boolean",
      "title": "Item tracked",
      "description": "Item is inventoried",
      "example": true,
      "nullable": true
    },
    "taxable": {
      "type": "boolean",
      "title": "Item taxable",
      "description": "If true, transactions for this item are taxable",
      "example": true,
      "nullable": true
    },
    "inventory_date": {
      "type": "string",
      "title": "Inventory date",
      "description": "The date of opening balance if inventory item is tracked - YYYY-MM-DD.",
      "format": "date",
      "example": "2020-10-30",
      "nullable": true
    },
    "type": {
      "type": "string",
      "title": "Type",
      "description": "Item type",
      "example": "inventory",
      "x-apideck-enum-id": "invoice-items.type",
      "enum": [
        "inventory",
        "non_inventory",
        "service",
        "description",
        "other"
      ],
      "nullable": true
    },
    "sales_details": {
      "x-apideck-weights": {
        "unit_price": "medium",
        "unit_of_measure": "medium",
        "tax_inclusive": "medium",
        "tax_rate": "medium"
      },
      "type": "object",
      "properties": {
        "unit_price": {
          "$ref": "#/components/schemas/UnitPrice"
        },
        "unit_of_measure": {
          "$ref": "#/components/schemas/UnitOfMeasure"
        },
        "tax_inclusive": {
          "$ref": "#/components/schemas/TaxInclusive"
        },
        "tax_rate": {
          "$ref": "#/components/schemas/LinkedTaxRate"
        }
      }
    },
    "purchase_details": {
      "x-apideck-weights": {
        "unit_price": "medium",
        "unit_of_measure": "medium",
        "tax_inclusive": "medium",
        "tax_rate": "medium"
      },
      "type": "object",
      "properties": {
        "unit_price": {
          "$ref": "#/components/schemas/UnitPrice"
        },
        "unit_of_measure": {
          "$ref": "#/components/schemas/UnitOfMeasure"
        },
        "tax_inclusive": {
          "$ref": "#/components/schemas/TaxInclusive"
        },
        "tax_rate": {
          "$ref": "#/components/schemas/LinkedTaxRate"
        }
      }
    },
    "quantity": {
      "$ref": "#/components/schemas/Quantity"
    },
    "unit_price": {
      "$ref": "#/components/schemas/UnitPrice"
    },
    "currency": {
      "$ref": "#/components/schemas/Currency"
    },
    "asset_account": {
      "$ref": "#/components/schemas/LinkedLedgerAccount"
    },
    "income_account": {
      "$ref": "#/components/schemas/LinkedLedgerAccount"
    },
    "expense_account": {
      "$ref": "#/components/schemas/LinkedLedgerAccount"
    },
    "tracking_category": {
      "$ref": "#/components/schemas/DeprecatedLinkedTrackingCategory"
    },
    "tracking_categories": {
      "$ref": "#/components/schemas/LinkedTrackingCategories"
    },
    "active": {
      "$ref": "#/components/schemas/Active"
    },
    "department_id": {
      "$ref": "#/components/schemas/DepartmentId"
    },
    "location_id": {
      "$ref": "#/components/schemas/LocationId"
    },
    "subsidiary_id": {
      "$ref": "#/components/schemas/SubsidiaryId"
    },
    "category_id": {
      "type": "string",
      "title": "Category ID",
      "description": "ID of the category of the item",
      "example": "12345",
      "nullable": true
    },
    "tax_schedule_id": {
      "type": "string",
      "title": "Tax schedule ID",
      "description": "The ID of the tax schedule",
      "example": "123456",
      "nullable": true
    },
    "custom_mappings": {
      "$ref": "#/components/schemas/CustomMappings"
    },
    "row_version": {
      "$ref": "#/components/schemas/RowVersion"
    },
    "updated_by": {
      "$ref": "#/components/schemas/UpdatedBy"
    },
    "created_by": {
      "$ref": "#/components/schemas/CreatedBy"
    },
    "updated_at": {
      "$ref": "#/components/schemas/UpdatedAt"
    },
    "created_at": {
      "$ref": "#/components/schemas/CreatedAt"
    },
    "pass_through": {
      "$ref": "#/components/schemas/PassThroughBody"
    }
  }
}