A breakdown of the CSV columns available for use with the Shippit Connect FTP Integration can be found below.
For complete guidelines on what entries are accepted for each of the CSV columns, including the data types and requirements for each value, see our API Documentation for Create Order and review the REQUEST BODY SCHEMA.
Quick Links
Sample CSV
Download the sample CSV that suits your business. These include sample entries for reference
Domestic and International Orders [Sample CSV]
Orders for Tracking Only [Sample CSV]
Orders with Multiple Parcels
When you are dealing with an order that contains multiple parcels, add each parcel as a separate row in the CSV. In these cases, the primary shipping details should be repeated to ensure all parcels include the correct shipping details.
For an example of how that would look, download the Sample CSV above and review the first 3 rows.
Pro Tips
Headers are case-sensitive and do not support whitespace. Ensure you are using the correct header as described in the table in Columns Breakdown
Avoid duplicating orders across multiple rows. We have no process to identify duplicates and will process all orders explicitly. This does not include splitting an order over multiple rows due to multiple parcels.
Trim the values to remove whitespace before and after the value as this can lead to inconsistencies
Do not leave required fields empty in the CSV as this may cause the row/order to not process.
Not all carriers support the new customs fields. In these cases, Shippit will use default carrier values.
Recommendations
Even if a column contains no values, we recommend keeping the column in the CSV. This helps avoid downstream issues if someone uses the last CSV as the template for their version.
Try to avoid using unconventional characters since not all carriers support these.
eg. Use dash (-) character instead of the en dash (–) or em dash (—)
This will help avoid issues down the line due to a lack of carrier support for these characters.On-Demand services have very little lead time, so these orders should be uploaded regularly to ensure allocation and booking occur in a reasonable timeframe.
Columns Breakdown
It is important that you manage which headers are included in the CSV as only the headers listed below are considered part of the specification.
Any column that does not match this specification will be dropped during processing and ignored. We do not pass through any of this data. This includes misspelled headers.
In addition, if the required fields for processing the order are missing from that row, this row will also not be processed as you may expect. This would be equivalent to attempting to book an order through the Shippit website and not including the correct address details. The order will not be processed. After updating the CSV with data for all the required fields you can then process it again.
✔️ = Required
❔ = Optional but Recommended
✈️ = Used for International shipping
🟠 = Repeat for multiple parcels in an order
* = Either courier_type or courier_allocation is required but not both
Column Header | Create Order API equivalent | |
order_id | ✔️ 🟠 | retailer_reference |
retailer_invoice | 🟠 | retailer_invoice |
courier_type | ✔️* 🟠 | courier_type |
courier_allocation | ✔️* 🟠 | courier_allocation |
currency | ✔️ 🟠 | product_currency |
shipping_amount | ✔️ ✈️ | customer_shipping_fee_paid |
cash_on_delivery_amount | cash_on_delivery_amount | |
collection_point_id | N/A | |
collection_point_name | N/A | |
delivery_date | delivery_date | |
delivery_window | delivery_window | |
delivery_company | 🟠 | N/A |
delivery_address | ✔️ 🟠 | delivery_address |
delivery_suburb | ❔ 🟠 | delivery_suburb |
delivery_district_city | 🟠 | delivery_district_city |
delivery_state | ❔ 🟠 | delivery_state |
delivery_postcode | ❔ 🟠 | delivery_postcode |
delivery_country | ✔️ 🟠 | delivery_country_code |
validate | validate | |
suppress_communications | suppress_communications | |
delivery_instructions | delivery_instructions | |
authority_to_leave | 🟠 | authority_to_leave |
receiver_name | ✔️ 🟠 | receiver_name |
receiver_contact_number | ✔️ 🟠 | receiver_contact_number |
receiver_language_code | ✔️ 🟠 | receiver_language_code |
user_firstname | ✔️ 🟠 | user_attributes.first_name |
user_lastname | ✔️ 🟠 | user_attributes.last_name |
user_email | ✔️ 🟠 | user_attributes.email |
line_item_id | product_attributes.line_item_id | |
sku | product_attributes.sku | |
title | product_attributes.title | |
weight | ❔ | parcel_attributes.weight |
length | ❔ | parcel_attributes.length |
width | ❔ | parcel_attributes.width |
depth | ❔ | parcel_attributes.depth |
qty | parcel_attributes.qty | |
qty_packed | parcel_attributes.packed | |
price | product_attributes.price | |
location | product_attributes.location | |
dangerous_goods_code | product_attributes.dangerous_goods_code | |
dangerous_goods_text | product_attributes.dangerous_goods_text | |
origin_country_code | ✔️ ✈️ 🟠 | product_attributes.origin_country_code |
tariff_code | product_attributes.tariff_code | |
customs_duties_amount | ✈️ 🟠 | duties |
customs_export_reason | ✈️ 🟠 | customs_clearance_attributes.export_reason |
customs_incoterm | ✈️ 🟠 | customs_clearance_attributes.incoterm |
customs_tax_id_type | ✈️ 🟠 | customs_clearance_attributes.tax_id_type |
customs_tax_id_country_code | ✈️ 🟠 | customs_clearance_attributes.tax_id_country_code |
customs_tax_id_number | ✈️ 🟠 | customs_clearance_attributes.tax_id_number |
customs_recipient_id | ✈️ 🟠 | customs_clearance_attributes.recipient_id |
customs_documents_require_printing | ✈️ 🟠 | N/A |
Commercial Invoice
The values from the customs_* columns are surfaced in the Commercial Invoice