Expenses
Expenses are used to track expenditures your business incurs. To attach uploaded receipts to an expense, see Expense Attachments.
Access Requirements
Access | Requires Authorization |
|
Expense Status Table
Expense statuses are not directly modifiable. Each is a description of the status of the expense, e.g. "expense has client, expense is attached to an invoice".
code | name | description |
|---|---|---|
0 | internal | -internal- rather than client |
1 | outstanding | has client, needs to be applied to an invoice |
2 | invoiced | has client, attached to an invoice |
4 | recouped | has client, attached to an invoice, and paid |
Includes
Include Name | Description |
|---|---|
attachment | Includes attachment details assocatied with expense receipts |
category | Include expense category in expense |
expense_profile | Include expense profile info in expense |
project | Include related projects in expense |
account | Include account info in expense |
Filters
Filter Type | Name | Field | Description |
|---|---|---|---|
Equals | expenseid | expenseid | matches exact expenseid |
In | expenseids | expenseid | matches list of expenseids, one specified per query arg |
Equals | clientid | clientid | matches exact clientid |
In | clientids | clientid | matches list of clientids, one specified per query arg |
NotEquals | clientid_not | clientid | any clientid but the parameter |
Equals | staffid | staffid | matches exact staffid |
In | staffids | staffid | matches list of staffids, one specified per query arg |
Equals | profileid | profileid | matches exact profileid |
In | profileids | profileid | matches list of profileids, one specified per query arg |
Equals | categoryid | categoryid | matches exact categoryid |
In | categoryids | categoryid | matches list of categoryids, one specified per query arg |
Equals | projectid | projectid | matches exact projectid |
In | projectids | projectid | matches list of projectids, one specified per query arg |
Equals | has_receipt | has_receipt | true/false expense has related receipt |
Between | amount_min | amount | amount greater than or equal to parameter |
Between | amount_max | amount | amount less than parameter |
Between | date_min | date | date greater than or equal to parameter, YYYY-MM-DD format |
Between | date_max | date | date less than parameter, YYYY-MM-DD format |
Between | updated_min | updated | updated date greater than or equal to parameter, YYYY-MM-DD format |
Between | updated_max | updated | updated date less than parameter, YYYY-MM-DD format |
Like | vendor | vendor | vendors containing the parameter |
Equals | vendor_eq | vendor | exact match of vendor field |
Like | notes | notes | notes containing the parameter |
Like | category _name | category | category containing the parameter |
Bool | is_cogs | is_cogs | is cost of goods sold or not (DEPRECATED See update) |
In | transactionids | transactionid | matches list of transactionids, one specified per query arg |
Equals | accountid | accountid | exact match of accountid |
In | accountids | accountid | matches list of accountids, one specified per query arg |
Equals | account _name | name | matches exact name |
Equal | category _parentid | special | matches either exact categoryid or parentid |
Field Descriptions
underlined fields are required on creation
Field | Type | Description |
|---|---|---|
accountid | int | id of expense account if applicable |
account_name | string | name of related account if applicable |
accounting _systemid | string | unique id for system |
amount | object | Total amount of the expense |
- amount | string | string-decimal amount of the expense |
- code | string | 3-letter currency code |
background_jobid | int | (internal) id for related background job if applicable |
bank_name | string | name of bank expense was imported from, if applicable |
categoryid | int | id of related expense category |
clientid | int | id of related client if applicable |
compounded_tax | bool | Deprecated. true/false tax2 was a compound tax |
date | date | date of expense, YYYY-MM-DD format |
expenseid | int | unique to this business id for expense |
ext_invoiceid | int | id of related contractor invoice if applicable |
ext_systemid | int | id of related contractor system if applicable |
has_receipt | bool | true/false has receipt attached |
id | int | duplicate of expenseid |
invoiceid | int | id of related invoice if applicable |
isduplicate | bool | true/false is duplicated expense |
markup_percent | string | string-decimal, note of percent to mark expense up |
notes | string | notes about expense |
profileid | int | id of related profile if applicable |
projectid | int | id of related project if applicable |
staffid | int | id of related staff member if applicable |
status | int | values from expense status table |
taxAmount1 | object | The total for first tax applied to the subtotal amount of the expense |
- amount | string | string-decimal amount |
- code | string | 3-letter currency code |
taxName1 | string | name of first tax |
taxPercent1 | string | string-decimal tax amount - indicates the maximum tax percentage for this expense, this does not add tax to the expense, instead use taxAmount1 |
taxAmount2 | object | The total for second tax applied to the subtotal amount of the expense |
- amount | string | string-decimal amount |
- code | string | 3-letter currency code |
taxName2 | string | name of second tax |
taxPercent2 | string | string-decimal tax amount for second tax - indicates the maximum tax percentage for this expense, this does not add tax to the expense, instead use taxAmount2 |
transactionid | int | id of related transaction if applicable |
updated | datetime | time invoice last updated at, YYYY-MM-DD HH:MM:SS format |
vendor | string | name of vendor |
vis_state | int | 0 for active, 1 for deleted |