Site Logo

Create a Sales Order Manually

ShipEngine allows users to create sales orders manually via the API.

At a minimum, you will need the following pieces of information to create your sales order:

  • external_order_id
  • order_date
  • ship_to for every sales order item, if any

You may also provide most of the additional information available on a sales order, as seen below.

Example

POST /v-beta/sales_orders

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
POST /v-beta/sales_orders HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"external_order_id": "1111",
"external_order_number": "2222",
"order_source": {
"order_source_id": "9ab83300-39ba-4159-96f8-0d0ef6dfcbfa"
},
"order_date": "2019-07-25T15:24:46.657Z",
"payment_details": {
"subtotal": {
"currency": "usd",
"amount": 200
},
"estimated_shipping": {
"currency": "usd",
"amount": 10
},
"estimated_tax": {
"currency": "usd",
"amount": 5
},
"grand_total": {
"currency": "usd",
"amount": 215
}
},
"customer": {
"name": "Amanda Miller",
"phone": "555-555-5555",
"email": "[email protected]"
},
"bill_to": {
"email": "[email protected]",
"address": {
"name": "Amanda Miller",
"phone": "555-555-5555",
"address_line1": "525 S Winchester Blvd",
"city_locality": "San Jose",
"state_province": "CA",
"postal_code": "95128",
"country_code": "US",
"address_residential_indicator": "yes"
}
},
"ship_to": {
"name": "Amanda Miller",
"phone": "555-555-5555",
"address_line1": "525 S Winchester Blvd",
"city_locality": "San Jose",
"state_province": "CA",
"postal_code": "95128",
"country_code": "US",
"address_residential_indicator": "yes"
},
"sales_order_items": [
{
"line_item_details": {
"name": "ball of string A",
"sku": "ball of string A"
},
"price_summary": {
"unit_price": {
"currency": "usd",
"amount": 200
}
},
"ship_to": {
"name": "Amanda Miller",
"phone": "555-555-5555",
"address_line1": "525 S Winchester Blvd",
"city_locality": "San Jose",
"state_province": "CA",
"postal_code": "95128",
"country_code": "US",
"address_residential_indicator": "yes"
},
"quantity": 4,
"is_gift": false
}
]
}

Order source for the sales order

You can leave the order_source empty in your request and a default api order source will be created automatically for you if no api order source exists. If you already have an api order source connected to your account, it will be used if none is specified in the request. However, if you have multiple connected api order sources, you must specify which one you'd like to use in your request.

Different shipping addresses for different sales order items

You may specify your ship_to address either for the sales order as a whole, or for each individual sales order item. If you specify the ship_to address for the sales order, the address will apply across all of the sales order items. You may also specify the ship_to address for the sales order as well as all the items, as long as the addresses are identical.