Sandfield Orders Portal

Overview

Description

This transport should be used for all inserting / retrieval of items used by the Orders Portal website. It is highly configurable with transport parameters so each action will work for any business logic scenario. 

All actions are backwards compatible with the OLEDB transports, but some of the parameters may have changed.

If you use this transport for an incoming action (from db), the outgoing (to db) MUST also use this transport or files will be sent while they are still being inserted.

The transport will fully integrate with the orders portal website for all error handling, and audit log events.

Please contact a Crossfire developer if you require additional logic. A list of known backwards compatible OLEDB stored procedures can be found under each action.


Message Formats: https://drive.google.com/drive/folders/162cBL0kzptDy8sEBdb5-YIqB7TA4wb1e 


Basic setup, error handling, and partner settings

The Incoming transport are for pulling data from the middleware database. The FULLXML default format should be used for all new integrations moving forward.

The Outgoing action is for creating objects in middleware - either automatically or from a file.

The Action transport setting should be the CAPITAL LETTER heading of the section eg ORDER, SHIPMENT etc.

The transport parameters are explained below each heading. Some are marked as required, while others have a default value. If using the default value, you do not need to specify it on the transport. 

Some parameters require the value to be from a fixed list of options. 

Boolean parameters can be specified as 1/true and 0/false - case insensitive.


Errors will generally be displayed in the orders portal rather than failing the EDI message. This means invalid files will be inserted into the database in an error status so the customer can fix them from the website. Ignoring errors from the orders portal will send the file once fixed, or they can be deleted.
Such errors include shipping additional products that are not on the order, or quantity validations. 

Some errors will still cause a failure in Crossfire such as missing PartnerCodes, OrderNumbers, or other required fields.


It is essential to properly set up the Orders Portal partner settings before setting up the transports. All outbound actions will validate that the required feature is enabled before the message is inserted. EG partner X must have the "Shipments Enabled" feature turned on for an outgoing shipment transport to function. These features will also customize the sections that the orders portal displays in the UI.

There are also optional features such as Price Validation Type, and Product Components Enabled. These are further discussed below in the Notable Features section.

https://sites.google.com/a/sandfield.co.nz/crossfire/crossfire-order-portal/partner-settings

Migrating OLEDB transports

A list of known backwards compatible OLEDB stored procedures can be found under each action. If you do not see the stored proc you are trying to migrate from, contact a developer to review it.

The transport parameters are similar to the OLEDB stored procedures but the names may have changed slightly. Please double check all available parameters carefully.

When migrating incoming OLEDB transports, the Format transport parameter will need to be changed to match the stored procedure name e.g. "SANDFIELD_STANDARD_ORDER_V2". This guarentees that your output format will be identical.

It is essential to migrate outgoing (to db) actions first as the incoming transport is not compatible with an integration still using outgoing OLEDB.

Notable features

Standalone shipments / invoices

Requirements / setup

Functionality

Invoice automation

Requirements / setup

Functionality

Error notifications / general notifications

Requirements / setup

Functionality

Price validation, price replacement, and Alternate product prices

Requirements / setup

Functionality

Alternate product codes

Requirements / setup

Functionality

Kitsets / Product components / Bundled products / Product packs

Requirements / setup

Functionality

Pack type conversions

Requirements / setup

Functionality

Order price calculations

Requirements / setup

Functionality

Message Standards and Fields

Legacy crossfire message standards used with the OLEDB stored procedures are supported however should not be used in new integrations.

Official annotated orders portal message formats can be found at the bottom of the page. Some fields are used for logical calculations so it is important to not map to the incorrect place.

New integrations that require new fields should first investigate using similarly named options, or generic REF1-REF2... options.

Outgoing Actions (To DB)

ORDERS

Known backwards compatibility

Workflow:

Transport Params:

UpdateProduct (Default "false") - ["true", "false"]

If 1, existing products will be updated with the new details form the message. New products will always be inserted. Check the message standard fields in the Google Sheet above to see which fields will be updated.

IgnoreDuplicateOrders (Default "null") - ["false", "true", "null"]

UpdateStore (Default "-1") - ["0", "1", "2", "-1"]

0: This will not update the store at all.

1: This updates the store when the new ORG_ID does not match the old, or the old is null.

2: Updates the store regardless of ORG_ID.

-1: This will update the DB stores ORG_ID only

SALESORDER (Mainfreight specific)

Workflow:

Transport Params:

ValidateQuantityInExternalSystem (Default "false") - ["true", "false"]

This will validate that the product quantity exists in the external system. This will require setup by a developer if used.

UpdateStore (Default "-1") - ["0", "1", "2", "-1"]

0: This will not update the store at all.

1: This updates the store when the new ORG_ID does not match the old, or the old is null.

2: Updates the store regardless of ORG_ID.

-1: This will update the DB stores ORG_ID only

PriceReplacement (Default "false") - ["true", "false"]

This will replace the ack prices with the official product price in the portal if true.

RetryDelayMinutes (Default 60)

If an aggregate SO is received before its RO, we cant process it in to the portal. It will try to send again in minute intervals specified by this setting.

NoMatchMaxMessageAge (Default 24)

If an aggregate SO is received first, and the number of hours specified by this setting passes before the RO is received, it will process into the portal regardless and use an autogenerated store code.

RequireDuplicateConfirmation (Default "false") - ["true", "false"]

When a duplicate SO is received, if this setting is true it will error the order, and the user must either clear errors (rejecting this duplicate), or delete the existing SO (accepting this order). The duplicate will try to send again in minute intervals defined by the RetryDelayMinutes setting.

DuplicateConfirmationWaitTime (Default 24)

When a duplicate SO is received, the RequireDuplicateConfirmation setting is true, and no action is taken for the number of hours defined by this setting, the EDI message will fail.

ORDERCHANGE

ChangeValidationType (Required)

This will require setting up on a per customer basis with customised logic. EG checking the status is ok for the order to be changed, and deleting / recreating the order

Currently supported workflows: MIMS, BRISCOES

ACKNOWLEDGEMENTS

NO PARAMS

SHIPMENT

Known backwards compatibility

Workflow:

Transport Params:

PartnerCode (Default "")

This PartnerCode will be used if one is not specified in the message.

DispatchDateInUse (Default "false") - ["true", "false"]

If true, we need to generate separate shipments if they use the same ordernumber / shipment number but have different dispatch dates.

ShipmentIsContainer (Default "true") - ["true", "false"]

If true, then use the ordernumber as the shipmentnumber.

ValidateProducts (Default "true") - ["true", "false"]

