---
updatedAt: 2026-03-26T11:50:11.000Z
agentTools:
  projectIndex: https://developers.getknit.dev/llms.txt
---

# Expense Data Models

Here are the different models you can subscribe to while doing a sync.

| Model ID            | Event Data Key | Description                                                                                                                                |
| :------------------ | :------------- | :----------------------------------------------------------------------------------------------------------------------------------------- |
| `expense_details`   | `details`      | Contains information about the expense, such as ID, type, creator, status, reimbursable, merchant, category, amount, currency, dates, etc. |
| `expense_attendees` | `attendees`    | Contains a list of attendees associated with the expense, including their name and email.                                                  |
| `expense_policy`    | `policy`       | Contains the policy related to the expense, including the policy name and ID.                                                              |
| `expense_tax`       | `tax`          | Contains information about tax associated with the expense.                                                                                |
| `expense_payment`   | `payment`      | Contains details related to the payment for the expense.                                                                                   |
| `expense_receipts`  | `receipts`     | Contains details related to the receipts for the expense.                                                                                  |

All these models have been detailed out below for your reference.

> 📘 Use the Model ID for syncs
>
> While invoking sync APIs, pass these model IDs in order to get the desired data.\
> Make sure the `dataType`in sync request body is`expenses`

## Expense Details

Model ID: `expense_details`

<HTMLBlock>{`
<table style="width: 100%; border-collapse: collapse;">
<thead>
<tr>
  <th style="border: 1px solid #ddd; padding: 8px;">Name</th>
  <th style="border: 1px solid #ddd; padding: 8px;">Type</th>
  <th style="border: 1px solid #ddd; padding: 8px;">Description</th>
</tr>
</thead>
<tbody>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>expenseID</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>String</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Unique identifier for the expense</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>expenseType</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>Enum</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Type of expense. One of<br><code>EXPENSE</code>,<br><code>DISTANCE</code>,<br><code>TIME</code>,<br><code>OTHER</code></p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>count</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>Double</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Distance or TIme for which Expense is being claimed</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>rate</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>Double</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Amount to be paid per unit of distance</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>unit</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>String</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Unit of distance</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>creatorEmail</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>String</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Email address of the expense creator</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>status</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>Enum</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Current status of the expense. One of<br><code>OPEN</code><br><code>SUBMITTED</code>,<br><code>APPROVED</code>,<br><code>REIMBURSED</code>,<br><code>ARCHIVED</code></p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>isReimbursable</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>Enum</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Indicates whether the expense is reimbursable<br>One of<br><code>TRUE</code>,<br><code>FALSE</code>,<br><code>NOT_SPECIFIED</code></p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>isACHReimbursed</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>Enum</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Indicates whether the expense is ACH reimbursed<br>One of<br><code>TRUE</code>,<br><code>FALSE</code>,<br><code>NOT_SPECIFIED</code></p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>isBillable</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>Enum</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Indicates whether the expense is billable<br>One of<br><code>TRUE</code>,<br><code>FALSE</code>,<br><code>NOT_SPECIFIED</code></p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>merchant</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>String</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Name of the merchant</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>category</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>String</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Category of the expense</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>amount</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>Double</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Expense amount (e.g., 100.50)</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>currency</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>String</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>3 letter ISO currency code, in which the expense is denominated (e.g., &quot;USD&quot;, &quot;GBP&quot;, &quot;INR&quot;)</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>expenseDate</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>Date</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Date of the expense (e.g. &quot;2024-01-15T15:00:00Z&quot;)</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>creationDate</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>Date</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Date of expense creation (e.g.&quot;2024-01-17T15:00:00Z&quot;)</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>submissionDate</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>Date</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Date of expense submission (e.g. &quot;2024-01-18T15:00:00Z&quot;)</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>approvalDate</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>Date</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Date of expense approval (e.g. &quot;2024-01-18T15:00:00Z&quot;)</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>reimbursementDate</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>Date</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Date of expense reimbursement (e.g. &quot;2024-01-18T15:00:00Z&quot;)</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>reportId</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>String</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>ID of the report to which the expense belongs</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>reportName</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>String</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Name of the report to which the expense belongs</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>description</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>String</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"></td>
</tr>
</tbody>
</table>
`}</HTMLBlock>

## Expense Attendees

Model ID: `expense_attendees`

