Invoices

The Invoice Object

A Rutter Invoice represents an invoice issued by the business entity that a customer must pay. Every invoice is linked to an accounts receivable Account, a Customer, Invoice Payments, and Invoice Credit Memos.

The invoice line item contains information regarding the items sold and accounts affected in the invoice. Every invoice line item is linked to a credit Account, Tax Rate, or Item.

Files can be attached to Rutter Invoices in the form of Rutter Attachments.

Properties

idstring

The Rutter generated unique ID of the invoice.

platform_idstring

The platform specific ID of the invoice.

account_idstring

The Rutter ID of the Account linked to the invoice. Represents the account being debited.

class_idstringnullableOptional

The Rutter ID of the Class linked to the invoice. Supported for QuickBooks.

customer_idstringnullable

The Rutter ID of the Customers linked to the invoice.

subsidiary_idstringnullable

The Rutter ID of the Subsidiary linked to the invoice. Supported for NetSuite.

due_datestringnullable

The ISO 8601 timestamp for when the invoice is/was due.

issue_datestring

The ISO 8601 timestamp for when the invoice was issued.

statusenum

The status of the invoice.

One ofopenpartially_paidpaidvoiddraftunknown, or submitted.
currency_codestringnullable

The ISO 4217 currency code of the invoice.

document_numberstringfilterablenullable

The seller facing document number of the invoice.

memostringnullableOptional

The memo of the invoice.

amount_duestringnullable

The current amount due on the invoice. Represents the remainder after invoice payments or invoice credit memos are applied against the total amount.

sub_totalstringnullable

The subtotal of the invoice, without the tax amount.

tax_amountstringnullable

The total tax amount applied to the invoice.

total_amountstringnullable

The total amount due on the invoice.

total_discountstringnullable

The total amount of discounts applied to the invoice.

linked_paymentsarray

An array of Rutter IDs of Invoice Payments and Invoice Credit Memos applied against the invoice.

Show linked_payments attributes
line_itemsarray

An array of line items associated with the invoice.

Show line_items attributes
additional_fieldsobjectOptional

Additional fields required only for a narrow set of use cases.

Show additional_fields attributes
created_atstringfilterablenullable

The ISO 8601 timestamp that the invoice was created.

updated_atstringfilterablenullable

The ISO 8601 timestamp that the invoice was last updated.

last_synced_atstringfilterable

The ISO 8601 timestamp when the invoice was last synced by Rutter.

platform_urlstringnullable

A URL pointing to the object in the underlying platform. When no URL exists for the specific object, the value may be a larger URL containing the object.

platform_dataobjectOptional

The raw platform data corresponding to the Rutter object.

Endpoints
GET
/accounting/invoices
GET
/accounting/invoices/:id
POST
/accounting/invoices
PATCH
/accounting/invoices/:id
DELETE
/accounting/invoices/:id

List Invoices

GEThttps://production.rutterapi.com/versioned/accounting/invoices

Request Parameters

    access_tokenstringqueryRequired

    The access token of the connection.

    cursorstringqueryOptional

    Used to paginate to the next batch of objects. Should be a copy of the next_cursor value from the previous response.

    limitintegerqueryOptional

    Used to limit the number of returned objects. Defaults to 50.

    filterstringqueryOptional

    Used to specify criteria to filter out the objects returned. Supports all filterable fields. Check Filtering Objects for more information. Not supported on QuickBooks Desktop, Sage Intacct, or Dynamics 365.

    sortstringqueryOptional

    Used to sort the returned objects, e.g. last_synced_at ASC. Supports all filterable fields except on QuickBooks Desktop, Sage Intacct, and Dynamics 365. For those platforms only updated_at and last_synced_at fields are supported. If a value is provided but ASC or DESC is not, defaults to ASC. If omitted, defaults to updated_at DESC.

    expandenumqueryOptional

    Include platform specific data (includes additional fields not provided by the Rutter object).

    Must beplatform_data.
    document_numberstringqueryOptional

    Deprecated - use filter instead. The exact document number to filter on. Not supported on Sage Intacct, or Dynamics 365.

    last_synced_at_minintegerqueryOptional

    Deprecated - use filter instead. Used to filter objects with a last_synced_at value greater than or equal to the supplied value. Should be a Unix time in milliseconds.

    updated_at_maxintegerqueryOptional

    Deprecated - use filter instead. Used to filter objects with a updated_at value less than or equal to the supplied value. Should be a Unix time in milliseconds.

    updated_at_minintegerqueryOptional

    Deprecated - use filter instead. Used to filter objects with a updated_at value greater than or equal to the supplied value. Should be a Unix time in milliseconds.

    force_fetchenumqueryOptional

    Used to force a response even if the underlying connection has not finished its initial sync.

    One oftrue or false.