If false, do not validate that all products on the shipment are on the StoreOrder.

UpdateShipments (Default "false") - ["true", "false"]

This is used to resend the shipments if it has been received before but has now been updated with new cartons. If true, the Shipment's status will be updated and the ShipementSent flag will be set to 0.

SSCCIsCartonNumber (Default "false") - ["true", "false"] For examples, please see below

If true, the SSCC number on the product will be used as the cartonnumber.

CartonNoIsCartonNumber (Default "false") - ["true", "false"] For examples, please see below

If true, the cartonNo field will be used as the cartonnumber.

CartonNoAndSSCCAfterProduct (Default "false") - ["true", "false"] For examples, please see below

If true, the SSCC number and the carton number are after the product level in the shipment carton box.

IgnoreDuplicates (Default "false") - ["true", "false"]

If true, cartons in this shipment that already exist in the database will not cause errors.

UseSystemOrderLineItemID (Default "false") - ["true", "false"]

If true, shipment carton products will match to store order products using the SystemOrderLineItemID.

ValidateOrder (Default "true") - ["true", "false"]

This will cancel the insert if the shipment does not have a matching crossfire order.

INVOICES

Known backwards compatibility

Workflow:

Transport Params:

UseStoreCode (Default "1") - ["0", "1", "2"]

0: This will always create a new store for both the BillTo and ShipTo address.

1: This will match the addresses in the message to existing stores using the StoreCode.

2:  This will match the addresses in the message to existing stores using Message.StoreCode = DBStore.StoreCode2.

ValidateLines (Default "false") - ["true", "false"]

This will make sure that all products in the invoice have a matching store order product.

UseSKU (Default "false") - ["true", "false"]

If true, this will use the Product.SKU to match on DB Products instead of the SupplierProductCode.

ValidateInvoice (Default "true") - ["true", "false"]

This will cancel and error the insert if the order/storeorder already has an invoice with this invoice number.

ValidateOrder (Default "true") - ["true", "false"]

This will cancel the insert if the invoice does not have a matching crossfire order.

PriceReplacement (Default "false") - ["true", "false"]

This will replace the invoice prices with the official product price in the portal if true.

ValidateQuantity (Default "false") - ["true", "false"]

This will validate the quantity invoiced matches the quantity shipped for each product.

InvoiceWholeOrder (Default "false") - ["true", "false"]

This is to specify that the invoice is for all store orders and should be loaded in against the order its self (do not match to store order lines).

AggregateInvoice (Default "false") - ["true", "false"]

If true, the aggregate invoice will be split up into multiple store order invoices and the invoice lines will be created for each store order line matching on the quantity shipped.

AUTOCREATEINVOICES

NO MESSAGE IN QUEUE REQUIRED

NO PARAMS

This will automatically create invoices based on the shipment data. Only one transport per crossfire environment is required for this. If a transport with this action already exists, the partners that it will create invoices for is determined by the partner settings.

AUTOCREATESALESORDERS

NO MESSAGE IN QUEUE REQUIRED

This will automatically supply, reserve, and confirm orders if the partner setting is enabled, and according to the 'PartialSupply' or 'FullSupply' logic.

Only one transport per crossfire environment is required for this.

MatchStatus (Default "Order Received")

This is the status orders must be in for them to be automatically actioned.

RetryIntervalMinutes (Default "720" I.E 12 hours)

This setting only applies for FullSupply. When a full supply fails because of invalid SOH, the order will attempt to automate again after this cooldown in case the SOH in the external system has changed.

RetryAttempts (Default "3")

This setting only applies for FullSupply. When a full supply fails because of invalid SOH, the order will attempt to automate again this many times before being left for a user to action.

CONTROL

The message needs to be a single line csv in the format "PartnerCode,ObjectNumber" where the object number is the orderNumber, shipmentNumber or invoiceNumber the control message is for.

This will update the related store order status to "____ control received".

Type

This determines the type of object the control message is for and thus which status gets updated. The supported values are ACK, SHIPMENT, and INVOICE.

PRODUCTS

Workflow:

Transport Params:

UseSKU (Default "false") - ["true", "false"]

If true, this will use the Product.SKU to match on DB Products instead of the SupplierProductCode.

Incoming Actions (From DB)

ORDERS

Known backwards compatibility

Transport Params:

PartnerCode (Required)

This is the partner for which to pull data for. 

MatchStatus (Default "Order Received")

This is the order status that store orders must be in to be pulled out. Do not add non-standard statuses unnecessarily.

UpdateOrderStatus (Default "Order Sent")

After being pulled out, the order status will be updated to this value. Do not add non-standard statuses unnecessarily.

ActiveStoresOnly (Default "true") - ["true", "false"]

If a store is inactive (Ord.Store.Active column = 0), then the store orders for it will be ignored.

WaitForWholeOrder (Default false)

If true, orders will only be picked up when all related store orders are ready to send or have already been sent.

Grouping (Default "Order") - ["Orders", "Order", "StoreOrder"]

This determines how the orders that are ready get turned into crossfire messages.

BatchSize (Default 10)

This determines how many orders will be turned into messages per transport execution. It is not directly related to the number of messages they turn into. 

EG if your grouping is StoreOrder, 10 Orders will be selected to send, each of which may turn into numerous Messages when split by StoreOrder.

Format (Default "FULLXML") - ["FULLXML", "SHORTJSON", "OFPCSV", "SANDFIELD_STANDARD_ORDER_V2"]

This determines the format of the Crossfire messages that are created. 

"FULLXML" should be used for all new integrations

"SHORTJSON" will return partial order level information only, when any related StoreOrder is ready to send

ACKNOWLEDGEMENTS

Known backwards compatibility

Transport Params:

PartnerCode (Required)

This is the partner for which to pull data for. 

MatchStatus (Default "Order Acknowledged Received")

This is the acknowledgement status that store orders must be in to be pulled out. Do not add non-standard statuses unnecessarily.

UpdateStatus (Default "Order Acknowledged Sent")

After being pulled out, the acknowledgement status will be updated to this value. Do not add non-standard statuses unnecessarily.

WaitForWholeOrder (Default "false") - ["true", "false"]

If true, orders will only be picked up when all related store orders are ready to send or have already been sent.

Grouping (Default "Order") - ["Orders", "Order", "StoreOrder", "SANDFIELD_STANDARD_ORDERACK_V3"]

This determines how the orders that are ready get turned into crossfire messages.

BatchSize (Default 10)

This determines how many orders will be turned into messages per transport execution. It is not directly related to the number of messages they turn into. 

