The Expense object
A Rutter Expense represents a purchase made by a business entity via prepaid card, credit card, bank, or other asset. Every expense is linked to a credit Account and a Vendor.
The expense line item contains information regarding the items purchased and accounts affected in the expense. Every expense line item is linked to a debit Account and optionally linked tracking categories like Classes, Locations, and Departments.
Properties
id
stringThe Rutter generated unique ID of the expense.
platform_id
stringThe platform specific ID of the expense.
vendor_id
stringnullableThe Rutter ID of the Vendor linked to the expense.
memo
stringnullableThe memo of the expense.
created_at
stringnullableThe ISO 8601 timestamp that the expense was created.
updated_at
stringnullableThe ISO 8601 timestamp that the expense was last updated.
platform_data
optionalThe raw platform data corresponding to the Rutter object.
account_id
stringThe Rutter ID of the Account linked to the expense. Represents the account being credited.
currency_code
enumnullableoptionalThe ISO 4217 currency code of the expense.
expense_date
stringnullableThe ISO 8601 timestamp that the expense was created.
line_items
arrayAn array of line items associated with the expense.
line_items
attributes{
"id": "00000000-0000-0000-0000-000000000000",
"platform_id": "12345678",
"account_id": "00000000-0000-0000-0000-000000000000",
"vendor_id": "00000000-0000-0000-0000-000000000000",
"currency_code": "USD",
"expense_date": "2023-01-02T02:34:56.000Z",
"memo": "For a Rutter shirt.",
"line_items": [
{
"account_id": "00000000-0000-0000-0000-000000000000",
"platform_id": "12345678",
"amount": "12.34",
"description": "Rutter shirt",
"class_id": "00000000-0000-0000-0000-000000000000",
"location_id": "00000000-0000-0000-0000-000000000000",
"department_id": "00000000-0000-0000-0000-000000000000",
"customer_id": "00000000-0000-0000-0000-000000000000"
}
],
"created_at": "2023-01-02T02:34:56.000Z",
"updated_at": "2023-01-02T02:34:56.000Z"
}
List Expenses
GET /accounting/expensesRequest Parameters
access_token
stringqueryThe access token of the connection.
cursor
stringoptionalqueryThe cursor to use for pagination. This value is passed in from next_cursor
field in a previous request.
expand
enumoptionalqueryUsed to request inclusion of optional objects.
force_fetch
enumoptionalqueryForce a response even if the underlying connection hasn't finished the initial sync.
limit
integeroptionalqueryThe limit on the number of entities returned.
updated_at_max
integeroptionalqueryThe Unix Timestamp in milliseconds maximum updated_at datetime to fetch entities from.
updated_at_min
integeroptionalqueryThe Unix Timestamp in milliseconds minimum updated_at datetime to fetch entities from.
Response Body
connection
Connectionconnection
attributesexpenses
arrayexpenses
attributesnext_cursor
stringnullableoptional{
"expenses": [
{
"id": "00000000-0000-0000-0000-000000000000",
"platform_id": "12345678",
"account_id": "00000000-0000-0000-0000-000000000000",
"vendor_id": "00000000-0000-0000-0000-000000000000",
"currency_code": "USD",
"expense_date": "2023-01-02T02:34:56.000Z",
"memo": "For a Rutter shirt.",
"line_items": [
{
"account_id": "00000000-0000-0000-0000-000000000000",
"platform_id": "12345678",
"amount": "12.34",
"description": "Rutter shirt",
"class_id": "00000000-0000-0000-0000-000000000000",
"location_id": "00000000-0000-0000-0000-000000000000",
"department_id": "00000000-0000-0000-0000-000000000000",
"customer_id": "00000000-0000-0000-0000-000000000000"
}
],
"created_at": "2023-01-02T02:34:56.000Z",
"updated_at": "2023-01-02T02:34:56.000Z"
}
],
"next_cursor": "MTY3NDgzMTk0Ml82MDY4ZDI0ZC02NGRmLTRmN2EtYTM0Ny0zN2ZmNjY5MGVmMjU=",
"connection": {
"id": "00000000-0000-0000-0000-000000000000",
"platform": "NETSUITE",
"orgId": "00000000-0000-0000-0000-000000000000"
}
}
Fetch an Expense
GET /accounting/expenses/:idRequest Parameters
id
stringpathThe Rutter generated unique ID of the object.
access_token
stringqueryThe access token of the connection.
force_fetch
enumoptionalqueryForce a response even if the underlying connection hasn't finished the initial sync.
Response Body
connection
Connectionconnection
attributesexpense
Expenseexpense
attributes{
"expense": {
"id": "00000000-0000-0000-0000-000000000000",
"platform_id": "12345678",
"account_id": "00000000-0000-0000-0000-000000000000",
"vendor_id": "00000000-0000-0000-0000-000000000000",
"currency_code": "USD",
"expense_date": "2023-01-02T02:34:56.000Z",
"memo": "For a Rutter shirt.",
"line_items": [
{
"account_id": "00000000-0000-0000-0000-000000000000",
"platform_id": "12345678",
"amount": "12.34",
"description": "Rutter shirt",
"class_id": "00000000-0000-0000-0000-000000000000",
"location_id": "00000000-0000-0000-0000-000000000000",
"department_id": "00000000-0000-0000-0000-000000000000",
"customer_id": "00000000-0000-0000-0000-000000000000"
}
],
"created_at": "2023-01-02T02:34:56.000Z",
"updated_at": "2023-01-02T02:34:56.000Z"
},
"connection": {
"id": "00000000-0000-0000-0000-000000000000",
"platform": "NETSUITE",
"orgId": "00000000-0000-0000-0000-000000000000"
}
}
Create an Expense
POST /accounting/expensesRequest Parameters
access_token
stringqueryThe access token of the connection.
Request Body
expense
objectexpense
attributesResponse Body
Any of:
Expense Response
expense
Expenseexpense
attributesAsync Response Payload
async_response
objectoptionalasync_response
attributeserrors
arrayoptionalerrors
attributes{
"expense": {
"account_id": "00000000-0000-0000-0000-000000000000",
"currency_code": "USD",
"expense_date": "2023-01-02T02:34:56.000Z",
"vendor_id": "00000000-0000-0000-0000-000000000000",
"memo": "For a Rutter shirt.",
"line_items": [
{
"account_id": "00000000-0000-0000-0000-000000000000",
"amount": 12.34,
"description": "For a Rutter shirt.",
"class_id": "00000000-0000-0000-0000-000000000000",
"department_id": "00000000-0000-0000-0000-000000000000",
"location_id": "00000000-0000-0000-0000-000000000000",
"customer_id": "00000000-0000-0000-0000-000000000000"
}
]
}
}
{
"expense": {
"id": "00000000-0000-0000-0000-000000000000",
"platform_id": "12345678",
"account_id": "00000000-0000-0000-0000-000000000000",
"vendor_id": "00000000-0000-0000-0000-000000000000",
"currency_code": "USD",
"expense_date": "2023-01-02T02:34:56.000Z",
"memo": "For a Rutter shirt.",
"line_items": [
{
"account_id": "00000000-0000-0000-0000-000000000000",
"platform_id": "12345678",
"amount": "12.34",
"description": "Rutter shirt",
"class_id": "00000000-0000-0000-0000-000000000000",
"location_id": "00000000-0000-0000-0000-000000000000",
"department_id": "00000000-0000-0000-0000-000000000000",
"customer_id": "00000000-0000-0000-0000-000000000000"
}
],
"created_at": "2023-01-02T02:34:56.000Z",
"updated_at": "2023-01-02T02:34:56.000Z"
}
}
Create an Expense Refund
POST /accounting/expenses/refundsRequest Parameters
access_token
stringqueryThe access token of the connection.
Request Body
expense_refund
objectexpense_refund
attributesResponse Body
Any of:
Expense Refund Response
expense_refund
Expense Refundexpense_refund
attributesAsync Response Payload
async_response
objectoptionalasync_response
attributeserrors
arrayoptionalerrors
attributes{
"expense_refund": {
"amount": 12.34,
"expense_account_id": "00000000-0000-0000-0000-000000000000",
"debit_account_id": "00000000-0000-0000-0000-000000000000",
"description": "Refund for a Rutter shirt.",
"expense_date": "2023-01-02T02:34:56.000Z",
"vendor_id": "00000000-0000-0000-0000-000000000000",
"currency_code": "USD"
}
}
{
"expense_refund": {
"id": "00000000-0000-0000-0000-000000000000",
"amount": 12.34,
"expense_account_id": "00000000-0000-0000-0000-000000000000",
"debit_account_id": "00000000-0000-0000-0000-000000000000",
"description": "Refund for a Rutter shirt.",
"vendor_id": "00000000-0000-0000-0000-000000000000",
"currency": "USD"
}
}