Response Body

    invoicesarray
    Show invoices attributes
    next_cursorstringnullableOptional
    connectionobject
    Show connection attributes
Support by integration
  • QuickBooks
    QuickBooks
  • NetSuite
    NetSuite
  • Xero
    Xero
  • QuickBooks Desktop
    QuickBooks Desktop
Example Response Body
JSON
1
{
2
"invoices": [
3
{
4
"id": "00000000-0000-0000-0000-000000000000",
5
"platform_id": "12345678",
6
"account_id": "00000000-0000-0000-0000-000000000000",
7
"customer_id": "00000000-0000-0000-0000-000000000000",
8
"subsidiary_id": "00000000-0000-0000-0000-000000000000",
9
"due_date": "2023-01-02T02:34:56.000Z",
10
"issue_date": "2023-01-02T02:34:56.000Z",
11
"status": "partially_paid",
12
"currency_code": "USD",
13
"document_number": "CUSTINVC-1",
14
"memo": "For a Rutter shirt.",
15
"amount_due": "9.34",
16
"sub_total": "12.34",
17
"tax_amount": "2",
18
"total_amount": "14.34",
19
"total_discount": "0",
20
"linked_payments": [
21
{
22
"id": "00000000-0000-0000-0000-000000000000",
23
"date": "2023-01-02T02:34:56.000Z",
24
"type": "INVOICE_PAYMENT",
25
"amount": "3"
26
},
27
{
28
"id": "00000000-0000-0000-0000-000000000000",
29
"date": "2023-01-02T02:34:56.000Z",
30
"type": "INVOICE_CREDIT_MEMO",
31
"amount": "2"
32
}
33
],
34
"line_items": [
35
{
36
"id": "00000000-0000-0000-0000-000000000000",
37
"platform_id": "12345678",
38
"account_id": "00000000-0000-0000-0000-000000000000",
39
"class_id": "00000000-0000-0000-0000-000000000000",
40
"item_id": "00000000-0000-0000-0000-000000000000",
41
"tax_rate_id": "00000000-0000-0000-0000-000000000000",
42
"description": "A Rutter shirt.",
43
"quantity": 1,
44
"amount": "14.34",
45
"discount_amount": "0",
46
"discount_percentage": "0",
47
"sub_total": "12.34",
48
"tax_amount": "2",
49
"unit_amount": "12.34"
50
}
51
],
52
"created_at": "2023-01-02T02:34:56.000Z",
53
"updated_at": "2023-01-02T02:34:56.000Z",
54
"last_synced_at": "2023-01-02T02:34:56.000Z",
55
"platform_url": "https://platform.com/resource?id=123",
56
"platform_data": {
57
"id": 123,
58
"data": "Varies by platform"
59
}
60
}
61
],
62
"next_cursor": "MTY3NDgzMTk0Ml82MDY4ZDI0ZC02NGRmLTRmN2EtYTM0Ny0zN2ZmNjY5MGVmMjU=",
63
"connection": {
64
"id": "00000000-0000-0000-0000-000000000000",
65
"orgId": "00000000-0000-0000-0000-000000000000",
66
"platform": "NETSUITE"
67
}
68
}

