Purchase Orders
The PurchaseOrder Object
A Rutter Purchase Order represents a commercial document issued by a vendor to a customer, indicating the types, quantities, and agreed prices for products or services that the customer wishes to purchase. It serves as a formal offer to buy goods or services from a vendor.
Properties
id
stringRequiredThe Rutter generated unique ID of the purchase order.
platform_id
stringRequiredThe platform specific ID of the purchase order.
subsidiary_id
stringnullableRequiredThe Rutter ID of the Subsidiary linked to the purchase order. This feature is currently only supported on NetSuite.
vendor_id
stringnullableRequiredThe Rutter ID of the Vendor linked to the purchase order.
posted_date
stringRequiredThe ISO 8601 timestamp for when the purchase order was posted.
currency_code
enumnullableRequiredThe ISO 4217 currency code of the purchase order.
document_number
stringnullableRequiredThe buyer facing document number of the purchase order.
memo
stringnullableRequiredThe memo of the purchase order.
status
stringnullableRequiredThe status of the purchase order.
vendor_name
stringnullableRequiredThe name of the Vendor linked to the purchase order.
total_amount
stringnullableRequiredThe total payment amount of the purchase order.
total_quantity
stringnullableRequiredThe total quantity of items in the purchase order.
line_items
arrayRequiredAn array of line items associated with the purchase order.
line_items
attributescreated_at
stringnullableRequiredThe ISO 8601 timestamp that the purchase order was created.
updated_at
stringnullableRequiredThe ISO 8601 timestamp that the purchase order was last updated.
last_synced_at
stringRequiredThe ISO 8601 timestamp when the purchase order was last synced by Rutter.
platform_data
objectThe raw platform data corresponding to the Rutter object.
List Purchase Orders
Request Parameters
access_token
stringqueryRequiredThe access token of the connection.
cursor
stringqueryThe cursor to use for pagination. This value is passed in from next_cursor
field in a previous request.
expand
enumqueryUsed to request inclusion of optional objects.
force_fetch
enumqueryForce a response even if the underlying connection hasn't finished the initial sync.
last_synced_at_min
integerqueryUnix Timestamp in milliseconds representing the minimum last_synced_at datetime to fetch entities from.
limit
integerqueryThe limit on the number of entities returned.
sort
stringqueryThe field and direction to sort by (ASC
or DESC
), e.g. last_synced_at ASC
. Currently supports the fields: updated_at
, last_synced_at
. If a field is provided but ASC
or DESC
is not, defaults to ASC
. If this field is omitted, defaults, to updated_at DESC
.
updated_at_max
integerqueryUnix Timestamp in milliseconds representing the maximum updated_at datetime to fetch entities from.
updated_at_min
integerqueryUnix Timestamp in milliseconds representing the minimum updated_at datetime to fetch entities from.
Response Body
connection
objectRequiredconnection
attributespurchase_orders
arrayRequiredpurchase_orders
attributesnext_cursor
stringnullable- QuickBooks
- Netsuite
- Xero
1{
2 "connection": {
3 "id": "00000000-0000-0000-0000-000000000000",
4 "orgId": "00000000-0000-0000-0000-000000000000",
5 "platform": "NETSUITE"
6 },
7 "purchase_orders": [
8 {
9 "id": "00000000-0000-0000-0000-000000000000",
10 "platform_id": "12345678",
11 "subsidiary_id": "00000000-0000-0000-0000-000000000000",
12 "vendor_id": "00000000-0000-0000-0000-000000000000",
13 "posted_date": "2023-01-02T02:34:56.000Z",
14 "currency_code": "USD",
15 "document_number": "VENDPO-1",
16 "memo": "For a Rutter shirt.",
17 "status": "active",
18 "vendor_name": "Rutter API",
19 "total_amount": "12.34",
20 "total_quantity": "1",
21 "line_items": [
22 {
23 "platform_id": "12345678",
24 "account_id": "00000000-0000-0000-0000-000000000000",
25 "class_id": "00000000-0000-0000-0000-000000000000",
26 "item_id": "00000000-0000-0000-0000-000000000000",
27 "tax_rate_id": "00000000-0000-0000-0000-000000000000",
28 "description": "Example description",
29 "item_name": "Rutter shirt",
30 "amount": "12.34",
31 "amount_billed": "12.34",
32 "amount_received": "12.34",
33 "quantity": "1",
34 "quantity_bill": "1",
35 "quantity_received": "1",
36 "unit_amount": "12.34"
37 }
38 ],
39 "created_at": "2023-01-02T02:34:56.000Z",
40 "updated_at": "2023-01-02T02:34:56.000Z",
41 "last_synced_at": "2023-01-02T02:34:56.000Z",
42 "platform_data": {
43 "id": 123,
44 "data": "Varies by platform"
45 }
46 }
47 ],
48 "next_cursor": "MTY3NDgzMTk0Ml82MDY4ZDI0ZC02NGRmLTRmN2EtYTM0Ny0zN2ZmNjY5MGVmMjU="
49}
Fetch a Purchase Order
Request Parameters
access_token
stringqueryRequiredThe access token of the connection.
force_fetch
enumqueryForce a response even if the underlying connection hasn't finished the initial sync.
Response Body
connection
objectRequiredconnection
attributespurchase_order
objectRequiredpurchase_order
attributes- QuickBooks
- Netsuite
- Xero
1{
2 "connection": {
3 "id": "00000000-0000-0000-0000-000000000000",
4 "orgId": "00000000-0000-0000-0000-000000000000",
5 "platform": "NETSUITE"
6 },
7 "purchase_order": {
8 "id": "00000000-0000-0000-0000-000000000000",
9 "platform_id": "12345678",
10 "subsidiary_id": "00000000-0000-0000-0000-000000000000",
11 "vendor_id": "00000000-0000-0000-0000-000000000000",
12 "posted_date": "2023-01-02T02:34:56.000Z",
13 "currency_code": "USD",
14 "document_number": "VENDPO-1",
15 "memo": "For a Rutter shirt.",
16 "status": "active",
17 "vendor_name": "Rutter API",
18 "total_amount": "12.34",
19 "total_quantity": "1",
20 "line_items": [
21 {
22 "platform_id": "12345678",
23 "account_id": "00000000-0000-0000-0000-000000000000",
24 "class_id": "00000000-0000-0000-0000-000000000000",
25 "item_id": "00000000-0000-0000-0000-000000000000",
26 "tax_rate_id": "00000000-0000-0000-0000-000000000000",
27 "description": "Example description",
28 "item_name": "Rutter shirt",
29 "amount": "12.34",
30 "amount_billed": "12.34",
31 "amount_received": "12.34",
32 "quantity": "1",
33 "quantity_bill": "1",
34 "quantity_received": "1",
35 "unit_amount": "12.34"
36 }
37 ],
38 "created_at": "2023-01-02T02:34:56.000Z",
39 "updated_at": "2023-01-02T02:34:56.000Z",
40 "last_synced_at": "2023-01-02T02:34:56.000Z",
41 "platform_data": {
42 "id": 123,
43 "data": "Varies by platform"
44 }
45 }
46}
Create a Purchase Order
Request Parameters
access_token
stringqueryRequiredThe access token of the connection.
Request Body
purchase_order
objectRequiredpurchase_order
attributesResponse Body
Any of:
purchase_order
objectRequiredpurchase_order
attributesasync_response
objectasync_response
attributeserrors
arrayerrors
attributes- Netsuite
1{
2 "purchase_order": {
3 "vendor_id": "00000000-0000-0000-0000-000000000000",
4 "currency": "USD",
5 "line_items": [
6 {
7 "item": "00000000-0000-0000-0000-000000000000",
8 "quantity": 1,
9 "description": "Example description",
10 "unit_amount": 10
11 }
12 ]
13 }
14}
1{
2 "purchase_order": {
3 "id": "00000000-0000-0000-0000-000000000000",
4 "platform_id": "12345678",
5 "subsidiary_id": "00000000-0000-0000-0000-000000000000",
6 "vendor_id": "00000000-0000-0000-0000-000000000000",
7 "posted_date": "2023-01-02T02:34:56.000Z",
8 "currency_code": "USD",
9 "document_number": "VENDPO-1",
10 "memo": "For a Rutter shirt.",
11 "status": "active",
12 "vendor_name": "Rutter API",
13 "total_amount": "12.34",
14 "total_quantity": "1",
15 "line_items": [
16 {
17 "platform_id": "12345678",
18 "account_id": "00000000-0000-0000-0000-000000000000",
19 "class_id": "00000000-0000-0000-0000-000000000000",
20 "item_id": "00000000-0000-0000-0000-000000000000",
21 "tax_rate_id": "00000000-0000-0000-0000-000000000000",
22 "description": "Example description",
23 "item_name": "Rutter shirt",
24 "amount": "12.34",
25 "amount_billed": "12.34",
26 "amount_received": "12.34",
27 "quantity": "1",
28 "quantity_bill": "1",
29 "quantity_received": "1",
30 "unit_amount": "12.34"
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_data": {
37 "id": 123,
38 "data": "Varies by platform"
39 }
40 }
41}
Have questions?
Contact support for personalized guidance.