Readysell hybrid EDI ordering

Introduction

Readysell hybrid EDI ordering is the preferred method for accepting orders from smaller dealers. Because customer data for these small dealers can be inconsistent, we recommend this method for suppliers that are unable to tolerate data errors in orders. This method places the burden of reconciling data issues on the customer before each order is accepted by the supplier.

Overview

When using Readysell hybrid EDI ordering, the customer will produce a purchase order in their Readysell ERP system. When they are ready to place their order they click a button to bring up an embedded web view in their Readysell software. The web view will create an HTTP(S) POST request with various order data to the supplier system. The supplier system will then display the order, highlight any discrepancies, and where possible, provide the customer with some way to rectify issues. Once the customer is happy with the state of the order, they can submit it with real-time confirmation of success.

Data specification

Header fields

Header fields are provided as HTML form fields. The supplier system can opt to use or ignore whichever fields are relevant.

NameDescriptionTypeExample
usernameThe username of the customer in the supplier's system.StringABC123
passwordThe password of the customer in the supplier's system.StringPassword1
formatAlways returns "Readysell" - provided to allow flexibility at the supplier's end for alternate implementations.StringReadysell
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

Line data is provided in a single HTML form field called data in comma delimited format. The first row includes the field names and subsequent rows are data.

NameDescriptionTypeExampleComment
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 (excluding tax).Decimal19.45 

Sample request

<html>
	<body onload='document.forms["form"].submit()'>
		<form name='form' action='https://supplier.com.au/api_upload' method='post'>
			<input type='hidden' name='username' value='ABC123'>
			<input type='hidden' name='password' value='Password1'>
			<input type='hidden' name='format' value='Readysell'>
			<input type='hidden' name='account_number' value='ABC123'>
			<input type='hidden' name='po_number' value='12345'>
			<input type='hidden' name='po_date' value='2015-08-15'>
			<input type='hidden' name='requested_delivery_date' value='2015-08-21'>
			<input type='hidden' name='contact_name' value='John Smith'>
			<input type='hidden' name='contact_phone' value='0298765432'>
			<input type='hidden' name='contact_email' value='john.smith@customer.com.au'>
			<input type='hidden' name='allow_back_order' value='Y'>
			<input type='hidden' name='data' value='order_line_number,supplier_product_id,inner_barcode,customer_product_id,product_name,qty,pack_unit,pack_quantity,unit_price
			1234567,TESTPROD1,,,7007123,THIS IS A TEST PRODUCT,10,BOX,10,12.95
			1234568,TESTPROD2,12345678905,7007124,THIS IS ANOTHER TEST PRODUCT,20,EACH,1,3.75
			1234569,TESTPROD3,12345678916,7007125,THIS IS A THIRD TEST PRODUCT,5,CARTON,100,40.95
			1234570,TESTPROD4,TESTPROD4,7007126,THIS IS A FOURTH TEST PRODUCT,16,EACH,1,2.45
			1234571,TESTPROD5,12345678927,7007127,THIS IS A FIFTH TEST PRODUCT,12,PACK,2,64.95'>
		</form>
	</body>
</html>

Sample implementations

Below are some screenshots of existing implementations from supplier systems.