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:

    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)


<SuppliersCodeForBuyer>BELBAN</SuppliersCodeForBuyer>

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:
  1. opXML file
  2. Default set for trader
  3. Sales order template
<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 SettingsGeneral > 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>Commercial Road</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

/Email

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>Commercial Road</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:
  • Adds contacts as ad hoc;
  • Overwrites the VAT value in the order header using VAT from Order/OrderTotal/GrossValue.
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.
Overrides the delivery method set on Trader > Settings > Customer Settings > General.

  • 0 – Default (bulk) S
  • 1 – Customer Delivery by Supplier (bulk)
  • 2 – Trade Counter - collect - (bulk)
  • 3 – Customer Delivery by Supplier (pick and wrap) PWD
  • 4 – Delivery to us (Pick and wrap) PWL
  • 5 – Trade Counter - Collect (Pick and wrap)
  • 6 – Third Party (To Dealer Pick and wrap)
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>Commercial Road</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>  

Concept Link IconSee Also