EG if your grouping is StoreOrder, 10 Orders will be selected to send, each of which may turn into numerous Messages when split by StoreOrder.

Format (Default "FULLXML") - ["FULLXML", "SHORTJSON", "OFPCSV", "SANDFIELD_STANDARD_ORDERACK_V3"]

This determines the format of the Crossfire messages that are created. 

"FULLXML" should be used for all new integrations

"SHORTJSON" will return partial order level information only, when any related StoreOrder is ready to send

SALESORDERS (Mainfreight specific)

Transport Params:

PartnerCode (Required)

This is the partner for which to pull data for. 

MatchStatus (Default "Order Received")

This is the order status that store orders must be in to be pulled out. Do not add non-standard statuses unnecessarily.

MatchSalesOrderStatus (Default "Sales Order Received")

This is the sales order status that store orders must be in to be pulled out. Do not add non-standard statuses unnecessarily.

UpdateSalesOrderStatus (Default "Sales Order Sent")

After being pulled out, the sales order status will be updated to this value. Do not add non-standard statuses unnecessarily.

ActiveStoresOnly (Default "true") - ["true", "false"]

If a store is inactive (Ord.Store.Active column = 0), then the store orders for it will be ignored.

WaitForWholeOrder (Default "false") - ["true", "false"]

If true, orders will only be picked up when all related store orders are ready to send or have already been sent.

Grouping (Default "Order") - ["Orders", "Order", "StoreOrder"]

This determines how the orders that are ready get turned into crossfire messages.

BatchSize (Default 10)

This determines how many orders will be turned into messages per transport execution. It is not directly related to the number of messages they turn into. 

EG if your grouping is StoreOrder, 10 Orders will be selected to send, each of which may turn into numerous when Messages split by StoreOrder.

Format (Default "FULLXML") - ["FULLXML", "OFPCSV"]

This determines the format of the Crossfire messages that are created. 

"FULLXML" should be used for all new integrations

SHIPMENTS

Known backwards compatibility

Transport Params:

PartnerCode (Required)

This is the partner for which to pull data for. 

MatchStatusCSV (Default "Shipment Received")

This is a comma separated string that denotes the shipment status that store orders must be in to be pulled out. E.G: "Shipment Received,Shipment Backordered". Do not add non-standard statuses unnecessarily.

MatchAckStatusCSV (Default "Not Acknowledged")

This is a comma separated string that denotes the acknowledgement status that store orders must be in to be pulled out. E.G: "Order Acknowledgement Sent". Not Acknowledged indicates it can be in any acknowledgement status. Do not add non-standard statuses unnecessarily.

UpdateStatus (Default "Shipment Sent")

After being pulled out, the shipment status will be updated to this value. Do not add non-standard statuses unnecessarily.

LabelRequired (Default "true") - ["true", "false"]

If true, shipments will only be pulled if LabelCreated = 1.

TrackingNoRequired (Default "false") - ["true", "false"]

If true, shipments will only be pulled if TrackingNumber2 has a value.

ValidateShipmentCount (Default "false") - ["true", "false"]

If true, shipments will not be sent if their NumberOfShipments does not match the total number of shipments received for their store order.

WaitForWholeOrder (Default "false") - ["true", "false"]

If true, orders will only be picked up when all related store order shipments are ready to send or have already been sent.

QuantityValidationEnabled (Default "true") - ["true", "false"]

If true, shipments will be updated to the backordered status if the total quantity acknowledged nor total quantity ordered match the total quantity shipped for this store order.

UseShipmentQuantityToValidate (Default "true") - ["true", "false"]

If true, the total quanity shipped will be calculated from the shipments TotalQuantityShipped. Otherwise, the sum of storeorderproducts QuantityShipped will be used.

IncludeUnshippedLines (Default "false") - ["true", "false"]

If true, csv lines will be included relating to store order products that do not have a matching shipment carton product.

Grouping (Default "Order") - ["Orders", "Order", "StoreOrder", "Shipment"]

This determines how the orders that are ready get turned into crossfire messages.

GroupByTrackingNumber (Default "false") - ["true", "false"]

If true, all shipments will be pulled out and sent for this partner in one message - all for the same tracking number. These shipments could be for multiple different orders.

BatchSize (Default 10)

This determines how many orders will be turned into messages per transport execution. It is not directly related to the number of messages they turn into. 

EG if your grouping is StoreOrder, 10 Orders will be selected to send, each of which may turn into numerous Messages when split by StoreOrder.

Format (Default "FULLXML") - ["FULLXML", "SHORTJSON", "OFPCSV", "SANDFIELD_STANDARD_ASN_MULTICARTONS_V2", "SANDFIELD_STANDARD_SHIPMENT_XML"]

This determines the format of the Crossfire messages that are created. 

"FULLXML" should be used for all new integrations excluding standalone shipments

"SANDFIELD_STANDARD_SHIPMENT_XML" should be used for standalone shipments

"SHORTJSON" will return partial order level information only, when any related StoreOrder is ready to send

INVOICES

Known backwards compatibility

Transport Params:

PartnerCode (Required)

This is the partner for which to pull invoice data for.  Set to "*" if you wish to pull Invoices for all partners.

MatchShipmentStatusCSV (Default "Shipment sent")

This is the shipment status that store orders must be in to be selected. If "Not Shipped", then the shipment status can be anything.  E.G: "Shipment Received,Shipment Backordered". Do not add non-standard statuses unnecessarily.

MatchInvoiceStatus (Default "Invoice Received")

This is the invoice status that store orders must be in to be pulled out. Do not add non-standard statuses unnecessarily.

UpdateStatus (Default "Invoice Sent")

After being pulled out, the invoice status will be updated to this value. Do not add non-standard statuses unnecessarily.

Grouping (Default "Order") - ["Orders", "Order", "StoreOrder", "Invoice"]

This determines how the orders that are ready get turned into crossfire messages.

BatchSize (Default 10)

This determines how many orders will be turned into messages per transport execution. It is not directly related to the number of messages they turn into. 

EG if your grouping is StoreOrder, 10 Orders will be selected to send, each of which may turn into numerous Messages when split by StoreOrder.

Format (Default "FULLXML") - ["FULLXML", "SHORTJSON", "OFPCSV", "SANDFIELD_STANDARD_INVOICE_XML"]

This determines the format of the Crossfire messages that are created. 

"FULLXML" should be used for all new integrations excluding standalone invoices

"SANDFIELD_STANDARD_INVOICE_XML" should be used for standalone invoices

"SHORTJSON" will return partial order level information only, when any related StoreOrder is ready to send

