A purchase order represents instructions to a vendor or warehouse to ship the specified items to the end customer.
The Purchase Order object
A Purchase Order is associated with:
- A single Shipping Address
- One or more Order Items
Each Purchase Order has the following attributes:
Field | Description |
---|---|
id |
The unique numeric identifier for the purchase order. This is assigned by Duoplane and cannot be changed. This id is used primarily for interaction with the API. |
public_reference |
The alphanumeric purchase order number reference to the purchase order. This value is unique for a given retailer. Depending on the settings of the retailer, the PO number is either an auto-incrementing numeric value, or it is the sales order number followed by a numeric suffix (e.g. 1001-1). |
created_at | The date and time in UTC when the purchase order was created. |
updated_at | The date and time in UTC when the purchase order was last updated. |
ordered_at | The date and time in UTC when the sales order was placed. |
sent_at | The date and time in UTC when the purchase order was sent to the vendor. |
order_id | The unique numeric identifier for the sales order. This is assigned by Duoplane and cannot be changed. |
order_public_reference | The order number or code assigned to the sales order by the ecommerce platform. |
retailer_id | The unique numeric identifier for the purchase order's retailer. This value is assigned by Duoplane. |
retailer_account |
The account number for this retailer in the vendor's internal systems. This must be configured within Duoplane in order to appear. |
retailer_name | The name of the retailer who created this purchase order. |
vendor_id | The unique numeric identifier for the purchase order's vendor. This value is assigned by Duoplane. |
vendor_account |
The account number for this vendor in the retailer's internal systems. This must be configured within Duoplane in order to appear. |
vendor | The name of the vendor of this purchase order. |
vendor_reference | A reference to this purchase order in the vendor's system. This value can be assigned by a vendor in order to link a purchase order to a sales order or other record in the vendor's system. |
status |
The status of the purchase order. Possible values are:
|
store_name | The name of the store for the associated sales order. |
ship_method | The ship method specified for this purchase order. |
total_shipping_revenue | The shipping revenue collected from the end customer for the items on this purchase order.
Depending on the merchant’s settings, total_shipping_revenue may not be visible on purchase orders.
|
total_tax | The tax collected from the end customer for the items on this purchase order.
Depending on the merchant’s settings, total_tax may not be visible on purchase orders.
|
promise_date |
The date by which this purchase order is expected to ship. If the purchase order has multiple items with different expected ship dates, the overall |
customer_note | Order-level customer note.
Depending on the merchant’s settings, customer_note may not be visible on purchase orders.
|
order_notes |
An array of order-level attributes from the ecommerce channel:
Depending on the merchant’s settings, order_notes may not be visible on purchase orders.
|
shipping_address |
The address where the order should be shipped. The fields provided for the shipping address are:
* Depending on the merchant's settings, customer email addresses and phone numbers may not be visible on purchase orders.
|
order_items |
The items on the purchase order.
|
Retrieve a list of purchase orders
GET https://app.duoplane.com/purchase_orders.json
All request parameters must be nested in a hash / associative array with the key "search". E.g.:
?search[fulfilled]=1
Search Parameter | Description |
---|---|
ids |
An array of numeric purchase orders IDs. Note that this refers to the unique IDs that are automatically assigned by Duoplane to each purchase order, not the commonly referenced purchase order number. |
customer_name |
The name of the customer on the shipping address of this purchase order. Partial matches are allowed. (E.g. a search for "B Smi" will find "Bill Smith".) |
public_reference | The purchase order number as it appears on the purchase order. |
order_public_reference | The order number or code assigned to the sales order by the ecommerce platform. |
vendor_reference | A reference to this purchase order in the vendor's system. |
order_item_name |
The name of an item on the purchase order. Partial matches are allowed. (E.g. a search for "R Bag" will find "Red Bag".) |
fulfilled |
Whether the purchase order has been completely fulfilled. Acceptable values for "true" are "true", "1", or "yes" (all case insensitive). Any other value is "false". |
late | Whether any items on the purchase order are late, as determined by the item's most recent promise date. |
confirmed | Whether the purchase order has been marked as "confirmed". |
canceled | Whether all of the items on the purchase order have been canceled. |
vendor_id | The Duoplane-assigned unique numeric ID of the vendor on the purchase order. |
retailer_id | The Duoplane-assigned unique numeric ID of the retailer on the purchase order. |
created_at_min | Retrieve only purchase orders created after this time.* |
created_at_max | Retrieve only purchase orders created before this time.* |
updated_at_min | Retrieve only purchase orders updated after this time.* |
updated_at_max | Retrieve only purchase orders updated before this time.* |
sent_at_min | Retrieve only purchase orders that were sent to the vendor after this time.* |
sent_at_max | Retrieve only purchase orders that were sent to the vendor before this time.* |
* Times should be in ISO 8601 format with time zone or zone offset. If not explicitly provided, the time zone is assumed to be that of the requesting API user.
Pagination
In addition to the search filters, you can specify paging parameters:
Paging Parameter | Description |
---|---|
per_page |
The maximum number of records to return with each call. The default and maximum value is 250. |
page |
If the count of records matching the search exceeds the number that are returned in a single response, the page number for subsequent requests. |
Update a purchase order
PUT https://app.duoplane.com/purchase_orders/#{purchase_order_id}.json
The following fields can be used to update an existing purchase order:
Field | Description |
---|---|
confirmed |
Set this to acknowledge the receipt and acceptance of a purchase order. Any of the following values are acceptable to indicating that a purchase order is confirmed (case-insensitive): yes, y, true, or 1 |
hold_purchase_order_until |
For purchase order that have not yet been sent to the vendor, this is a timestamp for the earliest time to release the purchase order to the vendor. This is useful for holding purchase orders until a future date. The timestamp should be in ISO 8601 format with time zone or zone offset. This field can only be updated by the purchase order retailer, and it can only be updated before a purchase order is sent to the vendor. |
promise_date | The date by which this purchase order is expected to ship. If this value is updated via the API, the promise dates of all unfulfilled items on the purchase order will be updated to this value. |
vendor_reference | A reference to this purchase order in the vendor's system. |
Sample request for confirming a purchase order and setting a vendor reference:
PUT https://app.duoplane.com/purchase_orders/987654.json { "purchase_order": { "confirmed": 1, "vendor_reference": "SO9876" } }
Comments
0 comments
Article is closed for comments.