Expense
Expenses are the costs incurred on your company's operating activities and overheads. Expense object allows you to perform the following operations:
- Retrieve a specific or a list of expenses
- Create an expense
- Update an expense
- Delete an expense
- cURL
- NODE.JS
- PHP
- C#
- PYTHON
- JAVA
The Expense Object
asterisk denotes required| Name | Description | Format | Attributes |
|---|---|---|---|
| code | Represents an expense item code | string | MaxLength = 100 Filterable |
| description | Represents the description of an expense | string | MaxLength = 100 Filterable, Sortable |
| billable | Indicates whether an expense is billable or not. If true, the expense is billable | boolean | Filterable, Sortable |
| class | Name of the class | string | Filterable, Sortable |
| classId | Identifier of the class | uuid | Filterable |
| costRate | The per unit cost of an expense item | double | |
| createdById | Identifier of the user who created this object | uuid | Filterable |
| createdOn | Date and time when this object was created (UTC Now), in ISO 8601 date-time format, such as YYYY-MM-DDThh:mm:ss | date-time | Filterable, Sortable |
| customFields []Array: Parent object can have multiple instances of this nested object under it. | Represents a list of custom fields | CustomFieldData Nested object: Click to see its details. To retrieve the details of this object via list endpoints, you must use the Expand parameter. | |
| defaultGroup | Name of the default group to which an expense item belongs | string | |
| defaultGroupId | Identifier of the default group to which an expense item belongs | uuid | |
| expenseAccount | Name of an expense account associated with an expense | string | |
| expenseAccountId | Identifier of an expense account used to track the expenditure associated with expenses incurred | uuid | |
| id | Object identifier | uuid | Filterable |
| incomeAccount | Name of an income account associated with an expense | string | |
| incomeAccountId | Identifier of an income account used to track the income associated with expenses incurred | uuid | |
| isActive | Indicates the status of an expense item. If true, status is active | boolean | Filterable, Sortable |
| isProduct | Determines whether this is a product or not | boolean | Filterable, Sortable |
| lastUpdated | Last updated date and time value of this object in ISO 8601 date-time format, such as YYYY-MM-DDThh:mm:ss | date-time | Filterable, Sortable |
| lastUpdatedById | Identifier of the user who last updated this object | uuid | Filterable |
| markup | Percentage increase in the cost rate to determine the cost amount | double | |
| memo | Records any extra information or details about an expense | string | |
| name | Name of the expense | string | Filterable, Sortable MaxLength = 31 |
| objectState | Represents the state of the object. e.g., new, unchanged, modified or deleted | ObjectState Enumerated type: Click to see possible values and their descriptions. | |
| purchaseTaxRate | Tax paid by a company on an expense subtracted from the expense amount to avoid double-taxation for the client | double | |
| reimbursable | Indicates whether an expense is reimbursable or not. If true, expense is reimbursable | boolean | Filterable, Sortable |
| sub | Represents an expense item sub-code | string | MaxLength = 15 |
| tax1 | In addition to the main expense tax, Tax1 rate is applied to an invoice. These taxes (Tax1,Tax2,Tax3) are combined to calculate the charge amount | double | |
| tax2 | In addition to the main expense tax, Tax2 rate is applied to an invoice. These taxes (Tax1,Tax2,Tax3) are combined to calculate the charge amount | double | |
| tax3 | In addition to the main expense tax, Tax3 rate is applied to an invoice. These taxes (Tax1,Tax2,Tax3) are combined to calculate the charge amount | double | |
| token | Represents the token for update operations | int32 | |
| type | Represents the expense types, e.g inventory, non-inventory, etc. | ExpenseType Enumerated type: Click to see possible values and their descriptions. | Filterable, Sortable |
| version | Implements concurrency on this object | byte |
Expense List
Use this method to retrieve a list of expenses. Optionally pass where, orderBy and page as the query parameters to filter the result. Use the fields parameter to request a subset of the model. By default, a complete model is returned. The expand parameter is used to request nested properties in the model.
Request URL
Method Overview
HTTP Method:
GET
Content Type:
application/json
Response Format:
json
Requires Authentication?
Yes
Headers:
Module:
Expense
Required Scopes:
read:core
Required Subscription:
View Subscription
Request Parameters asterisk denotes required
| Name | Parameter Type | Description | Format |
|---|---|---|---|
| fields | Query | Specifies the model properties you want in the response body | string |
| where | Query | Specifies only those records that match an expression in the query | string |
| orderBy | Query | Specifies the order of the records | string |
| page | Query | Specifies the page number and number of records on each page | string |
| expand | Query | Specifies the nested model properties you want in the response body | string |
Response Body
| Name | Description | Format |
|---|---|---|
| code | Represents an expense item code | string |
| description | Represents the description of an expense | string |
| billable | Indicates whether an expense is billable or not. If true, the expense is billable | boolean |
| class | Name of the class | string |
| classId | Identifier of the class | uuid |
| costRate | The per unit cost of an expense item | double |
| createdById | Identifier of the user who created this object | uuid |
| createdOn | Date and time when this object was created (UTC Now), in ISO 8601 date-time format, such as YYYY-MM-DDThh:mm:ss | date-time |
| customFields []Array: Parent object can have multiple instances of this nested object under it. | Represents a list of custom fields | CustomFieldData Nested object: Click to see its details. To retrieve the details of this object via list endpoints, you must use the Expand parameter. |
| defaultGroup | Name of the default group to which an expense item belongs | string |
| defaultGroupId | Identifier of the default group to which an expense item belongs | uuid |
| expenseAccount | Name of an expense account associated with an expense | string |
| expenseAccountId | Identifier of an expense account used to track the expenditure associated with expenses incurred | uuid |
| id | Object identifier | uuid |
| incomeAccount | Name of an income account associated with an expense | string |
| incomeAccountId | Identifier of an income account used to track the income associated with expenses incurred | uuid |
| isActive | Indicates the status of an expense item. If true, status is active | boolean |
| isProduct | Determines whether this is a product or not | boolean |
| lastUpdated | Last updated date and time value of this object in ISO 8601 date-time format, such as YYYY-MM-DDThh:mm:ss | date-time |
| lastUpdatedById | Identifier of the user who last updated this object | uuid |
| markup | Percentage increase in the cost rate to determine the cost amount | double |
| memo | Records any extra information or details about an expense | string |
| name | Name of the expense | string |
| objectState | Represents the state of the object. e.g., new, unchanged, modified or deleted | ObjectStateEnumerated type: Click to see possible values and their descriptions. |
| purchaseTaxRate | Tax paid by a company on an expense subtracted from the expense amount to avoid double-taxation for the client | double |
| reimbursable | Indicates whether an expense is reimbursable or not. If true, expense is reimbursable | boolean |
| sub | Represents an expense item sub-code | string |
| tax1 | In addition to the main expense tax, Tax1 rate is applied to an invoice. These taxes (Tax1,Tax2,Tax3) are combined to calculate the charge amount | double |
| tax2 | In addition to the main expense tax, Tax2 rate is applied to an invoice. These taxes (Tax1,Tax2,Tax3) are combined to calculate the charge amount | double |
| tax3 | In addition to the main expense tax, Tax3 rate is applied to an invoice. These taxes (Tax1,Tax2,Tax3) are combined to calculate the charge amount | double |
| token | Represents the token for update operations | int32 |
| type | Represents the expense types, e.g inventory, non-inventory, etc. | ExpenseTypeEnumerated type: Click to see possible values and their descriptions. |
| version | Implements concurrency on this object | byte |
[
{
"code": "6011",
"description": "Expense Description",
"billable": true,
"class": "class",
"classId": "4f47e3b2-3689-4561-8125-2addf8ebec7f",
"costRate": 1,
"createdById": "6e9771da-32ee-45d3-bea2-a6ea602863f2",
"createdOn": "2026-05-21T06:31:30Z",
"customFields": [
{
"definitionId": "29d5db95-4956-4c4c-96f8-28f890a8a2ea",
"createdById": "0030ae1b-4543-4fda-8de8-e339078ffab3",
"createdOn": "2026-05-21T06:31:30Z",
"description": "CustomFieldData Description",
"id": "2f841912-305c-4eed-a2c9-9c1ee6aef6b7",
"label": "label",
"lastUpdated": "2026-05-21T06:31:30Z",
"lastUpdatedById": "6205ab53-b18c-4567-b8d5-81eba0d00f2e",
"objectState": null,
"token": 0,
"type": null,
"value": "value",
"version": "U3dhZ2dlciByb2Nrcw=="
}
],
"defaultGroup": "defaultGroup",
"defaultGroupId": "38aa999b-446d-4134-ab86-e62d43840572",
"expenseAccount": "expenseAccount",
"expenseAccountId": "2ac67b19-0fb7-4878-b5e2-737fcda8d3ea",
"id": "f190954c-d5eb-4d96-862e-cb606dc6b356",
"incomeAccount": "incomeAccount",
"incomeAccountId": "64d51994-26d4-44c1-bb5e-6ad79af6ea6c",
"isActive": true,
"isProduct": true,
"lastUpdated": "2026-05-21T06:31:30Z",
"lastUpdatedById": "481696e0-9a43-4faf-8f7c-87bee2d5cc3f",
"markup": 1,
"memo": "memo",
"name": "Expense",
"objectState": null,
"purchaseTaxRate": 1,
"reimbursable": true,
"sub": "sub",
"tax1": 1,
"tax2": 1,
"tax3": 1,
"token": 0,
"type": null,
"version": "U3dhZ2dlciByb2Nrcw=="
}
]Retrieve an Expense
Use this method to retrieve a specific expense. Pass id as the parameter.
Request URL
Method Overview
HTTP Method:
GET
Content Type:
application/json
Response Format:
json
Requires Authentication?
Yes
Headers:
Module:
Expense
Required Scopes:
read:core
Required Subscription:
View Subscription
Request Parameters asterisk denotes required
| Name | Parameter Type | Description | Format |
|---|---|---|---|
| id | Path | Expense identifier | string |
Response Body
| Name | Description | Format |
|---|---|---|
| code | Represents an expense item code | string |
| description | Represents the description of an expense | string |
| billable | Indicates whether an expense is billable or not. If true, the expense is billable | boolean |
| class | Name of the class | string |
| classId | Identifier of the class | uuid |
| costRate | The per unit cost of an expense item | double |
| createdById | Identifier of the user who created this object | uuid |
| createdOn | Date and time when this object was created (UTC Now), in ISO 8601 date-time format, such as YYYY-MM-DDThh:mm:ss | date-time |
| customFields []Array: Parent object can have multiple instances of this nested object under it. | Represents a list of custom fields | CustomFieldData Nested object: Click to see its details. To retrieve the details of this object via list endpoints, you must use the Expand parameter. |
| defaultGroup | Name of the default group to which an expense item belongs | string |
| defaultGroupId | Identifier of the default group to which an expense item belongs | uuid |
| expenseAccount | Name of an expense account associated with an expense | string |
| expenseAccountId | Identifier of an expense account used to track the expenditure associated with expenses incurred | uuid |
| id | Object identifier | uuid |
| incomeAccount | Name of an income account associated with an expense | string |
| incomeAccountId | Identifier of an income account used to track the income associated with expenses incurred | uuid |
| isActive | Indicates the status of an expense item. If true, status is active | boolean |
| isProduct | Determines whether this is a product or not | boolean |
| lastUpdated | Last updated date and time value of this object in ISO 8601 date-time format, such as YYYY-MM-DDThh:mm:ss | date-time |
| lastUpdatedById | Identifier of the user who last updated this object | uuid |
| markup | Percentage increase in the cost rate to determine the cost amount | double |
| memo | Records any extra information or details about an expense | string |
| name | Name of the expense | string |
| objectState | Represents the state of the object. e.g., new, unchanged, modified or deleted | ObjectStateEnumerated type: Click to see possible values and their descriptions. |
| purchaseTaxRate | Tax paid by a company on an expense subtracted from the expense amount to avoid double-taxation for the client | double |
| reimbursable | Indicates whether an expense is reimbursable or not. If true, expense is reimbursable | boolean |
| sub | Represents an expense item sub-code | string |
| tax1 | In addition to the main expense tax, Tax1 rate is applied to an invoice. These taxes (Tax1,Tax2,Tax3) are combined to calculate the charge amount | double |
| tax2 | In addition to the main expense tax, Tax2 rate is applied to an invoice. These taxes (Tax1,Tax2,Tax3) are combined to calculate the charge amount | double |
| tax3 | In addition to the main expense tax, Tax3 rate is applied to an invoice. These taxes (Tax1,Tax2,Tax3) are combined to calculate the charge amount | double |
| token | Represents the token for update operations | int32 |
| type | Represents the expense types, e.g inventory, non-inventory, etc. | ExpenseTypeEnumerated type: Click to see possible values and their descriptions. |
| version | Implements concurrency on this object | byte |
{
"code": "6011",
"description": "Expense Description",
"billable": true,
"class": "class",
"classId": "6cdd9985-9ea2-4420-925c-ab5684ffd692",
"costRate": 1,
"createdById": "6fe44264-e346-4c50-92d6-60e570c27c3a",
"createdOn": "2026-05-21T06:31:31Z",
"customFields": [
{
"definitionId": "662bdd16-88b9-4147-aad9-ed47f7956f79",
"createdById": "f1e03535-cdbb-4454-b342-7c8359e40170",
"createdOn": "2026-05-21T06:31:31Z",
"description": "CustomFieldData Description",
"id": "b2deee08-7e4e-4755-87a7-48d7f2ffdfee",
"label": "label",
"lastUpdated": "2026-05-21T06:31:31Z",
"lastUpdatedById": "02812974-fd39-4e6b-beda-a1f81b30923f",
"objectState": null,
"token": 0,
"type": null,
"value": "value",
"version": "U3dhZ2dlciByb2Nrcw=="
}
],
"defaultGroup": "defaultGroup",
"defaultGroupId": "f6b87759-13cc-40ab-98bd-f4a22acd07f8",
"expenseAccount": "expenseAccount",
"expenseAccountId": "7ae45d4d-4501-445d-97f7-553f62180249",
"id": "c5df52e2-c3e0-4eec-b8c3-50988475e220",
"incomeAccount": "incomeAccount",
"incomeAccountId": "8110e432-8053-446e-8a0b-5b18df9f4de0",
"isActive": true,
"isProduct": true,
"lastUpdated": "2026-05-21T06:31:31Z",
"lastUpdatedById": "3655e928-f771-4d62-9d3b-a5a2b4271508",
"markup": 1,
"memo": "memo",
"name": "Expense",
"objectState": null,
"purchaseTaxRate": 1,
"reimbursable": true,
"sub": "sub",
"tax1": 1,
"tax2": 1,
"tax3": 1,
"token": 0,
"type": null,
"version": "U3dhZ2dlciByb2Nrcw=="
}Create an Expense
Use this method to save an expense. Pass expense as the parameter.
Request URL
Method Overview
HTTP Method:
POST
Content Type:
application/json
Response Format:
json
Requires Authentication?
Yes
Headers:
Module:
Expense
Required Scopes:
readwrite:core
Required Subscription:
View Subscription
Request Parameters asterisk denotes required
| Name | Parameter Type | Description | Format |
|---|---|---|---|
| body | Body | Expense object | Expense |
Response Body
| Name | Description | Format |
|---|---|---|
| code | Represents an expense item code | string |
| description | Represents the description of an expense | string |
| billable | Indicates whether an expense is billable or not. If true, the expense is billable | boolean |
| class | Name of the class | string |
| classId | Identifier of the class | uuid |
| costRate | The per unit cost of an expense item | double |
| createdById | Identifier of the user who created this object | uuid |
| createdOn | Date and time when this object was created (UTC Now), in ISO 8601 date-time format, such as YYYY-MM-DDThh:mm:ss | date-time |
| customFields []Array: Parent object can have multiple instances of this nested object under it. | Represents a list of custom fields | CustomFieldData Nested object: Click to see its details. To retrieve the details of this object via list endpoints, you must use the Expand parameter. |
| defaultGroup | Name of the default group to which an expense item belongs | string |
| defaultGroupId | Identifier of the default group to which an expense item belongs | uuid |
| expenseAccount | Name of an expense account associated with an expense | string |
| expenseAccountId | Identifier of an expense account used to track the expenditure associated with expenses incurred | uuid |
| id | Object identifier | uuid |
| incomeAccount | Name of an income account associated with an expense | string |
| incomeAccountId | Identifier of an income account used to track the income associated with expenses incurred | uuid |
| isActive | Indicates the status of an expense item. If true, status is active | boolean |
| isProduct | Determines whether this is a product or not | boolean |
| lastUpdated | Last updated date and time value of this object in ISO 8601 date-time format, such as YYYY-MM-DDThh:mm:ss | date-time |
| lastUpdatedById | Identifier of the user who last updated this object | uuid |
| markup | Percentage increase in the cost rate to determine the cost amount | double |
| memo | Records any extra information or details about an expense | string |
| name | Name of the expense | string |
| objectState | Represents the state of the object. e.g., new, unchanged, modified or deleted | ObjectStateEnumerated type: Click to see possible values and their descriptions. |
| purchaseTaxRate | Tax paid by a company on an expense subtracted from the expense amount to avoid double-taxation for the client | double |
| reimbursable | Indicates whether an expense is reimbursable or not. If true, expense is reimbursable | boolean |
| sub | Represents an expense item sub-code | string |
| tax1 | In addition to the main expense tax, Tax1 rate is applied to an invoice. These taxes (Tax1,Tax2,Tax3) are combined to calculate the charge amount | double |
| tax2 | In addition to the main expense tax, Tax2 rate is applied to an invoice. These taxes (Tax1,Tax2,Tax3) are combined to calculate the charge amount | double |
| tax3 | In addition to the main expense tax, Tax3 rate is applied to an invoice. These taxes (Tax1,Tax2,Tax3) are combined to calculate the charge amount | double |
| token | Represents the token for update operations | int32 |
| type | Represents the expense types, e.g inventory, non-inventory, etc. | ExpenseTypeEnumerated type: Click to see possible values and their descriptions. |
| version | Implements concurrency on this object | byte |
{
"code": "6011",
"description": "Expense Description",
"billable": true,
"class": "class",
"classId": "d973e821-592e-44df-89da-2a44e2f5fe0d",
"costRate": 1,
"createdById": "05c37690-b998-47d5-81cd-c587aba1261d",
"createdOn": "2026-05-21T06:31:30Z",
"customFields": [
{
"definitionId": "a36c879d-8a28-4a29-b40c-cf649a2fa19e",
"createdById": "92bbc584-fdf6-4467-acd8-4ec1bc47be83",
"createdOn": "2026-05-21T06:31:30Z",
"description": "CustomFieldData Description",
"id": "4ff9830b-dd31-4e0d-b6fb-0df76bd71193",
"label": "label",
"lastUpdated": "2026-05-21T06:31:30Z",
"lastUpdatedById": "527b0551-4dae-459a-be02-e32980d42eb4",
"objectState": null,
"token": 0,
"type": null,
"value": "value",
"version": "U3dhZ2dlciByb2Nrcw=="
}
],
"defaultGroup": "defaultGroup",
"defaultGroupId": "d7aa56b9-506a-484f-84ce-2b13e2e80037",
"expenseAccount": "expenseAccount",
"expenseAccountId": "af34646f-8270-428b-9264-5c58f31adf33",
"id": "c1a5f48b-e800-4867-ac4d-5ea149a9fa37",
"incomeAccount": "incomeAccount",
"incomeAccountId": "684e74ff-acae-4a75-ab04-00adf6f66145",
"isActive": true,
"isProduct": true,
"lastUpdated": "2026-05-21T06:31:30Z",
"lastUpdatedById": "327b48ef-5672-446f-9d91-51d8c2c587cb",
"markup": 1,
"memo": "memo",
"name": "Expense",
"objectState": null,
"purchaseTaxRate": 1,
"reimbursable": true,
"sub": "sub",
"tax1": 1,
"tax2": 1,
"tax3": 1,
"token": 0,
"type": null,
"version": "U3dhZ2dlciByb2Nrcw=="
}Create an Expense List
Use this method to save multiple expense. Pass model as the parameter.
As saving multiple records in a batch takes time, this endpoint returns a Job object that shows the progress of the batch operation. To check the status of the operation at any time, use the job endpoint.
Request URL
Method Overview
HTTP Method:
POST
Content Type:
application/json
Response Format:
json
Requires Authentication?
Yes
Headers:
Module:
Expense
Required Scopes:
readwrite:core
Required Subscription:
View Subscription
Request Parameters asterisk denotes required
| Name | Parameter Type | Description | Format |
|---|---|---|---|
| body | Body | Expense object | ExpenseBatchRequest |
Response Body
| Name | Description | Format |
|---|---|---|
| batchSize | Represents the number of entities in a batch | int64 |
| createdById | Identifier of the user who created this object | uuid |
| createdOn | Date and time when this object was created (UTC Now), in ISO 8601 date-time format, such as YYYY-MM-DDThh:mm:ss | date-time |
| id | Object identifier | uuid |
| lastUpdated | Last updated date and time value of this object in ISO 8601 date-time format, such as YYYY-MM-DDThh:mm:ss | date-time |
| lastUpdatedById | Identifier of the user who last updated this object | uuid |
| objectState | Represents the state of the object. e.g., new, unchanged, modified or deleted | ObjectStateEnumerated type: Click to see possible values and their descriptions. |
| progress | Represents the total number of entities processed | int64 |
| status | Represents the status of a job e.g., ready, running, completed, or terminated | string |
| token | Represents the token for update operations | int32 |
| type | Represents the type of a job e.g., create, update, or delete | string |
| version | Implements concurrency on this object | byte |
{
"batchSize": 0,
"createdById": "0aaaeb3a-3841-49c9-a09b-934b5138f0e3",
"createdOn": "2026-05-21T06:31:31Z",
"id": "fae1862b-7d95-4d5e-bebb-701dd762a927",
"lastUpdated": "2026-05-21T06:31:31Z",
"lastUpdatedById": "47620bce-7e8d-49af-8317-9f135a47ee14",
"objectState": null,
"progress": 0,
"status": "status",
"token": 0,
"type": "type",
"version": "U3dhZ2dlciByb2Nrcw=="
}Update an Expense
Use this method to update an expense. Pass id and expense as the parameters.
Request URL
Method Overview
HTTP Method:
PUT
Content Type:
application/json
Response Format:
json
Requires Authentication?
Yes
Headers:
Module:
Expense
Required Scopes:
readwrite:core
Required Subscription:
View Subscription
Request Parameters asterisk denotes required
| Name | Parameter Type | Description | Format |
|---|---|---|---|
| id | Path | Expense identifier | string |
| body | Body | Expense object | Expense |
Response Body
| Name | Description | Format |
|---|---|---|
| code | Represents an expense item code | string |
| description | Represents the description of an expense | string |
| billable | Indicates whether an expense is billable or not. If true, the expense is billable | boolean |
| class | Name of the class | string |
| classId | Identifier of the class | uuid |
| costRate | The per unit cost of an expense item | double |
| createdById | Identifier of the user who created this object | uuid |
| createdOn | Date and time when this object was created (UTC Now), in ISO 8601 date-time format, such as YYYY-MM-DDThh:mm:ss | date-time |
| customFields []Array: Parent object can have multiple instances of this nested object under it. | Represents a list of custom fields | CustomFieldData Nested object: Click to see its details. To retrieve the details of this object via list endpoints, you must use the Expand parameter. |
| defaultGroup | Name of the default group to which an expense item belongs | string |
| defaultGroupId | Identifier of the default group to which an expense item belongs | uuid |
| expenseAccount | Name of an expense account associated with an expense | string |
| expenseAccountId | Identifier of an expense account used to track the expenditure associated with expenses incurred | uuid |
| id | Object identifier | uuid |
| incomeAccount | Name of an income account associated with an expense | string |
| incomeAccountId | Identifier of an income account used to track the income associated with expenses incurred | uuid |
| isActive | Indicates the status of an expense item. If true, status is active | boolean |
| isProduct | Determines whether this is a product or not | boolean |
| lastUpdated | Last updated date and time value of this object in ISO 8601 date-time format, such as YYYY-MM-DDThh:mm:ss | date-time |
| lastUpdatedById | Identifier of the user who last updated this object | uuid |
| markup | Percentage increase in the cost rate to determine the cost amount | double |
| memo | Records any extra information or details about an expense | string |
| name | Name of the expense | string |
| objectState | Represents the state of the object. e.g., new, unchanged, modified or deleted | ObjectStateEnumerated type: Click to see possible values and their descriptions. |
| purchaseTaxRate | Tax paid by a company on an expense subtracted from the expense amount to avoid double-taxation for the client | double |
| reimbursable | Indicates whether an expense is reimbursable or not. If true, expense is reimbursable | boolean |
| sub | Represents an expense item sub-code | string |
| tax1 | In addition to the main expense tax, Tax1 rate is applied to an invoice. These taxes (Tax1,Tax2,Tax3) are combined to calculate the charge amount | double |
| tax2 | In addition to the main expense tax, Tax2 rate is applied to an invoice. These taxes (Tax1,Tax2,Tax3) are combined to calculate the charge amount | double |
| tax3 | In addition to the main expense tax, Tax3 rate is applied to an invoice. These taxes (Tax1,Tax2,Tax3) are combined to calculate the charge amount | double |
| token | Represents the token for update operations | int32 |
| type | Represents the expense types, e.g inventory, non-inventory, etc. | ExpenseTypeEnumerated type: Click to see possible values and their descriptions. |
| version | Implements concurrency on this object | byte |
{
"code": "6011",
"description": "Expense Description",
"billable": true,
"class": "class",
"classId": "5709223d-0d90-43d1-94d3-50fa1dfb3a52",
"costRate": 1,
"createdById": "4ab9b973-69c0-43d3-8419-851928f6f69f",
"createdOn": "2026-05-21T06:31:31Z",
"customFields": [
{
"definitionId": "9cbb05da-739f-4235-924b-74b01375b935",
"createdById": "3870d603-5cc5-45fb-b515-4fe75ec67916",
"createdOn": "2026-05-21T06:31:31Z",
"description": "CustomFieldData Description",
"id": "703503af-e664-4fec-9ab0-2498a9a2c2cb",
"label": "label",
"lastUpdated": "2026-05-21T06:31:31Z",
"lastUpdatedById": "22bc0de1-9d5c-4c3f-9c25-17393472584a",
"objectState": null,
"token": 0,
"type": null,
"value": "value",
"version": "U3dhZ2dlciByb2Nrcw=="
}
],
"defaultGroup": "defaultGroup",
"defaultGroupId": "e28d4f9e-2a35-4d4e-b22c-e077aec4a503",
"expenseAccount": "expenseAccount",
"expenseAccountId": "c1a63e47-ca01-4d29-b369-600eeaeba672",
"id": "4b6110b1-3ee7-4428-bf48-dda79673a62b",
"incomeAccount": "incomeAccount",
"incomeAccountId": "b1a40616-2831-4885-bb97-d7adc2a1f1e1",
"isActive": true,
"isProduct": true,
"lastUpdated": "2026-05-21T06:31:31Z",
"lastUpdatedById": "5e6e4b3c-28ff-40be-9e9a-bdd17e40d242",
"markup": 1,
"memo": "memo",
"name": "Expense",
"objectState": null,
"purchaseTaxRate": 1,
"reimbursable": true,
"sub": "sub",
"tax1": 1,
"tax2": 1,
"tax3": 1,
"token": 0,
"type": null,
"version": "U3dhZ2dlciByb2Nrcw=="
}Delete an Expense
Use this method to delete an expense. Pass id as the parameter.
Request URL
Method Overview
HTTP Method:
DELETE
Content Type:
application/json
Response Format:
N/A
Requires Authentication?
Yes
Headers:
Required Scopes:
readwrite:core
Required Subscription:
View Subscription
Request Parameters asterisk denotes required
| Name | Parameter Type | Description | Format |
|---|---|---|---|
| id | Path | Expense identifier | string |
Patch an Expense
Use this method to perform partial modifications to an expense. Pass id and patch document as parameters.
Request URL
Method Overview
HTTP Method:
PATCH
Content Type:
application/json
Response Format:
json
Requires Authentication?
Yes
Headers:
Module:
Expense
Required Scopes:
readwrite:core
Required Subscription:
View Subscription
Request Parameters asterisk denotes required
| Name | Parameter Type | Description | Format |
|---|---|---|---|
| id | Path | Expense identifier | string |
| body | Body | A document containing an array of objects with each object representing a single operation | ExpensePatchDocument |
Response Body
| Name | Description | Format |
|---|