Readysell CSV EDI confirmation via FTP

Introduction

CSV via FTP is the alternate method for EDI confirmation. This method provides delayed feedback to the customer about order status as it is reliant on the customer system polling the supplier’s FTP server on a periodic basis. Where possible we recommend Readysell CSV EDI orders via HTTP as it provides instant feedback to the customer on order status and does not reply on polling the supplier server, reducing network load.

Overview

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 performed by FTP. The customer’s system will poll the supplier’s FTP on a set interval (usually 30 minutes) and check a predefined directory for any files. If it finds a file it will download and process the file and delete it from the FTP directory.

Data specification

Header fields

Name
Description
Type
Example
typeAlways "Invoice"StringOrder
account_numberThe customer's account number at the supplier.StringABC123
po_numberThe purchase order number as generated by the customer's system.Integer12345
invoice_number

The invoice number as generated by the supplier's system.

String200001
invoice_dateThe date of the invoice in the supplier's system.ISO 8601 date2015-08-15
delivery_dateThe date on which the order is expected to be delivered.ISO 8601 date2015-08-21

Line data

Name
Description
Type
Example
Comment
order_line_numberThe line number from the original order 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.StringA1234 
inner_barcodeThe inner barcode the product.String01234567890128 
product_nameThe name/description of the product.StringA4 PAPER WHITE 100GSM 
qtyUnit quantity invoiced.Integer6 
pack_unitName of pack unit in which the invoice 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,invoice_number,invoice_date,delivery_date,,
H,Invoice,ABC123,12345,200001,2015-08-15,2015-08-21,,
D,order_line_number,supplier_product_id,inner_barcode,product_name,qty,pack_unit,pack_quantity,unit_price
L,1234567,TESTPROD1,12345678938,THIS IS A TEST PRODUCT,10,BOX,8,12.95
L,1234568,TESTPROD2,12345678905,THIS IS ANOTHER TEST PRODUCT,20,EACH,1,3.95
L,1234569,TESTPROD3,12345678916,THIS IS A THIRD TEST PRODUCT,5,CARTON,100,39.95
L,1234570,TESTPROD4,12345678949,THIS IS A FOURTH TEST PRODUCT,16,EACH,1,2.45
L,1234571,TESTPROD5,12345678927,THIS IS A FIFTH TEST PRODUCT,12,PACK,2,64.95