Web Integration - Sales Orders
Import website orders and post them in Business Central.
Web Orders
The design of the integration of Sales Orders is through staging tables, rather than the website placing orders directly into the standard Sales tables. Primarily this is for performance and flexibility as writing directly to standard tables can be technically challenging.
The broad process is:
Web Order Staging Table
Data Validation
Process Web Order into a Bevica Sales Order
There is flexibility on the setup to allow for bespoke validation and processing.
The Validation and Processing functions are usually run on a Job Queue as frequently as required.
Web Order Staging Table
This is broadly structured as:
Web Order Header
Web Order Lines
Many of the standard order fields are present, as are specific ones to manage the integration. There is minimal data validation when this table is written to, except for data type and field length, to minimise errors.
You can review web orders from the Web Orders List.
Currencies
If the ‘Default Currency Code’ has been set on the Web Orders Setup then this will apply to orders. A blank value in here means it will be in the system LCY.
The Currency Code applied to Sales Orders comes from the Web Order ‘Currency Code’ value and not from the Customer default.
As an example, if the Customer ‘Currency Code’ was set to USD but the Web Order has no ‘Currency Code’ value, the order will be in LCY. For the order to be in USD the Web Order must provide the ‘Currency Code’ on the Web Order.
All prices or amount values should then be in the currency value.
Data Validation
Broadly the following occurs:
Data Types are checked
Records are matched (e.g. items, customers, location etc.)
Decode Web Items if required
Item Units of Measure are checked
Create Customers (dependent on setup)
Any errors at validation are captured and updated on the Web Order Header, and also the Lines.
Manual Edits
By design the Web Order Card is editable, where appropriate permissions are given to the user. This allows for errors to be corrected by a user in Business Central and a Sales Order to be created from the Web Order.
For example, if a unit of measure had been submitted incorrectly a user can correct the value on the Web Order to allow it to be converted. This should only ever be for expedience and data should be corrected in the web site as required.
Line Actions
On the Web Order Lines a user can set a line to be ‘skipped’ if it is preventing the order from being completed. This will set the validation and processing of this line to be ignored.

Again, this is for expedience and data should be corrected between the website and Business Central.
Process Web Order
This creates the Sales Orders.
If there are errors on creation then these are flagged on the Web Order.
Customer Addresses
Where ‘Sell-to’ Address fields have been submitted on the Web Order then if the following fields are different to the Customer address the Web Order address will be used on the Sales Order.
Sell-to Name
Sell-to Address (i.e. line 1)
Note that Customer addresses, whether Sell-to, Bill-to or Ship-to do not get updated on the Customer or Ship-to record. Addresses are treated as one-off addresses (refer also to the setup section).
Customer Requested Delivery Date
Where ‘Requested Delivery Date' field has been submitted on the Web Order, this will populate into the 'Requested Delivery Date' on the Sales Order Header.
Comment Lines
Bevica will use the description field on the Web Order Line to consume Comment lines for the Sales Order. If the line type is blank, and a value exists in the Description field Bevica will convert this to a Comment line on the Sales Order.
Unpaid Reserves
The Web Order Line contains an Unpaid Reserve tickbox to indicate if the line is to be drawn from a customers Unpaid Reserve. If this line is ticked, Bevica will deplete from the Unpaid Reserve, if it cannot find one a Free Stock line will be created.
Last updated
Was this helpful?