Fetch an Invoice

GEThttps://production.rutterapi.com/versioned/accounting/invoices/:id

Request Parameters

    idstringpathRequired

    The unique ID of the object.

    access_tokenstringqueryRequired

    The access token of the connection.

    id_typeenumqueryOptional

    Used to indicate the type of id that is supplied. Defaults to rutter. Not supported on QuickBooks Desktop, Sage Intacct, or Dynamics 365.

    One ofrutter or platform.
    force_fetchenumqueryOptional

    Used to force a response even if the underlying connection has not finished its initial sync.

    One oftrue or false.

Response Body

    invoiceobject
    Show invoice attributes
    connectionobject
    Show connection attributes
Support by integration
  • QuickBooks
    QuickBooks
  • NetSuite
    NetSuite
  • Xero
    Xero
  • QuickBooks Desktop
    QuickBooks Desktop
Example Response Body
JSON
1
{
2
"invoice": {
3
"id": "00000000-0000-0000-0000-000000000000",
4
"platform_id": "12345678",
5
"account_id": "00000000-0000-0000-0000-000000000000",
6
"customer_id": "00000000-0000-0000-0000-000000000000",
7
"subsidiary_id": "00000000-0000-0000-0000-000000000000",
8
"due_date": "2023-01-02T02:34:56.000Z",
9
"issue_date": "2023-01-02T02:34:56.000Z",
10
"status": "partially_paid",
11
"currency_code": "USD",
12
"document_number": "CUSTINVC-1",
13
"memo": "For a Rutter shirt.",
14
"amount_due": "9.34",
15
"sub_total": "12.34",
16
"tax_amount": "2",
17
"total_amount": "14.34",
18
"total_discount": "0",
19
"linked_payments": [
20
{
21
"id": "00000000-0000-0000-0000-000000000000",
22
"date": "2023-01-02T02:34:56.000Z",
23
"type": "INVOICE_PAYMENT",
24
"amount": "3"
25
},
26
{
27
"id": "00000000-0000-0000-0000-000000000000",
28
"date": "2023-01-02T02:34:56.000Z",
29
"type": "INVOICE_CREDIT_MEMO",
30
"amount": "2"
31
}
32
],
33
"line_items": [
34
{
35
"id": "00000000-0000-0000-0000-000000000000",
36
"platform_id": "12345678",
37
"account_id": "00000000-0000-0000-0000-000000000000",
38
"class_id": "00000000-0000-0000-0000-000000000000",
39
"item_id": "00000000-0000-0000-0000-000000000000",
40
"tax_rate_id": "00000000-0000-0000-0000-000000000000",
41
"description": "A Rutter shirt.",
42
"quantity": 1,
43
"amount": "14.34",
44
"discount_amount": "0",
45
"discount_percentage": "0",
46
"sub_total": "12.34",
47
"tax_amount": "2",
48
"unit_amount": "12.34"
49
}
50
],
51
"created_at": "2023-01-02T02:34:56.000Z",
52
"updated_at": "2023-01-02T02:34:56.000Z",
53
"last_synced_at": "2023-01-02T02:34:56.000Z",
54
"platform_url": "https://platform.com/resource?id=123",
55
"platform_data": {
56
"id": 123,
57
"data": "Varies by platform"
58
}
59
},
60
"connection": {
61
"id": "00000000-0000-0000-0000-000000000000",
62
"orgId": "00000000-0000-0000-0000-000000000000",
63
"platform": "NETSUITE"
64
}
65
}

Create an Invoice

POSThttps://production.rutterapi.com/versioned/accounting/invoices

Request Parameters

    access_tokenstringqueryRequired

    The access token of the connection.

Request Body

    invoiceobject
    Show invoice attributes