Incoming Batch Size and Grouping Examples

It is important to balance the batch size with the schedule frequency. These both depend on the number of files that the customer sends through middleware each unit time.
A batch size from 10-50 is standard depending on the size of each order. A schedule frequency of every 1-10 minutes is also advised. Do not make the frequency below 30 seconds unless the file volume is extremely high (100 orders per minute).
Increasing the batch size is preferred compared to lowering the schedule frequency.

All examples assume the above database format. This explanation applies to all actions but will be demonstrated using SHIPMENTS


The batch sizes below are for explanation only. Generally, do not reduce lower than 10.

Each example below is explained for a single execution of the transport schedule

Scenario 1: Batch Size "2", Grouping "ORDERS"

Scenario 2 Batch Size "2", Grouping "ORDER"

Scenario 3: Batch Size "2", Grouping "STOREORDER"

Scenario 3: Batch Size "3", Grouping "SHIPMENT"

Scenario 4: Batch Size "10", Grouping "INVOICE"

Incoming Acknowledgement - Action Code examples

Header and Line action codes explained:

Outgoing Shipment - Carton examples

CartonNoIsCartonNumber

CartonNoAndSSCCAfterProduct 

SSCCIsCartonNumber

Custom reporting and label printing

There are multiple options for generating PDF summaries of orders when they are sent, or automatically printing labels before shipments are sent out. They are not included in the 'Out The Box' version of this transport so please contact the Crossfire team for further details if you are interested.

Order XML (Orders into Portal)

<Order>

<PartnerCode/>

<System/>

<OrderNumber/>

<ReferenceNumber/>

<CustomerReference/>

<InvoiceNumber/>

<OrderDate/>

<DespatchAdviceSent/>

<InvoiceSent/>

<SubTotal/>

<TaxTotal/>

<Total/>

<Currency/>

<TaxRate/>

<TaxCode/>

<DropShip/>

<ShippingMethod/>

<ETD/>

<ETA/>

<PaymentDueDate/>

<ShipmentDueDate/>

<OSRSent/>

<CustomerCode/>

<WarehouseCode/>

<RetailerSupplierNumber/>

<DepartmentNumber/>

<Comments/>

<ContractNumber/>

<OrderInterchangeReceiver/>

<OrderInterchangeReceiverQualifier/>

<OrderInterchangeSender/>

<OrderInterchangeSenderQualifier/>

<OrderInterchangeReference/>

<OrderMessageReference/>

<Versioning/>

<OrderType/>

<AcknowledgmentRequest/>

<AdvertDate/>

<BuyerGLNCode/>

<Split/>

<SupplierCode/>

<SupplierNameAndAddress/>

<TestPurposeCode/>

<Vendor/>

<ABNNumber/>

<Store>

<StoreCode/>

<Name/>

<Address1/>

<Address2/>

<Suburb/>

<City/>

<PostalCode/>

<State/>

<Country/>

<Phone/>

<EmailAddress/>

<ORG_ID/>

<DCCode/>

<SalesRep/>

<ShopifyID/>

<StoreCode2/>

<SystemStoreCode/>

<Tag/>

<StoreOrder>

<StoreOrderNumber/>

<StoreOrderReference/>

<DCCode/>

<Error/>

<TotalWeight/>

<TotalVolume/>

<DispatchAdviceSent/>

<PackSlipSent/>

<BuyerNameAndAddress/>

<BuyerPartyCode/>

<Department/>

<DepartmentDescription/>

<DepartmentName/>

<DepartmentNumber/>

<EventType/>

<AlternatePriceCode/>

<StoreOrderStatus/>

<SystemStoreOrderID/>

<SystemStoreOrderNumber/>

<BillToID/>

<BillToPostalID/>

<ToAddressID/>

<FromAddressID/>

<CompanyID/>

<CompanyPostalID/>

<BillTo>

<StoreCode/>

<Name/>

<Address1/>

<Address2/>

<Suburb/>

<City/>

<PostalCode/>

<State/>

<Country/>

<Phone/>

<EmailAddress/>

<ORG_ID/>

<DCCode/>

<SalesRep/>

<ShopifyID/>

<StoreCode2/>

<SystemStoreCode/>

<Tag/>

</BillTo>

<BillToPostal>

<StoreCode/>

<Name/>

<Address1/>

<Address2/>

<Suburb/>

<City/>

<PostalCode/>

<State/>

<Country/>

<Phone/>

<EmailAddress/>

<ORG_ID/>

<DCCode/>

<SalesRep/>

<ShopifyID/>

<StoreCode2/>

<SystemStoreCode/>

<Tag/>

</BillToPostal>

<ToAddress>

<StoreCode/>

<Name/>

<Address1/>

<Address2/>

<Suburb/>

<City/>

<PostalCode/>

<State/>

<Country/>

<Phone/>

<EmailAddress/>

<ORG_ID/>

<DCCode/>

<SalesRep/>

<ShopifyID/>

<StoreCode2/>

<SystemStoreCode/>

<Tag/>

</ToAddress>

<FromAddress>

<StoreCode/>

<Name/>

<Address1/>

<Address2/>

<Suburb/>

<City/>

<PostalCode/>

<State/>

<Country/>

<Phone/>

<EmailAddress/>

<ORG_ID/>

<DCCode/>

<SalesRep/>

<ShopifyID/>

<StoreCode2/>

<SystemStoreCode/>

<Tag/>

</FromAddress>

<Company>

<StoreCode/>

<Name/>

<Address1/>

<Address2/>

<Suburb/>

<City/>

<PostalCode/>

<State/>

<Country/>

<Phone/>

<EmailAddress/>

<ORG_ID/>

<DCCode/>

<SalesRep/>

<ShopifyID/>

<StoreCode2/>

<SystemStoreCode/>

<Tag/>

</Company>

<CompanyPostal>

<StoreCode/>

<Name/>

<Address1/>

<Address2/>

<Suburb/>

<City/>

<PostalCode/>

<State/>

<Country/>

<Phone/>

<EmailAddress/>

<ORG_ID/>

<DCCode/>

<SalesRep/>

<ShopifyID/>

<StoreCode2/>

<SystemStoreCode/>

<Tag/>

</CompanyPostal>

<StoreOrderProduct>

<QuantityOrdered/>

<LineTax/>

<LineTotal/>

<LineDiscount/>

<OrderLineNumber/>

<Comments/>

<QuantityAcknowledged/>

<QuantityShipped/>

<LineProductPrice/>

<Batch/>

<ExpiryDate/>

<PromotionStartDate/>

