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": "d88129b5-5921-4e1e-80aa-4f4770c99842",
"costRate": 1,
"createdById": "eea6017a-4241-4e13-9f6a-0ea98e954a1b",
"createdOn": "2026-01-14T04:56:21Z",
"customFields": [
{
"definitionId": "71be5af8-4e75-48cf-b809-dfe9ca29609f",
"createdById": "17ef962c-70d0-401a-a749-defdfb97dbfc",
"createdOn": "2026-01-14T04:56:21Z",
"description": "CustomFieldData Description",
"id": "fccbc9b2-04b8-449c-b843-54d58dd2e88b",
"label": "label",
"lastUpdated": "2026-01-14T04:56:21Z",
"lastUpdatedById": "6cfa2e02-461d-4e65-908d-c8abc377f031",
"objectState": null,
"token": 0,
"type": null,
"value": "value",
"version": "U3dhZ2dlciByb2Nrcw=="
}
],
"defaultGroup": "defaultGroup",
"defaultGroupId": "67053fec-cd57-4b82-9d00-56936f925e82",
"expenseAccount": "expenseAccount",
"expenseAccountId": "e2470162-2e18-4a2b-b133-9131d85777ba",
"id": "10d2e3c3-8899-4f5a-837e-9039d789e745",
"incomeAccount": "incomeAccount",
"incomeAccountId": "59ce9114-bd78-4ca0-9257-071557ed7a26",
"isActive": true,
"isProduct": true,
"lastUpdated": "2026-01-14T04:56:21Z",
"lastUpdatedById": "321db8b7-b017-4f85-821c-4470ef252d06",
"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": "f7ff64b0-8901-4bcc-90c6-6852cb2a6988",
"costRate": 1,
"createdById": "9ebe5678-e5f8-4d77-828b-75c932513fc5",
"createdOn": "2026-01-14T04:56:21Z",
"customFields": [
{
"definitionId": "ddecc298-0f3f-4e13-bce3-a1e69e41ceca",
"createdById": "79601f07-0bd7-4c97-9369-7cbdd9f31f2d",
"createdOn": "2026-01-14T04:56:21Z",
"description": "CustomFieldData Description",
"id": "1c39d248-ad9e-492e-a843-efc5e035f943",
"label": "label",
"lastUpdated": "2026-01-14T04:56:21Z",
"lastUpdatedById": "1c23ea11-d9ab-4b2e-bd0b-3fa3ceb94996",
"objectState": null,
"token": 0,
"type": null,
"value": "value",
"version": "U3dhZ2dlciByb2Nrcw=="
}
],
"defaultGroup": "defaultGroup",
"defaultGroupId": "8b54615f-fc38-444d-8b3f-41fbdf9cc184",
"expenseAccount": "expenseAccount",
"expenseAccountId": "0f479dbd-7f44-4954-9d9e-fead2d32e4df",
"id": "558701bc-fbf0-4322-80bf-5e0d119d527c",
"incomeAccount": "incomeAccount",
"incomeAccountId": "e11d4602-48ee-48d4-9982-3e12f3e75fd9",
"isActive": true,
"isProduct": true,
"lastUpdated": "2026-01-14T04:56:21Z",
"lastUpdatedById": "ae1ded6c-b96e-4c19-9b42-a6fdde7f2370",
"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": "2ded1181-8d05-421a-9ce4-5a0d810ef397",
"costRate": 1,
"createdById": "5f6c64b1-283d-45f0-bfc7-a790117bd994",
"createdOn": "2026-01-14T04:56:21Z",
"customFields": [
{
"definitionId": "a46db1b8-a2cc-4742-a177-2be810413ade",
"createdById": "8297c420-4bc0-425b-823d-cfa8b4f6adcc",
"createdOn": "2026-01-14T04:56:21Z",
"description": "CustomFieldData Description",
"id": "5ebeffec-29ab-4736-9947-75f96b117696",
"label": "label",
"lastUpdated": "2026-01-14T04:56:21Z",
"lastUpdatedById": "8f28ef31-40fa-43ac-8455-93ab73a961a6",
"objectState": null,
"token": 0,
"type": null,
"value": "value",
"version": "U3dhZ2dlciByb2Nrcw=="
}
],
"defaultGroup": "defaultGroup",
"defaultGroupId": "5e696b4b-45d2-4360-bbce-c566384144fc",
"expenseAccount": "expenseAccount",
"expenseAccountId": "630eef1e-c21e-42e0-acc4-72762e872b31",
"id": "87b07c96-5b6d-41af-b467-adb3659ca53b",
"incomeAccount": "incomeAccount",
"incomeAccountId": "e969f714-13d0-4b72-bc33-167dd6dd48e5",
"isActive": true,
"isProduct": true,
"lastUpdated": "2026-01-14T04:56:21Z",
"lastUpdatedById": "1620b756-dbc1-43f3-bd90-7023b24ebdb0",
"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": "3125b2ba-fcd8-4867-9f6e-02681af54120",
"createdOn": "2026-01-14T04:56:21Z",
"id": "b81ccc16-6883-4f2c-8653-2b999d922483",
"lastUpdated": "2026-01-14T04:56:21Z",
"lastUpdatedById": "53808980-df24-49c0-bafc-79374056f25f",
"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": "6aa9c37f-29e6-42c4-a7df-73230cabc04c",
"costRate": 1,
"createdById": "dd403937-cb33-4cd2-9dff-4b800c36737e",
"createdOn": "2026-01-14T04:56:21Z",
"customFields": [
{
"definitionId": "09bc4f1a-f203-43f9-a054-497d984e200c",
"createdById": "34a10f67-9900-4371-98c9-394a68786ef3",
"createdOn": "2026-01-14T04:56:21Z",
"description": "CustomFieldData Description",
"id": "b49c46d2-c245-4fb8-93f3-ffce9fda82f8",
"label": "label",
"lastUpdated": "2026-01-14T04:56:21Z",
"lastUpdatedById": "ae371a42-c378-4862-9d64-3c271f9693cd",
"objectState": null,
"token": 0,
"type": null,
"value": "value",
"version": "U3dhZ2dlciByb2Nrcw=="
}
],
"defaultGroup": "defaultGroup",
"defaultGroupId": "c611cced-7722-4e19-b9f2-bf7f685104bb",
"expenseAccount": "expenseAccount",
"expenseAccountId": "504baaef-c488-4b0f-84f6-eac9edafbbac",
"id": "3512bd0f-90d7-4791-9e84-0103a9c1b53b",
"incomeAccount": "incomeAccount",
"incomeAccountId": "af2235b8-6b73-452d-8915-f194a3a4dfd9",
"isActive": true,
"isProduct": true,
"lastUpdated": "2026-01-14T04:56:21Z",
"lastUpdatedById": "1a1ee121-edad-4193-aca1-e291c1351cae",
"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 |
|---|