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

idstring

The Rutter generated unique ID of the expense.

platform_idstring

The platform specific ID of the expense.

account_idstringnullable

The Rutter ID of the Account linked to the expense. Represents the account being credited.

subsidiary_idstringnullable

The Rutter ID of the Subsidiary linked to the expense. This feature is currently only supported on NetSuite.

vendor_idstringnullable

The Rutter ID of the Vendor linked to the expense.

transaction_datestring

The ISO 8601 timestamp that the expense was created.

currency_codeenum

The ISO 4217 currency code of the expense.

One ofAEDAFNALLAMDANGAOAARSAUDAWGAZNBAMBBDBDTBGNBHDBIFBMDBNDBOBBOVBRLBSDBTNBWPBYRBZDCADCDFCHECHFCHWCLFCLPCNYCOPCOUCRCCUCCUPCVECZKDJFDKKDOPDZDEGPERNETBEURFJDFKPGBPGELGHSGIPGMDGNFGTQGYDHKDHNLHRKHTGHUFIDRILSINRIQDIRRISKJMDJODJPYKESKGSKHRKMFKPWKRWKWDKYDKZTLAKLBPLKRLRDLSLLTLLVLLYDMADMDLMGAMKDMMKMNTMOPMROMURMVRMWKMXNMXVMYRMZNNADNGNNIONOKNPRNZDOMRPABPENPGKPHPPKRPLNPYGQARRONRSDRUBRWFSARSBDSCRSDGSEKSGDSHPSLLSOSSRDSSPSTDSYPSZLTHBTJSTMTTNDTOPTRYTTDTWDTZSUAHUGXUSDUSNUSSUYIUYUUZSVEFVNDVUVWSTXAFXAGXAUXBAXBBXBCXBDXCDXDRXFUXOFXPDXPFXPTXTSXXXYERZAR, or ZMW.
expense_typeenum

The type of expense.

One ofexpense or refund.
currency_ratenumberoptional

The exchange rate between the currency of the expense and the business default currency

memostringnullable

The memo of the expense.

line_itemsarray

An array of line items associated with the expense.

Show line_items attributes
created_atstringnullable

The ISO 8601 timestamp that the expense was created.

updated_atstringnullable

The ISO 8601 timestamp that the expense was last updated.

platform_dataobjectoptional

The raw platform data corresponding to the Rutter object.

Show platform_data attributes
Example Expense Object
{
  "id": "00000000-0000-0000-0000-000000000000",
  "platform_id": "12345678",
  "account_id": "00000000-0000-0000-0000-000000000000",
  "subsidiary_id": "00000000-0000-0000-0000-000000000000",
  "vendor_id": "00000000-0000-0000-0000-000000000000",
  "transaction_date": "2023-01-02T02:34:56.000Z",
  "currency_code": "USD",
  "expense_type": "expense",
  "memo": "For a Rutter shirt.",
  "line_items": [
    {
      "account_id": "00000000-0000-0000-0000-000000000000",
      "class_id": "00000000-0000-0000-0000-000000000000",
      "customer_id": "00000000-0000-0000-0000-000000000000",
      "department_id": "00000000-0000-0000-0000-000000000000",
      "location_id": "00000000-0000-0000-0000-000000000000",
      "tax_rate_id": "00000000-0000-0000-0000-000000000000",
      "total_amount": 12.34,
      "description": "Rutter shirt"
    }
  ],
  "created_at": "2023-01-02T02:34:56.000Z",
  "updated_at": "2023-01-02T02:34:56.000Z",
  "platform_data": {
    "id": 123,
    "data": "Varies by platform"
  }
}

List Expenses

GET /accounting/expenses
Supported for: Dynamics 365NetSuiteQuickBooksQuickBooks DesktopSage IntacctXeroZoho Books

Request Parameters

    access_tokenstringquery

    The access token of the connection.

    cursorstringoptionalquery

    The cursor to use for pagination. This value is passed in from next_cursor field in a previous request.

    expandenumoptionalquery

    Used to request inclusion of optional objects.

    Can beplatform_data.
    expense_typeenumoptionalquery

    Filter results on the supplied expense type. Returns only expenses if not provided.

    One ofexpense or refund.
    force_fetchenumoptionalquery

    Force a response even if the underlying connection hasn't finished the initial sync.

    One oftrue or false.
    limitintegeroptionalquery

    The limit on the number of entities returned.

    updated_at_maxintegeroptionalquery

    The Unix Timestamp in milliseconds maximum updated_at datetime to fetch entities from.

    updated_at_minintegeroptionalquery

    The Unix Timestamp in milliseconds minimum updated_at datetime to fetch entities from.

Response Body

    connectionobject
    Show connection attributes
    expensesarray
    Show expenses attributes
    next_cursorstringnullableoptional
Example Response Body
{
  "connection": {
    "id": "00000000-0000-0000-0000-000000000000",
    "orgId": "00000000-0000-0000-0000-000000000000",
    "platform": "NETSUITE"
  },
  "expenses": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "platform_id": "12345678",
      "account_id": "00000000-0000-0000-0000-000000000000",
      "subsidiary_id": "00000000-0000-0000-0000-000000000000",
      "vendor_id": "00000000-0000-0000-0000-000000000000",
      "transaction_date": "2023-01-02T02:34:56.000Z",
      "currency_code": "USD",
      "expense_type": "expense",
      "memo": "For a Rutter shirt.",
      "line_items": [
        {
          "account_id": "00000000-0000-0000-0000-000000000000",
          "class_id": "00000000-0000-0000-0000-000000000000",
          "customer_id": "00000000-0000-0000-0000-000000000000",
          "department_id": "00000000-0000-0000-0000-000000000000",
          "location_id": "00000000-0000-0000-0000-000000000000",
          "tax_rate_id": "00000000-0000-0000-0000-000000000000",
          "total_amount": 12.34,
          "description": "Rutter shirt"
        }
      ],
      "created_at": "2023-01-02T02:34:56.000Z",
      "updated_at": "2023-01-02T02:34:56.000Z",
      "platform_data": {
        "id": 123,
        "data": "Varies by platform"
      }
    }
  ],
  "next_cursor": "MTY3NDgzMTk0Ml82MDY4ZDI0ZC02NGRmLTRmN2EtYTM0Ny0zN2ZmNjY5MGVmMjU="
}