<GiftWrap/>

<ReturnMethod/>

<SystemOrderLineItemID/>

<LineWeight/>

<LineVolume/>

<OrderLineUnit/>

<OrderLineUnitISOCode/>

<PartNumber/>

<ProductColor/>

<ProductSize/>

<ProductStyle/>

<SupplierItemNumber/>

<VendorPartNumber/>

<SupplierPackType/>

<LineProductRetailPrice/>

<LinePackSize/>

<BackorderedDate/>

<EDIWarnings/>

<Error/>

<QuantityBackordered/>

<Ref1/>

<Ref2/>

<Ref3/>

<Ref4/>

<Ref5/>

<Product>

<SupplierProductCode/>

<SKU/>

<Price/>

<Description/>

<SystemProductCode/>

<PurchaserProductCode/>

<RetailPrice/>

<WarehousePrice/>

<Weight/>

<Volume/>

<UnitOfMeasure/>

<TaxRule/>

<PackSize/>

<IndividualPackCode/>

<Cin7Option1/>

<Cin7Option2/>

<Cin7Name/>

<BuyersCatalogNumber/>

<LayersOnPallet/>

<UnitsOnPalletLayer/>

<SortCount/>

<PackType/>

<Ref1/>

<Ref10/>

<Ref11/>

<Ref12/>

<Ref13/>

<Ref2/>

<Ref3/>

<Ref4/>

<Ref5/>

<Ref6/>

<Ref7/>

<Ref8/>

<Ref9/>

<ShelfLife/>

</Product>

</StoreOrderProduct>

</StoreOrder>

</Store>

</Order>

Sales Order XML (MFT Sales Orders into Portal)

<Order>

<PartnerCode/>

<System/>

<SplitSalesOrder/>

<OrderNumber/>

<ReferenceNumber/>

<CustomerReference/>

<InvoiceNumber/>

<OrderDate/>

<DespatchAdviceSent/>

<InvoiceSent/>

<SubTotal/>

<TaxTotal/>

<Total/>

<Currency/>

<TaxRate/>

<TaxCode/>

<DropShip/>

<ShippingMethod/>

<ETD/>

<ETA/>

<PaymentDueDate/>

<ShipmentDueDate/>

<OSRSent/>

<CustomerCode/>

<WarehouseCode/>

<RetailerSupplierNumber/>

<DepartmentNumber/>

<Comments/>

<ContractNumber/>

<OrderInterchangeReceiver/>

<OrderInterchangeReceiverQualifier/>

<OrderInterchangeSender/>

<OrderInterchangeSenderQualifier/>

<OrderInterchangeReference/>

<OrderMessageReference/>

<Versioning/>

<OrderType/>

<AcknowledgmentRequest/>

<AdvertDate/>

<BuyerGLNCode/>

<Split/>

<SupplierCode/>

<SupplierNameAndAddress/>

<TestPurposeCode/>

<Vendor/>

<ABNNumber/>

<Store>

<StoreCode/>

<Name/>

<Address1/>

<Address2/>

<Suburb/>

<City/>

<PostalCode/>

<State/>

<Country/>

<Phone/>

<EmailAddress/>

<ORG_ID/>

<DCCode/>

<SalesRep/>

<ShopifyID/>

<StoreCode2/>

<SystemStoreCode/>

<Tag/>

<StoreOrder>

<StoreOrderNumber/>

<StoreOrderReference/>

<DCCode/>

<Error/>

<TotalWeight/>

<TotalVolume/>

<DispatchAdviceSent/>

<PackSlipSent/>

<BuyerNameAndAddress/>

<BuyerPartyCode/>

<Department/>

<DepartmentDescription/>

<DepartmentName/>

<DepartmentNumber/>

<EventType/>

<SystemStoreOrderID/>

<SystemStoreOrderNumber/>

<WarehouseCode/>

<StoreOrderProduct>

<LineTax/>

<LineTotal/>

<LineProductPriceAcknowledged/>

<LineDiscount/>

<OrderLineNumber/>

<Comments/>

<QuantityAcknowledged/>

<QuantityShipped/>

<Batch/>

<ExpiryDate/>

<PromotionStartDate/>

<GiftWrap/>

<ReturnMethod/>

<SystemOrderLineItemID/>

<LineWeight/>

<LineVolume/>

<OrderLineUnit/>

<OrderLineUnitISOCode/>

<PartNumber/>

<ProductColor/>

<ProductSize/>

<ProductStyle/>

<SupplierItemNumber/>

<VendorPartNumber/>

<SupplierPackType/>

<LineProductRetailPrice/>

<BackorderedDate/>

<EDIWarnings/>

<Error/>

<QuantityBackordered/>

<Ref1/>

<Ref2/>

<Ref3/>

<Ref4/>

<Ref5/>

<KitCode/>

<Product>

<SupplierProductCode/>

<SKU/>

<Price/>

<Description/>

<SystemProductCode/>

<PurchaserProductCode/>

<RetailPrice/>

<WarehousePrice/>

<Weight/>

<Volume/>

<UnitOfMeasure/>

<TaxRule/>

<PackSize/>

<IndividualPackCode/>

<Cin7Option1/>

<Cin7Option2/>

<Cin7Name/>

<BuyersCatalogNumber/>

<LayersOnPallet/>

<UnitsOnPalletLayer/>

<SortCount/>

<PackType/>

<Ref1/>

<Ref10/>

<Ref11/>

<Ref12/>

<Ref13/>

<Ref2/>

<Ref3/>

<Ref4/>

<Ref5/>

<Ref6/>

<Ref7/>

<Ref8/>

<Ref9/>

<ShelfLife/>

</Product>

</StoreOrderProduct>

</StoreOrder>

</Store>

</Order>

Ack XML (Ack into Portal)

<OrderResponse>

<PartnerCode LOGICAL ALPHANUMERIC(50) The partner for the order ack/>

<DueDate INFORMATIONAL DATETIME The new ETD value/>

<Store REPEATS>

<StoreOrder>

<StoreOrderNumber LOGICAL ALPHANUMERIC(50) The store order this is acknowledging/>

<StoreOrderProduct REPEATS>

<QuantityOrdered LOGICAL INTEGER Used to match order->ack lines if products are duplicated/>

<QuantityConfirmed INFORMATIONAL INTEGER  The acknowledged quantity/>

<LineTax INFORMATIONAL DECIMAL(4dp) The new line tax (AckQty * UnitTax)/>

<LineTotal INFORMATIONAL DECIMAL(4dp) The new line total (AckQty * Price inc tax)/>