Response Body

    Any of:

    invoiceobject
    Show invoice attributes
    async_responseobjectOptional
    Show async_response attributes
    errorsarrayOptional
    Show errors attributes
Support by integration
  • QuickBooks
    QuickBooks
  • NetSuite
    NetSuite
  • Xero
    Xero
  • QuickBooks Desktop
    QuickBooks Desktop
Example Request Body
JSON
1
{
2
"invoice": {
3
"customer_id": "00000000-0000-0000-0000-000000000000",
4
"due_date": "2023-01-02T02:34:56.000Z",
5
"issue_date": "2023-01-02T02:34:56.000Z",
6
"currency_code": "USD",
7
"document_number": "CUSTINVC-1",
8
"memo": "For a Rutter shirt.",
9
"line_items": [
10
{
11
"total_amount": 12.34,
12
"description": "A Rutter Shirt",
13
"item": {
14
"id": "00000000-0000-0000-0000-000000000000",
15
"quantity": 1,
16
"unit_amount": 12.34
17
}
18
}
19
]
20
}
21
}
Example Response Body
JSON
1
{
2
"invoice": {
3
"id": "00000000-0000-0000-0000-000000000000",
4
"platform_id": "12345678",
5
"account_id": "00000000-0000-0000-0000-000000000000",
6
"customer_id": "00000000-0000-0000-0000-000000000000",
7
"subsidiary_id": "00000000-0000-0000-0000-000000000000",
8
"due_date": "2023-01-02T02:34:56.000Z",
9
"issue_date": "2023-01-02T02:34:56.000Z",
10
"status": "partially_paid",
11
"currency_code": "USD",
12
"document_number": "CUSTINVC-1",
13
"memo": "For a Rutter shirt.",
14
"amount_due": "9.34",
15
"sub_total": "12.34",
16
"tax_amount": "2",
17
"total_amount": "14.34",
18
"total_discount": "0",
19
"linked_payments": [
20
{
21
"id": "00000000-0000-0000-0000-000000000000",
22
"date": "2023-01-02T02:34:56.000Z",
23
"type": "INVOICE_PAYMENT",
24
"amount": "3"
25
},
26
{
27
"id": "00000000-0000-0000-0000-000000000000",
28
"date": "2023-01-02T02:34:56.000Z",
29
"type": "INVOICE_CREDIT_MEMO",
30
"amount": "2"
31
}
32
],
33
"line_items": [
34
{
35
"id": "00000000-0000-0000-0000-000000000000",
36
"platform_id": "12345678",
37
"account_id": "00000000-0000-0000-0000-000000000000",
38
"class_id": "00000000-0000-0000-0000-000000000000",
39
"item_id": "00000000-0000-0000-0000-000000000000",
40
"tax_rate_id": "00000000-0000-0000-0000-000000000000",
41
"description": "A Rutter shirt.",
42
"quantity": 1,
43
"amount": "14.34",
44
"discount_amount": "0",
45
"discount_percentage": "0",
46
"sub_total": "12.34",
47
"tax_amount": "2",
48
"unit_amount": "12.34"
49
}
50
],
51
"created_at": "2023-01-02T02:34:56.000Z",
52
"updated_at": "2023-01-02T02:34:56.000Z",
53
"last_synced_at": "2023-01-02T02:34:56.000Z",
54
"platform_url": "https://platform.com/resource?id=123",
55
"platform_data": {
56
"id": 123,
57
"data": "Varies by platform"
58
}
59
}
60
}

Update an Invoice

PATCHhttps://production.rutterapi.com/versioned/accounting/invoices/:id

If a field value is provided, that field will take the updated value. If the field is not provided, the existing value will persist.

Request Parameters

    idstringpathRequired

    The Rutter generated unique ID of the object.

    access_tokenstringqueryRequired

    The access token of the connection.

Request Body

    invoiceobject
    Show invoice attributes

