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

idstring

The Rutter generated unique ID of the purchase order.

platform_idstring

The platform specific ID of the purchase order.

subsidiary_idstringnullable

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

vendor_idstringnullable

The Rutter ID of the Vendor linked to the purchase order.

posted_datestring

The ISO 8601 timestamp for when the purchase order was posted.

currency_codeenumnullable

The ISO 4217 currency code of the purchase order.

One ofAEDAFNALLAMDANGAOAARSAUDAWGAZNBAMBBDBDTBGNBHDBIFBMDBNDBOBBOVBRLBSDBTNBWPBYRBZDCADCDFCHECHFCHWCLFCLPCNYCOPCOUCRCCUCCUPCVECZKDJFDKKDOPDZDEGPERNETBEURFJDFKPGBPGELGHSGIPGMDGNFGTQGYDHKDHNLHRKHTGHUFIDRILSINRIQDIRRISKJMDJODJPYKESKGSKHRKMFKPWKRWKWDKYDKZTLAKLBPLKRLRDLSLLTLLVLLYDMADMDLMGAMKDMMKMNTMOPMROMURMVRMWKMXNMXVMYRMZNNADNGNNIONOKNPRNZDOMRPABPENPGKPHPPKRPLNPYGQARRONRSDRUBRWFSARSBDSCRSDGSEKSGDSHPSLLSOSSRDSSPSTDSVCSYPSZLTHBTJSTMTTNDTOPTRYTTDTWDTZSUAHUGXUSDUSNUSSUYIUYUUYWUZSVEFVNDVUVWSTXAFXAGXAUXBAXBBXBCXBDXCDXDRXFUXOFXPDXPFXPTXTSXXXYERZAR, or ZMW.
document_numberstringnullable

The buyer facing document number of the purchase order.

memostringnullable

The memo of the purchase order.

statusstringnullable

The status of the purchase order.

vendor_namestringnullable

The name of the Vendor linked to the purchase order.

total_amountstringnullable

The total payment amount of the purchase order.

total_quantitystringnullable

The total quantity of items in the purchase order.

line_itemsarray

An array of line items associated with the purchase order.

Show line_items attributes
created_atstringfilterablenullable

The ISO 8601 timestamp that the purchase order was created.

updated_atstringfilterablenullable

The ISO 8601 timestamp that the purchase order was last updated.

last_synced_atstringfilterable

The ISO 8601 timestamp when the purchase order 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/purchase_orders
GET
/accounting/purchase_orders/:id
POST
/accounting/purchase_orders
PATCH
/accounting/purchase_orders/:id

List Purchase Orders

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

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.
    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

    purchase_ordersarray
    Show purchase_orders 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
"purchase_orders": [
3
{
4
"id": "00000000-0000-0000-0000-000000000000",
5
"platform_id": "12345678",
6
"subsidiary_id": "00000000-0000-0000-0000-000000000000",
7
"vendor_id": "00000000-0000-0000-0000-000000000000",
8
"posted_date": "2023-01-02T02:34:56.000Z",
9
"currency_code": "USD",
10
"document_number": "VENDPO-1",
11
"memo": "For a Rutter shirt.",
12
"status": "active",
13
"vendor_name": "Rutter API",
14
"total_amount": "12.34",
15
"total_quantity": "1",
16
"line_items": [
17
{
18
"platform_id": "12345678",
19
"account_id": "00000000-0000-0000-0000-000000000000",
20
"class_id": "00000000-0000-0000-0000-000000000000",
21
"item_id": "00000000-0000-0000-0000-000000000000",
22
"tax_rate_id": "00000000-0000-0000-0000-000000000000",
23
"description": "Example description",
24
"item_name": "Rutter shirt",
25
"amount": "12.34",
26
"amount_billed": "12.34",
27
"amount_received": "12.34",
28
"quantity": "1",
29
"quantity_bill": "1",
30
"quantity_received": "1",
31
"unit_amount": "12.34"
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 Purchase Order

GEThttps://production.rutterapi.com/versioned/accounting/purchase_orders/: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

    purchase_orderobject
    Show purchase_order attributes
    connectionobject
    Show connection attributes
Support by integration
  • QuickBooks
    QuickBooks
  • NetSuite
    NetSuite
  • Xero
    Xero
  • QuickBooks Desktop
    QuickBooks Desktop
Example Response Body
JSON
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_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 Purchase Order

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

Request Parameters

    access_tokenstringqueryRequired

    The access token of the connection.

Request Body

    purchase_orderobject
    Show purchase_order attributes

Response Body

    Any of:

    purchase_orderobject
    Show purchase_order attributes
    async_responseobjectOptional
    Show async_response attributes
    errorsarrayOptional
    Show errors attributes
Support by integration
  • NetSuite
    NetSuite
  • QuickBooks Desktop
    QuickBooks Desktop
Example Request Body
JSON
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
}
Example Response Body
JSON
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_url": "https://platform.com/resource?id=123",
37
"platform_data": {
38
"id": 123,
39
"data": "Varies by platform"
40
}
41
}
42
}

Update a Purchase Order

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

Request Parameters

    idstringpathRequired

    The Rutter generated unique ID of the object.

    access_tokenstringqueryRequired

    The access token of the connection.

Request Body

    purchase_orderobject
    Show purchase_order attributes

Response Body

    Any of:

    purchase_orderobject
    Show purchase_order attributes
    async_responseobjectOptional
    Show async_response attributes
    errorsarrayOptional
    Show errors attributes
Support by integration
  • QuickBooks Desktop
    QuickBooks Desktop
Example Request Body
JSON
1
{
2
"purchase_order": {
3
"vendor_id": "00000000-0000-0000-0000-000000000000",
4
"line_items": [
5
{
6
"item": "00000000-0000-0000-0000-000000000000",
7
"quantity": 1,
8
"description": "Example description",
9
"unit_amount": 10
10
}
11
]
12
}
13
}
Example Response Body
JSON
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_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.

Contact support