<LineDiscount INFORMATIONAL DECIMAL(4dp) The new line discount (Not included in totals)/>

<OrderLineNumber LOGICAL ALPHANUMERIC(50) Used to match order->ack lines  if products are duplicated (not saved)/>

<Comments LOGICAL ALPHANUMERIC(MAX) Used to match order->ack lines  if products are duplicated (not saved)/>

<QuantityBackordered INFORMATIONAL INTEGER The new quantity backordered/>

<BackorderedDate INFORMATIONAL DATETIME The new backordered date/>

<Batch INFORMATIONAL ALPHANUMERIC(50) The new backordered date/>

<Product>

<SupplierProductCode LOGICAL ALPHANUMERIC(50) Used to match to the correct order line/>

<SKU LOGICAL ALPHANUMERIC(50) Used to match to the correct order line/>

<Price INFORMATIONAL INTEGER The acknowledged price for the order line/>

</Product>

</StoreOrderProduct>

</StoreOrder>

</Store>

</OrderResponse>

Shipment XML (Shipment into Portal)

<SalesShipments>

<SalesShipments>

<PartnerCode/>

<OrderNumber/>

<ShipmentNumber/>

<ShipmentStatus/>

<DispatchDate/>

<ShippingCompanyName/>

<TrackingNumber/>

<SSCCBarcode/>

<ShipTo/>

<ShipToBarcode/>

<StoreCode/>

<StoreCodeBarcode/>

<TrackingNumber2/>

<ASNReference/>

<NumberOfCartons/>

<CartonNos/>

<NumberOfShipments/>

<CartonCounter/>

<SplitShipment/>

<Split/>

<ShipmentSent/>

<ShippingCompany>

<Name/>

<ShipmentCharge/>

<ShipSpeed/>

<SCACCode/>

</ShippingCompany>

<SalesShipmentLines>

<SalesShipmentLine>

<LineNumber/>

<ShipmentQty/>

<Comments/>

<SystemOrderLineItemID/>

<Product>

<ProductCode/>

<ExpiryDate/>

<SSCCBarcode/>

<HireTypeCode/>

<Batch/>

<Location/>

<REF1/>

<REF2/>

<REF3/>

<REF4/>

<REF5/>

<SerialNumber/>

<ManufacturingDate/>

<Weight/>

<WeightUOM/>

<LotNumber/>

<KitCode/>

<SystemProductCode/>

<SupplierProductCode/>

<PurchaserProductCode/>

<SKU/>

<Price/>

<ProductDescription/>

</Product>

<ShipmentCartons>

<ShipmentCarton>

<SSCC/>

<ProductID/>

<CartonNumber/>

<ShippedQuantity/>

<Weight/>

<NetWeight/>

<WeightUOM/>

<HireTypeCode/>

</ShipmentCarton>

</ShipmentCartons>

<ShipmentProductDetail>

<SerialNumber/>

</ShipmentProductDetail>

</SalesShipmentLine>

</SalesShipmentLines>

</SalesShipments>

</SalesShipments>

Invoice XML (Invoice into Portal)

<SalesInvoices>

<SalesInvoice>

<InvoiceNumber/>

<OrderNumber/>

<CustomerReference/>

<PartnerCode/>

<InvoiceDate/>

<SystemStatus/>

<InvoiceType/>

<SubTotal/>

<TotalTax/>

<Total/>

<PaymentDueDate/>

<PaymentTerms/>

<Currency/>

<InvoiceComments/>

<System/>

<SystemInvoiceID/>

<TaxAccountNumber/>

<RetailSupplierNumber/>

<ShipToAddress>

<StoreCode/>

<SystemStoreCode/>

<Name/>

<Address1/>

<Address2/>

<Suburb/>

<City/>

<PostalCode/>

<State/>

<Country/>

<Phone/>

<EmailAddress/>

<ORG_ID/>

<DCCode/>

<SalesRep/>

<ShopifyID/>

<StoreCode2/>

<Tag/>

</ShipToAddress>

<BillToAddress>

<StoreCode/>

<SystemStoreCode/>

<Name/>

<Address1/>

<Address2/>

<Suburb/>

<City/>

<PostalCode/>

<State/>

<Country/>

<Phone/>

<EmailAddress/>

<ORG_ID/>

<DCCode/>

<SalesRep/>

<ShopifyID/>

<StoreCode2/>

<Tag/>

</BillToAddress>

<InvoiceProduct>

<LineNumber/>

<SystemLineNumber/>

<QuantityInvoiced/>

<UnitPrice/>

<UnitTax/>

<LinePrice>0</LinePrice>

<LineTax/>

<LineDiscount/>

<LineDiscountPercentage/>

<LineTotal/>

<InvoiceLineComment/>

<SystemInvoiceProductID/>

<Product>

<SupplierProductCode/>

<SKU/>

<Price/>

<Description/>

<SystemProductCode/>

<PurchaserProductCode/>

<RetailPrice/>

<WarehousePrice/>

<Weight/>

<Volume/>

<UnitOfMeasure/>

<TaxRule/>

<PackSize/>

<IndividualPackCode/>

<Cin7Option1/>

<Cin7Option2/>

<Cin7Name/>

<BuyersCatalogNumber/>

<LayersOnPallet/>

<UnitsOnPalletLayer/>

<SortCount/>

<PackType/>

<Ref1/>

<Ref10/>

<Ref11/>

<Ref12/>

<Ref13/>

<Ref2/>

<Ref3/>

<Ref4/>

<Ref5/>

<Ref6/>

<Ref7/>

<Ref8/>

<Ref9/>

<ShelfLife/>

</Product>

</InvoiceProduct>

</SalesInvoice>

</SalesInvoices>

Universal XML (All messages from Portal)

<Orders>

<Order>

<OrderID/>

<System/>

<OrderNumber/>

<ReferenceNumber/>

<CustomerReference/>

<InvoiceNumber/>

<OrderDate/>

<Status/>

<DespatchAdviceSent/>

<InvoiceSent/>

<SubTotal/>

<TaxTotal/>

<Total/>

<Currency/>

<TaxRate/>

<TaxCode/>

<DropShip/>

<ShippingMethod/>

<ETD/>

<ETA/>

<PaymentDueDate/>

<ShipmentDueDate/>

<OSRSent/>

<CustomerCode/>

<WarehouseCode/>

<RetailerSupplierNumber/>

<DepartmentNumber/>

<Comments/>

<ContractNumber/>

<OrderInterchangeReceiver/>

<OrderInterchangeReceiverQualifier/>

