{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/Expense",
  "title": "Expense",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "remote_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "The third-party API ID of the matching object."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The datetime that this object was created by Merge."
    },
    "modified_at": {
      "type": "string",
      "format": "date-time",
      "description": "The datetime that this object was modified by Merge."
    },
    "transaction_date": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "description": "When the transaction occurred."
    },
    "remote_created_at": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "description": "When the expense was created."
    },
    "account": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid",
      "description": "The expense's payment account."
    },
    "contact": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid",
      "description": "The expense's contact."
    },
    "total_amount": {
      "type": [
        "number",
        "null"
      ],
      "format": "double",
      "description": "The expense's total amount."
    },
    "sub_total": {
      "type": [
        "number",
        "null"
      ],
      "format": "double",
      "description": "The expense's total amount before tax."
    },
    "total_tax_amount": {
      "type": [
        "number",
        "null"
      ],
      "format": "double",
      "description": "The expense's total tax amount."
    },
    "currency": {
      "oneOf": [
        {
          "$ref": "#/components/schemas/TransactionCurrencyEnum"
        },
        {
          "type": "null"
        }
      ],
      "description": "The expense's currency. The currency code in ISO 4217 format."
    },
    "exchange_rate": {
      "type": [
        "string",
        "null"
      ],
      "format": "decimal",
      "description": "The expense's exchange rate."
    },
    "inclusive_of_tax": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "If the transaction is inclusive or exclusive of tax. `True` if inclusive, `False` if exclusive."
    },
    "company": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid",
      "description": "The company the expense belongs to."
    },
    "employee": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid",
      "description": "The employee this overall transaction relates to."
    },
    "memo": {
      "type": [
        "string",
        "null"
      ],
      "description": "The expense's private note."
    },
    "lines": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ExpenseLine"
      }
    },
    "tracking_categories": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      }
    },
    "remote_was_deleted": {
      "type": "boolean",
      "description": "Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/)."
    },
    "accounting_period": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid",
      "description": "The accounting period that the Expense was generated in."
    },
    "field_mappings": {
      "oneOf": [
        {
          "$ref": "#/components/schemas/ExpenseFieldMappings"
        },
        {
          "type": "null"
        }
      ]
    },
    "remote_data": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/components/schemas/RemoteData"
      }
    },
    "remote_fields": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/RemoteField"
      }
    }
  },
  "description": "# The Expense Object\n### Description\nThe `Expense` object is used to represent a direct purchase by a business, typically made with a check, credit card, or cash. Each `Expense` object is dedicated to a grouping of expenses, with each expense recorded in the lines object.\n\nThe `Expense` object is also used to represent refunds to direct purchases. Refunds can be distinguished from purchases by the amount sign of the records. Expense objects with a negative amount are purchases and `Expense` objects with a positive amount are refunds to those purchases.\n\n### Usage Example\nFetch from the `GET Expense` endpoint and view a company's expense."
}