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 requiredName | 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 | |
integrationSourceId | Identifier of the integration source for this object. This property is only used by internal BQE apps and does not have any significance for external users | string | Filterable, Sortable |
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 |
integrationSourceId | Identifier of the integration source for this object. This property is only used by internal BQE apps and does not have any significance for external users | string |
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": "8dd1a734-8157-4ef2-8871-b23cdc7228a2",
"costRate": 1,
"createdById": "f11f4776-6035-4bf1-bc6b-81fd19c5037d",
"createdOn": "2025-06-24T05:51:59Z",
"customFields": [
{
"definitionId": "875ff15b-09ce-44e7-a310-531f8c7071a1",
"createdById": "2c604cad-a06a-4998-bda5-75c9de495860",
"createdOn": "2025-06-24T05:51:59Z",
"description": "CustomFieldData Description",
"id": "bbcc0a17-91e8-4e96-9425-6c19f70c1447",
"integrationSourceId": "integrationSourceId",
"label": "label",
"lastUpdated": "2025-06-24T05:51:59Z",
"lastUpdatedById": "1fbdfce8-56ad-4002-9ca4-55e8f1d7e1d6",
"objectState": null,
"token": 0,
"type": null,
"value": "value",
"version": "U3dhZ2dlciByb2Nrcw=="
}
],
"defaultGroup": "defaultGroup",
"defaultGroupId": "f66e63e4-e63c-4919-afd2-c76d2baba5d4",
"expenseAccount": "expenseAccount",
"expenseAccountId": "ae81b9bf-c247-4001-9d14-aae831017314",
"id": "f4a1f9e8-ae80-49a0-be31-1e61bed1b68c",
"incomeAccount": "incomeAccount",
"incomeAccountId": "290835b2-8528-4926-978c-fe1775b4a834",
"integrationSourceId": "integrationSourceId",
"isActive": true,
"isProduct": true,
"lastUpdated": "2025-06-24T05:51:59Z",
"lastUpdatedById": "eb9723d1-0910-46dc-9f37-698325ac3ebc",
"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 |
integrationSourceId | Identifier of the integration source for this object. This property is only used by internal BQE apps and does not have any significance for external users | string |
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": "13bf3b7c-163f-4e3d-a94d-f7b088b91d9c",
"costRate": 1,
"createdById": "5186423c-ecf9-4206-ad04-5fd228cfc6bb",
"createdOn": "2025-06-24T05:51:59Z",
"customFields": [
{
"definitionId": "c28f748e-4e85-41f5-a407-fda2d5b1c882",
"createdById": "a4688630-2687-467b-b8a7-87838285a8c6",
"createdOn": "2025-06-24T05:51:59Z",
"description": "CustomFieldData Description",
"id": "4e98eec4-7565-42c6-bc21-90cc46b9f571",
"integrationSourceId": "integrationSourceId",
"label": "label",
"lastUpdated": "2025-06-24T05:51:59Z",
"lastUpdatedById": "bb39209b-b8c3-4265-9951-27bbbc1921a9",
"objectState": null,
"token": 0,
"type": null,
"value": "value",
"version": "U3dhZ2dlciByb2Nrcw=="
}
],
"defaultGroup": "defaultGroup",
"defaultGroupId": "924c6404-efb5-4a3e-bd6a-970369d9a43d",
"expenseAccount": "expenseAccount",
"expenseAccountId": "bca8c93d-d7e2-42aa-98ec-bc9247010904",
"id": "a1a0428a-2b4f-4cf0-9ec3-11fbedf04b47",
"incomeAccount": "incomeAccount",
"incomeAccountId": "181d6fdf-8907-407e-888c-0cb69fdfb7df",
"integrationSourceId": "integrationSourceId",
"isActive": true,
"isProduct": true,
"lastUpdated": "2025-06-24T05:51:59Z",
"lastUpdatedById": "df7ca331-c908-4d2a-a744-5b7eacba1a38",
"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 |
integrationSourceId | Identifier of the integration source for this object. This property is only used by internal BQE apps and does not have any significance for external users | string |
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": "f80e451b-2d81-47da-b681-b72591656602",
"costRate": 1,
"createdById": "0fcac1bf-ae35-49d6-a381-a91e130453a8",
"createdOn": "2025-06-24T05:51:59Z",
"customFields": [
{
"definitionId": "4986d9ff-e082-40cd-af8b-85a489e1d179",
"createdById": "2ec3f270-5708-4e1d-8888-08308199ad33",
"createdOn": "2025-06-24T05:51:59Z",
"description": "CustomFieldData Description",
"id": "d2141ba0-5fdf-4e31-a5b3-703cad8857aa",
"integrationSourceId": "integrationSourceId",
"label": "label",
"lastUpdated": "2025-06-24T05:51:59Z",
"lastUpdatedById": "010e0ced-32a9-44ea-84ea-782eb1569477",
"objectState": null,
"token": 0,
"type": null,
"value": "value",
"version": "U3dhZ2dlciByb2Nrcw=="
}
],
"defaultGroup": "defaultGroup",
"defaultGroupId": "d48cfec1-5992-46cc-bea7-671d8772ef52",
"expenseAccount": "expenseAccount",
"expenseAccountId": "20f4be25-ece1-4989-9cf6-990823e84090",
"id": "950f8524-8ef4-4f1d-bce0-4ab5252d58fb",
"incomeAccount": "incomeAccount",
"incomeAccountId": "5acb960e-3800-44d5-bff2-60b7d009072d",
"integrationSourceId": "integrationSourceId",
"isActive": true,
"isProduct": true,
"lastUpdated": "2025-06-24T05:51:59Z",
"lastUpdatedById": "b8883c18-2ea8-4327-848f-4c3c134fe110",
"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.
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 |
integrationSourceId | Identifier of the integration source for this object. This property is only used by internal BQE apps and does not have any significance for external users | string |
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": "c0e564ac-a8e7-4c74-88bc-1851575f1a1c",
"createdOn": "2025-06-24T05:51:59Z",
"id": "526fab58-4131-4380-9bd6-4f7bab1cb730",
"integrationSourceId": "integrationSourceId",
"lastUpdated": "2025-06-24T05:51:59Z",
"lastUpdatedById": "0fed175a-1707-47f9-9da0-91cb0a2d4aea",
"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 |
integrationSourceId | Identifier of the integration source for this object. This property is only used by internal BQE apps and does not have any significance for external users | string |
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": "df83e0a2-7eaa-462e-bcd7-2a7a90ce4fde",
"costRate": 1,
"createdById": "fd60d778-32d7-47a2-8ddc-0333bb08de37",
"createdOn": "2025-06-24T05:51:59Z",
"customFields": [
{
"definitionId": "0e17526b-29d5-4929-b4df-b5b7da3c4499",
"createdById": "f0e9946a-b8f8-4751-8093-42df2ec1823d",
"createdOn": "2025-06-24T05:51:59Z",
"description": "CustomFieldData Description",
"id": "801aa73c-200b-42df-9651-69e2b3c6844e",
"integrationSourceId": "integrationSourceId",
"label": "label",
"lastUpdated": "2025-06-24T05:51:59Z",
"lastUpdatedById": "abbf3567-543a-48ac-8243-d07430fdd7df",
"objectState": null,
"token": 0,
"type": null,
"value": "value",
"version": "U3dhZ2dlciByb2Nrcw=="
}
],
"defaultGroup": "defaultGroup",
"defaultGroupId": "e4d562e1-0f8f-49a0-a526-42685826f37b",
"expenseAccount": "expenseAccount",
"expenseAccountId": "245b3516-e0e0-479a-8a13-241e1ca2e985",
"id": "077bc595-0506-4ab5-b7bb-63c66c663220",
"incomeAccount": "incomeAccount",
"incomeAccountId": "adf75986-68d1-47af-8827-43531b7aa6aa",
"integrationSourceId": "integrationSourceId",
"isActive": true,
"isProduct": true,
"lastUpdated": "2025-06-24T05:51:59Z",
"lastUpdatedById": "0a3f5bec-69ff-4cd7-85fd-ecaef372e108",
"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 |
---|