<OrderInterchangeSender/>

<OrderInterchangeSenderQualifier/>

<OrderInterchangeReference/>

<OrderMessageReference/>

<InvoicedDate/>

<OrderStatus/>

<ShipmentStatus/>

<InvoiceStatus/>

<AcknowledgedStatus/>

<Versioning/>

<ExternalStatus/>

<SalesOrderStatus/>

<AcknowledgmentRequest/>

<AdvertDate/>

<BuyerGLNCode/>

<Split/>

<SupplierCode/>

<SupplierNameAndAddress/>

<TestPurposeCode/>

<Vendor/>

<ABNNumber/>

<HeaderActionCode/>

<PartnerSetting>

<PartnerCode/>

<ExternalCustomerID/>

</PartnerSetting>

<Warehouse>

<WarehouseID/>

<WarehouseCode/>

<WarehouseName/>

<WarehouseDescription/>

<Ref1/>

<Ref2/>

<Ref3/>

<Ref4/>

<Ref5/>

<Default/>

<ExternalWarehouseID/>

<ExternalCustomerID/>

</Warehouse>

<StoreOrders>

<StoreOrder>

<StoreOrderID/>

<StoreOrderNumber/>

<Status/>

<DCOrder/>

<DispatchAdviceSent/>

<PackSlipSent/>

<InvoiceReceived/>

<OrderStatus/>

<AcknowledgmentStatus/>

<ShipmentStatus/>

<InvoiceStatus/>

<SystemStoreOrderNumber/>

<SystemStoreOrderID/>

<Error/>

<ErrorType/>

<InvoiceNumber/>

<DCCode/>

<TotalQuantityOrdered/>

<TotalQuantityAcknowledged/>

<TotalWeight/>

<TotalVolume/>

<PricesValidated/>

<TransitStatus/>

<SalesOrderStatus/>

<ExternalStatus/>

<QtyAckValidated/>

<StoreOrderReference/>

<BuyerNameAndAddress/>

<BuyerPartyCode/>

<Department/>

<DepartmentDescription/>

<DepartmentName/>

<DepartmentNumber/>

<EventType/>

<AlternatePriceCode/>

<WarehouseCode/>

<Store>

<StoreID/>

<StoreCode/>

<StoreCode2/>

<Name/>

<Address1/>

<Address2/>

<City/>

<PostalCode/>

<State/>

<Country/>

<Phone/>

<EmailAddress/>

<ORG_ID/>

<SystemStoreCode/>

<Suburb/>

<ShopifyID/>

<Tag/>

<SalesRep/>

</Store>

<Company>

<StoreID/>

<StoreCode/>

<StoreCode2/>

<Name/>

<Address1/>

<Address2/>

<City/>

<PostalCode/>

<State/>

<Country/>

<Phone/>

<EmailAddress/>

<ORG_ID/>

<SystemStoreCode/>

<Suburb/>

<ShopifyID/>

<Tag/>

<SalesRep/>

</Company>

<CompanyPostal>

<StoreID/>

<StoreCode/>

<StoreCode2/>

<Name/>

<Address1/>

<Address2/>

<City/>

<PostalCode/>

<State/>

<Country/>

<Phone/>

<EmailAddress/>

<ORG_ID/>

<SystemStoreCode/>

<Suburb/>

<ShopifyID/>

<Tag/>

<SalesRep/>

</CompanyPostal>

<BillTo>

<StoreID/>

<StoreCode/>

<StoreCode2/>

<Name/>

<Address1/>

<Address2/>

<City/>

<PostalCode/>

<State/>

<Country/>

<Phone/>

<EmailAddress/>

<ORG_ID/>

<SystemStoreCode/>

<Suburb/>

<ShopifyID/>

<Tag/>

<SalesRep/>

</BillTo>

<BillToPostal>

<StoreID/>

<StoreCode/>

<StoreCode2/>

<Name/>

<Address1/>

<Address2/>

<City/>

<PostalCode/>

<State/>

<Country/>

<Phone/>

<EmailAddress/>

<ORG_ID/>

<SystemStoreCode/>

<Suburb/>

<ShopifyID/>

<Tag/>

<SalesRep/>

</BillToPostal>

<ToAddress>

<StoreID/>

<StoreCode/>

<StoreCode2/>

<Name/>

<Address1/>

<Address2/>

<City/>

<PostalCode/>

<State/>

<Country/>

<Phone/>

<EmailAddress/>

<ORG_ID/>

<SystemStoreCode/>

<Suburb/>

<ShopifyID/>

<Tag/>

<SalesRep/>

</ToAddress>

<FromAddress>

<StoreID/>

<StoreCode/>

<StoreCode2/>

<Name/>

<Address1/>

<Address2/>

<City/>

<PostalCode/>

<State/>

<Country/>

<Phone/>

<EmailAddress/>

<ORG_ID/>

<SystemStoreCode/>

<Suburb/>

<ShopifyID/>

<Tag/>

<SalesRep/>

</FromAddress>

<StoreOrderProducts>

<StoreOrderProduct>

<StoreOrderProductID/>

<StoreOrderProductComponentID/>

<KitStoreOrderProductID/>

<Quantity/>

<QuantityAcknowledged/>

<QuantityShipped/>

<LineTax/>

<LineTotal/>

<LineProductPrice/>

<LineProductPriceAcknowledged/>

<LineDiscount/>

<Batch/>

<ExpiryDate/>

<PromotionStartDate/>

<GiftWrap/>

<Comments/>

<ReturnMethod/>

<OrderLineNumber/>

<LinePackSize/>

<QuantityAccepted/>

<SystemOrderLineItemID/>

<QuantityInvoiced/>

<QuantityNotDelivered/>

<Error/>

<Ref1/>

<Ref2/>

<Ref3/>

<Ref4/>

<Ref5/>

<LineWeight/>

<LineVolume/>

<ExternalReservationID/>

<ReservedUnits/>

<OrderLineUnit/>

<OrderLineUnitISOCode/>

<PartNumber/>

<ProductColor/>

<ProductSize/>

<ProductStyle/>

<SupplierItemNumber/>

<VendorPartNumber/>

<LineProductRetailPrice/>

<QuantityBackordered/>

<BackorderedDate/>

<EDIWarnings/>

<LineActionCode/>

<Product>

<ProductID/>

<SystemProductCode/>

<SupplierProductCode/>

<PurchaserProductCode/>

<SKU/>

<Price/>

<RetailPrice/>

<WarehousePrice/>

<Description/>

<Weight/>

<Volume/>

<UnitOfMeasure/>

