Sales Orders
The SalesOrder Object
A Rutter Sales Order represents a document generated by a vendor in response to a customer's purchase order or as a result of a direct sales transaction. It outlines the details of a customer's request to purchase specific products or services from the vendor.
Properties
idstringThe Rutter generated unique ID of the sales order.
platform_idstringThe platform specific ID of the sales order.
class_idstringnullableThe Rutter ID of the Class linked to the sales order. Deprecated for Xero, use custom fields instead.
customer_idstringfilterablenullableThe Rutter ID of the Customer linked to the sales order.
department_idstringnullableThe Rutter ID of the Department linked to the sales order.
location_idstringnullableThe Rutter ID of the Location linked to the sales order.
payment_terms_idstringnullableThe Rutter ID of the Payment Terms linked to the sales order. Supported for QuickBooks Desktop.
subsidiary_idstringnullableThe Rutter ID of the Subsidiary linked to the sales order. Supported for NetSuite.
issue_datestringThe ISO 8601 timestamp for the issue date of the sales order.
statusenumThe status of the sales order. The draft, pending, and rejected are only supported by Xero.
currency_codeenumnullableThe ISO 4217 currency code of the sales order.
currency_ratenumbernullableThe exchange rate between the currency of the sales order and the business default currency.
discount_amountnumbernullableThe discount amount applied to the sales order.
document_numberstringnullableThe buyer facing document number of the sales order.
memostringnullableThe memo of the sales order.
reference_numberstringnullableThe reference number of the sales order.
tax_amountnumbernullableThe tax amount applied to the sales order.
total_amountnumbernullableThe total amount of the sales order.
line_itemsarrayAn array of line items associated with the sales order.
line_items attributescreated_atstringfilterablenullableThe ISO 8601 timestamp that the sales order was created.
updated_atstringfilterablenullableThe ISO 8601 timestamp that the sales order was last updated.
last_synced_atstringfilterableThe ISO 8601 timestamp when the sales order was last synced by Rutter.
platform_urlstringnullableA 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_dataobjectOptionalThe raw platform data corresponding to the Rutter object.
List Sales Orders
Request Parameters
access_tokenstringqueryRequiredThe access token of the connection.
cursorstringqueryOptionalUsed to paginate to the next batch of objects. Should be a copy of the next_cursor value from the previous response.
limitintegerqueryOptionalUsed to limit the number of returned objects. Defaults to 50.
filterstringqueryOptionalNot 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: customer_id, created_at, updated_at, last_synced_at.
sortstringqueryOptionalUsed 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: customer_id, created_at, updated_at, last_synced_at.
expandenumqueryOptionalInclude platform specific data (includes additional fields not provided by the Rutter object).
last_synced_at_minintegerqueryOptionalDeprecated - 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_maxintegerqueryOptionalDeprecated - 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_minintegerqueryOptionalDeprecated - 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_fetchenumqueryOptionalUsed to force a response even if the underlying connection has not finished its initial sync.
Response Body
1{
2 "sales_orders": [
3 {
4 "id": "00000000-0000-0000-0000-000000000000",
5 "platform_id": "12345678",
6 "class_id": "00000000-0000-0000-0000-000000000000",
7 "customer_id": "00000000-0000-0000-0000-000000000000",
8 "department_id": "00000000-0000-0000-0000-000000000000",
9 "location_id": "00000000-0000-0000-0000-000000000000",
10 "payment_terms_id": "00000000-0000-0000-0000-000000000000",
11 "subsidiary_id": "00000000-0000-0000-0000-000000000000",
12 "issue_date": "2023-01-02T02:34:56.000Z",
13 "status": "open",
14 "currency_code": "USD",
15 "currency_rate": 1,
16 "discount_amount": 0,
17 "document_number": "VENDPO-1",
18 "memo": "Example sales order top-level memo",
19 "reference_number": "2",
20 "tax_amount": 0,
21 "total_amount": 12.34,
22 "line_items": [
23 {
24 "tax_rate_id": "00000000-0000-0000-0000-000000000000",
25 "description": "Example description",
26 "total_amount": 12.34,
27 "item": {
28 "id": "00000000-0000-0000-0000-000000000000",
29 "quantity": 1,
30 "unit_amount": 12.34
31 }
32 }
33 ],
34 "created_at": "2023-01-02T02:34:56.000Z",
35 "updated_at": "2023-01-02T02:34:56.000Z",
36 "last_synced_at": "2023-01-02T02:34:56.000Z",
37 "platform_url": "https://platform.com/resource?id=123",
38 "platform_data": {
39 "id": 123,
40 "data": "Varies by platform"
41 }
42 }
43 ],
44 "next_cursor": "MTY3NDgzMTk0Ml82MDY4ZDI0ZC02NGRmLTRmN2EtYTM0Ny0zN2ZmNjY5MGVmMjU=",
45 "connection": {
46 "id": "00000000-0000-0000-0000-000000000000",
47 "orgId": "00000000-0000-0000-0000-000000000000",
48 "platform": "NETSUITE"
49 }
50}
Fetch a Sales Order
Request Parameters
idstringpathRequiredThe unique ID of the object.
access_tokenstringqueryRequiredThe access token of the connection.
id_typeenumqueryOptionalUsed to indicate the type of id that is supplied. Defaults to rutter. Not currently supported on Sage Intacct or Sage Business Cloud.
force_fetchenumqueryOptionalUsed to force a response even if the underlying connection has not finished its initial sync.
Response Body
1{
2 "sales_order": {
3 "id": "00000000-0000-0000-0000-000000000000",
4 "platform_id": "12345678",
5 "class_id": "00000000-0000-0000-0000-000000000000",
6 "customer_id": "00000000-0000-0000-0000-000000000000",
7 "department_id": "00000000-0000-0000-0000-000000000000",
8 "location_id": "00000000-0000-0000-0000-000000000000",
9 "payment_terms_id": "00000000-0000-0000-0000-000000000000",
10 "subsidiary_id": "00000000-0000-0000-0000-000000000000",
11 "issue_date": "2023-01-02T02:34:56.000Z",
12 "status": "open",
13 "currency_code": "USD",
14 "currency_rate": 1,
15 "discount_amount": 0,
16 "document_number": "VENDPO-1",
17 "memo": "Example sales order top-level memo",
18 "reference_number": "2",
19 "tax_amount": 0,
20 "total_amount": 12.34,
21 "line_items": [
22 {
23 "tax_rate_id": "00000000-0000-0000-0000-000000000000",
24 "description": "Example description",
25 "total_amount": 12.34,
26 "item": {
27 "id": "00000000-0000-0000-0000-000000000000",
28 "quantity": 1,
29 "unit_amount": 12.34
30 }
31 }
32 ],
33 "created_at": "2023-01-02T02:34:56.000Z",
34 "updated_at": "2023-01-02T02:34:56.000Z",
35 "last_synced_at": "2023-01-02T02:34:56.000Z",
36 "platform_url": "https://platform.com/resource?id=123",
37 "platform_data": {
38 "id": 123,
39 "data": "Varies by platform"
40 }
41 },
42 "connection": {
43 "id": "00000000-0000-0000-0000-000000000000",
44 "orgId": "00000000-0000-0000-0000-000000000000",
45 "platform": "NETSUITE"
46 }
47}
Create a Sales Order
Request Parameters
access_tokenstringqueryRequiredThe access token of the connection.
Request Body
response_modeenumOptionalThe 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.
sales_orderobjectsales_order attributesResponse Body
1{
2 "sales_order": {
3 "customer_id": "00000000-0000-0000-0000-000000000000",
4 "issue_date": "2023-01-02T02:34:56.000Z",
5 "currency_code": "USD",
6 "line_items": [
7 {
8 "tax_rate_id": "00000000-0000-0000-0000-000000000000",
9 "description": "Example description",
10 "item": {
11 "id": "00000000-0000-0000-0000-000000000000",
12 "quantity": 1,
13 "unit_amount": 10
14 }
15 }
16 ]
17 }
18}
1{
2 "sales_order": {
3 "id": "00000000-0000-0000-0000-000000000000",
4 "platform_id": "12345678",
5 "class_id": "00000000-0000-0000-0000-000000000000",
6 "customer_id": "00000000-0000-0000-0000-000000000000",
7 "department_id": "00000000-0000-0000-0000-000000000000",
8 "location_id": "00000000-0000-0000-0000-000000000000",
9 "payment_terms_id": "00000000-0000-0000-0000-000000000000",
10 "subsidiary_id": "00000000-0000-0000-0000-000000000000",
11 "issue_date": "2023-01-02T02:34:56.000Z",
12 "status": "open",
13 "currency_code": "USD",
14 "currency_rate": 1,
15 "discount_amount": 0,
16 "document_number": "VENDPO-1",
17 "memo": "Example sales order top-level memo",
18 "reference_number": "2",
19 "tax_amount": 0,
20 "total_amount": 12.34,
21 "line_items": [
22 {
23 "tax_rate_id": "00000000-0000-0000-0000-000000000000",
24 "description": "Example description",
25 "total_amount": 12.34,
26 "item": {
27 "id": "00000000-0000-0000-0000-000000000000",
28 "quantity": 1,
29 "unit_amount": 12.34
30 }
31 }
32 ],
33 "created_at": "2023-01-02T02:34:56.000Z",
34 "updated_at": "2023-01-02T02:34:56.000Z",
35 "last_synced_at": "2023-01-02T02:34:56.000Z",
36 "platform_url": "https://platform.com/resource?id=123",
37 "platform_data": {
38 "id": 123,
39 "data": "Varies by platform"
40 }
41 }
42}
Update a Sales Order
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
idstringpathRequiredThe Rutter generated unique ID of the object.
access_tokenstringqueryRequiredThe access token of the connection.
Request Body
response_modeenumOptionalThe 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.
sales_orderobjectsales_order attributesResponse Body
1{
2 "sales_order": {
3 "customer_id": "00000000-0000-0000-0000-000000000000",
4 "issue_date": "2023-01-02T02:34:56.000Z",
5 "currency_code": "USD",
6 "line_items": [
7 {
8 "tax_rate_id": "00000000-0000-0000-0000-000000000000",
9 "description": "Example description",
10 "item": {
11 "id": "00000000-0000-0000-0000-000000000000",
12 "quantity": 1,
13 "unit_amount": 10
14 }
15 }
16 ]
17 }
18}
1{
2 "sales_order": {
3 "id": "00000000-0000-0000-0000-000000000000",
4 "platform_id": "12345678",
5 "class_id": "00000000-0000-0000-0000-000000000000",
6 "customer_id": "00000000-0000-0000-0000-000000000000",
7 "department_id": "00000000-0000-0000-0000-000000000000",
8 "location_id": "00000000-0000-0000-0000-000000000000",
9 "payment_terms_id": "00000000-0000-0000-0000-000000000000",
10 "subsidiary_id": "00000000-0000-0000-0000-000000000000",
11 "issue_date": "2023-01-02T02:34:56.000Z",
12 "status": "open",
13 "currency_code": "USD",
14 "currency_rate": 1,
15 "discount_amount": 0,
16 "document_number": "VENDPO-1",
17 "memo": "Example sales order top-level memo",
18 "reference_number": "2",
19 "tax_amount": 0,
20 "total_amount": 12.34,
21 "line_items": [
22 {
23 "tax_rate_id": "00000000-0000-0000-0000-000000000000",
24 "description": "Example description",
25 "total_amount": 12.34,
26 "item": {
27 "id": "00000000-0000-0000-0000-000000000000",
28 "quantity": 1,
29 "unit_amount": 12.34
30 }
31 }
32 ],
33 "created_at": "2023-01-02T02:34:56.000Z",
34 "updated_at": "2023-01-02T02:34:56.000Z",
35 "last_synced_at": "2023-01-02T02:34:56.000Z",
36 "platform_url": "https://platform.com/resource?id=123",
37 "platform_data": {
38 "id": 123,
39 "data": "Varies by platform"
40 }
41 }
42}
Have questions?
Contact support for personalized guidance.