Readysell CSV EDI orders via FTP

Introduction

CSV via FTP is the supported method for fully automated EDI ordering. Because customer data for small dealers can be inconsistent, we highly recommend Readysell hybrid EDI ordering over this approach. If you do, however, have the ability to reconcile data errors in your system after the order arrives, then CSV via FTP is a valid alternative.

Overview

The format include additional information including EZ-code, barcode and product description. We believe that it’s best to include this additional data as it can be used for validation or debugging purposes or to do manual matching to resolve data discrepancies (where required). The file is self-documenting and has 3 row types:

  • D = Description (describes the purpose of the rows below)
  • H = Header (header information, shown once per file)
  • L = Line (line information, repeats for each line)

Transport is via an FTP server at the supplier side. Customers will upload orders to the FTP server when they are placed.

Data specification

Header fields

Name
Description
Type
Example
typeAlways "Order"StringOrder
account_numberThe customer's account number at the supplier.StringABC123
po_numberThe purchase order number as generated by the customer's system.Integer12345
po_dateThe date of the purchase order in the customer's system.ISO 8601 date2015-08-15
requested_delivery_dateThe date on which the customer requests delivery.ISO 8601 date2015-08-21
contact_nameThe name of the relevant contact at the customer.StringJohn Smith
contact_phoneThe phone number of the relevant contact at the customer.Integer0298765432
contact_emailThe email address of the relevant contact at the customer.Stringjohn.smith@customer.com.au
allow_back_orderWhether the customer would like to permit back orders for the selected order.Boolean (Y/N)Y

Line data

Name
Description
Type
Example
Comment
order_line_numberThe line number from the customer's system.Integer1234567Unique per customer ERP system, not per customer order.
supplier_product_idThe product ID of the product in the supplier's system.StringA1234Relies on the data in the customer's product file. May not be available, so other fields may need to be checked to assist with matching.
inner_barcodeThe inner barcode the product.String01234567890128Relies on the data in the customer's product file. May not be available, so other fields may need to be checked to assist with matching.
customer_product_idThe product ID of the product in the customer's system.String7001234This will always be provided. Usually the Office Brands EZ Code – but could be a customer’s own code if the product is set up manually.
product_nameThe name/description of the product.StringA4 PAPER WHITE 100GSMTypically used to provide helpful feedback to the customer if no match could be found.
qtyUnit quantity ordered.Integer6 
pack_unitName of pack unit in which the order quantity is expressed.StringBOX 
pack_quantityQuantity of inners in each unit being ordered.Integer10For example, if an order is being placed for 6 cartons and each carton contains 10 boxes (where a box is the sell/inner unit), this field will contain 10.
unit_priceThe price for each unit ordered.Decimal19.45 

Sample message

D,type,account_number,po_number,po_date,requested_delivery_date,contact_name,contact_phone,contact_email,allow_back_order
H,Order,ABC123,12345,2015-08-15,2015-08-21,John Smith,0298765432,john.smith@customer.com.au,Y
D,supplier_product_id,inner_barcode,customer_product_id,product_name,qty,pack_unit,pack_quantity,unit_price,
L,1234567,TESTPROD1,,7007123,THIS IS A TEST PRODUCT,10,BOX,10,12.95,
L,1234568,TESTPROD2,12345678905,7007124,THIS IS ANOTHER TEST PRODUCT,20,EACH,1,3.75,
L,1234569,TESTPROD3,12345678916,7007125,THIS IS A THIRD TEST PRODUCT,5,CARTON,100,40.95,
L,1234570,TESTPROD4,TESTPROD4,7007126,THIS IS A FOURTH TEST PRODUCT,16,EACH,1,2.45,
L,1234571,TESTPROD5,12345678927,7007127,THIS IS A FIFTH TEST PRODUCT,12,PACK,2,64.95,