opXML Order Import
File Format
- XML, subset of opXML. Please refer to the opXML Best Practice Guide for detailed information. This guide only refers to the nodes Horizon uses for sales order import.
- One file per order.
- Required nodes detailed below.
How the file is processed depends on options set in Utilities > Orders and Receipts Import Config.
- *Allow orders to create traders – if the trader and/or delivery trader doesn’t exist, one will be created, with the following New traders settings:
- Group – trader user-defined group
- Rep
- Supplier –
- Delivery method –
Note: If a sales lead (type L trader) has been created in Horizon and Allow orders to create traders is selected, an order for that sales lead will be rejected. To allow orders to import, change the trader to a customer (type S trader).
- †Also search on trader name – search for delivery traders by name as well as line 1 of the trader address and postcodes.
- ‡Update addresses – will update the trader and delivery trader details with the trader's code, name, address lines, town, county and postcode from the file.
The reference marks refer to the opXML file format document to describe how these options affect how Horizon processes each element.
- Each order's Source is set to Web.
- Contacts that are created for traders have Allow web access selected.
Node | How Used by Horizon | Description and Example | Characters | |
---|---|---|---|---|
OrderHead | Not used. | |||
OrderReferences | Order references such as Buyer's order number, contract reference etc. | |||
OrderReferences /BuyersOrderNumber |
Your reference on a document. | <BuyersOrderNumber Preserve='true'>PO123456</BuyersOrderNumber> | 60 | |
ANY (Order Header Level) | Header-level extension area (not validated by the standard schema). | |||
AdditionalOrderReferences /OrderReference |
Sets Our Analysis > External ref in sales order. If missing or blank, the Order/OrderReferences /BuyersOrderNumber node is used instead. |
Not a OP:AdditionalOrderLineReferences tag | 60 | |
Buyer | Buyer details. | |||
Buyer/BuyerReferences /SuppliersCodeForBuyer |
Customer trader Code. Matches the sales order to the customer. *Sets or ‡updates Code. |
Supplier's code for the Buyer (e.g. an account code)
|
30 | |
Buyer/BuyerReferences /RepCode |
Unofficial extension. *Sets or ‡updates Our Analysis > Rep code on the sales order. . The priority used when setting rep on a sales order is: | <RepCode>TB01</RepCode> | 4 | |
Buyer/BuyerReferences /AccountRef |
Unofficial extension. *Sets or ‡updates the Trader > Account reference. | <AccountRef>123456</AccountRef> | 10 | |
Buyer/BuyerReferences /Employees |
Unofficial extension. *Sets or ‡updates Trader > Settings > Customer Settings > General > Employees. | <Employees>50</Employees> | 5 | |
Buyer/Party | *Sets Trader > name. ‡Updates Trader > name. |
Buyer (company) name. <Party>Belmont Plant Hire Ltd.</Party> |
60 | |
Buyer/Address | Matches, *sets or ‡updates customer. | Postal address. Contains nodes AddressLine, City, State and PostCode. | ||
Buyer/Address /AddressLine |
Up to three address lines can be provided. *Sets or ‡updates Trader > Address > Line 1, Line 2, and Line 3. |
<AddressLine>Unit 1 Enterprise Business Park</AddressLine> <AddressLine>Little Woodend</AddressLine> |
40 | |
Buyer/Address /City |
*Sets or ‡updates Trader > Address > Town. | <City>Rowcester</City> | 40 | |
Buyer/Address /State |
*Sets or ‡updates Trader > Address > County. | <State>Southmoltonshire</State> | 40 | |
Buyer/Address /PostCode |
*Sets or ‡updates Trader > Address > Postcode. | <PostCode>SB24 4QY</PostCode> | 12 | |
Buyer/Contact /Name |
Matches contact in conjunction with Order/Buyer/Contact/Email. *If contact not found, sets Contact > Display name of new contact. ‡Updates contact. |
Contact name <Name>Reginald Jeeves</Name> |
40 | |
Buyer/Contact /UserID |
*Sets contact > Salutation. ‡Updates contact > Salutation. |
Contact identifier <UserID>Jeeves</UserID> |
30 | |
Buyer/Contact /Switchboard |
*Sets contact Telephone number. ‡Updates contact Telephone number. |
Contact switchboard telephone number. <Switchboard>01632 987654</Switchboard> |
20 | |
Buyer/Contact |
Matches contact in conjunction with Order/Buyer/Contact/Name. *Sets Contact > Email. ‡Updates Contact > Email. |
Contact email address. <Email>rjeeves@example.com</Email> |
100 | |
Buyer/Contact /Mobile |
*Sets Contact > Mobile number. ‡Updates Contact > Mobile number. |
Mobile telephone number of new contact. <Mobile>07700 900720</Mobile> |
20 | |
Delivery | Delivery details including the delivery location, delivery date etc. | |||
Delivery/DeliverTo /DeliverToReferences /BuyersCodeForLocation |
†Customer delivery branch Code. Matches the sales order to the customer. | Buyer's code for the delivery location - your trader's delivery branch code. | 30 | |
Delivery/DeliverTo /Party |
*Sets Trader > name for new customer's delivery branch. ‡Updates Trader > name of existing customer's delivery branch. Will default to ad hoc address name. |
Consignee (company) name. <Party>Rowcester Abbey - Belfry</Party> |
60 | |
Delivery/DeliverTo /Address |
†Matches, *sets or ‡updates customer delivery branch. Will default to ad hoc address. |
Postal address | ||
Delivery/DeliverTo /Address/Street |
Optional. If <Street> is included, †Matches, *sets or ‡updates Trader > Address > Line 1. | <Street>12-16 First Avenue</Street> | 40 | |
Delivery/DeliverTo /Address/AddressLine |
Up to three address lines can be provided. †Matches (using the first AddressLine node against Line 1), *sets or ‡updates Trader > Address > Line 1, Line 2, and Line 3. If <Street> is used, only two lines will be imported. |
<AddressLine>Unit 1 Enterprise Business Park</AddressLine> <AddressLine>Little Woodend</AddressLine> |
40 | |
Delivery/DeliverTo /Address/City |
*Sets or ‡updates Trader > Address > Town. | <City>Rowcester</City> | 40 | |
Delivery/DeliverTo /Address/State |
*Sets or ‡updates Trader > Address > County. | <State>Southmoltonshire</State> | 40 | |
Delivery/DeliverTo /Address/PostCode |
*Sets or ‡updates Trader > Address > Postcode. | <PostCode>SB24 4QY</PostCode> | 12 | |
Delivery/DeliverTo /Location |
If set to Private or Business then denotes Supermarket order:
|
Location within the address. <Location>Private</Location> <Location>Business</Location> |
||
Delivery/DeliverTo /Contact/Mobile |
*Sets delivery branch's Contact > Mobile number. ‡Updates delivery branch's Contact > Mobile number. |
20 | ||
Delivery/DeliveryInformation |
Added to the sales order header notes. | Delivery information (text). <DeliveryInformation>Deliver between 09.00 and 12.00</DeliveryInformation> |
||
DeliveryInformation | Added to the sales order header notes. | Delivery information (text). <DeliveryInformation>Deliver between 09.00 and 12.00</DeliveryInformation> |
||
Delivery/DeliveryMethod |
Unofficial extension.
|
Delivery method. <DeliveryMethod>3</DeliveryMethod> |
1 | |
InvoiceTo | Invoicee details | |||
InvoiceTo/Address | *Sets or ‡updates customer invoice branch. Only used if Delivery/DeliverTo/Address was not included. | Postal address | ||
InvoiceTo/Address /AddressLine |
Up to three address lines can be provided. *Sets or ‡updates Trader > Address > Line 1, Line 2, and Line 3. |
<AddressLine>Unit 1 Enterprise Business Park</AddressLine> <AddressLine>Little Woodend</AddressLine> |
40 | |
InvoiceTo/Address /City |
*Sets or ‡updates Trader > Address > Town. | <City>Rowcester</City> | 40 | |
InvoiceTo/Address /State |
*Sets or ‡updates Trader > Address > County. | <State>Southmoltonshire</State> | 40 | |
InvoiceTo/Address /PostCode |
*Sets or ‡updates Trader > Address > Postcode. | <PostCode>SB24 4QY</PostCode> | 12 | |
OrderLine | Order line details | |||
OrderLine/LineNumber | Line numbers are used to create line numbers in Horizon. If no line numbers are supplied, then the order lines are created in the order presented in the file. |
Order line number. <LineNumber Preserve='true'>1</LineNumber> |
||
OrderLine/OrderLineReferences /ContractOrderReference /AnalysisSegment1 |
Unofficial extension. Used to set analysis_id. |
Default analysis codes can be set on the Trader card. These defaults are set on orders from that customer. |
10 | |
OrderLine/OrderLineReferences /ContractOrderReference /AnalysisSegment2 |
10 | |||
OrderLine/OrderLineReferences /ContractOrderReference /AnalysisSegment3 |
10 | |||
OrderLine/OrderLineReferences /CostCentre |
Not used. Use OrderLine/CostCentre instead. | |||
OrderLine/CostCentre | Department for line on sales order. | <CostCentre>BELSALES</CostCentre> | 30 | |
OrderLine/Product /SuppliersProductCode |
Code used to find item. | Supplier's own product code. <SuppliersProductCode>SS12345</SuppliersProductCode> |
30 | |
OrderLine/Product /Description |
Description for line if option set. Otherwise will use description from item. | Description of the item <Description>A4 folder (25 pack)</Description>. The description is used on the imported order, if supplied. |
150 | |
OrderLine/Quantity /Amount |
Quantity for the line. |
The number of traded units. <Amount>1</Amount> |
10 | |
OrderLine/Price /UnitPrice |
Price for the line. |
Price for the quantity. <UnitPrice>1.50</UnitPrice> |
15.4 | |
OrderLine/LineTotal | Used to calculate total_goods for entry if present. | Total line value. <LineTotal>75.00</LineTotal> |
15.4 | |
SpecialInstructions | ||||
SpecialInstructions | Added to the sales order header notes. |
Special order instructions <SpecialInstructions>Please split the delivery</SpecialInstructions> |
max | |
Settlement | ||||
Settlement/CardDetails | If present a payment will be made for the order. | No card details are used, apart from the Issuer. | ||
Settlement/CardDetails /Issuer |
Used for payment_ref on entry. | 30 | ||
Settlement/PaymentRef | If present a payment will be made for the order. | |||
OrderTotal | ||||
OrderTotal/GrossValue | Used to calculate VAT for payment. | Grand total including tax. <GrossValue>1830.55</GrossValue> |