| Name      | Type              | Description |
| :-------- | :---------------- | :---------- |
| attendees | `List[Attendees]` |             |

### Attendees

| Name    | Type     | Description |
| :------ | :------- | :---------- |
| `name`  | `String` |             |
| `email` | `String` |             |

## Expense Policy

Model ID: `expense_policy`

| Name   | Type     | Description    |
| :----- | :------- | :------------- |
| `name` | `String` | Name of Policy |
| `id`   | `String` | Id of Policy   |

## Expense Tax

Model ID: `expense_tax`

| Name        | Type      | Description                                      |
| :---------- | :-------- | :----------------------------------------------- |
| `hasTax`    | `Boolean` | Indicates whether the expense has tax associated |
| `taxAmount` | `Double`  | *applicable if hasTax is true*                   |
| `taxName`   | `String`  | *applicable if hasTax is true*                   |
| `taxRate`   | `Double`  | *applicable if hasTax is true*                   |
| `taxCode`   | `String`  | *applicable if hasTax is true*                   |

## Expense Payment

Model ID: `expense_payment`

<HTMLBlock>{`
<table style="width: 100%; border-collapse: collapse;">
<thead>
<tr>
  <th style="border: 1px solid #ddd; padding: 8px;">Name</th>
  <th style="border: 1px solid #ddd; padding: 8px;">Type</th>
  <th style="border: 1px solid #ddd; padding: 8px;">Description</th>
</tr>
</thead>
<tbody>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>mode</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>Enum</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>One of<br><code>CHECK</code>,<br><code>ACCOUNT_TRANSFER</code></p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>referenceId</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>String</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>A reference identifier of the payment made or reimbursed</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>date</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>String</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Date at which payment made or reimbursed</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>accountId</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>String</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Account Number for payment or reimbursement</p>
</td>
</tr>
<tr>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>accountName</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p><code>String</code></p>
</td>
  <td style="border: 1px solid #ddd; padding: 8px;"><p>Account Name for payment or reimbursement</p>
</td>
</tr>
</tbody>
</table>
`}</HTMLBlock>

## Expense Receipts

Model ID: `expense_receipts`

| Name     | Type            | Description |
| :------- | :-------------- | :---------- |
| receipts | `List[Receipt]` |             |

### Receipt

| Name       | Type     | Description                    |
| :--------- | :------- | :----------------------------- |
| `fileName` | `String` | File Name                      |
| `id`       | `String` |                                |
| `type`     | `String` |                                |
| `link`     | `String` | Downloadable link of the file. |

## Event Data Example

```json
{
  "details": {
    "expenseID": "493401557704610128",
    "expenseType": "EXPENSE",
    "time": 35.6,
    "rate": 66.99,
    "unit": "mi",
    "creatorEmail": "abc@getknit.dev",
    "status": "OPEN",
    "isReimbursable": true,
    "isACHReimbursed": false,
    "isBillable": true,
    "merchant": "Crosswords",
    "category": "Home Office",
    "amount": 500.0,
    "currency": "INR",
    "expenseDate": "2024-01-15T00:00:00Z",
    "creationDate": "2024-01-16T00:00:00Z",
    "submissionDate": "2024-01-15T00:00:00Z",
    "approvalDate": "2024-01-15T00:00:00Z",
    "reimbursementDate": "2024-01-15T00:00:00Z"
  },
  "attendees": [
    {
      "name": "Jhon Doe",
      "email": "jhon@getknit.dev"
    },
    {
      "name": "Emily K",
      "email": "emily@getknit.dev"
    }
  ],
  "policy": {
    "name": "Knit",
    "id": "9C791392D6FEE761"
  },
  "tax": {
    "hasTax": true,
    "taxAmount": 500.0,
    "taxName": "VAT",
    "taxRate": 15.0,
    "taxCode": "VAT"
  },
  "payment": {
    "mode": "CHECK",
    "referenceId": "567890",
    "date": "2024-01-15T00:00:00Z",
    "accountId": "JPMF8934FJ3",
    "accountName": "Personal Bank Account"
  },
  "receipts": [
    {
      "fileName": "Receipt1.pdf",
      "link": "https://download.me/receipt123",
      "id": "receipt123",
      "fileType": "pdf"
    },
    {
      "fileName": "Receipt2.pdf",
      "link": "https://download.me/receipt456",
      "id": "receipt456",
      "fileType": "pdf"
    }
  ]
}
```