<TaxRule/>

<PackSize/>

<IndividualPackCode/>

<Cin7Option1/>

<Cin7Option2/>

<Cin7Name/>

<BuyersCatalogNumber/>

<ShelfLife/>

<Ref1/>

<Ref2/>

<Ref3/>

<Ref4/>

<Ref5/>

<Ref6/>

<Ref7/>

<Ref8/>

<Ref9/>

<Ref10/>

<Ref11/>

<Ref12/>

<Ref13/>

<LayersOnPallet/>

<UnitsOnPalletLayer/>

<SortCount/>

<PackType/>

<KitSet/>

</Product>

</StoreOrderProduct>

</StoreOrderProducts>

<Invoices>

<Invoice>

<InvoiceID/>

<InvoiceNumber/>

<OrderNumber/>

<CustomerReference/>

<InvoiceDate/>

<SystemStatus/>

<InvoiceStatus/>

<InvoiceType/>

<SubTotal/>

<TotalTax/>

<Total/>

<PaymentDueDate/>

<PaymentTerms/>

<Currency/>

<InvoiceComments/>

<System/>

<SystemInvoiceID/>

<TaxAccountNumber/>

<InvoiceProducts>

<InvoiceProduct>

<InvoiceProductID/>

<StoreOrderProductID/>

<LineNumber/>

<SystemLineNumber/>

<QuantityInvoiced/>

<UnitPrice/>

<UnitTax/>

<LinePrice/>

<LineTax/>

<LineDiscount/>

<LineDiscountPercentage/>

<LineTotal/>

<InvoiceLineComment/>

<SystemInvoiceProductID/>

<Product>

<ProductID/>

<SystemProductCode/>

<SupplierProductCode/>

<PurchaserProductCode/>

<SKU/>

<Price/>

<RetailPrice/>

<WarehousePrice/>

<Description/>

<Weight/>

<Volume/>

<UnitOfMeasure/>

<TaxRule/>

<PackSize/>

<IndividualPackCode/>

<Cin7Option1/>

<Cin7Option2/>

<Cin7Name/>

<BuyersCatalogNumber/>

<ShelfLife/>

<Ref1/>

<Ref2/>

<Ref3/>

<Ref4/>

<Ref5/>

<Ref6/>

<Ref7/>

<Ref8/>

<Ref9/>

<Ref10/>

<Ref11/>

<Ref12/>

<Ref13/>

<LayersOnPallet/>

<UnitsOnPalletLayer/>

<SortCount/>

<PackType/>

<KitSet/>

</Product>

</InvoiceProduct>

</InvoiceProducts>

<Store>

<StoreID/>

<StoreCode/>

<StoreCode2/>

<Name/>

<Address1/>

<Address2/>

<City/>

<PostalCode/>

<State/>

<Country/>

<Phone/>

<EmailAddress/>

<ORG_ID/>

<SystemStoreCode/>

<Suburb/>

<ShopifyID/>

<Tag/>

<SalesRep/>

</Store>

<BillTo>

<StoreID/>

<StoreCode/>

<StoreCode2/>

<Name/>

<Address1/>

<Address2/>

<City/>

<PostalCode/>

<State/>

<Country/>

<Phone/>

<EmailAddress/>

<ORG_ID/>

<SystemStoreCode/>

<Suburb/>

<ShopifyID/>

<Tag/>

<SalesRep/>

</BillTo>

</Invoice>

</Invoices>

<Shipments>

<Shipment>

<ShipmentID/>

<ShipmentNumber/>

<Status/>

<Carrier/>

<ShipSpeed/>

<SSCC/>

<SSCCBarcode/>

<ShipTo/>

<ShipToBarcode/>

<StoreCode/>

<StoreCodeBarcode/>

<DispatchDate/>

<Backordered/>

<ASNReference/>

<TrackingNumber2/>

<NumberOfCartons/>

<ShipmentCharge/>

<SCACCode/>

<TotalQuantityShipped/>

<NumberOfShipments/>

<ShipmentCartons>

<ShipmentCarton>

<ShipmentCartonID/>

<CartonNumber/>

<SSCCNumber/>

<ProductCode/>

<ShippedQty/>

<OriginalLineNumber/>

<TrackingNumber/>

<Length/>

<Width/>

<Height/>

<Weight/>

<NetWeight/>

<WeightUOM/>

<HireTypeCode/>

<ShipmentCartonProducts>

<ShipmentCartonProduct>

<ShipmentCartonProductID/>

<ShipmentCartonProductComponentID/>

<StoreOrderProductID/>

<StoreOrderProductComponentID/>

<KitShipmentCartonProductID/>

<CartonQuantity/>

<ExpiryDate/>

<Batch/>

<SSCC/>

<Location/>

<REF1/>

<REF2/>

<REF3/>

<REF4/>

<REF5/>

<SerialNumber/>

<ManufacturingDate/>

<Weight/>

<WeightUOM/>

<LotNumber/>

<Product>

<ProductID/>

<SystemProductCode/>

<SupplierProductCode/>

<PurchaserProductCode/>

<SKU/>

<Price/>

<RetailPrice/>

<WarehousePrice/>

<Description/>

<Weight/>

<Volume/>

<UnitOfMeasure/>

<TaxRule/>

<PackSize/>

<IndividualPackCode/>

<Cin7Option1/>

<Cin7Option2/>

<Cin7Name/>

<BuyersCatalogNumber/>

<ShelfLife/>

<Ref1/>

<Ref2/>

<Ref3/>

<Ref4/>

<Ref5/>

<Ref6/>

<Ref7/>

<Ref8/>

<Ref9/>

<Ref10/>

<Ref11/>

<Ref12/>

<Ref13/>

<LayersOnPallet/>

<UnitsOnPalletLayer/>

<SortCount/>

<PackType/>

<KitSet/>

</Product>

<ShipmentCartonProductDetails>

<ShipmentCartonProductDetail>

<SerialNumber/>

</ShipmentCartonProductDetail>

</ShipmentCartonProductDetails>

</ShipmentCartonProduct>

</ShipmentCartonProducts>

</ShipmentCarton>

</ShipmentCartons>

</Shipment>

</Shipments>

<Warehouse>

<WarehouseID/>

<WarehouseCode/>

<WarehouseName/>

<WarehouseDescription/>

<Ref1/>

<Ref2/>

<Ref3/>

<Ref4/>

<Ref5/>

<Default/>

<ExternalWarehouseID/>

<ExternalCustomerID/>

</Warehouse>

</StoreOrder>

</StoreOrders>

</Order>

</Orders>