Response Body

    Any of:

    invoiceobject
    Show invoice attributes
    async_responseobjectOptional
    Show async_response attributes
    errorsarrayOptional
    Show errors attributes
Support by integration
  • QuickBooks
    QuickBooks
  • NetSuite
    NetSuite
  • Xero
    Xero
  • QuickBooks Desktop
    QuickBooks Desktop
Example Request Body
JSON
1
{
2
"invoice": {
3
"due_date": "2023-01-02T02:34:56.000Z",
4
"document_number": "CUSTINVC-2",
5
"line_items": [
6
{
7
"total_amount": 12.34,
8
"description": "A Rutter Shirt",
9
"item": {
10
"id": "00000000-0000-0000-0000-000000000000",
11
"quantity": 1,
12
"unit_amount": 12.34
13
}
14
}
15
]
16
}
17
}
Example Response Body
JSON
1
{
2
"invoice": {
3
"id": "00000000-0000-0000-0000-000000000000",
4
"platform_id": "12345678",
5
"account_id": "00000000-0000-0000-0000-000000000000",
6
"customer_id": "00000000-0000-0000-0000-000000000000",
7
"subsidiary_id": "00000000-0000-0000-0000-000000000000",
8
"due_date": "2023-01-02T02:34:56.000Z",
9
"issue_date": "2023-01-02T02:34:56.000Z",
10
"status": "partially_paid",
11
"currency_code": "USD",
12
"document_number": "CUSTINVC-1",
13
"memo": "For a Rutter shirt.",
14
"amount_due": "9.34",
15
"sub_total": "12.34",
16
"tax_amount": "2",
17
"total_amount": "14.34",
18
"total_discount": "0",
19
"linked_payments": [
20
{
21
"id": "00000000-0000-0000-0000-000000000000",
22
"date": "2023-01-02T02:34:56.000Z",
23
"type": "INVOICE_PAYMENT",
24
"amount": "3"
25
},
26
{
27
"id": "00000000-0000-0000-0000-000000000000",
28
"date": "2023-01-02T02:34:56.000Z",
29
"type": "INVOICE_CREDIT_MEMO",
30
"amount": "2"
31
}
32
],
33
"line_items": [
34
{
35
"id": "00000000-0000-0000-0000-000000000000",
36
"platform_id": "12345678",
37
"account_id": "00000000-0000-0000-0000-000000000000",
38
"class_id": "00000000-0000-0000-0000-000000000000",
39
"item_id": "00000000-0000-0000-0000-000000000000",
40
"tax_rate_id": "00000000-0000-0000-0000-000000000000",
41
"description": "A Rutter shirt.",
42
"quantity": 1,
43
"amount": "14.34",
44
"discount_amount": "0",
45
"discount_percentage": "0",
46
"sub_total": "12.34",
47
"tax_amount": "2",
48
"unit_amount": "12.34"
49
}
50
],
51
"created_at": "2023-01-02T02:34:56.000Z",
52
"updated_at": "2023-01-02T02:34:56.000Z",
53
"last_synced_at": "2023-01-02T02:34:56.000Z",
54
"platform_url": "https://platform.com/resource?id=123",
55
"platform_data": {
56
"id": 123,
57
"data": "Varies by platform"
58
}
59
}
60
}

Delete an Invoice

DELETEhttps://production.rutterapi.com/versioned/accounting/invoices/:id

Request Parameters

    idstringpathRequired

    The Rutter generated unique ID of the object.

    access_tokenstringqueryRequired

    The access token of the connection.

Response Body

    Any of:

    deleted_invoiceobject
    Show deleted_invoice attributes
    async_responseobjectOptional
    Show async_response attributes
    errorsarrayOptional
    Show errors attributes
Support by integration
  • QuickBooks
    QuickBooks
Example Response Body
JSON
1
{
2
"deleted_invoice": {
3
"code": "deleted",
4
"success": true
5
}
6
}

Have questions?

Contact support for personalized guidance.

Contact support