Bills
The Bill Object
A Rutter Bill represents a bill issued by a vendor that the business entity must pay. Every bill is linked to an accounts payable Account, a Vendor, Purchase Orders, Bill Payments, and Bill Credit Memos.
The bill line item contains information regarding the items purchased and accounts affected in the bill. Every bill line item is linked to a debit Account, Tax Rate, and Item.
Files can be attached to Rutter Bills in the form of Rutter Attachments.
Properties
id
stringThe Rutter generated unique ID of the bill.
platform_id
stringThe platform specific ID of the bill.
account_id
stringOptionalThe Rutter ID of the Account linked to the bill. This account is the Accounts Payable Account that's being credited on the bill. Typically, the account type is accounts_payable
. If the platform requires this as an input and it's not provided, Rutter will set the default Accounts Payable account.
payment_terms_id
stringnullableAn array of Rutter IDs of Payment Terms linked to the bill.
subsidiary_id
stringnullableThe Rutter ID of the Subsidiary linked to the bill. Supported for NetSuite.
vendor_id
stringfilterablenullableThe Rutter ID of the Vendor linked to the bill.
due_date
stringThe ISO 8601 timestamp for the due date of the bill.
issue_date
stringThe ISO 8601 timestamp for the issue date of the bill.
amount_due
stringThe current amount due on the bill. Represents the remainder after bill payments or bill credit memos are applied against the total amount.
currency
enumThe ISO 4217 currency code of the bill.
status
enumThe status of the bill.
total_amount
stringThe total amount of the bill.
document_number
stringfilterablenullableThe buyer facing document number of the bill.
memo
stringnullableThe memo of the bill.
sub_total
stringnullableThe subtotal of the bill, without the tax amount.
tax_amount
stringnullableThe total tax amount applied to the bill.
total_discount
stringnullableThe total amount of discounts applied to the bill.
currency_rate
stringnullableOptionalThe exchange rate between the currency of the bill and the business default currency. Supported for NetSuite, QuickBooks, and Xero.
purchase_orders
arrayAn array of Rutter IDs of Purchase Orders linked to the bill.
purchase_orders
attributespayments
arrayAn array of Rutter IDs of Bill Payments and Bill Credit Memos applied against the bill.
payments
attributesline_items
arrayAn array of line items associated with the bill.
line_items
attributesadditional_fields
objectOptionalAdditional fields required only for a narrow set of use cases.
additional_fields
attributescreated_at
stringfilterablenullableThe ISO 8601 timestamp that the bill was created.
updated_at
stringfilterablenullableThe ISO 8601 timestamp that the bill was last updated.
last_synced_at
stringfilterableThe ISO 8601 timestamp when the bill was last synced by Rutter.
platform_url
stringnullableA 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_data
objectOptionalThe raw platform data corresponding to the Rutter object.
List Bills
Request Parameters
access_token
stringqueryRequiredThe access token of the connection.
cursor
stringqueryOptionalUsed to paginate to the next batch of objects. Should be a copy of the next_cursor
value from the previous response.
limit
integerqueryOptionalUsed to limit the number of returned objects. Defaults to 50.
filter
stringqueryOptionalNot currently supported on Sage Intacct or Sage Business Cloud. Used to specify a filtering criteria for response objects. Refer to Filtering Objects to understand the syntax for the filtering criteria. The filtering syntax only supports fields decorated with a filterable
tag in the response object.
Filterable fields: document_number
, vendor_id
, created_at
, updated_at
, last_synced_at
.
sort
stringqueryOptionalUsed to sort the response objects, e.g. last_synced_at ASC
. If a value is provided but ASC
or DESC
is not, defaults to ASC
. If omitted, defaults to updated_at DESC
. Supports only fields decorated with a filterable
tag in the response object except on Sage Intacct and Sage Business Cloud. For those platforms, only updated_at_min
, updated_at_max
and last_synced_at_min
fields are supported and not deprecated.
Sortable fields: document_number
, vendor_id
, created_at
, updated_at
, last_synced_at
.
expand
enumqueryOptionalInclude platform specific data (includes additional fields not provided by the Rutter object).
document_number
stringfilterablequeryOptionalDeprecated - use filter
instead. The exact document number to filter on. Not currently supported on Sage Intacct or Sage Business Cloud.
last_synced_at_min
integerqueryOptionalDeprecated - 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_max
integerqueryOptionalDeprecated - 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_min
integerqueryOptionalDeprecated - 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_fetch
enumqueryOptionalUsed to force a response even if the underlying connection has not finished its initial sync.
Response Body
- QuickBooks
- Xero
- QuickBooks Desktop
- NetSuite
1{
2 "bills": [
3 {
4 "id": "00000000-0000-0000-0000-000000000000",
5 "platform_id": "12345678",
6 "account_id": "00000000-0000-0000-0000-000000000000",
7 "payment_terms_id": "00000000-0000-0000-0000-000000000000",
8 "subsidiary_id": "00000000-0000-0000-0000-000000000000",
9 "vendor_id": "00000000-0000-0000-0000-000000000000",
10 "due_date": "2023-01-02T02:34:56.000Z",
11 "issue_date": "2023-01-02T02:34:56.000Z",
12 "amount_due": "9.34",
13 "currency": "USD",
14 "status": "partially_paid",
15 "total_amount": "14.34",
16 "document_number": "VENDBILL-1",
17 "memo": "Bill description",
18 "sub_total": "12.34",
19 "tax_amount": "2",
20 "total_discount": "0",
21 "currency_rate": "3.5",
22 "purchase_orders": [
23 {
24 "id": "00000000-0000-0000-0000-000000000000"
25 }
26 ],
27 "payments": [
28 {
29 "id": "00000000-0000-0000-0000-000000000000",
30 "date": "2023-01-02T02:34:56.000Z",
31 "amount": "3",
32 "type": "BILL_PAYMENT"
33 },
34 {
35 "id": "00000000-0000-0000-0000-000000000000",
36 "date": "2023-01-02T02:34:56.000Z",
37 "amount": "2",
38 "type": "BILL_CREDIT_MEMO"
39 }
40 ],
41 "line_items": [
42 {
43 "id": "00000000-0000-0000-0000-000000000000",
44 "platform_id": "12345678",
45 "account_id": "00000000-0000-0000-0000-000000000000",
46 "class_id": "00000000-0000-0000-0000-000000000000",
47 "customer_id": "00000000-0000-0000-0000-000000000000",
48 "department_id": "00000000-0000-0000-0000-000000000000",
49 "item_id": "00000000-0000-0000-0000-000000000000",
50 "location_id": "00000000-0000-0000-0000-000000000000",
51 "project_id": "00000000-0000-0000-0000-000000000000",
52 "tax_rate_id": "00000000-0000-0000-0000-000000000000",
53 "amount": "14.34",
54 "description": "A Rutter shirt.",
55 "discount_amount": "0",
56 "discount_percentage": "0",
57 "quantity": "1",
58 "sub_total": "12.34",
59 "tax_amount": "2",
60 "unit_amount": "12.34",
61 "item": {
62 "id": "00000000-0000-0000-0000-000000000000",
63 "quantity": 1,
64 "unit_amount": 12.34
65 }
66 }
67 ],
68 "created_at": "2023-01-02T02:34:56.000Z",
69 "updated_at": "2023-01-02T02:34:56.000Z",
70 "last_synced_at": "2023-01-02T02:34:56.000Z",
71 "platform_url": "https://platform.com/resource?id=123",
72 "platform_data": {
73 "id": 123,
74 "data": "Varies by platform"
75 }
76 }
77 ],
78 "next_cursor": "MTY3NDgzMTk0Ml82MDY4ZDI0ZC02NGRmLTRmN2EtYTM0Ny0zN2ZmNjY5MGVmMjU=",
79 "connection": {
80 "id": "00000000-0000-0000-0000-000000000000",
81 "orgId": "00000000-0000-0000-0000-000000000000",
82 "platform": "NETSUITE"
83 }
84}
Fetch a Bill
Request Parameters
id
stringpathRequiredThe unique ID of the object.
access_token
stringqueryRequiredThe access token of the connection.
id_type
enumqueryOptionalUsed to indicate the type of id
that is supplied. Defaults to rutter
. Not currently supported on Sage Intacct or Sage Business Cloud.
force_fetch
enumqueryOptionalUsed to force a response even if the underlying connection has not finished its initial sync.
Response Body
- QuickBooks
- Xero
- QuickBooks Desktop
- NetSuite
1{
2 "bill": {
3 "id": "00000000-0000-0000-0000-000000000000",
4 "platform_id": "12345678",
5 "account_id": "00000000-0000-0000-0000-000000000000",
6 "payment_terms_id": "00000000-0000-0000-0000-000000000000",
7 "subsidiary_id": "00000000-0000-0000-0000-000000000000",
8 "vendor_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 "amount_due": "9.34",
12 "currency": "USD",
13 "status": "partially_paid",
14 "total_amount": "14.34",
15 "document_number": "VENDBILL-1",
16 "memo": "Bill description",
17 "sub_total": "12.34",
18 "tax_amount": "2",
19 "total_discount": "0",
20 "currency_rate": "3.5",
21 "purchase_orders": [
22 {
23 "id": "00000000-0000-0000-0000-000000000000"
24 }
25 ],
26 "payments": [
27 {
28 "id": "00000000-0000-0000-0000-000000000000",
29 "date": "2023-01-02T02:34:56.000Z",
30 "amount": "3",
31 "type": "BILL_PAYMENT"
32 },
33 {
34 "id": "00000000-0000-0000-0000-000000000000",
35 "date": "2023-01-02T02:34:56.000Z",
36 "amount": "2",
37 "type": "BILL_CREDIT_MEMO"
38 }
39 ],
40 "line_items": [
41 {
42 "id": "00000000-0000-0000-0000-000000000000",
43 "platform_id": "12345678",
44 "account_id": "00000000-0000-0000-0000-000000000000",
45 "class_id": "00000000-0000-0000-0000-000000000000",
46 "customer_id": "00000000-0000-0000-0000-000000000000",
47 "department_id": "00000000-0000-0000-0000-000000000000",
48 "item_id": "00000000-0000-0000-0000-000000000000",
49 "location_id": "00000000-0000-0000-0000-000000000000",
50 "project_id": "00000000-0000-0000-0000-000000000000",
51 "tax_rate_id": "00000000-0000-0000-0000-000000000000",
52 "amount": "14.34",
53 "description": "A Rutter shirt.",
54 "discount_amount": "0",
55 "discount_percentage": "0",
56 "quantity": "1",
57 "sub_total": "12.34",
58 "tax_amount": "2",
59 "unit_amount": "12.34",
60 "item": {
61 "id": "00000000-0000-0000-0000-000000000000",
62 "quantity": 1,
63 "unit_amount": 12.34
64 }
65 }
66 ],
67 "created_at": "2023-01-02T02:34:56.000Z",
68 "updated_at": "2023-01-02T02:34:56.000Z",
69 "last_synced_at": "2023-01-02T02:34:56.000Z",
70 "platform_url": "https://platform.com/resource?id=123",
71 "platform_data": {
72 "id": 123,
73 "data": "Varies by platform"
74 }
75 },
76 "connection": {
77 "id": "00000000-0000-0000-0000-000000000000",
78 "orgId": "00000000-0000-0000-0000-000000000000",
79 "platform": "NETSUITE"
80 }
81}
Create a Bill
Request Parameters
access_token
stringqueryRequiredThe access token of the connection.
Request Body
response_mode
enumOptionalThe response mode for our async endpoints. prefer_sync
allows calling the API in a best-effort, synchronous fashion and wait for the response. If this takes too long we will instead return the asynchronous response. This is the default behavior. async
makes the API respond with the asynchronous response. See Asynchronous Operations.
bill
objectbill
attributesResponse Body
- QuickBooks
- Xero
- QuickBooks Desktop
- NetSuite
1{
2 "bill": {
3 "subsidiary_id": "00000000-0000-0000-0000-000000000000",
4 "vendor_id": "00000000-0000-0000-0000-000000000000",
5 "due_date": "2023-01-02T02:34:56.000Z",
6 "issue_date": "2023-01-02T02:34:56.000Z",
7 "currency": "USD",
8 "currency_rate": "3.5",
9 "line_items": [
10 {
11 "account_id": "00000000-0000-0000-0000-000000000000",
12 "amount": 12.34,
13 "description": "A Rutter shirt."
14 }
15 ]
16 }
17}
1{
2 "bill": {
3 "id": "00000000-0000-0000-0000-000000000000",
4 "platform_id": "12345678",
5 "account_id": "00000000-0000-0000-0000-000000000000",
6 "payment_terms_id": "00000000-0000-0000-0000-000000000000",
7 "subsidiary_id": "00000000-0000-0000-0000-000000000000",
8 "vendor_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 "amount_due": "9.34",
12 "currency": "USD",
13 "status": "partially_paid",
14 "total_amount": "14.34",
15 "document_number": "VENDBILL-1",
16 "memo": "Bill description",
17 "sub_total": "12.34",
18 "tax_amount": "2",
19 "total_discount": "0",
20 "currency_rate": "3.5",
21 "purchase_orders": [
22 {
23 "id": "00000000-0000-0000-0000-000000000000"
24 }
25 ],
26 "payments": [
27 {
28 "id": "00000000-0000-0000-0000-000000000000",
29 "date": "2023-01-02T02:34:56.000Z",
30 "amount": "3",
31 "type": "BILL_PAYMENT"
32 },
33 {
34 "id": "00000000-0000-0000-0000-000000000000",
35 "date": "2023-01-02T02:34:56.000Z",
36 "amount": "2",
37 "type": "BILL_CREDIT_MEMO"
38 }
39 ],
40 "line_items": [
41 {
42 "id": "00000000-0000-0000-0000-000000000000",
43 "platform_id": "12345678",
44 "account_id": "00000000-0000-0000-0000-000000000000",
45 "class_id": "00000000-0000-0000-0000-000000000000",
46 "customer_id": "00000000-0000-0000-0000-000000000000",
47 "department_id": "00000000-0000-0000-0000-000000000000",
48 "item_id": "00000000-0000-0000-0000-000000000000",
49 "location_id": "00000000-0000-0000-0000-000000000000",
50 "project_id": "00000000-0000-0000-0000-000000000000",
51 "tax_rate_id": "00000000-0000-0000-0000-000000000000",
52 "amount": "14.34",
53 "description": "A Rutter shirt.",
54 "discount_amount": "0",
55 "discount_percentage": "0",
56 "quantity": "1",
57 "sub_total": "12.34",
58 "tax_amount": "2",
59 "unit_amount": "12.34",
60 "item": {
61 "id": "00000000-0000-0000-0000-000000000000",
62 "quantity": 1,
63 "unit_amount": 12.34
64 }
65 }
66 ],
67 "created_at": "2023-01-02T02:34:56.000Z",
68 "updated_at": "2023-01-02T02:34:56.000Z",
69 "last_synced_at": "2023-01-02T02:34:56.000Z",
70 "platform_url": "https://platform.com/resource?id=123",
71 "platform_data": {
72 "id": 123,
73 "data": "Varies by platform"
74 }
75 }
76}
Update a Bill
If a field is provided, that field will take the updated value. If a field is not provided, the existing value will persist. The exception is for array fields such as `line_items`. For these fields, the entire array will be replaced with the new array value.
Request Parameters
id
stringpathRequiredThe Rutter generated unique ID of the object.
access_token
stringqueryRequiredThe access token of the connection.
Request Body
response_mode
enumOptionalThe response mode for our async endpoints. prefer_sync
allows calling the API in a best-effort, synchronous fashion and wait for the response. If this takes too long we will instead return the asynchronous response. This is the default behavior. async
makes the API respond with the asynchronous response. See Asynchronous Operations.
bill
objectbill
attributesResponse Body
- QuickBooks
- Xero
- QuickBooks Desktop
- NetSuite
1{
2 "bill": {
3 "memo": "Example Memo"
4 }
5}
1{
2 "bill": {
3 "id": "00000000-0000-0000-0000-000000000000",
4 "platform_id": "12345678",
5 "account_id": "00000000-0000-0000-0000-000000000000",
6 "payment_terms_id": "00000000-0000-0000-0000-000000000000",
7 "subsidiary_id": "00000000-0000-0000-0000-000000000000",
8 "vendor_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 "amount_due": "9.34",
12 "currency": "USD",
13 "status": "partially_paid",
14 "total_amount": "14.34",
15 "document_number": "VENDBILL-1",
16 "memo": "Bill description",
17 "sub_total": "12.34",
18 "tax_amount": "2",
19 "total_discount": "0",
20 "currency_rate": "3.5",
21 "purchase_orders": [
22 {
23 "id": "00000000-0000-0000-0000-000000000000"
24 }
25 ],
26 "payments": [
27 {
28 "id": "00000000-0000-0000-0000-000000000000",
29 "date": "2023-01-02T02:34:56.000Z",
30 "amount": "3",
31 "type": "BILL_PAYMENT"
32 },
33 {
34 "id": "00000000-0000-0000-0000-000000000000",
35 "date": "2023-01-02T02:34:56.000Z",
36 "amount": "2",
37 "type": "BILL_CREDIT_MEMO"
38 }
39 ],
40 "line_items": [
41 {
42 "id": "00000000-0000-0000-0000-000000000000",
43 "platform_id": "12345678",
44 "account_id": "00000000-0000-0000-0000-000000000000",
45 "class_id": "00000000-0000-0000-0000-000000000000",
46 "customer_id": "00000000-0000-0000-0000-000000000000",
47 "department_id": "00000000-0000-0000-0000-000000000000",
48 "item_id": "00000000-0000-0000-0000-000000000000",
49 "location_id": "00000000-0000-0000-0000-000000000000",
50 "project_id": "00000000-0000-0000-0000-000000000000",
51 "tax_rate_id": "00000000-0000-0000-0000-000000000000",
52 "amount": "14.34",
53 "description": "A Rutter shirt.",
54 "discount_amount": "0",
55 "discount_percentage": "0",
56 "quantity": "1",
57 "sub_total": "12.34",
58 "tax_amount": "2",
59 "unit_amount": "12.34",
60 "item": {
61 "id": "00000000-0000-0000-0000-000000000000",
62 "quantity": 1,
63 "unit_amount": 12.34
64 }
65 }
66 ],
67 "created_at": "2023-01-02T02:34:56.000Z",
68 "updated_at": "2023-01-02T02:34:56.000Z",
69 "last_synced_at": "2023-01-02T02:34:56.000Z",
70 "platform_url": "https://platform.com/resource?id=123",
71 "platform_data": {
72 "id": 123,
73 "data": "Varies by platform"
74 }
75 }
76}
Delete a Bill
Request Parameters
id
stringpathRequiredThe Rutter generated unique ID of the object.
access_token
stringqueryRequiredThe access token of the connection.
Request Body
response_mode
enumOptionalThe response mode for our async endpoints. prefer_sync
allows calling the API in a best-effort, synchronous fashion and wait for the response. If this takes too long we will instead return the asynchronous response. This is the default behavior. async
makes the API respond with the asynchronous response. See Asynchronous Operations.
Response Body
- QuickBooks
- Xero
- NetSuite
1{
2 "code": "deleted",
3 "success": true
4}
Have questions?
Contact support for personalized guidance.