Fetch an Expense

GET /accounting/expenses/:id
Supported for: Dynamics 365NetSuiteQuickBooksQuickBooks DesktopSage IntacctXeroZoho Books

Request Parameters

    idstringpath

    The Rutter generated unique ID of the object.

    access_tokenstringquery

    The access token of the connection.

    force_fetchenumoptionalquery

    Force a response even if the underlying connection hasn't finished the initial sync.

    One oftrue or false.

Response Body

    connectionobject
    Show connection attributes
    expenseobject
    Show expense attributes
Example Response Body
{
  "connection": {
    "id": "00000000-0000-0000-0000-000000000000",
    "orgId": "00000000-0000-0000-0000-000000000000",
    "platform": "NETSUITE"
  },
  "expense": {
    "id": "00000000-0000-0000-0000-000000000000",
    "platform_id": "12345678",
    "account_id": "00000000-0000-0000-0000-000000000000",
    "subsidiary_id": "00000000-0000-0000-0000-000000000000",
    "vendor_id": "00000000-0000-0000-0000-000000000000",
    "transaction_date": "2023-01-02T02:34:56.000Z",
    "currency_code": "USD",
    "expense_type": "expense",
    "memo": "For a Rutter shirt.",
    "line_items": [
      {
        "account_id": "00000000-0000-0000-0000-000000000000",
        "class_id": "00000000-0000-0000-0000-000000000000",
        "customer_id": "00000000-0000-0000-0000-000000000000",
        "department_id": "00000000-0000-0000-0000-000000000000",
        "location_id": "00000000-0000-0000-0000-000000000000",
        "tax_rate_id": "00000000-0000-0000-0000-000000000000",
        "total_amount": 12.34,
        "description": "Rutter shirt"
      }
    ],
    "created_at": "2023-01-02T02:34:56.000Z",
    "updated_at": "2023-01-02T02:34:56.000Z",
    "platform_data": {
      "id": 123,
      "data": "Varies by platform"
    }
  }
}

Create an Expense

POST /accounting/expenses
Supported for: Dynamics 365NetSuiteQuickBooksQuickBooks DesktopSage IntacctXeroZoho Books

Request Parameters

    access_tokenstringquery

    The access token of the connection.

Request Body

    expenseobject
    Show expense attributes

Response Body

    Any of:

    expenseobject
    Show expense attributes
    async_responseobjectoptional
    Show async_response attributes
    errorsarrayoptional
    Show errors attributes
Example Request Body
{
  "expense": {
    "account_id": "00000000-0000-0000-0000-000000000000",
    "subsidiary_id": "00000000-0000-0000-0000-000000000000",
    "vendor_id": "00000000-0000-0000-0000-000000000000",
    "transaction_date": "2023-01-02T02:34:56.000Z",
    "currency_code": "USD",
    "expense_type": "expense",
    "currency_rate": 1,
    "memo": "For a Rutter shirt.",
    "line_items": [
      {
        "account_id": "00000000-0000-0000-0000-000000000000",
        "class_id": "00000000-0000-0000-0000-000000000000",
        "customer_id": "00000000-0000-0000-0000-000000000000",
        "department_id": "00000000-0000-0000-0000-000000000000",
        "location_id": "00000000-0000-0000-0000-000000000000",
        "total_amount": 12.34,
        "description": "For a Rutter shirt."
      }
    ]
  }
}
Example Response Body
{
  "expense": {
    "id": "00000000-0000-0000-0000-000000000000",
    "platform_id": "12345678",
    "account_id": "00000000-0000-0000-0000-000000000000",
    "subsidiary_id": "00000000-0000-0000-0000-000000000000",
    "vendor_id": "00000000-0000-0000-0000-000000000000",
    "transaction_date": "2023-01-02T02:34:56.000Z",
    "currency_code": "USD",
    "expense_type": "expense",
    "memo": "For a Rutter shirt.",
    "line_items": [
      {
        "account_id": "00000000-0000-0000-0000-000000000000",
        "class_id": "00000000-0000-0000-0000-000000000000",
        "customer_id": "00000000-0000-0000-0000-000000000000",
        "department_id": "00000000-0000-0000-0000-000000000000",
        "location_id": "00000000-0000-0000-0000-000000000000",
        "tax_rate_id": "00000000-0000-0000-0000-000000000000",
        "total_amount": 12.34,
        "description": "Rutter shirt"
      }
    ],
    "created_at": "2023-01-02T02:34:56.000Z",
    "updated_at": "2023-01-02T02:34:56.000Z",
    "platform_data": {
      "id": 123,
      "data": "Varies by platform"
    }
  }
}

Create an Expense Refund

POST /accounting/expenses/refunds

Endpoint Removed in Version 2023-03-14

The endpoint Create an Expense Refund (POST/accounting/expenses/refunds) was removed in version 2023-03-14. This endpoint has been removed in favor of the `/accounting/expenses` endpoint. To create a new expense refund, use the `POST /accounting/expenses` endpoint and set the `expense_type` field to `refund`.