2 External Imports and Exports
Avalara AvaTax Interface
Purpose: The Avalara AvaTax Interface provides a bridge between Order Management System and the Avalara AvaTax system to calculate the tax information on your orders at strategic points:
- order entry
- order maintenance
- pick slip preparation
- billing
Order Management System communicates with AvaTax files to determine the appropriate tax rate at each stage of the order's life cycle. AvaTax determines the appropriate tax rate based on the “ship-from” and “ship-to” addresses on the order.
The AvaTax system stores the tax rates for each taxing jurisdiction in the United States and Canada, and provides the necessary reporting for each jurisdiction in which you sell or operate.
If you use the AvaTax interface, you don't need to keep current with the tax rates and reporting requirements of each taxing jurisdiction, and you no longer have to maintain these rates on Order Management System. Also, the system does not consider any item tax exemptions set up through Working with Item Tax Exemptions (WITX) or Working with GST Tax Exemption Status (MGTX). Instead, you should use AvaTax to set up any tax exemptions for items.
Note:
You cannot use both AvaTax and tax-inclusive pricing (VAT) in the same company; you must use separate companies for regular tax and VAT. See Tax Included in Price (E70) for more information on VAT.Compatibility: Order Management System version 17.0 or later is compatible with Avalara AvaTax REST API v2.
For more information: See Avalara AvaTax Setup for information on setting up Order Management System to support communication with AvaTax. Also, see your AvaTax documentation for detailed information on setup requirements within AvaTax.
In this topic:
Tax Calculation Processing Overview
Overview: The AvaTax Interface passes order and tax information between Order Management System and AvaTax at various points in the order cycle (from order entry to billing).
AvaTax evaluates and calculates the tax amount on the order at each phase and updates transactions appropriately.
Communication between Order Management System and AvaTax: When Order Management System needs tax information during order entry or maintenance, pick slip preparation, or billing, it sends a tax request message to AvaTax using web services. The TAX_INT integration layer job defines the wsdl (Web Services Definition Language) file that controls the integration.
For troubleshooting purposes, Order Management System writes the tax request message to the Trace Log. Additional processing is logged to the Application Log.
For more information: See Avalara AvaTax Setup for more information on configuring the integration.
What is taxed? Based on its current data on tax rules for the shipping address on the order and the additional rules that you define for customer or item exceptions, AvaTax indicates the tax amounts for merchandise, freight (order-level or line-level), handling charges, duty, shipper-item charges, and additional freight.
Tax Overrides, Customer Exemptions, and Item or Class Exceptions
Tax override: You can set the Tax override flag in the Order Detail table to Y when you create an order through the generic order API. If this flag is set to Y, AvaTax does not calculate the tax amount for the item at any point in the order cycle and just uses the specified tax override amount; however, if there are any line-level freight, handling, or gift wrap charges, these charges may be subject to tax even if the order detail line has a tax override.
Similarly, you can override tax on freight through the order API
by specifying a freight_tax_amount
and setting the freight_tax_override
to Y.
Note:
- There is no way to set the Tax override flag through interactive order entry.
- The system does not set the Tax override flag in the Order Detail table unless there is a tax amount specified in the inbound order message. As a result, you cannot use this setting to create an order line with no tax amount in interactive order entry. The only way to exempt an order line from tax is to set up an item exception in Working with Tax Product Code Cross References (WTPC).
For more information: See the Send Tax to Tax Interface as Quote Not Invoice (L11) system control value for a discussion on how the system sends different request types to AvaTax based on the setting of this system control value and whether the tax is overridden.
Customer tax exemptions: If a customer is flagged as tax exempt in Order Management System and has a tax-exempt Tax identification number, the merchandise and charges on the customer’s orders are not taxable. Order Management System passes the exemption tax identification number to AvaTax. Although Order Management System does not pass the customer’s tax exempt Expiration date, order entry does not let you create an order flagged as tax-exempt if the customer’s Expiration date has passed.
Item or item class exceptions: When you use AvaTax, you need to set up item exceptions in Working with Tax Product Code Cross References (WTPC). For example, if you have two item classes that are not normally taxable, you can map these item classes to tax product codes in AvaTax.
Note:
Even if an item on an order is not subject to tax, AvaTax still calculates tax for any freight, handling charges, and gift wrap charges if the order is otherwise subject to tax.Order Broker fulfilling orders: Invoice request messages are not sent to AvaTax for orders created to fulfill orders that originated in Order Management System, were submitted to Order Broker, and then submitted to Order Management System because Order Broker selected the Order Management System warehouse for fulfillment or sourcing. See Order Broker Integration for background.
AvaTax Processing
When Order Management System needs to calculate tax for an order and you are using the AvaTax interface, the system uses the AvaTax REST API v2 web service to communicate with the AvaTax system via HTTP POST.
- Order Management System generates a Tax Request Message (CWTaxRequest), maps the information in the Tax Request message to the AvaTax Request message, and sends the AvaTax Request message to AvaTax for tax calculation.
- AvaTax calculates the tax and sends an AvaTax Response message to Order Management System.
- Order Management System maps the information in the AvaTax Response message to the Tax Response Message (CWTaxResponse) and uses the information in the Tax Response message to apply tax to the order.
For more information see the Web Services Guide on My Oracle Support (ID 2149144.1).
Tax Request Maps
Order Management System maps the generic tax messages (Tax Request Message (CWTaxRequest) and Tax Response Message (CWTaxResponse)) to the AvaTax message format to pass tax information to and from AvaTax.
For more information see the Web Services Guide on My Oracle Support (ID 2149144.1).
Reviewing messages: You can review the messages passed between Order Management System and AvaTax in the Trace Log if its Logging Level is set to DEBUG or ALL. Use this log to help troubleshoot the AvaTax integration.
License key authentication: The AvaTax integration uses RESTful web services and supports basic HTTP authentication, passing the account and license defined in the AvaTax Values by Company Properties File to AvaTax.
For more information: See:
Tax Calculation Processing Overview for an overview of the AvaTax process.
Generic Tax API for more information on the generic tax API, including information on the Tax Request Message (CWTaxRequest) and Tax Response Message (CWTaxResponse).
For more information see the Web Services Guide on My Oracle Support (ID 2149144.1).
Tax Interface Request Message > AvaTax Request Message
The tax request message is used to send order and tax information to AvaTax. AvaTax uses this information to calculate the tax to assign to the order.
Generated when? Order Management System generates the Tax Request Message (CWTaxRequest) when tax needs to be calculated on an order during order entry, order maintenance, pick slip preparation, and billing.
For more information see the Web Services Guide on My Oracle Support (ID 2149144.1).
The system maps the information in the Tax Request message to the AvaTax Request message and sends the AvaTax Request message to AvaTax.
Information included:
CWTaxRequest Message | AvaTax | Comments | |
---|---|---|---|
Source Field/Table | In Message | In Message | |
entity_999_child_company in AvaTax Values by Company Properties File (where 999 is the entity associated with the order) or default_company field in AvaTax Values by Company Properties File or Company in Order Ship To table |
company For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
companyCode |
The company code associated with the transaction. The system uses the following hierarchy to determine the company
code:
|
N/A |
source For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
customerCode |
|
customer_usage_type_CC in AvaTax Values by Company Properties File where CC is the Customer Class in Customer Sold To table |
sold_to_cust_class For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
customerUsageType |
Identifies the customer within a group and is used to mark a customer as fully or partially exempt. The AvaTax system provides pre-populated customer taxability profiles with rules for the United States and Canada. From the customer_usage_type_CC in the AvaTax Values by Company Properties File where CC is the sold to customer class. |
Resale Exempt # in Order Ship To table (labeled the Tax identification) |
resale_exemption_nbr For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
exemptionNo |
The Tax identification number. Up to 30 positions, and can include numbers, letters, and special characters. |
Company + Order # + Ship To # in Order Ship To table |
company + order_nbr + order_shipto_nbr For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
code |
The code assigned to the transaction, made
up of company code + order number + ship to number. For example, if
the company code is 76, the order number is 160, the ship to number
is 1, the code is |
N/A |
date_created + time_created For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
date |
The date the transaction took place, in YYYY-MM-DDTHH:MM:SS format. |
N/A |
request_type For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
commit |
true = The request_type in the Tax Request message is QUOTATION. false = The request_type in the Tax Request message is INVOICE or DISTRIBUTETAX. |
N/A |
request_type For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
type |
Identifies the type of transaction. Valid values are:
|
lines |
|||
Line # in Order Detail table |
odt_line_nbr + odt_line_item_type For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
number |
The transaction line number. |
Item Class + LSD Class + LSD Department in the Item table + Long SKU Division in Long SKU Department table or line_handling_tax_code in AvaTax Values by Company Properties File or line_freight_tax_code in AvaTax Values by Company Properties File or line_duty_tax_code in AvaTax Values by Company Properties File or additional_freight_tax_code in AvaTax Values by Company Properties File or order_freight_tax_code in AvaTax Values by Company Properties File |
odt_line_item_type For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
taxCode |
The tax code defined for the transaction line. Line merchandise tax (LM): the system uses the item class + long SKU class + long SKU department + long SKU division combination to find a tax code in the Tax Product Code Cross Reference table (Working with Tax Product Code Cross References (WTPC)). Line handling tax (LH): from the line_handling_tax_code in the AvaTax Values by Company Properties File.
Note: If the S/H exclude tax? flag is selected for an additional charge code, then a line that uses this additional charge code for special handling is not subject to order line handling (LH) tax.Line freight tax (LF): from the line_freight_tax_code in the AvaTax Values by Company Properties File. Line duty tax (LD): from the AvaTax Values by Company Properties File. Additional freight and shipper item charges tax (AF): from the additional_freight_tax_code in the AvaTax Values by Company Properties File. Order freight tax (OF): from the order_freight_tax_code in the AvaTax Values by Company Properties File. |
ODT qty ordered in Order Detail table |
odt_qty For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
quantity |
The quantity of the item on the order line.
|
taxOverride |
|||
ODT future use Y/N 1 in Order Detail table |
odt_tax_override For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
type |
Identifies the type of tax override. Valid values are:
taxAmount = the odt_tax_override in the Tax Interface Request message is Y. taxDate = the odt_tax_override in the Tax Interface Request message is N or blank. |
Tax in Order Detail table |
odt_tax_override_amt For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
taxAmount |
The tax override amount. This value is populated only if the odt_tax_override in the Tax Request is Y. |
ODT arrival date in Order Detail table |
odt_arrival_date or order_date For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
taxDate |
The date to use for the tax override, in YYYY-MM-DDTHH:MM:SS format. If the tax_date in the AvaTax Values by Company Properties File is I (Invoice), the system uses the arrival date. For QUOTATIONS, the arrival date represents the order date and for INVOICE/DISTRIBUTETAX, the arrival date represents the invoice date. If the tax_date in the AvaTax Values by Company Properties File is O (Order), the system uses the order date. This value is populated only if the odt_tax_override in the Tax Request is N or blank. |
ODT future use Y/N 1 in Order Detail table |
odt_tax_override For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
reason |
The reason for the tax override.
|
ITM number in Order Detail table |
odt_item |
description |
A description of the item. |
N/A |
odt_line_item_type For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
ref1 |
Identifies the type of tax. Valid values are:
|
N/A |
odt_extended_price |
amount |
The amount of tax. |
ref2 |
|||
ITM number + SKU code in Order Detail table |
odt_item + odt_SKU or odt_line_item_type For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
itemCode |
If the odt_line_item_type is LM, this is the item number and SKU code of the item on the line. If the odt_line_item_type is a value other than LM, this is the line item type code. |
Description in Item table |
odt_item_desc For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
description |
A description of the item. |
addresses |
|||
CustomerShipTo |
shipTo |
||
Order ship to: NAM city in Order Ship To Address table Permanent ship to: NAM city in Customer Ship To table Recipient sold to: NAM city in Customer Sold To table |
ship_to_city For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
city |
The city of the ship to address on the order. |
Order ship to: RPR country in Order Ship To Address table Permanent ship to: RPR country in Customer Ship To table Recipient sold to: RPR country in Customer Sold To table |
ship_to_country For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
country |
The country of the ship to address on the order. |
Order ship to: NAM street address in Order Ship To Address table Permanent ship to: NAM street address in Customer Ship To table Recipient sold to: NAM street address in Customer Sold To table |
ship_to_addr1 For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
line1 |
The street address of the ship to address on the order. |
Order ship to: NAM address line 2 in Order Ship To Address table Permanent ship to: NAM address line 2 in Customer Ship To table Recipient sold to: NAM address line 2 in Customer Sold To table |
ship_to_addr2 For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
line2 |
The second address line of the ship to address on the order. |
Order ship to: Address line 3 in Order Ship To Address table Permanent ship to: Address line 3 in Customer Ship To Extended table Recipient sold to: Address line 3 in Customer Sold To Extended table |
ship_to_addr3 For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
line3 |
The third address line of the ship to address on the order. |
Order ship to: NAM zip in Order Ship To Address table Permanent ship to: NAM zip in Customer Ship To table Recipient sold to: NAM zip in Customer Sold To table |
ship_to_postal For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
postalCode |
The postal code of the ship to address on the order. |
Order ship to: NAM state in Order Ship To Address table Permanent ship to: NAM state in Customer Ship To table Recipient sold to: NAM state in Customer Sold To table |
ship_to_state For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
region |
The state or province code of the ship to address on the order. |
ShipFromWarehouse |
shipFrom |
||
Warehouse: City in Warehouse table Sold to: NAM city in Customer Sold To table or default_warehouse_city in AvaTax Values by Company Properties File |
ship_from_city For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
city |
The city of the sold to address on the order. If the ship_from_warehouse in the Tax Request message contains a value, from the ship_from_city in the Tax Request message; otherwise, if the ship_from_warehouse is 0 or blank, from the default_warehouse_city in the AvaTax Values by Company Properties File. |
Warehouse: RPR country in Warehouse table Sold to: RPR country in Customer Sold To table or default_warehouse_country in AvaTax Values by Company Properties File |
ship_from_country For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
country |
The country of the sold to address on the order. If the ship_from_warehouse in the Tax Request message contains a value, from the ship_from_country in the Tax Request message; otherwise, if the ship_from_warehouse is 0 or blank, from the default_warehouse_country in the AvaTax Values by Company Properties File. |
Warehouse: Address in Warehouse table Sold to: NAM street address in Customer Sold To table or default_warehouse_line1 in AvaTax Values by Company Properties File |
ship_from_addr1 For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
line1 |
The street address of the sold to address on the order. If the ship_from_warehouse in the Tax Request message contains a value, from the ship_from_addr1 in the Tax Request message; otherwise, if the ship_from_warehouse is 0 or blank, from the default_warehouse_line1 in the AvaTax Values by Company Properties File. |
Warehouse: Address line 2 in Warehouse table Sold to: NAM address line 2 in Customer Sold To table or default_warehouse_line2 in AvaTax Values by Company Properties File |
ship_from_addr2 For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
line2 |
The second address line of the sold to address on the order. If the ship_from_warehouse in the Tax Request message contains a value, from the ship_from_addr2 in the Tax Request message; otherwise, if the ship_from_warehouse is 0 or blank, from the default_warehouse_line2 in the AvaTax Values by Company Properties File. |
Warehouse: Address line 3 in Warehouse table Sold to: NAM address line 3 in Customer Sold To table or default_warehouse_line3 in AvaTax Values by Company Properties File |
ship_from_addr3 For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
line3 |
The third address line of the sold to address on the order. If the ship_from_warehouse in the Tax Request message contains a value, from the ship_from_addr3 in the Tax Request message; otherwise, if the ship_from_warehouse is 0 or blank, from the default_warehouse_line3 in the AvaTax Values by Company Properties File. |
Warehouse: Zip Code in Warehouse table Sold to: NAM zip in Customer Sold To table or default_warehouse_postalcode in AvaTax Values by Company Properties File |
ship_from_postal For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
postalCode |
The postal code of the sold to address on the order. If the ship_from_warehouse in the Tax Request message contains a value, from the ship_from_postal in the Tax Request message; otherwise, if the ship_from_warehouse is 0 or blank, from the default_warehouse_postalcode in the AvaTax Values by Company Properties File. |
Warehouse: State in Warehouse table Sold to: NAM state in Customer Sold To table or default_warehouse_state in AvaTax Values by Company Properties File |
ship_from_state For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
region |
The state or province code of the sold to address on the order. If the ship_from_warehouse in the Tax Request message contains a value, from the ship_from_state in the Tax Request message; otherwise, if the ship_from_warehouse is 0 or blank, from the default_warehouse_state in the AvaTax Values by Company Properties File. |
pointOfOrderAcceptance |
|||
call_center_city in AvaTax Values by Company Properties File |
N/A |
city |
The city of the call center address. From the call_center_city in the AvaTax Values by Company Properties File. |
call_center_country in AvaTax Values by Company Properties File |
N/A |
country |
The country of the call center address. From the call_center_country in the AvaTax Values by Company Properties File. |
call_center_line1 in AvaTax Values by Company Properties File |
N/A |
line1 |
The street address of the call center address. From the call_center_line1 in the AvaTax Values by Company Properties File. |
call_center_line2 in AvaTax Values by Company Properties File |
N/A |
line2 |
The second address line of the call center address. From the call_center_line2 in the AvaTax Values by Company Properties File. |
call_center_line3 in AvaTax Values by Company Properties File |
N/A |
line3 |
The third address line of the call center address. From the call_center_line3 in the AvaTax Values by Company Properties File. |
call_center_postalcode in AvaTax Values by Company Properties File |
N/A |
postalCode |
The postal code of the call center address. From the call_center_postalcode in the AvaTax Values by Company Properties File. |
call_center_state in AvaTax Values by Company Properties File |
N/A |
region |
The state or province code of the call center address. From the call_center_state in the AvaTax Values by Company Properties File. |
AvaTax Response > Tax Interface Response Message
The tax response message is used to send tax information to Order Management System. Order Management System uses this information to apply tax to an order.
Generated when? AvaTax generates a tax response message when it receives an Tax Interface Request Message > AvaTax Request Message from Order Management System.
The system maps the information in the AvaTax Response message to the Tax Interface Response message.
Information included:
AvaTax | CWTaxResponse Message | Comments | |
---|---|---|---|
In Message | In Message | Target Field/Table | |
Message |
|||
date |
date_created For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
N/A |
The date when the response was generated
in Day Mon DD HH:MM:TT YYYY format; for example: |
N/A |
type For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
N/A |
|
N/A |
target For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
N/A |
|
N/A |
source For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
N/A |
|
TaxInterfaceResponse |
|||
type |
tax_type For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
N/A |
The type of transaction. Valid values are:
|
N/A |
order_shipto_nbr |
Ship To # in Order Ship To table |
From the order_shipto_nbr in the corresponding Tax Request Message (CWTaxRequest). For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
N/A |
order_nbr |
Order # in Order Ship To table |
From the order_nbr in the corresponding Tax Request Message (CWTaxRequest). For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
N/A |
entity |
Entity Number in Division table |
From the entity in the corresponding Tax Request Message (CWTaxRequest). For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
N/A |
company For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
Company in Order Ship To table |
From the company in the corresponding Tax Request Message (CWTaxRequest). For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
type |
request_type For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
N/A |
Valid values are:
|
OrderDetail |
|||
rate |
odt_total_tax_rate For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
N/A |
|
totalTax |
odt_total_tax_amt For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
Tax in Order Detail table |
|
itemCode |
odt_line_item_type For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
N/A |
|
lineNumber |
odt_line_nbr For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
Line # in Order Detail table |
|
JurisdictionLevel |
|||
rate |
jurisdiction_level_tax_rate For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
N/A |
|
tax |
jurisdiction_level_tax_amt For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
N/A |
|
jurisType |
jurisdiction_level_desc For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
N/A |
|
jurisType |
jurisdiction_level For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). |
N/A |
Valid values are:
|
Sample Tax Messages
- CWTaxRequest: Sample Message
- AvaTax Request: Sample Message
- AvaTax Response: Sample Message
- CWTaxResponse: Sample Message
CWTaxRequest: Sample Message
A sample of the Tax Request Message (CWTaxRequest) is presented below.
For more information see the Web Services Guide on My Oracle Support (ID 2149144.1).
<Message time_created="05:56:38" date_created="2017-09-14"
type=" " target="CWIntegrate" source="CWDirect">
<TaxInterfaceRequest sold_to_cust_class="" order_date="2017-09-14"
order_shipto_nbr="001" order_nbr="00000270" company="076" request_type="QUOTATION">
<CustomerShipTo ship_to_country="US" ship_to_postal="01581"
ship_to_state="MA" ship_to_city="WESTBORO" ship_to_addr1="1800 WEST
PARK DRIVE"/>
<OrderDetails>
<OrderDetail odt_extended_price="000000500" odt_tax_override_amt="0000000000"
odt_price="0000500" odt_qty="00000" odt_item_class="OF" odt_arrival_date="2017-09-14"
odt_line_item_type="OF" odt_line_nbr="00001">
<ShipFromWarehouse ship_from_country="US" ship_from_postal="01701"
ship_from_state="MA" ship_from_city="FRAMINGHAM" ship_from_addr1="100
SAMPLE STREET" ship_from_warehouse="001"/>
</OrderDetail>
</OrderDetails>
</TaxInterfaceRequest>
</Message>
AvaTax Request: Sample Message
A sample of the AvaTax Request message is presented below.
{
"companyCode" : "RGBU",
"customerCode" : "OROMS",
"code" : "07600000270001",
"date" : "2017-09-14T05:56:38",
"type" : "SalesOrder",
"lines" : [ {
"number" : "1",
"taxCode" : "P0000000",
"quantity" : 1,
"taxOverride" : {
"type" : "TaxDate",
"taxAmount" : 0,
"taxDate" : "2017-09-14T00:00:00",
"reason" : "TaxDate"
},
"description" : "OF",
"ref1" : "OF",
"amount" : 5,
"ref2" : "00001",
"itemCode" : "OF"
} ],
"addresses" : {
"shipTo" : {
"city" : "WESTBORO",
"country" : "US",
"line1" : "1800 WEST PARK DRIVE",
"postalCode" : "01581",
"region" : "MA"
},
"shipFrom" : {
"city" : "FRAMINGHAM",
"country" : "US",
"line1" : "100 SAMPLE STREET",
"postalCode" : "01701",
"region" : "MA"
},
"pointOfOrderAcceptance" : {
"city" : "Fort Myers",
"country" : "US",
"line1" : "24 Sample Parkway",
"postalCode" : "33907",
"region" : "FL",
"line2" : "",
"line3" : ""
}
}
}
AvaTax Response: Sample Message
A sample of the AvaTax Response message is presented below.
{
"messages" : [ {
"refersTo" : "Addresses[0] - TaxDate: 2017-09-14 00:00:00Z",
"source" : "Avalara.AvaTax.Services.Tax.Steps",
"details" : "\n Address: 100 SAMPLE STREET, FRAMINGHAM,
MA 01701 US, TaxRegion:1053, Latitude: 42.316847°, Longitude: -71.423129°
\n AddressCode: ORIG2\n AddressType: \n BoundaryId: 1053\n
CarrierRoute: \n County: MIDDLESEX\n FipsCode: 2501724960\n
GeocodeType: ZIP5Centroid\n PostNet: \n Reason: JAAS enabled
for MA\n ValidateStatus: HouseNotOnStreet\n TaxRegionId: 1053\n",
"severity" : "Success",
"summary" : "Using JAAS"
}, {
"refersTo" : "Addresses[1] - TaxDate: 2017-09-14 00:00:00Z",
"source" : "Avalara.AvaTax.Services.Tax.Steps",
"details" : "\n Address: 1800 Sample Dr, Westborough,
MA 01581-3926 US, TaxRegion:1053, Latitude: 42.282624°, Longitude:
-71.569295° \n AddressCode: DEST3\n AddressType: H\n BoundaryId:
1053\n CarrierRoute: C006\n County: WORCESTER\n FipsCode:
2502700000\n GeocodeType: StreetLevel\n PostNet: 015813926997\n
Reason: JAAS enabled for MA\n ValidateStatus: NormalHit\n
TaxRegionId: 1053\n",
"severity" : "Success",
"summary" : "Using JAAS"
}, {
"refersTo" : "Addresses[2] - TaxDate: 2017-09-14 00:00:00Z",
"source" : "Avalara.AvaTax.Services.Tax.Steps",
"details" : "\n Address: 24 Metro Parkway, Fort
Myers, FL 33907 US\n AddressCode: POA4\n Reason: JAAS enabled
for FL\n ValidateStatus: NotValidated (non-source address)\n",
"severity" : "Success",
"summary" : "Using JAAS"
}, {
"refersTo" : "Addresses[0]",
"source" : "Avalara.AvaTax.Services.Tax",
"details" : "\n Address: 100 SAMPLE STREET, FRAMINGHAM,
MA 01701\n Type: Input TaxRegionId\n City: \n State: MA\n
County: \n Country: US\n BoundaryLevel: 2\n BoundarySource:
TaxRegionGeometry\n BoundaryId: 1053\n TaxRegionId: 1053\n
FIPSCode: 2500000000\n CitySignature: \n GEOCode: \n Jurisdictions:
\n STA: JurisdictionId=\"25\" JurisdictionCode=\"25\" JurisdictionTypeId=\"STA\"
LongName=\"MASSACHUSETTS\" StateFips=\"25\" State=\"MA\" StateAssignedCode=\"\"
SerCode=\"\" SignatureCode=\"AWLY\" TaxAuthorityTypeId=\"45\" IsLocalAdmin=\"False\"
EffDate=\"1900-01-01\" EndDate=\"9999-12-31\" \n",
"severity" : "Success",
"summary" : "AddressLocationType: ShipFrom"
}, {
"refersTo" : "Addresses[1]",
"source" : "Avalara.AvaTax.Services.Tax",
"details" : "\n Address: 1800 W Park Dr, Westborough,
MA 01581-3926\n Type: Input TaxRegionId\n City: \n State:
MA\n County: \n Country: US\n BoundaryLevel: 0\n BoundarySource:
TaxRegionGeometry\n BoundaryId: 1053\n TaxRegionId: 1053\n
FIPSCode: 2500000000\n CitySignature: \n GEOCode: \n Jurisdictions:
\n STA: JurisdictionId=\"25\" JurisdictionCode=\"25\" JurisdictionTypeId=\"STA\"
LongName=\"MASSACHUSETTS\" StateFips=\"25\" State=\"MA\" StateAssignedCode=\"\"
SerCode=\"\" SignatureCode=\"AWLY\" TaxAuthorityTypeId=\"45\" IsLocalAdmin=\"False\"
EffDate=\"1900-01-01\" EndDate=\"9999-12-31\" \n",
"severity" : "Success",
"summary" : "AddressLocationType: ShipTo"
}, {
"refersTo" : "Addresses[2]",
"source" : "Avalara.AvaTax.Services.Tax",
"details" : "\n Address: 24 Metro Parkway, Fort
Myers, FL 33907\n Type: Validated address (< minimum level 0)\n
City: \n State: FL\n County: \n Country: US\n BoundaryLevel:
2\n BoundarySource: BoundaryFl2\n BoundaryId: 8751\n TaxRegionId:
112\n FIPSCode: 1200000000\n CitySignature: \n GEOCode: \n
Jurisdictions: \n STA: JurisdictionId=\"16\" JurisdictionCode=\"12\"
JurisdictionTypeId=\"STA\" LongName=\"FLORIDA\" StateFips=\"12\" State=\"FL\"
StateAssignedCode=\"\" SerCode=\"\" SignatureCode=\"AKUY\" TaxAuthorityTypeId=\"45\"
IsLocalAdmin=\"False\" EffDate=\"1900-01-01\" EndDate=\"9999-12-31\"
\n",
"severity" : "Success",
"summary" : "AddressLocationType: PointOfOrderAcceptance"
}, {
"refersTo" : "Lines[\"1\"]",
"source" : "Avalara.AvaTax.Services.Tax",
"details" : "\nTaxRule[TaxType:S][TaxSubType:S]: Nexus
STA\n TaxRuleId: 0\n Cap: 0\n CompanyId: 475385\n Country:
US\n CustomerUsageType: \n EffDate: 1/1/1900\n EndDate: 12/31/9999\n
IsAllJuris: False\n IsPhysical: True\n IsSSTP: False\n
JurisCode: 25\n JurisName: MASSACHUSETTS\n JurisTypeId: STA\n
Options: LocalNexusTypeId = 0\n SERCode: \n SignatureCode:
AWLY\n Sourcing: D\n State: MA\n StateAssignedNo: \n TaxCode:
\n TaxCodeId: 0\n TaxName: MA STATE TAX\n NexusTaxTypeGroupId:
SalesAndUse\n TaxTypeGroupId: SalesAndUse\n TaxTypeId: S\n
TaxSubTypeId: S\n TaxTypeMappingId: 1\n Threshold: 0\n
Value: 2\n RateSourceId: None\n RateTypeId: G\n RateTypeTaxTypeMappingId:
41\n UnitOfBasis: PerCurrencyUnit\n UnitOfBasisId: 13\n AttributeOptions:
\n AttributeApplicability: \n ReturnsDeductionID: 0\n ReturnsRateID:
0\n ReturnsTaxTypeID: 0\n\nTaxRule[TaxType:S][TaxSubType:S]: ProductTaxabilityRule
STA\n TaxRuleId: 1509085\n Cap: 0.000000\n CompanyId: 1\n
Country: US\n CustomerUsageType: \n EffDate: 11/1/2014\n
EndDate: 12/31/9999\n IsAllJuris: True\n IsPhysical: True\n
IsSSTP: False\n JurisCode: 25\n JurisName: MASSACHUSETTS\n
JurisTypeId: STA\n Options: \n SERCode: \n SignatureCode:
AWLY\n Sourcing: D\n State: MA\n StateAssignedNo: \n TaxCode:
P0000000\n TaxCodeId: 8087\n TaxName: \n NexusTaxTypeGroupId:
SalesAndUse\n TaxTypeGroupId: SalesAndUse\n TaxTypeId: S\n
TaxSubTypeId: S\n TaxTypeMappingId: 1\n Threshold: 0.000000\n
Value: 1.000000\n RateSourceId: None\n RateTypeId: G\n
RateTypeTaxTypeMappingId: 45\n UnitOfBasis: PerCurrencyUnit\n
UnitOfBasisId: 13\n AttributeOptions: \n AttributeApplicability:
\n ReturnsDeductionID: 0\n ReturnsRateID: 0\n ReturnsTaxTypeID:
0\n\nTaxRule[TaxType:S][TaxSubType:S]: RateRule STA\n TaxRuleId:
736686\n Cap: 0\n CompanyId: 1\n Country: US\n CustomerUsageType:
\n EffDate: 8/1/2009\n EndDate: 12/31/9999\n IsAllJuris:
False\n IsPhysical: False\n IsSSTP: False\n JurisCode: 25\n
JurisName: MASSACHUSETTS\n JurisTypeId: STA\n Options: \n
SERCode: \n SignatureCode: AWLY\n Sourcing: D\n State:
MA\n StateAssignedNo: \n TaxCode: \n TaxCodeId: 0\n TaxName:
MA STATE TAX\n NexusTaxTypeGroupId: SalesAndUse\n TaxTypeGroupId:
SalesAndUse\n TaxTypeId: S\n TaxSubTypeId: S\n TaxTypeMappingId:
1\n Threshold: 0\n Value: 0.062500\n RateSourceId: System\n
RateTypeId: G\n RateTypeTaxTypeMappingId: 41\n UnitOfBasis:
PerCurrencyUnit\n UnitOfBasisId: 13\n AttributeOptions: \n
AttributeApplicability: \n ReturnsDeductionID: 0\n ReturnsRateID:
0\n ReturnsTaxTypeID: 0\n",
"severity" : "Success",
"summary" : "Tax Rules"
}, {
"refersTo" : "",
"source" : "Avalara.AvaTax.Services.Tax",
"details" : "Document\n CompanyId: 475385\n CurrencyCode:
USD\n CustomerVendorCode: OROMS\n CustomerUsageType: \n DocumentCode:
07600000270001\n DocumentDate: 9/14/2017\n DocumentId: 0\n
DocumentLineCount: 1\n DocumentStatusId: 0\n DocumentTypeId:
0\n ExemptNo: \n Business Identification No: \n IsReconciled:
False\n LocationCode: \n ModifiedDate: 9/14/2017 12:56:39 PM\n
ModifiedUserId: 255612\n PaymentDate: 1/1/1900\n PurchaseOrderNo:
\n ReferenceCode: \n SalespersonCode: \n TaxDate: 9/14/2017\n
TaxOverrideTypeId: 0\n TaxOverrideAmount: 0\n TaxOverrideReason:
\n TotalAmount: 5\n TotalTax: 0.31\n TotalTaxCalculated:
0.31\n VATNumberType No registration\n DocumentAddress[0]: \n
Line1: 1800 W Park Dr\n City: Westborough\n Region:
MA\n County: WORCESTER\n Country: US\n BoundaryId:
1053\n BoundaryLevelId: 0\n BoundarySource: TaxRegionGeometry\n
CitySignature: \n DocumentAddressId: 0\n GeocodeTypeId:
StreetLevel\n JurisCode: 2500000000\n PostalCode: 01581-3926\n
TaxRegionId: 1053\n ValidateStatusId: NormalHit\n
AddressLine1: 1800 W Park Dr\n AddressLine2: \n
AddressLine3: \n DocumentAddress[1]: \n Line1: 24 Metro
Parkway\n City: Fort Myers\n Region: FL\n County:
\n Country: US\n BoundaryId: 8751\n BoundaryLevelId:
2\n BoundarySource: BoundaryFl2\n CitySignature: \n
DocumentAddressId: 0\n GeocodeTypeId: \n JurisCode:
1200000000\n PostalCode: 33907\n TaxRegionId: 112\n
ValidateStatusId: Not Validated\n AddressLine1: 24 Metro
Parkway\n AddressLine2: \n AddressLine3: \n DocumentAddress[2]:
\n Line1: 100 SAMPLE STREET\n City: FRAMINGHAM\n
Region: MA\n County: MIDDLESEX\n Country: US\n
BoundaryId: 1053\n BoundaryLevelId: 2\n BoundarySource:
TaxRegionGeometry\n CitySignature: \n DocumentAddressId:
0\n GeocodeTypeId: ZIP5Centroid\n JurisCode: 2500000000\n
PostalCode: 01701\n TaxRegionId: 1053\n ValidateStatusId:
HouseNotOnStreet\n AddressLine1: 100 SAMPLE STREET\n
AddressLine2: \n AddressLine3: \n Line[0]: \n AccountingMethodId:
0 (Accrual)\n BoundaryLevelId: 0\n BoundaryOverrideId:
0\n CustomerUsageType: \n Description: OF\n DestinationAddressId:
0\n DiscountAmount: 0\n DiscountTypeId: 0\n DocumentLineId:
0\n ExemptAmount: 0\n ExemptCertId: 0\n ExemptNo:
\n Business Identification No: \n InState: False\n
IsPhysical: True\n IsSstp: False\n ItemCode: OF\n
LineAmount: 5\n LineNo: 1\n OriginAddressId:
0\n Quantity: 1\n Ref1: OF\n Ref2: 00001\n
RevAccount: \n Sourcing: D\n IsItemTaxable: True\n
ReportingDate: 9/14/2017\n Tax: 0.31\n TaxableAmount:
5\n TaxCalculated: 0.31\n TaxDate: 9/14/2017\n
TaxCode: P0000000\n TaxCodeId: 8087 (P0000000)\n TaxOverrideTypeId:
3\n TaxOverrideAmount: 0\n TaxOverrideReason: TaxDate\n
VATCode: \n VATNumberType: No registration\n
Detail[0]: MA STA 25\n DocumentLineDetailId: 0\n
AddressId: 0\n Country: US\n ExemptAmount:
0\n ExemptUnits: 0\n ExemptReasonId: 4 (NoExempt)\n
InState: False\n JurisCode: 25\n
JurisdictionId: 25\n JurisName: MASSACHUSETTS\n
JurisTypeId: STA\n NonTaxableAmount: 0\n
NonTaxableUnits: 0\n NonTaxableRuleId: 0\n
NonTaxableTypeId: 0\n Options: \n Rate: 0.062500\n
RateRuleId: 736686\n RateSourceId: System\n
Region: MA\n SERCode: \n Sourcing:
D\n StateCode: 25\n StateAssignedNo: \n
TaxAuthorityId: 94\n Tax: 0.31\n TaxableAmount:
5\n TaxableUnits: 5\n UnitOfBasis: PerCurrencyUnit\n
UnitOfBasisId: 13\n TaxCalculated: 0.31\n
TaxName: MA STATE TAX\n TaxOverride: 0\n
TaxTypeGroupId: 1\n TaxTypeId: S\n TaxSubTypeId:
1\n RateTypeId: G\n IsFee: False\n
TaxTypeMappingId: 1\n RateTypeTaxTypeMappingId: 41\n
TaxRegionId: 1053\n *Cap: 0\n *Threshold:
0\n TaxAuthorityTypeId: 45\n TaxAuthorityId:
94\n TaxAuthorityName: 94\n ReportLevel: 1\n",
"severity" : "Success",
"summary" : "Tax Rules"
}, {
"refersTo" : "",
"source" : "Avalara.AvaTax.Services.Tax",
"details" : "<?xml version=\"1.0\" encoding=\"utf-16\"?><ArrayOfSourcingRuleApplied
xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"><SourcingRuleApplied><LineNo>1</LineNo><SourcingRuleId_Sourcing>6</SourcingRuleId_Sourcing><Sourcing>D</Sourcing><SourcingRuleId_RateType>0</SourcingRuleId_RateType><SourcingRuleId_JurisTypesApplicableId>0</SourcingRuleId_JurisTypesApplicableId><JurisTypesApplicableId
xsi:nil=\"true\" /></SourcingRuleApplied></ArrayOfSourcingRuleApplied>",
"severity" : "Success",
"summary" : "SourcingRules applied for the transaction,
XML format"
}, {
"refersTo" : "",
"source" : "Avalara.AvaTax.Services.Tax",
"details" : "[{\"LineNo\":\"1\",\"SourcingRuleId_Sourcing\":6,\"Sourcing\":\"D\",\"SourcingRuleId_RateType\":0,\"RateType\":null,\"SourcingRuleId_JurisTypesApplicableId\":0,\"JurisTypesApplicableId\":null}]",
"severity" : "Success",
"summary" : "SourcingRules applied for the transaction,
JSON format"
} ],
"modifiedDate" : "2017-09-14T12:56:39",
"locked" : false,
"totalTaxable" : 5.0,
"exchangeRate" : 1.0,
"code" : "07600000270001",
"totalAmount" : 5.0,
"version" : 1,
"id" : 0,
"exchangeRateEffectiveDate" : "2017-09-14T00:00:00",
"date" : "2017-09-14T00:00:00",
"status" : "Temporary",
"isSellerImporterOfRecord" : false,
"modifiedUserId" : 255612,
"totalTax" : 0.31,
"paymentDate" : "2017-09-14T00:00:00",
"totalTaxCalculated" : 0.31,
"customerVendorCode" : "OROMS",
"type" : "SalesOrder",
"totalExempt" : 0.0,
"lines" : [ {
"exemptAmount" : 0.0,
"taxCode" : "P0000000",
"quantity" : 1.0,
"isItemTaxable" : true,
"taxOverrideType" : "TaxDate",
"tax" : 0.31,
"description" : "",
"ref1" : "OF",
"reportingDate" : "2017-09-14T00:00:00",
"exemptCertId" : 0,
"ref2" : "00001",
"lineNumber" : "1",
"id" : 0,
"taxCalculated" : 0.31,
"lineAmount" : 5.0,
"taxOverrideReason" : "TaxDate",
"itemCode" : "OF",
"details" : [ {
"rate" : 0.0625,
"exemptAmount" : 0.0,
"jurisType" : "STA",
"jurisCode" : "25",
"tax" : 0.31,
"taxName" : "MA STATE TAX",
"taxType" : "Sales",
"country" : "US",
"rateTypeCode" : "G",
"id" : 0,
"taxCalculated" : 0.31,
"rateType" : "General",
"taxAuthorityTypeId" : 45,
"region" : "MA",
"stateAssignedNo" : "",
"taxableAmount" : 5.0,
"transactionLineId" : 0,
"nonTaxableAmount" : 0.0,
"jurisName" : "MASSACHUSETTS",
"transactionId" : 0
} ],
"taxOverrideAmount" : 0.0,
"taxableAmount" : 5.0,
"taxIncluded" : false,
"taxDate" : "2017-09-14T00:00:00",
"transactionId" : 0,
"discountAmount" : 0.0
} ],
"taxDate" : "0001-01-01T00:00:00",
"summary" : [ {
"rate" : 0.0625,
"exemption" : 0.0,
"jurisType" : "State",
"jurisCode" : "25",
"tax" : 0.31,
"taxName" : "MA STATE TAX",
"taxAuthorityType" : 45,
"taxType" : "Sales",
"country" : "US",
"rateTypeCode" : "G",
"taxCalculated" : 0.31,
"taxable" : 5.0,
"rateType" : "General",
"nonTaxable" : 0.0,
"taxGroup" : "",
"region" : "MA",
"stateAssignedNo" : "",
"jurisName" : "MASSACHUSETTS"
} ],
"adjustmentReason" : "NotAdjusted",
"companyId" : 0,
"reconciled" : false,
"addresses" : [ {
"city" : "WESTBORO",
"latitude" : "42.282624",
"boundaryLevel" : "Address",
"country" : "US",
"longitude" : "-71.569295",
"line1" : "1800 WEST PARK DRIVE",
"postalCode" : "01581",
"taxRegionId" : 1053,
"id" : 0,
"region" : "MA",
"line2" : "",
"transactionId" : 0,
"line3" : ""
}, {
"city" : "Fort Myers",
"latitude" : "0",
"boundaryLevel" : "Zip5",
"country" : "US",
"longitude" : "0",
"line1" : "24 Metro Parkway",
"postalCode" : "33907",
"taxRegionId" : 112,
"id" : 0,
"region" : "FL",
"line2" : "",
"transactionId" : 0,
"line3" : ""
}, {
"city" : "FRAMINGHAM",
"latitude" : "42.316847",
"boundaryLevel" : "Zip5",
"country" : "US",
"longitude" : "-71.423129",
"line1" : "100 SAMPLE STREET",
"postalCode" : "01701",
"taxRegionId" : 1053,
"id" : 0,
"region" : "MA",
"line2" : "",
"transactionId" : 0,
"line3" : ""
} ]
}
CWTaxResponse: Sample Message
A sample of the Tax Request Message (CWTaxRequest) is presented below.
For more information see the Web Services Guide on My Oracle Support (ID 2149144.1).
<Message date_created="Thu Sep 14 00:00:00 PDT 2017"
type="CWTaxResponse" target="OROMS" source="Avalara">
<TaxInterfaceResponse order_addl_charge_seq="" tax_type="SalesOrder"
order_shipto_nbr="1" order_nbr="270" entity="" company="76" request_type="QUOTATION">
<OrderDetails>
<OrderDetail odt_total_tax_rate="625" odt_total_tax_amt="31"
odt_line_item_type="OF" odt_line_nbr="00001">
<JurisdictionLevels>
<JurisdictionLevel jurisdiction_level_tax_rate="625"
jurisdiction_level_tax_amt="31000" jurisdiction_level_desc="MASSACHUSETTS"
jurisdiction_level="STATE"/>
</JurisdictionLevels>
</OrderDetail>
</OrderDetails>
</TaxInterfaceResponse>
</Message>
ChannelAdvisor Integration
Topics in this part: The following topics describe the integration between Order Management System and ChannelAdvisor.
-
ChannelAdvisor Integration Overview provides an overview of the various components of the integration.
-
ChannelAdvisor Setup provides information on the setup required within Order Management System to support the integration.
-
Working with ChannelAdvisor Accounts (WCAA) describes the screens you use to up accounts, marketplaces, and offers for integration with ChannelAdvisor.
ChannelAdvisor Integration Overview
Purpose: Order Management System’s integration with ChannelAdvisor enables you to fulfill orders through the Amazon marketplace. This integration includes:
-
Sending items/SKUs and their available quantities to ChannelAdvisor: A periodic function creates a file to send all items/SKUs in your company to ChannelAdvisor, indicating the current available quantity of each. A system control value indicates the available quantity to include for non-inventory items, drop ship items, and other items without an inventory requirement, such as virtual gift cards and memberships. Each item/SKU is identified by a cross-reference code, if you have set it up; otherwise, the short SKU code is used. See Sending Current Inventory Information to ChannelAdvisor for details.
Note:
The information sent to ChannelAdvisor includes only the short SKU or cross-reference code and the available quantity. It does not include item descriptions, images, or any other information. -
Sending current pricing to ChannelAdvisor: A periodic function creates a file to send item/SKU pricing to ChannelAdvisor. Prices are from the Original retail $ and List price from the SKU record; you can also include a third price from your ChannelAdvisor offer. Only items/SKUs that are associated with your ChannelAdvisor offer are included. See Sending Current Prices to ChannelAdvisor for details.
-
Receiving orders from ChannelAdvisor: A periodic function sends a message requesting a list of orders from ChannelAdvisor and then uses the information in the response message to create each order in Order Management System, using a predefined order type as well as mapped values such as source code, ship via, and pay type. See Importing Orders from ChannelAdvisor for details.
-
Sending shipment confirmations to ChannelAdvisor: A periodic function sends a shipment confirmation message to ChannelAdvisor for each shipment of a ChannelAdvisor order. See Sending Shipment Confirmations to ChannelAdvisor for details.
-
Sending refund notifications to ChannelAdvisor: The Process Refunds function sends a message to ChannelAdvisor for each refund generated for a ChannelAdvisor order. When the function receives a confirmation response from ChannelAdvisor, it sets the refund to a processed status but does not actually generate the refund. See Submitting Refunds for ChannelAdvisor Orders for details.
Note:
The ChannelAdvisor integration has been designed and tested to work for the Amazon Marketplace. To use the ChannelAdvisor integration with a marketplace other than Amazon, contact your Order Management System project manager.
Troubleshooting the ChannelAdvisor integration:
-
Logging: The name of the log used for all communication with ChannelAdvisor is INTEGRATIONORDER, and the INTEGRATIONORDER_LOG_LEVEL controls the level of detail to include. Set this level to DEBUG to include details on all activity and to log all messages.
-
Setup issues? See ChannelAdvisor Setup for details on the setup required for the integration. Also, each of the process overviews that follow include a summary of related setup.
In this topic:
See also: ChannelAdvisor Setup.
Sending Current Inventory Information to ChannelAdvisor
Purpose: You send current inventory information to ChannelAdvisor through a periodic function that generates a file and transfers it through a web service request so that the ChannelAdvisor account can apply the inventory updates. The steps are described below.
Note:
The periodic function does not include any additional information about the items/SKUs, such as descriptions or images.A. Run the CAINV periodic function. The CAINV periodic function:
1. Creates a file: Creates a comma-separated value file in the CA_INVENTORY_FILE_LOCAL_FOLDER on the Order Management System server, using the CA_INVENTORY_FILE_NAME.
If there is already a file of that name in the folder, the function overwrites it.
If the file size exceeds 125MB, splits the file into smaller files.
Note:
You should create the CA_INVENTORY_FILE_LOCAL_FOLDER on your server if the folder does not already exist.-
Which items included? Includes all items and SKUs in the company, except for any items that are sold out or flagged as restricted. Items do not need to have records in your current ChannelAdvisor offer. The items are in alphanumeric order based on their original item code.
-
Identifying items and SKUs: Identifies the item/SKU in the file with:
-
the SKU Cross Reference record, if any, set up through Maintaining SKU Cross Reference Codes (MSKR) for the item/SKU and the ChannelAdvisor SKU X-Ref Offer (L92); otherwise,
-
the short SKU for the item, if there is no SKU Cross Reference record for the item/SKU and ChannelAdvisor SKU X-Ref Offer (L92), or if that system control value is blank. If some but not all items/SKUs in your company have SKU Cross Reference records, then the file includes a combination of cross references and short SKUs.
-
-
Calculating the available quantity:
-
Standard calculation: Uses the standard availability calculation to determine the quantity to report to ChannelAdvisor (On hand - reserved - protected - reserve transfer quantity - backorder quantity), and indicates a quantity of zero if the result of this calculation is a negative number.
-
Set items: Based on the set component with the lowest availability. For example, a set includes one unit of a teapot with 75 units available, and four units of a teacup with 100 units available. The available quantity of the set is calculated as 25, since there are enough units of the teacup to make 25 tea sets.
-
Include non-allocatable warehouses? Uses the Include Non-Allocatable Warehouses (I34) system control value to determine whether to include inventory in warehouses that are not flagged as Allocatable when calculating the available quantity in the inventory download file.
-
Non-inventory? Uses the ChannelAdvisor Inventory Level Default (L91) as the available quantity for:
-
items flagged for drop ship, regardless of whether they have an available quantity in the warehouse. A drop ship item might have a quantity in the warehouse if, for example, you received a return.
-
non-inventory items, including virtual stored value cards, membership items, and subscription items
-
-
Note:
A quantity of zero is always indicated for variable sets. As a result, you cannot sell these items through ChannelAdvisor.Sample file contents: In the sample lines below, 1234619
is a short SKU, CACIN12345
is a SKU cross
reference set up through Maintaining SKU Cross Reference Codes
(MSKR), and the Quantity
indicated for
each (the last column) is the available quantity. The text UNSHIPPED
is included as the Quantity Update
Type
for each item/SKU in the file.
Inventory Number,Quantity Update Type,Quantity
1234619,UNSHIPPED,13
CACIN12345,UNSHIPPED,53
2. Sending the file to ChannelAdvisor: The function uses a web service request to transmit the file to ChannelAdvisor at the URL from the CA_SERVICES_URL_PREFIX concatenated with the CA_PRODUCT_SERVICE_SUFFIX.
3. Backing up successful and failed files: The function renames
files using a unique sequence number, for example: inventory_123456.txt
, where the CA_INVENTORY_FILE_NAME is inventory
and 123456
is the job ID, and:
-
If the file creation and transmission was successful, the function saves a copy of the file in the
inventory/archive
subfolder of the CA_INVENTORY_FILE_LOCAL_FOLDER. -
If the file creation and transmission was unsuccessful, the function saves a copy of the file in the
inventory/failed
subfolder of the CA_INVENTORY_FILE_LOCAL_FOLDER.
4. Deleting backed up files: The function deletes any existing
files in the inventory
subfolder of the CA_INVENTORY_FILE_LOCAL_FOLDER that are
older than the CA_MAXBACKUP_DAYS defined in Working with Admin Properties (CPRP).
Setup summary: To support the inventory upload to ChannelAdvisor, you need to complete the following setup:
-
Create the CAINV periodic function and assign it to a scheduled periodic process.
-
Specify the CA_INVENTORY_FILE_LOCAL_FOLDER and CA_INVENTORY_FILE_NAME.
Note:
You should create the CA_INVENTORY_FILE_LOCAL_FOLDER on your server if the folder does not already exist. -
Use the Working with ChannelAdvisor Accounts (WCAA) option to specify your ChannelAdvisor account settings, including information on authentication in ChannelAdvisor.
-
If you are using a proxy server, define a PROXY_HOST and PROXY_PORT.
-
To identify items/SKUs using cross references rather than short SKU numbers in ChannelAdvisor:
-
Create a ChannelAdvisor offer and assign it to the ChannelAdvisor SKU X-Ref Offer (L92) system control value.
-
Use the Maintaining SKU Cross Reference Codes (MSKR) option to assign cross reference codes.
-
-
To control the availability calculation:
-
Use the Include Non-Allocatable Warehouses (I34) system control value to determine whether to include inventory in warehouses that are not flagged as Allocatable when calculating the available quantity in the inventory download file.
-
Use the ChannelAdvisor Inventory Level Default (L91) as the available quantity for drop ship and non-inventory items.
-
-
Complete inventory (pull) setup in ChannelAdvisor as described above.
For more information: See ChannelAdvisor Setup for background on setup.
Sending Current Prices to ChannelAdvisor
Purpose: You send current pricing information to ChannelAdvisor through a periodic function that generates a file and transfers it to ChannelAdvisor to apply the pricing updates. The steps are described below.
A. Run the CAPRICE periodic function. The CAPRICE periodic function:
1. Creates a file: Creates a comma-separated value file in the Local Price Folder on the Order Management System server, using the Price Filename. Both of these settings are from your entries for your ChannelAdvisor account through the Working with ChannelAdvisor Accounts (WCAA) option.
If there is already a file of that name in the folder, the function overwrites it.
If the file size exceeds 125MB, splits the file into smaller files.
-
Which items included? The price file includes only items and SKUs in that are included in your current ChannelAdvisor offer. If the item has SKUs, and:
-
if there is an Item Offer record and an Item Price record, but no SKU Offer or SKU Price records for any SKUs, then all SKUs are included.
-
if there are any SKU Offer and SKU Price records for any SKUs, then only the SKUs with SKU Offer and SKU Price records are included.
To prevent a situation in which some SKU’s might be included in the file without prices, do not create an Item Offer without also creating an Item Price.
-
-
Identifying items and SKUs: The function identifies the item/SKU in the file with:
-
the SKU Cross Reference record, if any, set up through the Maintaining SKU Cross Reference Codes (MSKR) for the item/SKU and the ChannelAdvisor SKU X-Ref Offer (L92); otherwise,
-
the short SKU for the item, if there is no SKU Cross Reference record for the ChannelAdvisor SKU X-Ref Offer (L92), or if the system control value is blank.
-
-
Which prices are included? The file includes:
-
Buy It Now Price: from the Original retail $ in the SKU table.
-
Retail Price: from the List price in the SKU table.
-
Additional price: from the most current SKU Price (based on Effective date), if any, for your ChannelAdvisor offer; otherwise, from the most current Item Price. The label of this price field is from the Price output name specified for the ChannelAdvisor offer through the Work with ChannelAdvisor Offers Screen option.
Sample file contents: In the sample lines below,
1234619
is a short SKU, andCACIN12345
is a SKU cross reference set up through the Maintaining SKU Cross Reference Codes (MSKR). The prices are derived as described above.Inventory Number,Buy It Now Price,Retail Price,second chance offer price
CACIN12345,11.11,13.13,7.77
1234619,1.99,1.5,1.11
Note:
If you clear out one of these price fields after it was previously populated, the next time you send the price file the field is passed as blank. When this occurs, ChannelAdvisor does not clear out the current value for the price. For example, the Buy It Now Price is currently set to 12.34, and you delete the price. The next time the CAPRICE function runs, it includes a blank Buy It Now Price, but ChannelAdvisor skips this entry and leaves the Buy It Now Price set to 12.34. -
2. Sending the file to ChannelAdvisor: The function uses a web service request to transmit the file to ChannelAdvisor at the URL from the CA_SERVICES_URL_PREFIX concatenated with the CA_PRODUCT_SERVICE_SUFFIX.
3. Backing up successful and failed files: The function renames
files using a unique sequence number, for example: caprice_123456.txt
, where caprice
is the Price Filename and 123456
is the job ID, and:
-
If the file creation and transmission was successful, the function saves a copy of the file in the
pricing/archive
subfolder of the CA_INVENTORY_FILE_LOCAL_FOLDER. -
If the file creation and transmission was unsuccessful, the function saves a copy of the file in the
pricing/failed
subfolder of the CA_INVENTORY_FILE_LOCAL_FOLDER.
4. Deleting backed up files: The function deletes any existing
files in the pricing
subfolder of the CA_INVENTORY_FILE_LOCAL_FOLDER that are
older than the CA_MAXBACKUP_DAYS defined in Working with Admin Properties (CPRP).
Setup summary: To support the price upload to ChannelAdvisor, you need to complete the following setup:
-
Create the CAPRICE periodic function and assign it to a scheduled periodic process.
-
Use the Working with ChannelAdvisor Accounts (WCAA) option to specify your ChannelAdvisor account settings, including ChannelAdvisor authentication information.
Note:
You should create the Local Price Folder on your server if the folder does not already exist. -
If you are using a proxy server, define a PROXY_HOST and PROXY_PORT.
-
To identify items/SKUs using cross references rather than short SKU numbers in ChannelAdvisor:
-
Create a ChannelAdvisor offer, and assign it to the ChannelAdvisor SKU X-Ref Offer (L92) system control value.
-
Use the Maintaining SKU Cross Reference Codes (MSKR) option to assign cross reference codes.
-
-
Use the Work with ChannelAdvisor Offers Screen option to set up your ChannelAdvisor offer, including the Price output field name.
-
Specify the Original retail $ and the List price in the SKU table.
-
Optionally, set up Item Offer and Price Records and/or SKU Offer and Price Records for each item/SKU you sell through a ChannelAdvisor marketplace to include a third price in the price file, using the Price output name.
-
Complete inventory (pull) setup in ChannelAdvisor as described above.
For more information: See ChannelAdvisor Setup for background on setup.
Importing Orders from ChannelAdvisor
Purpose: You can periodically request new orders from ChannelAdvisor through a periodic function, which creates the orders in Order Management System. The steps and details on data mapping are described below.
A. Run the CAORDERUP periodic function. The CAORDUP periodic function:
1. Requests new orders: The function sends the GetOrderListRequest
message to ChannelAdvisor, using the CHANNELADVISOR_ORDER_URL specified in
the cwdirectcp_interface.properties
file and
the account number and credentials specified through the Working with ChannelAdvisor Accounts
(WCAA) option.
Maximum orders? Each batch can include a maximum of 50 orders. The CHANNELADVISOR_ PULL_ORDERS_MAX property controls how many orders the function processes. For example, set the property to 100 to have the function process a maximum of two full batches.
2. Receives and creates new orders: The function receives new orders from ChannelAdvisor in the GetOrderListResponse message, mapping data as follows:
-
company number: From the company number specified for the CAORDUP periodic function.
-
order type: from the ChannelAdvisor Order Type (L90).
-
source code: from the Source associated with the marketplace originating the order. The function determines the marketplace from the
ItemSaleSource
passed for the order, and uses the Source for the matching marketplace, as set up through the Work with ChannelAdvisor Marketplaces Screen. Your marketplace needs to match a ChannelAdvisor Site Token value. -
alternate order number: from the
CartID
. -
entered by user: your default user.
-
order message lines: from:
-
the ChannelAdvisor client order identifier, preceded by CA; for example,
CA#28839571
-
your ChannelAdvisor account number; for example,
ACCT#cc7bab31-22cc-49d2-a833-be878721520b
-
an additional order message line indicating
None
These order message lines are flagged not to print (Print Nowhere).
-
-
ship via: from the ship via whose ChannelAdvisor carrier and ChannelAdvisor service class match the
ShippingCarrier
andShippingClass
passed for the order. -
customer name and address: from the
ShippingInfo
andBillingInfo
passed for the order. If noBillingInfo
is passed, theShippingInfo
is used as the sold-to customer information; otherwise, theBillingInfo
is used as the sold-to customer information. Some marketplaces may never passBillingInfo
.-
Sold-to different from ship-to? The system searches for a matching sold-to customer using the Include Telephone Number in Customer Search (I20) and Remote Order Values (F70) system control values. If the sold-to customer name and address are different from the ship-to name and address, the periodic function creates an order-level ship-to. The system might change the sold-to customer information to something slightly different from the ship-to name and address passed if it finds a matching customer using your customer search and selection criteria; in this case, an existing sold-to customer who differs somewhat from the ship-to information passed may be assigned to the order. See the Include Telephone Number in Customer Search (I20) and Remote Order Values (F70) system control values for background.
-
Business or residence? The Delivery code is set to B for the sold-to or ship-to address if there is a company name; otherwise, the Delivery code is set to R.
-
Opt-in/out: If the
EmailOptIn
from ChannelAdvisor is set toFalse
, the customer’s Opt-in/out flag is set to 03; otherwise, if theEmailOptIn
is set toTrue
, the customer’s Opt-in/out flag is set to 01. -
Identifying the country: The periodic function uses the country’s two-position ISO code to map the customer’s country.
-
-
email address: from the
BuyerEmailAddress
passed for the order. -
items: mapped from the short SKU or the SKU cross reference, as described under Sending Current Inventory Information to ChannelAdvisor.
-
shipping and tax: Calculated based on the amounts in the
OrderLineItemItem
element if the CA type for the pay type is set to Item Level (consistent with the Amazon and eBay with premium tax marketplaces); otherwise, calculated from the amounts in theOrderLineItemInvoice
element and prorated across the lines on the order if the CA type for the pay type is set to Order Level (consistent with the eBay marketplace without premium tax). See Working with Pay Types (WPAY) for background.Note:
Tax on freight is included in the line-level or order-level tax amount. -
price override reason for each order line: uses a reason code of W.
-
payment method: from the CA cross reference # for a pay type. The function uses the
ItemSaleSource
passed for an order to identify the marketplace set up through Working with ChannelAdvisor Accounts (WCAA), and assigns the payment method whose CA cross reference # matches the marketplace. Your marketplace needs to match a ChannelAdvisor Site Token value. -
suppress refund flag for the payment method: set to N, so that refunds are not suppressed, and you can use the process described under Submitting Refunds for ChannelAdvisor Orders.
3. Notifies ChannelAdvisor that each order was received: The function sends a status export status update (SetOrderList) to ChannelAdvisor for each received order, indicating that the order was successfully created.
Error? If a new order is in error, it is assigned to the Default Batch for E-Commerce Orders in Error (G41).
Setup summary: In addition to the setup required for the inventory and price uploads, complete the following setup to support the order import:
-
Create the CAORDUP periodic function and assign it to a scheduled periodic process.
-
Specify the CHANNELADVISOR_ORDER_URL.
-
Use the Working with ChannelAdvisor Accounts (WCAA) option to specify your ChannelAdvisor account settings, including your credentials, as well as the marketplaces and their related source codes. Your marketplace needs to match a ChannelAdvisor Site Token value.
-
Use Establishing Order Types (WOTY) to set up the ChannelAdvisor order type, and assign it to the ChannelAdvisor Order Type (L90) system control value.
-
Use Establishing Price Override Reason Codes (WPOR) to create a price override reason code of W.
-
Use Setting Up the Country Table (WCTY) to specify a 2-position ISO country code for each country where you will ship orders.
-
Use Working with Pay Types (WPAY) to create a pay type for each marketplace, and assign a CA cross reference # to identify the marketplace to each.
-
Use Working with Ship Via Codes (WVIA) to specify the ChannelAdvisor carrier and ChannelAdvisor service class to map ship vias to carriers that might be used for ChannelAdvisor orders.
For more information: See ChannelAdvisor Setup for background on setup.
Changing orders after creation: A pop-up window opens in order maintenance if you attempt to maintain a ChannelAdvisor order, indicating that any changes must also be made in ChannelAdvisor. There is no mechanism to automatically send changes to ChannelAdvisor except for shipment confirmation or refunds.
Sending Shipment Confirmations to ChannelAdvisor
Purpose: You can periodically send order shipment notifications to ChannelAdvisor through a periodic function. described below.
A. Confirm shipment. When billing an order whose order type matches the ChannelAdvisor Order Type (L90), the billing async job creates a CAS trigger record. The trigger record identifies the company, order number, and invoice number for the shipment.
B. Run the CASHIPMENT periodic function. For each unprocessed CAS trigger record, the CASHIP periodic function passes a SubmitOrderShipmentList message:
-
Uses the ChannelAdvisor account number and credentials specified through the Working with ChannelAdvisor Accounts (WCAA) option.
-
Passes the ChannelAdvisor
clientOrderIdentifier
to identify the order. -
Always indicates a
ShipmentType
ofPartial
. -
Maps each item using the short SKU or the SKU cross reference, as described under Sending Current Inventory Information to ChannelAdvisor, and indicates the
Quantity
shipped of each item. -
Indicates the
trackingNumber
for the shipment, if available in the Manifest Upload Audit table. If there are multiple tracking numbers for a shipment, the tracking number that billed first is included. -
Passes the ChannelAdvisor carrier and ChannelAdvisor service class from the ship via used as the
ShippingCarrier
andShippingClass
. -
Sends the shipment confirmations to the CHANNELADVISOR_SHIPPING_URL.
The message does not specify any shipping charges or a shipment date if different from the current date.
Setup summary: In addition to the setup required for the inventory and price uploads and order import, complete the following setup to support shipment confirmations:
-
Create the CASHIP periodic function and assign it to a scheduled periodic process.
-
Specify the CHANNELADVISOR_SHIPPING_URL.
For more information: See ChannelAdvisor Setup for background on setup.
Submitting Refunds for ChannelAdvisor Orders
Purpose: When you use the Processing Refunds (MREF) option, the function submits any pending refunds for ChannelAdvisor orders to ChannelAdvisor, and does not actually generate these refunds. The processing steps are described below.
Note:
The Processing Refunds by Order Number (MRFO) option does not perform ChannelAdvisor refund processing. You need to use the Processing Refunds (MREF) option.Identifying ChannelAdvisor orders: To be included, an order must have an order type matches the ChannelAdvisor Order Type (L90) system control value, and its payment method must have an CA cross reference # that matches a marketplace set up through Working with ChannelAdvisor Accounts (WCAA).
Which activities generate refund requests? Returns generate refund requests, while exchanges do not:
-
Returns without exchanges: refund request is passed to ChannelAdvisor
-
Even exchanges (where the exchange item's price is the same as the returned item's price): no refund request is passed to ChannelAdvisor
-
Uneven exchanges (where the exchange item's price is not the same as the returned item's price): no refund request is passed to ChannelAdvisor; instead, an Order Transaction History message is written:
Refund could not be sent - Ord Has Exchg
. You can then process any refund manually through ChannelAdvisor.Note:
When an uneven exchange is made for an order, no subsequent refund requests are sent to ChannelAdvisor.
Item-level or order-level shipping and tax? Based on the setting of the CA type specified for the payment method for the marketplace, the SubmitOrderRefund message includes:
-
an item-level
RefundItems
element that breaks out theAmount
,ShippingAmount
, and bothShippingTaxAmount
andTaxAmount
(both tax amounts including the full tax and tax on freight, if any) in therequest
element of the message if the CA type for the payment method is set to Item Level (consistent with the Amazon and eBay with premium tax marketplaces). -
an order-level
Amount
, including merchandise, tax, and shipping, in therequest
element of the message if the CA type for the payment method is set to Order Level (consistent with the eBay marketplace without premium tax).
See Working with Pay Types (WPAY) for background.
When you submit the Processing Refunds (MREF) function, it:
A. Submits the refund to ChannelAdvisor: The SubmitOrderRefund message is submitted to the CHANNELADVISOR_ORDER_URL, and includes:
-
the ChannelAdvisor account number and credentials specified through the Working with ChannelAdvisor Accounts (WCAA) option.
-
ClientOrderIdentifier
: the ChannelAdvisor order number. -
SellerRefundID
: identifies the refund in Order Management System; formatted as12345-1.0-2.0
where12345
is the Order Management System order number,1.0
is the ship-to number, and2.0
is the refund number. -
AdjustmentReason
: set toGeneralAdjustment
. -
SKU
: the ChannelAdvisor item identifier for the returned item. -
Quantity
: the quantity returned. -
Amount
: the extended refund amount, if the CA type for the payment method is set to Order Level, or just the merchandise amount if the CA type for the payment method is set to Item Level. See above for a discussion. -
ShippingAmount
: the shipping amount refunded. Included only if the CA type for the payment method is set to Item Level; otherwise, the shipping amount is included in theAmount
element. See above for a discussion. -
TaxAmount
: The tax amount refunded. Included only if the CA type for the payment method is set to Item Level; otherwise, the tax amount is included in theAmount
element. See above for a discussion.
Note:
-
Each of the amounts described above is passed as an absolute value and not as a negative amount, and includes an explicit decimal
-
ChannelAdvisor passes tax on freight at the line level in the submit order list message. If the tax amount in the SubmitOrderRefund message does not include tax on freight, then this amount is not refunded.
-
A credit against an order that does not include the return of a shipped item (for example, if the order line is canceled) does not generate a refund request to ChannelAdvisor.
B. Sets the refund status to I. This status indicates ChannelAdvisor pending.
C. Updates the refund as processed: If ChannelAdvisor accepts the refund, then the system proceeds with standard refund processing and changes the refund’s status to P (processed), performing each standard update, such as credit invoice creation; however, the system does not actually generate the refund, or create records in the Print Check or Bank Reconciliation tables. See Summary of Refund Processing Updates and Reports for background. Otherwise, if ChannelAdvisor does not accept the refund, then the refund status remains I.
Setup summary: See the setup required for the inventory and price uploads, order import, and shipment confirmations, described above, and see ChannelAdvisor Setup for background on setup.
Cancellations
The ChannelAdvisor integration does not currently support submitting refunds that are not associated with an item return. As a result, when you cancel an item on a ChannelAdvisor order, you cannot process the refund using the process described above. Instead, you need to cancel the orders manually in ChannelAdvisor.
To identify orders with cancellations: Query
the Order Transaction History table for Transaction note entries
that contain the text Refund could not be sent - no items
and a User of CAREFUND
. These
are the orders that require manual cancellation in ChannelAdvisor.
Experian Data Quality (EDQ) Address Validate API
Experian Data Quality (EDQ) Address Validate API, formerly known as the QAS Pro On Demand Service, allows you to retrieve address information from Experian’s Address Validate API to update an Order Management System address during interactive quote or order entry/maintenance, the order API, catalog requests, the customer API, and customer maintenance. The Address Validate API captures, cleans, maintains, and enhances address records and validates the address data against national postal authorities, such as the U.S. Postal Service. This is an on-demand, SaaS solution hosted by Experian Data Quality.
In this topic:
- EDQ Address Standardization Points
- EDQ Address Standardization Process
- EDQ Address Response Match Level
- Address Examples
- Match Level None Example
- Match Level Verified Example
- Match Level Interaction Required Example
- Match Level Premise Partial Example
- Match Level Street Partial Example
- Match Level Multiple Example
- Address Standardization: No Address Match Found Screen
- Address Standardization: Verify Recommendation Screen
- Address Standardization: Verify Apartment/Suite Number Screen
- Address Standardization: Verify Street Number Screen
- Address Standardization: Select from Multiple Addresses Screen
- Address Standardization: Verify Recommendation (from Pick List) Screen
- Communication Failures
- EDQ Setup
EDQ Address Standardization Points
The system sends address information to EDQ for standardization when you create or update an address.
Note:
The Order Management System integration with Experian Data Quality supports address standardization for United States and Canadian addresses; it does not support address standardization for European countries at this time.Logging: During processing, the system writes any messages to the Application Log if its Logging Level is set to INFO or lower.
Interactive Address Standardization
Order Entry/Maintenance: The system sends address information for standardization when you create or update the sold to address, bill to address, or any type of ship to address on the order including:
- quote entry.
- regular order entry.
- customer membership orders, including the customer membership recipient address and alternate shipping address.
Catalog Requests: The system sends address information for standardization when you create an address on a catalog request:
- created in the Work with Catalog Requests (WCAT) menu option.
- created during order entry/maintenance.
Sold To Customer Creation and Maintenance: The system sends address information for standardization when you create or update a sold to customer address in the Work with Customers (WCST) menu option.
Permanent Ship To Customer Creation and Maintenance: The system sends address information for standardization when you create or update a permanent ship to customer address in the Work with Customers (WCST) menu option.
Bill To Customer Creation and Maintenance: The system sends address information for standardization when you create or update a bill to customer address in the Work with Bill To Customers (WCBT) menu option or Work with Customers (WCST) menu option.
Remote Address Standardization
Order API: The system sends address information for standardization when you create or update the sold to address, bill to address, or ship to address on an order received through the Order API.
Note:
The system will still send address information for standardization if the order contains the customer number instead of the customer name and address information, even if the existing customer address has already been previously cleansed.Catalog Request Interface: The system sends address information for standardization when you create an address on a catalog request, including:
- catalog requests created using the E-Commerce Catalog Request Message (CWCatRequest); see E-Commerce Catalog Requests . See the Web Services Guide on My Oracle Support (ID 2149144.1)
- catalog requests created through records that have been uploaded to the Catalog Request Interface table (IXCRIN); see Working with the Catalog Request Interface (WCRU).
Note:
The system does not send address information for standardization when you update an address on the Change Catalog Request Screen in the Work with Catalog Request Interface (WCRU) menu option; when you submit the catalog request for processing at the Work with Catalog Request Interface Screen, the system will send the address information for cleansing.Customer API: The system sends address information when you create or change a customer record through the Generic Customer API if the Perform Address Standardization in Customer API (I99) system control value is selected and you are using address standardization.
For more information see the Web Services Guide on My Oracle Support (ID 2149144.1).
EDQ Address Standardization Process
- Interactive Address Standardization Process Illustration
- Remote Address Standardization Process Illustration
- EDQ Address Standardization Process Flow
Interactive Address Standardization Process Illustration

Remote Address Standardization Process Illustration

EDQ Address Standardization Process Flow
The system determines if a Order Management System address requires standardization each time you create a new address or update the following fields on an existing address:
- Street address
- Apartment/Suite
- Address lines 2-4
- City
- State/Province code
- Postal code
- Country code
Address Standardization Requirements
In order to send an address for standardization the following requirements must be met.
Requirement | Description |
---|---|
The EDQ Address interface must be enabled |
See EDQ Setup for additional information on the required setup for the EDQ integration. |
A country ISO code must be defined for the address |
Country ISO codes are codes representing the international standard code used to identify a country. When the system sends address information for validation and standardization, the system sends the Country ISO code defined for the country instead of the Country code as the country code defined for the address. For example, the country code for the United States may be US and the country ISO code may be USA. The country ISO codes supplied by EDQ for Canada and the United States are CAN and USA. You can define a country ISO code for a country in the Work with Countries (WCTY) menu option.
Note: The Order Management System integration with EDQ supports address standardization for United States and Canadian addresses; it does not support address standardization for European countries at this time. |
If the address is on an order, the order type must be eligible for standardization |
|
If the address meets the Address Standardization Requirements, the system sends the following address fields to EDQ:
- Street address
- Apartment/Suite
- Address lines 2-3 (The system does not send address line 4)
- City
- State/Province code
- Postal code
- Country ISO code
Once the address search completes, EDQ sends a response back to Order Management System. The EDQ Address Response Match Level returned determines the action Order Management System performs; see EDQ Address Response Match Level for more information.
Address map: The Serenade data map defines how the address information returned by EDQ is mapped to the Order Management System address. This map also defines whether the address data is returned in upper case letters and how non-address information is retained. See Serenade Map for more information.
Duplicate checking: The system sends an address for standardization prior to any duplicate customer checking. Once the address has been standardized, the system then determines if a duplicate address match already exists for the address.
Retaining Non-Address Information in Address Lines 1-4
If address lines 1, 2, or 3 contains non-address information, such
as LEAVE PACKAGES ON FRONT PORCH
, the EDQ Address Response Match Level determines whether EDQ retains
the non-address information.
Note:
When entering non-address information for an address on an order, use the Attention field to retain the non-address information for the order.Match Level | Non-Address Information Results |
---|---|
None |
The system retains any non-address information defined in address lines 1, 2, 3 and 4. |
Verified |
The system retains the first 32 characters of non-address information defined in address lines 1, 2, and 3 in address line 3. The system clears any non-address information defined in address line 4. |
Premise Partial |
|
Street Partial |
|
Multiple |
|
Interaction Required |
The system does not retain the non-address information defined in address lines 1, 2, 3, and 4. |
See Address Examples for examples of how EDQ standardizes an address and whether non-address information is retained.
Apartment Triggers
Note:
As a best practice, you should enter apartment information in the Apartment field, prefaced with apartment identifier text such asAPT
or STE
.
Certain text in address lines 2 and 3 and the EDQ Address
Response Match Level triggers EDQ to move the text to the Apartment field on an address. For example, if you enter APT 3
in Address line 2, the system moves this text
to the Apartment field.
The text that EDQ will move from address lines 2 and 3 to the Apartment field is listed below. Any number that follows this text is also moved to the Apartment field.
- APARTMENT (the system abbreviates APARTMENT to APT)
- APT
- BLDG
- BOX
- BUILDING (the system abbreviates BULIDING to BLDG)
- DEPARTMENT (the system abbreviates DEPARTMENT to DEPT)
- DEPT
- FL
- FLOOR (the system abbreviates FLOOR to FL)
- FMT
- HNGR
- LBBY
- LOBBY (the system abbreviates LOBBY to LBBY)
- LOT
- NO
- OFC
- OFFICE (the system abbreviates OFFICE to OFC)
- PH
- PMB
- REAR
- RM
- ROOM (the system abbreviates ROOM to RM)
- RR
- SPC
- STE
- STOP
- SUITE (the system abbreviates SUITE to STE)
- TRLR
- UNIT
Note:
Important: When you enter non-address information in address lines 1, 2 or 3, pay attention to the text you enter if you do NOT want EDQ to recognize this text as an apartment trigger. For example, if you enterNO SIGNATURE REQUIRED
, EDQ will move the text NO SIGNATU
to the Apartment field because it recognized the text NO
as an apartment
trigger.
Address Matches Containing a Company, Building or Firm Name
When you standardize an Order Management System address that contains a company, building or firm name, if EDQ does not consider this information required for delivery purposes, it will not retain this information when it standardizes the address.
Example: You enter an address similar to the following:
Order Management System Address: | Example: |
---|---|
street address: address line 2: address line 3: city/state/zip/country: |
308 SAMPLE STREET (replace with a valid street address) CITY HALL CARE OF JOHN SMITH STURBRIDGE MA 01566 US |
As part of addres standardization, CITY HALL is removed from the address:
Standardized Address: | Example: |
---|---|
street address: address line 3: city/state/zip/country: |
308 SAMPLE ST CARE OF JOHN SMITH STURBRIDGE MA 01566-2300 US |
EDQ Address Response Match Level
Purpose: The address response match level returned by EDQ determines the action Order Management System performs.
Match Level | Address Results |
---|---|
None |
EDQ does not update the Order Management System address because it could not find a match to the address. Remote address standardization: The system does not standardize the Order Management System address. If the address is on a remote order and a hold reason is defined in the Address Interface User Hold Code (I68) system control value, the system places the order on user hold. If a hold reason is not defined in the Address Interface User Hold Code (I68) system control value, the system does not assign a hold reason to a remote order at the user level.
Interactive address standardization: The system displays the Address Standardization: No Address Match Found Screen. At this screen you can select to return to the Order Management System screen and either:
Apartment Triggers: EDQ does not apply apartment triggers when the match level is None. See Apartment Triggers. Non-Address Information: The system retains any non-address information defined in address lines 1, 2, and 3 in address line 3. See Retaining Non-Address Information in Address Lines 1-4. |
Verified |
EDQ found one address match with a high level of confidence. The system automatically updates the Order Management System address with the address returned by EDQ. Apartment Triggers: If address lines 2 or 3 contains an apartment trigger, the system moves the text from the address line to the Apartment field. See Apartment Triggers. Non-Address Information: The system retains the first 32 characters of non-address information defined in address lines 1, 2, and 3 in address line 3. The system clears any non-address information defined in address line 4. See Retaining Non-Address Information in Address Lines 1-4. |
Interaction Required |
EDQ found a single match to the Order Management System address but requires you to confirm the address update. Remote address standardization: The system does not standardize the Order Management System address. If the address is on a remote order and a hold reason is defined in the Address Interface User Hold Code (I68) system control value, the system places the order on user hold. If a hold reason is not defined in the Address Interface User Hold Code (I68) system control value, the system does not assign a hold reason to a remote order at the user level.
Interactive address standardization: The system displays the Address Standardization: Verify Recommendation Screen. At this screen you can:
Apartment Triggers: If address line 2 or 3 contains an apartment trigger, the system moves the text from the address line to the Apartment field. See Apartment Triggers. Non-Address Information: The system does not retain the non-address information defined in address lines 1, 2, 3, and 4. |
Premise Partial |
EDQ found a match to the Order Management System address, but requires you to provide the apartment number for the address or select an address from a list of valid addresses returned by EDQ. Remote address standardization: The system does not standardize the Order Management System address. If the address is on a remote order and a hold reason is defined in the Address Interface User Hold Code (I68) system control value, the system places the order on user hold. If a hold reason is not defined in the Address Interface User Hold Code (I68) system control value, the system does not assign a hold reason to a remote order at the user level.
Interactive address standardization: The system displays the Address Standardization: Verify Apartment/Suite Number Screen. At this screen you can:
Note: If you provide an apartment number that EDQ does not recognize as a valid apartment number, the system does not update the address with the apartment number you provided. Instead, you remain on the Verify Apartment/Suite Number screen until you provide a valid apartment number; you can review the pick list returned by EDQ to determine the valid apartment numbers for the address.
Note: The address matches in the pick list returned by EDQ provide an idea of the acceptable range of apartment numbers you can define for the address.
Non-Address Information: The system retains the first 32 characters of non-address information defined in address lines 1, 2, and 3 in address line 3. Address line 4 will be cleared of any non-address information. Apartment Triggers:
|
Street Partial |
EDQ found a match to the Order Management System address, but requires you to provide the street number for the address or select an address from a list of valid addresses returned by EDQ. Remote address standardization: The system does not standardize the Order Management System address. If the address is on a remote order and a hold reason is defined in the Address Interface User Hold Code (I68) system control value, the system places the order on user hold. If a hold reason is not defined in the Address Interface User Hold Code (I68) system control value, the system does not assign a hold reason to a remote order at the user level.
Interactive address standardization: The system displays the Address Standardization: Verify Street Number Screen. At this screen you can:
Note: If you provide a street number that EDQ does not recognize as a valid street number, the system does not update the address with the street number you provided. Instead, you remain on the Verify Street Number screen until you provide a valid street number; you can review the pick list returned by EDQ to determine the valid street numbers for the address.
Note: The address matches in the pick list returned by EDQ provide an idea of the acceptable range of street numbers you can define for the address.
Non-Address Information: The system retains the first 32 characters of non-address information defined in address lines 1, 2, and 3 in address line 3. Address line 4 will be cleared of any non-address information. Apartment Triggers:
|
Multiple |
EDQ found multiple matches to the Order Management System address and requires you to select an address from the list of valid addresses. Remote address standardization: The system does not standardize the Order Management System address. If the address is on a remote order and a hold reason is defined in the Address Interface User Hold Code (I68) system control value, the system places the order on user hold. If a hold reason is not defined in the Address Interface User Hold Code (I68) system control value, the system does not assign a hold reason to a remote order at the user level.
Interactive address standardization: The system displays the Address Standardization: Select from Multiple Addresses Screen. At this screen you can:
Non-Address Information: The system retains the first 32 characters of non-address information defined in address lines 1, 2, and 3 in address line 3. Address line 4 will be cleared of any non-address information. Apartment Triggers: EDQ does not apply apartment triggers when the match level is Multiple. |
Address Examples
Purpose: The following examples demonstrate how EDQ standardizes the Order Management System address.
Note:
Important: The following examples are for illustrative purposes only. To follow best address standardization practices, you should enter any apartment information in the Apartment field. In addition, for addresses on an order, you should enter non-address information in the Attention field on the order.- Match Level None Example
- Match Level Verified Example
- Match Level Interaction Required Example
- Match Level Premise Partial Example
- Match Level Street Partial Example
- Match Level Multiple Example
Match Level None Example
You enter the following address on an Order Management System screen:
Order Management System Address: | Example: |
---|---|
street address: address line 2: address line 3: address line 4: city/state/zip/country: |
GARDEN APT D LEAVE PACKAGE AT FRONT DOOR SAMPLE GARDENS SANTA BARBARA CA 93101 US |
Order Management System sends the address to EDQ for standardization. EDQ returns a match level of None, indicating the Order Management System address will not be standardized because it could not find an address to match to the Order Management System address.
The system displays the Address Standardization: No Address Match Found Screen. At this screen you can select to return to the Order Management System screen without standardizing the address.
Retained Order Management System Address: | Example: |
---|---|
street address: address line 2: address line 3: address line 4: city/state/zip/country: |
GARDEN APT D LEAVE PACKAGE AT FRONT DOOR SAMPLE GARDENS SANTA BARBARA CA 93101 US |
You can update the address information to resend it to EDQ for standardization; otherwise, the system determines if the address requires standardization the next time you create the address or update the address; see EDQ Address Standardization Process Flow.
Match Level Verified Example
Verified Example: Retain Non-Address Information
The following address is entered on an Order Management System screen or received through the Order API, catalog request interface or Customer API:
Order Management System Address: | Example: |
---|---|
street address: address line 2: address line 3: address line 4: city/state/zip/country: |
1234 SAMPLE LANE (replace with a valid street address) SAMPLE FARM OPEN YEAR ROUND SAMPLE GARDENS TEMPLETON MA 01468 US |
Order Management System sends the address to EDQ for standardization. EDQ returns a match level of Verified, indicating it found one address match with a high level of confidence.
Because an exact match was found, the system automatically updates the Order Management System address to the standardized address, without requiring any user action.
In addition, the system retains the first 32 characters of non-address
information defined in address lines 2 and 3 in address line 3. In
this example, the system retains the non-address information: KAT’S FRUITS AND VEGETABLES LEAV
.
Standardized Address: | Example: |
---|---|
street address: address line 3: city/state/zip/country: |
1234 SAMPLE LN SAMPLE FARM OPEN YEAR ROUND TEMPLETON MA 01468-1566 US |
Verified Example: Apartment Trigger
The following address is entered on an Order Management System screen or received through the Order API, catalog request interface or Customer API:
Order Management System Address: | Example: |
---|---|
street address: address line 2: address line 3: city/state/zip/country: |
1234 GARDEN (replace with a valid street number) APARTMENT D SAMPLE GARDENS SANTA BARBARA CA 93101 US |
Order Management System sends the address to EDQ for standardization. EDQ returns a match level of Verified, indicating it found one address match with a high level of confidence.
Because an exact match was found, the system automatically updates the Order Management System address to the standardized address, without requiring any user action.
In addition:
- the system recognized the text
APARTMENT
as an apartment trigger and moves this text, plus the number following it, to the Apartment field. - the system retains the first 32 characters of non-address information defined in address lines 2 and 3 in address line 3.
Standardized Address: | Example: |
---|---|
street address/apt: address line 3: city/state/zip/country: |
1234 SAMPLE ST APT D SAMPLE GARDENS SANTA BARBARA CA 93101-1367 US |
Match Level Interaction Required Example
You enter the following address on a Order Management System screen:
Order Management System Address: | Example: |
---|---|
street address: address line 2: address line 3: city/state/zip/country: |
123 SAMPLE STREET (replace with a valid street address) HUNGRY HORSE CANYON CAFE WESTBORO MA 01581 US |
Order Management System sends the address to EDQ for standardization. EDQ returns a match level of Interaction Required, indicating it found a single match to the Order Management System address but requires you to confirm the address update.
The system displays the Address Standardization: Verify Recommendation Screen. At this screen, you confirm the address update:
Standardized Address: | |
---|---|
street address: city/state/zip/country: |
123 SAMPLE ST (replace with a valid street address) WESTBOROUGH MA 01581-1815 US |
Match Level Premise Partial Example
- Premise Partial Example: Provide Missing Apartment Number
- Premise Partial Example: Select Address from Pick List
Premise Partial Example: Provide Missing Apartment Number
You enter the following address on an Order Management System screen:
Order Management System Address: | Example: |
---|---|
street address: address line 2: address line 3: address line 4: city/state/zip/country: |
1234 SAMPLE (replace with a valid street number) LAST BUILDING LEAVE PACKAGES AT BACK DOOR SAMPLE GARDENS SANTA BARBARA CA 93101 US |
Order Management System sends the address to EDQ for standardization. EDQ returns a match level of Premise Partial, indicating it found a match to the Order Management System address, but requires you to provide the apartment number for the address or select an address from a list of valid addresses.
The system displays the Address Standardization: Verify Apartment/Suite Number Screen. At this screen, you provide the apartment number for the address.
The system standardizes the Order Management System address. In
addition, the system retains the first 32 characters of non-address
information defined in address lines 2 and 3 in address line 3. In
this example, the system retains the non-address information: LAST BUILDING LEAVE PACKAGES AT
.
Standardized Address: | Example: |
---|---|
street address/apt: address line 3: city/state/zip/country: |
1234 SAMPLE ST APT D LAST BUILDING LEAVE PACKAGES AT SANTA BARBARA CA 93101-1367 US |
Premise Partial Example: Select Address from Pick List
You enter the following address on an Order Management System screen:
Order Management System Address: | Example: |
---|---|
street address: address line 2: address line 3: address line 4: city/state/zip/country: |
1234 SAMPLE (replace with a valid street number) LAST BUILDING LEAVE PACKAGES AT BACK DOOR SAMPLE GARDENS SANTA BARBARA CA 93101 US |
Order Management System sends the address to EDQ for standardization. EDQ returns a match level of Premise Partial, indicating it found a match to the Order Management System address, but requires you to provide the apartment number for the address or select an address from a list of valid addresses.
The system displays the Address Standardization: Verify Apartment/Suite Number Screen. At this screen, you review the addresses in the pick list returned by EDQ.
Because the addresses in the pick list returned by EDQ display as a hyperlink, you can select an address from the pick list.
EDQ Address Pick List: | Example: |
---|---|
street address: city/state/zip/country: |
1234 SAMPLE ST SANTA BARBARA CA 93101-1363 US |
street address/apt: city/state/zip/country: |
1234 SAMPLE ST APT A SANTA BARBARA CA 93101-1365 US |
street address/apt: city/state/zip/country: |
1234 SAMPLE ST APT B SANTA BARBARA CA 93101-1364 US |
street address/apt: city/state/zip/country: |
1234 SAMPLE ST APT C SANTA BARBARA CA 93101-1366 US |
street address/apt: city/state/zip/country: |
1234 SAMPLE ST APT D SANTA BARBARA CA 93101-1367 US |
The system standardizes the Order Management System address. In
addition, the system retains the first 32 characters of non-address
information defined in address lines 2 and 3 in address line 3. In
this example, the system retains the non-address information: LAST BUILDING LEAVE PACKAGES AT
.
Standardized Address: | Example: |
---|---|
street address/apt: address line 3: city/state/zip/country: |
1234 SAMPLE ST APT D LAST BUILDING LEAVE PACKAGES AT SANTA BARBARA CA 93101-1367 US |
Match Level Street Partial Example
- Street Partial Example: Provide Missing Street Number
- Street Partial Example: Provide Missing Street Number from Pick List
- Street Partial Example: Select Address from Pick List
Street Partial Example: Provide Missing Street Number
You enter the following address on an Order Management System screen:
Order Management System Address: | Example: |
---|---|
street address: address line 2: address line 3: address line 4: city/state/zip/country: |
SAMPLE LANE (replace with a valid street name) SAMPLE PLACE LEAVE PACKAGES AT BACK DOOR SAMPLE FARM STAND TEMPLETON MA 01468 US |
Order Management System sends the address to EDQ for standardization. EDQ returns a match level of Street Partial, indicating it found a match to the Order Management System address, but requires you to provide the street number for the address or select an address from a list of valid addresses.
The system displays the Address Standardization: Verify Street Number Screen. At this screen, you provide the street number for the address.
The system standardizes the Order Management System address. In
addition, the system retains the first 32 characters of non-address
information defined in address lines 2 and 3 in address line 3. In
this example, the system retains the non-address information: SMITH PLACE LEAVE PACKAGES AT
.
Standardized Address: | Example: |
---|---|
street address: address line 3: city/state/zip/country: |
99 SAMPLE LN SAMPLE PLACE LEAVE PACKAGES AT BA TEMPLETON MA 01468-1556 US |
Street Partial Example: Provide Missing Street Number from Pick List
You enter the following address on a Order Management System screen:
Order Management System Address: | Example: |
---|---|
street address: address line 2: address line 3: address line 4: city/state/zip/country: |
SAMPLE LANE (replace with a valid street name) SAMPLE PLACE LEAVE PACKAGES AT BACK DOOR SAMPLE FARM STAND TEMPLETON MA 01468 US |
Order Management System sends the address to EDQ for standardization. EDQ returns a match level of Street Partial, indicating it found a match to the Order Management System address, but requires you to provide the street number for the address or select an address from a list of valid addresses.
The system displays the Address Standardization: Verify Street Number Screen. At this screen, you review the addresses in the pick list.
EDQ Address Pick List: | Example: |
---|---|
street address: city/state: |
1 ... 99 SAMPLE LN TEMPLETON MA (ODD) |
street address/apt: city/state: |
2 ... 98 SAMPLE LN TEMPLETON MA (EVEN) |
Because the addresses in the pick list returned by EDQ do not display as a hyperlink, you must enter a valid street number in the Street number field. According to the pick list returned by EDQ, the valid street numbers are 1 - 99 (odd numbers) and 2 - 98 (even numbers).
You provide the street number for the address. The system standardizes
the Order Management System address. In addition, the system retains
the first 32 characters of non-address information defined in address
lines 2 and 3 in address line 3. In this example, the system retains
the non-address information: SMITH PLACE LEAVE PACKAGES AT
.
Standardized Address: | Example: |
---|---|
street address: address line 3: city/state/zip/country: |
99 SAMPLE LN SAMPLE PLACE LEAVE PACKAGES AT TEMPLETON MA 01468-1556 US |
Street Partial Example: Select Address from Pick List
You enter the following address on an Order Management System screen:
Order Management System Address: | Example: |
---|---|
street address: address line 3: city/state/zip/country: |
SAMPLE PARK WAY (replace with a valid street name) SAMPLE PLACE NATICK MA 01760 US |
Order Management System sends the address to EDQ for standardization. EDQ returns a match level of Street Partial, indicating it found a match to the Order Management System address, but requires you to provide the street number for the address or select an address from a list of valid addresses.
The system displays the Address Standardization: Verify Street Number Screen. At this screen, you review the addresses in the pick list.
One address in the pick list displays as a hyperlink; the rest of the addresses in the pick list do not display as a hyperlink. You can either:
- Use the addresses in the pick list to determine the valid street number to enter in the Street number field.
- Select the address that displays as a hyperlink to standardize the Order Management System address.
EDQ Address Pick List: | Examples: |
---|---|
street address: city/state: |
1 ... 11 SAMPLE PARK WAY NATICK MA (ODD) |
street address/apt: city/state: |
2 ... 10 SAMPLE PARK WAY NATICK MA (EVEN) |
street address/apt: city/state: |
12 ... 98 SAMPLE PARK WAY NATICK MA (EVEN) |
street address: city/state: |
13 ... 99 SAMPLE PARK WAY NATICK MA (ODD) |
street address: city/state: |
24 SAMPLE PARK WAY NATICK MA (ODD) |
street address/apt: city/state: |
24 SAMPLE PARK WAY STE 101 ... 103 NATICK MA |
street address/apt: city/state: |
24 SAMPLE PARK WAY STE 104 ... 503 NATICK MA |
street address/apt: city/state: |
24 SAMPLE PARK WAY STE B1 ... 2 NATICK MA |
You select the address in the pick list that displays as a hyperlink to standardize the Order Management System address.
Standardized Address: | Example: |
---|---|
street address/apt: address line 3: city/state/zip/country: |
24 SAMPLE WAY SAMPLE PLACE NATICK MA 01760-1528 US |
Match Level Multiple Example
You enter the following address on an Order Management System screen:
Order Management System Address: | Example: |
---|---|
street address: address line 2: address line 3: address line 4: city/state/zip/country: |
PO BOX 1234 (replace with a valid PO box number) FAN CLUB MAIL CABLE CHANNEL BOX 1234 NEW YORK NY 10001 US |
Order Management System sends the address to EDQ for standardization. EDQ returns a match level of Street Partial, indicating it found multiple matches to the Order Management System address and requires you to select an address from a list of valid addresses.
The system displays the Address Standardization: Select from Multiple Addresses Screen. At this screen, you select an address from the pick list.
The system standardizes the Order Management System address.
Standardized Address: | Example: |
---|---|
street address: address line 3: city/state/zip/country: |
PO BOX 1234 FAN CLUB MAIL CABLE CHANNEL NEW YORK NY 10002-0915 US |
Address Standardization: No Address Match Found Screen
Purpose: This screen indicates that EDQ could not find a match for the Order Management System address.
How to display this screen: This screen displays during Interactive Address Standardization when the EDQ Address Response Match Level returned by EDQ is None.
Screen Option | Procedure |
---|---|
Return to the Order Management System screen where you can either:
|
Select Select/Edit. The system returns you to the Order Management System screen and does not standardize the address. The system determines if the address requires standardization the next time you create the address or update the address; see EDQ Address Standardization Process Flow. |
Address Standardization: Verify Recommendation Screen
Purpose: Use this screen to confirm the address match returned by EDQ.
How to display this screen: This screen displays during Interactive Address Standardization when the EDQ Address Response Match Level returned by EDQ is Interaction Required, indicating EDQ found a single match to the Order Management System address but requires you to confirm the address update.
Screen Option | Procedure |
---|---|
Retain the Order Management System address without any updates from EDQ |
Select Select/Edit. The system returns you to the Order Management System screen and does not standardize the address. The system determines if the address requires standardization the next time you create the address or update the address; see EDQ Address Standardization Process Flow. |
Update the Order Management System address with the recommended address returned by EDQ |
Select Select. The system returns you to the Order Management System screen and standardizes the address. |
Address Standardization: Verify Apartment/Suite Number Screen
Purpose: Use this screen to provide the missing apartment number for the Order Management System address or select an address from the pick list returned by EDQ.
How to display this screen: This screen displays during Interactive Address Standardization when the EDQ Address Response Match Level returned by EDQ is Premise Partial, indicating EDQ found a match to the Order Management System address but the address is missing the apartment number.
Screen Option | Procedure |
---|---|
Retain the Order Management System address without any updates |
Select Select/Edit. The system returns you to the Order Management System screen and does not standardize the address. The system determines if the address requires standardization the next time you create the address or update the address; see EDQ Address Standardization Process Flow. |
Provide the missing apartment/suite number and update the Order Management System address with the recommendations returned by EDQ |
Enter the apartment/suite number in the Apartment number field and select OK. The system returns you to the Order Management System screen and standardizes the address. Apartment preface: When you enter the apartment/suite
number, make sure you preface the number with apartment text, such
as APT or STE; for example Note: If you provide an apartment number that EDQ does not recognize as a valid apartment number, the system does not update the address with the apartment number you provided. Instead, you remain on the Address Standardization: Verify Apartment/Suite Number Screen until you provide a valid apartment number; you can review the pick list returned by EDQ to determine the valid apartment numbers for the address. |
Display a list of possible address matches returned by EDQ |
Select Matches to display a list of valid address returned by EDQ. The address list indicates the valid apartment numbers available for the address. You can use this list to determine the apartment number to enter in the Apartment number field, or if an address displays as a hyperlink, you can select it. When you select one of these matches:
|
Address Standardization: Verify Street Number Screen
Purpose: Use this screen to provide the missing street number for the Order Management System address or to select an address from the pick list returned by EDQ.
How to display this screen: This screen displays during Interactive Address Standardization when the EDQ Address Response Match Level returned by EDQ is Street Partial, indicating EDQ found a match to the Order Management System address but the address is missing the street number.
Screen Option | Procedure |
---|---|
Retain the Order Management System address without any updates from EDQ |
Select Select/Edit. The system returns you to the Order Management System screen and does not standardize the address. |
Provide the missing street number and update the Order Management System address with the recommendations returned by EDQ |
Enter a valid street number in the Street number field and select OK. The system returns you to the Order Management System screen and standardizes the address. Note: If you provide a street number that EDQ does not recognize as a valid street number, the system does not update the address with the street number you provided. Instead, you remain on the Address Standardization: Verify Street Number Screen until you provide a valid street number; you can review the pick list returned by EDQ to determine the valid street numbers for the address. |
Display a list of possible address matches returned by EDQ |
Select Matches to review a list of possible address matches returned by EDQ. The address list indicates the valid street numbers available for the address. You can use this list to determine the street number to enter in the Street number field, or if an address displays as a hyperlink, you can select it. When you select one of these matches:
|
Address Standardization: Select from Multiple Addresses Screen
Purpose: Use this screen to select an address from the pick list returned by EDQ.
How to display this screen: This screen displays during Interactive Address Standardization when the EDQ Address Response Match Level returned by EDQ is Multiple, indicating EDQ found multiple matches to the Order Management System address and requires you to select an address from the list of valid addresses returned by EDQ.
Screen Option | Procedure |
---|---|
Retain the Order Management System address without any updates |
Select Select/Edit. The system returns you to the Order Management System screen and does not standardize the address. |
Select an address from a list of possible matches |
Select an address from the list of valid addresses returned from EDQ. When you select one of these matches:
|
Address Standardization: Verify Recommendation (from Pick List) Screen
Purpose: This screen allows you to review the address you selected from the pick list returned by EDQ before updating the Order Management System address.
How to display this screen: This screen displays during Interactive Address Standardization when you select an address from a list of valid addresses returned by EDQ on the following screens and the Display Confirmation After QAS Picklist Selection (J01) system control value is selected:
- Address Standardization: Verify Apartment/Suite Number Screen
- Address Standardization: Verify Street Number Screen
- Address Standardization: Select from Multiple Addresses Screen
Screen Option | Procedure |
---|---|
Retain the Order Management System address without any updates |
Select Select/Edit. The system returns you to the Order Management System screen and does not standardize the address. |
Select the address that you have selected from the pick list returned by EDQ |
Select Select. The system returns you to the Order Management System screen and standardizes the address. |
Display a list of possible address matches returned by EDQ and update the Order Management System address with the updates defined for one of these addresses |
Select Matches to display a list of valid address returned by EDQ. When you select one of these matches, the system displays the address under the Recommended Address section of the screen for you to review. |
Communication Failures
If an error occurs during processing, for example a connection could not be made with the EDQ, the system displays the Web Service Failure Screen.
To restore communication:
- Retry to make sure the connection is no longer working.
- Verify your account license information in the Experian self service portal.
- Contact your EDQ representative to make sure the Validate Address API is running correctly and that configuration settings on their end have not changed.
- Check your Order Management System configuration settings; see EDQ Setup.
Web Service Failure Screen
This screen indicates a connection could not be made with EDQ.
Screen Option | Procedure |
---|---|
Return to the Order Management System screen without updating the Order Management System address |
Select Select/Edit. The system returns you to the Order Management System screen without updating the address. You will need to resend the address to EDQ at a later time once the connection to EDQ has been reestablished. |
EDQ Setup
Purpose: Before you can use EDQ, you must perform the necessary setup in Order Management System.
Required setup includes:
- System Control Values
- Country ISO Codes
- Order Type
- SCF Codes
- Ship Via
- WebService Mapping File
- Property Settings
- Proxy Server
- Serenade Map
System Control Values
System Control Value | Description |
---|---|
Select this field if you wish to use EDQ to retrieve address information. |
|
Enter a valid hold reason code in this field that the system can assign to a remote order at the user level when the remote order fails address verification. A remote order fails address verification if EDQ could not find an exact match to the Order Management System address (the EDQ Address Response Match Level is not Verified). If you do not define a hold reason code in this system control value, the system does not assign a hold reason to a remote order at the user level when the remote order fails address verification.
|
|
Select this field if you use EDQ and you would like to use the interface to verify customer addresses that you add or change through the Generic Customer API. In the case of an Add request, the address standardization takes place before any duplicate checking. For more information see the Web Services Guide on My Oracle Support (ID 2149144.1). Note: The address standardization only occurs if there is an exact match to the address (the EDQ Address Response Match Level is Verified); otherwise, the process does not update the customer’s address before proceeding with regular edits. |
|
Select field if you wish to display the Address Standardization: Verify Recommendation (from Pick List) Screen after you select an address from a list of possible address matches returned by EDQ. Leave this field blank if you wish to suppress the Address Standardization: Verify Recommendation (from Pick List) Screen after you select an address from a list of possible address matches returned by EDQ. |
|
If this system control value is selected, when you enter a postal code for an address, the system defaults the associated city and state (as defined in the Postal Code/City/State file) before sending the address to EDQ. |
|
If you do not define a country code for an address, the system defaults the country code defined in this system control value to the address. |
Country ISO Codes
Country ISO codes are codes representing the international standard code used to identify a country. When the system sends address information to EDQ for validation and standardization, the system sends the Country ISO code defined for the country instead of the Country code as the country code defined for the address. For example, the country code for the United States may be US and the country ISO code may be USA.
The country ISO codes supplied by EDQ for Canada and the United States are listed below.
Country Code | ISO Code | Country |
---|---|---|
CA |
CAN |
Canada |
US |
USA |
United States of America |
You can define a country ISO code for a country in the Setting Up the Country Table (WCTY) menu option. A country ISO code must be defined for the United States and Canada in order to send addresses for standardization to EDQ.
Note:
The Order Management System integration with EDQ supports address standardization for United States and Canadian addresses; it does not support address standardization for European countries at this time. You should not define a country ISO code for a country other than the United States or Canada.Order Type
The Address standardization field defined for an order type controls whether orders with this order type are eligible for address standardization using the Address Interface.
- If the Address standardization field for the order type on the order is selected, the order is eligible for address standardization using EDQ.
- If the Address standardization field for the order type on the order is unselected, the order is not eligible for address standardization using EDQ.
SCF Codes
The system uses the SCF file to validate that a customer’s postal code and state are consistent. Regardless if you use EDQ to validate addresses, you must still use the Working with SCF Codes (WSCF) menu option to create SCF codes and tax rates that apply to orders shipped to the SCF.
Ship Via
Regardless of whether you use EDQ to validate addresses, you must define the eligible shippers for a specific postal code. You can define eligible shippers for a postal code using either:
- the Working with Zip/Ship Via (WZSV) menu option to create a zip code/ship via cross reference for each postal code.
- the Working with SCF/Ship Via Values (WSHV) menu option to create an SCF/ship via cross reference for each SCF code.
WebService Mapping File
This file contains information required for EDQ.
Location of file: This file is normally
saved on the application server at the following location, where domain
is the WebLogic domain directory for Order Management
System:
/domain/conf/cwdirectcpproperties/webservicemapping.properties
Note:
This file is delivered with Order Management System and should not be changed.Property Name | Description |
---|---|
ADD_INT |
This setting indicates Order Management System communicates with EDQ. The delivered setting is:
Do not change this setting. |
Property Settings
The following properties are used with EDQ.
Property Name | Description |
---|---|
ADDRESS SERVICE ENDPOINT URL defined in Working with Customer Properties (PROP) |
Verify the URL used to connect to EDQ. This setting is delivered with the application and does not require any change unless the domain where Experian resides changes. |
ADDRESS SERVICE RETURN LAYOUT defined in Working with Customer Properties (PROP) |
The name of the custom layout used for data mapping. This layout resides with Experian and should be set to Serenade. Do not change this setting. |
QAS ADDRESS SERVICE TOKEN defined in Working with Customer Properties (PROP) |
Enter the address service token used by EDQ to identify a customer; this is a token you created in the EDQ self service portal. |
QAS SERVICES WSDL LOCATION defined in Working with Admin Properties (CPRP) |
The location of the ProOnDemandService.wsdl
file. The recommended location is |
proxied external hosts defined in the Jenasys Properties File |
Defines the necessary proxy information required for the integration. This setting is delivered with the application and does not require any change unless the domain where Experian resides changes. |
Proxy Server
When communicating with EDQ, you must define a proxy server to act as an intermediary in order to increase security. Oracle Retail Order Management System sends transactions to the proxy server and the proxy server sends the transactions along to EDQ. The PROXY_HOST and PROXY_PORT properties in Working with Admin Properties (CPRP) define the IP address and port number used to connect to the proxy server during address standardization.
Serenade Map
The address information and placement of the information returned from EDQ is based on a layout defined in the Serenade map. For example, the address mapping details specify:
- whether the data should be returned in upper case letters.
- if non-address data such as Leave at back door should be retained, and if retained, in which address field the information should be stored.
Note:
The Order Management System integration with EDQ supports address standardization for United States and Canadian addresses; it does not support address standardization for European countries at this time.EDQ maps the following information to each Order Management System address field.
OROMS Field | Mapping Details |
---|---|
Street address |
EDQ updates this field with the primary number and street address. Example: |
Address line 2 |
Based on the EDQ Address Response Match Level, EDQ may clear address line 2 of any information. |
Address line 3 |
Based on the EDQ Address Response Match Level, EDQ may update this field with the first 32 characters of non-address information that was defined in address lines 1, 2, and 3 in Order Management System. Example: The following non-address information was defined in address lines 2 and 3 for the Order Management System address:
EDQ moves the first 32 characters of this information to address line 3:
See Retaining Non-Address Information in Address Lines 1-4 for more information. |
Address line 4 |
EDQ clears address line 4 of any information. |
Apartment |
EDQ updates this field with a valid apartment/suite/unit number and includes an abbreviation such as APT or STE. Example:
Apartment Triggers Certain text in address lines 2 and 3 and the EDQ Address Response Match Level triggers EDQ to move the
text to the Apartment field on an address. For example, if
you enter See Apartment Triggers for a list of the text that EDQ will move from address lines 2 and 3 to the Apartment field. Any number that follows this text is also moved to the Apartment field. |
City |
EDQ updates this field with the valid city name for the address. Example: WESTBORO updates to WESTBOROUGH |
State code |
EDQ updates this field with the valid state code for the address. Example: |
Postal code |
EDQ updates this field with the valid zip + 4 postal code for the address. Example: |
Country code |
EDQ translates the ISO country code for the address to the associated country code defined in Order Management System. Example: |
Loading Address Updates
Purpose: This topic describes how to load customer name and address updates that originate from the National Change of Address (NCOA) Service. This function allows you to update customer addresses or identify invalid addresses. You can load address changes using either the ACS or the MBS table formats described in this topic.
This program updates names and addresses for sold-to customers only; it does not update any ship-to customer addresses.
You can update bill-to names and addresses with sold-to address changes if:
- The Update Bill-to Address with Sold-to Address Changes (E13) system control value is selected.
- The old name and address of the sold-to customer is an exact match of the old name and address of the bill-to customer.
If the bill-to customer name and address does not match the sold-to customer name and address, only the sold-to information updates.
Restrictions: The customer's name and address will be updated only if:
- the Sold To Customer exists on the system
- the last change date in the Sold To Customer table is earlier than the date you enter at the Load & Process Address Changes screen
- the customer has no open (unshipped or partially shipped) orders
For more information: See:
- Process Address Changes Screen (PACS)
- Work with Changed Customers Screen (MBSI)
- Work with Unchanged Customers Screen (MBSF)
Process Overview

The steps you use to load address changes into Order Management System are described below.
# | Step |
---|---|
1 |
Obtain customer name and address updates from the National Change of Address (NCOA) Service that you wish to upload to the ACS Tape table or MBS Tape table in the Order Management System database. A sample of the data used to create a record in the ACS Tape table is provided below. 200000145BXBKCCJ21263204414 200206F 038ANDERSON JEN S 1234 EXAMPLE CIR HALETHORPE MD21227S 123 SAMPLE WAY CT LINTHICUM HEIGHTS MD21090-1754533453 MARY WAY CT XX0000 C A sample of the data used to create a record in the MBS Tape table is provided below. JOHN SMITH 1 SAMPLE DRIVE WESTBORO MA01581 B I 01581 B 1 SAMPLE DRIVE WESTBORO MA 1 SAMPLE DRIVE APT 2 WESTBORO MA01581 B 12879000| Note: If you wish to leave any field in the upload file blank, pass a space in an alphanumeric field and a 0 in a numeric field so that the file can be processed without errors. Leaving a field with no space or 0 is interpreted as null in the database and causes errors.See MBS and ACS Table Formats for the contents of the upload file. |
2 |
To upload the records to the ACS Tape table table in the Order Management System database
Similarly, to upload the records to the MBS Tape table table in the Order Management System database
|
3 |
The system checks the ACS Tape table or the MBS Tape table, depending on your entry in the Input file type field at the Work with Changed Customers Screen (MBSI), and uses this information to populate the MBS Work table. |
4 |
Prior to processing the MBS Work table, the system clears any records for the company in the MBS Changed Customer table. |
5 |
For each record in the MBS Work table, if the system is able to process the address change, it creates a record in the MBS Changed Customer table for your review. You can use the Work with Changed Customers Screen (MBSI) to review these changes and purge them. Otherwise, |
6 |
If the system is unable to process the address change, the record remains in the MBS Work table. You can use the Work with Unchanged Customers Screen (MBSF) to review these record and resubmit or purge them. |
Address change logic: The system uses this logic to analyze address changes and load the MBS Work table:
- Check the value in the Zap indicator:
- if = Z extract the new zip code.
- otherwise, extract the zip code and the address.
- Determine the delivery code.
- Determine if address is deliverable.
- Determine the name prefix.
- Determine the name suffix.
- Update the work table.
- Update the Sold To Customer table, if the following conditions are met; otherwise, write the error to the MBS Work table:
- the customer exists on the system.
- the last change date on the received record is greater than the last change date for the customer.
- there are no open orders for the customer (based on a value in the On order $ field in the Customer Sold To History table).
- If the address is non-deliverable, update the Mail and Rent fields in the Sold To Customer table to unselected.
- Create a “before” and “after” image of the Sold To Customer's address in the MBS Changed Customers table to identify what information is changed.
- If ZIP code change, update ZIP code only; otherwise, update full address and first and last name.
- Update address and change date, retaining a record in work table until you process table using the Work with Unchanged Customers Screen (MBSF).
For more information: See the MBS and ACS Table Formats for more information on the fields described above.
Mass Customer Download
Mass Customer Download allows you to download a batch file of new and changed customers to an external system.
The download file contains a Mass Customer Download XML Message (CWCustomerDownload) for each sold-to customer whose customer class matches the customer class defined in the MASS_CUSTDWNLD_CUSTOMER_CLASS property.
Mass customer download process flow:

Generic customer download API: You can also use the Generic Customer Download API to generate a Customer Download XML Message (CWCustomerDownload) interactively as you create, change or delete customer information. See Generic Customer Download API for an overview.
For more information see the Web Services Guide on https://support.oracle.com My Oracle Support (ID 2149144.1).
In this topic:
Mass Customer Download Process
Use the following steps to generate the Mass Customer Download file.
# | Step |
---|---|
1. |
Run the CSTDWNL Mass Customer Download periodic function (program name PFRCSTDNLD) to submit the CUSTDWLD job. |
2. |
Order Management System writes any messages related to the Mass Customer Download to the Application Log. If the Mass Customer Download processes successfully, Order Management System writes a message similar to the following to the log: Mass CustomerDwnld created in folder: \\APP1\OMSFiles\Integrations\Xlink\TEMP_MassCustomerDownload If the Mass Customer Download fails, Order Management System writes a message similar to the following to the log and does not generate a Mass Customer Download XML Message (CWCustomerDownload) or create a Mass Customer Download File. If a valid directory path does not exist in the MASS_CUSTDWNLD_DOWNLOAD_DIRECTORY property: MASS_CUSTDWNLD_DOWNLOAD_DIRECTORY property not set. MassCustomerDwnld configuration error - Customer Download not processed If a file name is not defined for the MASS_CUSTDWNLD_FILE_NAME property: MASS_CUSTDWNLD_FILE_NAME property not set. MassCustomerDwnld configuration error - Customer Download not processed |
3. |
Order Management System looks at the setting of the MASS_CUSTDWNLD_CUSTOMER_CLASSES property to determine which customers to include in the Mass Customer Download.
|
4. |
Order Management System places the generated Mass Customer Download messages in a batch file. The setting of the MASS_CUSTDWNLD_FILE_NAME property determines the name of the batch file.
See Mass Customer Download File for a sample file. |
5. |
If a value is defined for the MASS_CUSTDWNLD_MESSAGE_WRAPPER property, Order Management System adds this value to the beginning and end of the batch file contents to make the contents of the file a valid XML document. |
6. |
Order Management System places the Mass Customer Download File in the directory defined in the MASS_CUSTDWNLD_DOWNLOAD_DIRECTORY property so that it can be processed by an external system. |
Mass Customer Download Setup
Before you can use the Mass Customer Download process, you must complete the required setup.
Integration Properties
Use the following settings in Working with Customer Properties (PROP) to configure the Mass Customer Download.
Property | Description |
---|---|
MASS_CUSTDWNLD_DOWNLOAD_DIRECTORY |
Required. The directory where Order Management System places the Mass Customer Download file to be sent to an external system. This can be a directory on the Order Management System application server or on another server. When you define the path, the backslashes in the directory path must be escaped (doubled \\). Example: \\\\APP1\\OMSFiles\\Integrations\\Xlink Note: If you define a directory on an external server, the remote destination folder must be a shared folder. |
MASS_CUSTDWNLD_FILE_NAME |
Required. The name of the Mass Customer Download file. The delivered setting is MassCustomerDownload.
|
MASS_CUSTDWNLD_ CUSTOMER_CLASSES |
The customer class used to determine which sold to customers to include in the Mass Customer Download. To define more than one customer class, separate the values with a comma. Example: CL,NR Note: You cannot add a blank value to this setting to include sold to customers that do not have a customer class defined. For example, you cannot enter CL, ,NR or CL,’’,NR. Leave this setting blank if you wish to include all sold to customers, regardless of the assigned customer class, in the Mass Customer Download. |
MASS_CUSTDWNLD_ MESSAGE_WRAPPER |
The XML root element name Order Management System adds to the beginning and end of the Mass Customer Download file to make the contents of the file a valid XML document. If you leave this setting blank, the file will not be a valid XML document; however, each message in the file will be a valid XML message. |
Customer Class
If you define a customer class for the MASS_CUSTDWNLD_CUSTOMER_CLASSES property, you must define this customer class for each sold to customer that you wish to include in the Mass Customer Download. If this setting is blank, the system includes all sold to customers in the Mass Customer Download.
Mass Customer Download Periodic Function
Use the CSTDWNL Mass Customer Download (program name PFRCSTDNLD) periodic function to submit the Mass Customer Download process. See Scheduling Jobs for more information on how to assign a periodic function to a periodic process and how to schedule a periodic process to run on a scheduled basis.
Mass Customer Download XML Message (CWCustomerDownload)

The Mass Customer Download message contains customer information to send from Order Management System to another system. See Generic Download Message Formatting for more information on how the system formats all download messages.
Mass Customer download batch file: The system includes all Mass Customer Download messages that are generated during the Mass Customer Download Process in a single batch file; see Mass Customer Download File for a sample file.
Sample: See Mass Customer Download Message: Sample Message for a sample message.
Attribute Name | Type | Length | Comments |
---|---|---|---|
Message |
|||
source |
alpha |
10 |
OROMS |
target |
alpha |
11 |
|
type |
alpha |
18 |
CWCustomerDownload |
date_created |
numeric |
8 |
YYYY-MM-DD format |
time_created |
numeric |
6 |
HH:MM:SS format |
version |
alpha |
3.1 |
The outbound version, such as 1.0, specified for the CUST_OUT process through Working with Integration Layer Processes (IJCT). |
CustSoldTo |
Each message includes one CustSoldTo element. The information in this element is available for review and update through customer maintenance. See Creating and Updating Sold-to Customers (WCST) for more information. |
||
cst_action_type |
alpha |
1 |
X defaults. |
captured_by |
alpha |
7 |
PFR0103 defaults. |
cst_company |
numeric |
3 |
The code identifying the company associated with the customer. Not zero-filled (company 6 is passed as 6 rather than 006). See Working with Companies (WCMP) for background on companies. |
cst_cust_nbr |
numeric |
9 |
A unique number assigned by the system to identify the customer. |
cst_prefix |
alpha |
3 |
A title (such as “Mrs.” or “Dr.”) that precedes the customer's name. The prefix prints on labels and forms. |
cst_fname |
alpha |
15 |
The customer’s first name. |
cst_minitial |
alpha |
1 |
The customer’s middle initial. |
cst_lname |
alpha |
25 |
The customer’s last name. The last name is required if there is no company name specified for the customer. |
cst_suffix |
alpha |
3 |
An addition to the customer's full name (such as “M.D.,” “Fr.,” or “III”). |
cst_company_name |
alpha |
30 |
The name of the company that places orders with your company. Required if there is no customer last name. |
cst_street_addr |
alpha |
30 |
The customer's street address. |
cst_addr_line_2 through cst_addr_line_4 |
alpha |
30 |
Additional address lines for the customer. |
cst_apt |
alpha |
10 |
The apartment or suite number for the customer’s address. |
cst_city |
alpha |
25 |
The city where the customer lives or receives mail or shipments. |
cst_state |
alpha |
2 |
The two-position code for the state or province where the customer lives or receives mail or shipments. State codes are defined in and validated against the State table, accessible through the Work with Countries menu option; see Setting Up the Country Table (WCTY). |
cst_zip |
alpha |
10 |
The postal or zip code for this customer. |
cst_country |
alpha |
3 |
The three-position code identifying the country where the customer loves or receives mail or shipments. Country codes are defined in and validated against the State table, accessible through the Work with Countries menu option; see Setting Up the Country Table (WCTY). |
cst_delivery_code |
alpha |
1 |
Identifies a business (commercial) or residential address. Used to calculate shipping charges for shippers that use rate tables (such as UPS). Valid values:
|
cst_po_box |
alpha |
1 |
A flag that identifies the customer's delivery address as a Post Office box. Whenever you identify an address as a PO box, orders must ship by Parcel Post. Valid values are:
|
cst_hold_bypass_fraud |
alpha |
1 |
Controls how to perform credit checking for the customer during order entry. Valid values are:
|
cst_orig_mail_type |
alpha |
1 |
This code identifies the source of the customer based on how you and the customer first established contact (Original mail type) and whether the customer then purchased merchandise from you (Current mail type). Valid values are:
See the Mail type (Current, Original) for a discussion. |
cst_tax_exempt |
alpha |
1 |
The tax status of this customer. Valid values are:
See the Tax code for a discussion. |
cst_exempt_certificate |
alpha |
30 |
The customer’s tax identification number, typically the resale or exempt certificate number assigned to a customer who is identified as tax exempt (E) or as a reseller (R). Any combination of letters, numbers, or special characters is accepted. |
cst_exempt_expiry |
numeric |
8 |
The date the customer's tax identification expires. YYYY-MM-DD format. In evaluating the customer's tax status, either at the customer level or for a specific state, the system validates that any date entered in this field has not passed, or that this date is blank. See Working with Customer Tax Status for a complete description of how customer tax information defaults in order entry. |
est_associate |
alpha |
1 |
Identifies whether the customer as an associate or member who is eligible to receive special pricing on merchandise. Valid values:
|
cst_auto_cancel_bo |
alpha |
1 |
Indicates whether to automatically cancel backordered items with the first shipment on an order. Valid values are:
|
cst_commercial |
alpha |
1 |
Identifies whether the customer is commercial for reporting purposes. Valid values are:
|
cst_cust_type |
alpha |
3 |
A user-defined code to identify a group of customers further for reporting purposes. |
cst_discount_pct |
numeric |
5.2 |
The discount applied automatically to the regular offer price for items on each order the customer places. Note: If the customer has a Price discount % and is also flagged as an Associate (see above), then the system applies the Price discount % to the regular offer price, not to the associate price. |
cst_entry_date |
numeric |
8 |
The date you create the customer record. YYYY-MM-DD format. |
cst_ghost |
alpha |
1 |
A customer number that remains in the system after you merge duplicate customer records. When you use Working with Merge/Purge Sold-to Names (MMCS), you have the option to retain the source customer as a ghost customer. Valid values:
|
cst_inactive |
alpha |
1 |
Identifies the customer's status. You can still place orders for inactive customers. This information is useful for exception reporting you might conduct on your house list. Valid values are:
|
cst_match_code |
alpha |
15 |
A code used to identify duplicate customers based on a match on the customer's address. See Setting Up Match Codes (MMCH) for background. |
cst_bypass_reservation |
alpha |
1 |
Controls when to reserve items for the customer. Valid values are:
|
cst_mail_name |
alpha |
1 |
Controls whether the customer receives future catalogs. Valid values are:
|
cst_rent_name |
alpha |
1 |
Controls whether to include the customer's name in lists you sell to other companies for their own catalog mailings. Valid values are:
|
cst_seed_name |
alpha |
1 |
Identifies a customer name that you “plant” in a list to ensure that the company buying the list pays you for each use. Valid values are:
|
cst_rent_email |
alpha |
1 |
Not currently implemented. |
cst_interface_cust_nbr |
alpha |
15 |
An additional way to identify a customer, such as a serial number or customer or membership number in another system. |
cst_new_add_chg |
alpha |
1 |
Initially set to A when you create the customer record, and then reset to C when you update the record. |
cst_catalog_req |
alpha |
1 |
Indicates whether the customer has ever requested a catalog:
|
cst_last_chg_date |
numeric |
8 |
The last date when you entered an order for the customer, changed information in the Customer Sold To table, or selected Change for a customer in customer maintenance. YYYY-MM-DD format. |
cst_last_chg_date_name_addr |
numeric |
8 |
The last date when you processed a name or address update for the customer. YYYY-MM-DD format. |
cst_email_opt_in |
alpha |
2 |
Indicates the preferred method of correspondence for the primary email address. Valid values are:
The above values use the letter O, not the number 0 (zero). See Opt in/Opt out for background. |
cst_vat_nbr |
numeric |
20 |
The customer's VAT (value-added tax) exemption number. Included only if the customer has a VAT exemption. |
cst_email_addr |
alpha |
50 |
The customer's primary email address. See Working with Customer Email Addresses for an overview. |
cst_job_title |
alpha |
26 |
The customer's job title. Informational. |
cst_do_not_fax |
alpha |
1 |
Not currently implemented. |
cst_deliverable |
alpha |
1 |
Not currently implemented. |
cst_account_nbr |
numeric |
7 |
The bill-to account assigned this customer. If a sold-to customer is assigned a bill-to customer in this field, that bill-to customer is added to each new order for the customer. See Creating and Updating Bill-to Customers (WCBT) for background. |
cst_cust_class |
alpha |
2 |
A code that categorizes customers at a high level for reporting purposes. See Setting Up the Customer Class Table (WCCL) on working with customer classes. |
cst_cust_class_desc |
alpha |
30 |
The description of the customer class. |
cst_orig_source |
alpha |
7 |
A code that identifies how you first acquired the customer. The system retains the source code used on a new customer's first order or catalog request, depending on how you first acquired the customer. See Working with Source Codes (WSRC) for background. |
cst_curr_source |
alpha |
7 |
The source code used by the customer on the most recent order. See Working with Source Codes (WSRC) for background. |
cst_curr_source_desc |
alpha |
|
The description of the current source code. |
cst_salesman_nbr |
numeric |
7 |
A number that identifies a sales representative, if any, assigned to the customer. You can use Salesrep information for tracking and reporting sales activity and commissions. Salesrep numbers are defined in and validated against the Salesrep table. See Working with Sales Representatives (WSLS). |
cst_salesman_name |
alpha |
30 |
The name of the sales rep. |
cst_mail_code |
alpha |
3 |
Specifies how often, and under what conditions, you send mail to the customer. You can use this code to indicate the customer's mail preferences with more precision than the Mail flag permits. Mail codes are defined in and validated against the Mail/Call Code table. See Working with Mail/Call Codes (WMCC). |
cst_mail_code_desc |
alpha |
40 |
The description of the mail code. |
cst_call_code |
alpha |
3 |
Specifies how often, and under what conditions, you can call the customer. Call codes are defined in and validated against the Mail/Call Code table. See Working with Mail/Call Codes (WMCC). |
cst_call_code_desc |
alpha |
40 |
The description of the call code. |
cst_change_user |
alpha |
10 |
The user ID identifying the user who last changed the customer record. An ID such as ORDERIN indicates that the record was changed by a system process or message. |
cst_create_user |
alpha |
10 |
The user ID identifying the user who created the customer. An ID such as ORDERIN indicates that the record was created by a system process or message. |
cst_currency |
alpha |
3 |
The currency code, if any, specified for the customer. Defined in and validated against the Currency Code table; see Working with Currency (WCUR). Informational only. |
cst_currency_desc |
alpha |
30 |
The description of the currency. |
cst_language |
alpha |
3 |
The language code, if any, specified for the customer. Defined in and validated against the Language table; see Working with Language Codes (WLAN), Informational only. |
cst_language_desc |
alpha |
30 |
The description of the language. |
cst_active_cust_for_ghost |
numeric |
9 |
If this customer is flagged as a ghost, this indicates the customer record that the ghost record was merged into. |
cst_price_group |
alpha |
4 |
The customer price group to use for quantity price matrix pricing, customer price group pricing, or as a qualifier for a promotion. Customer price groups are defined in and validated against the Customer Price Group table. See Working with Customer Price Groups (WCPG) for more information. |
cst_reserve_whs |
numeric |
3 |
The warehouse code to default to the Order Header for new orders created for this sold-to customer. In this situation, the system reserves inventory for the order from this warehouse only. |
cst_van_route |
alpha |
4 |
The van route assigned to the sold to customer, indicating the customer qualifies for van delivery on orders that contain the Reserve warehouse. See Van Delivery Processing for an overview. |
cst_van_route_seq |
numeric |
4 |
The sequence number assigned to the van route in order to route the van deliveries. Informational only. |
cst_user_field_1 through cst_user_field_4 |
alpha |
10 |
Four additional fields you can use to enter any type of information about the customer. These are the fields displayed at the second Create/Change/Display Customer Sold To screen in Creating and Updating Sold-to Customers (WCST). |
CustSoldToCrossReference |
A CustSoldToCrossReference element is included for each existing alternate customer number for the customer. See Working with Alternate Customer Number Cross-References for an overview. |
||
cst_alternate_cust_nbr |
alpha |
15 |
An additional way to identify a customer, such as a serial number or customer or membership number in another system. |
CustTax |
A CustTax element is included for each existing exemption or certificate for the customer in a particular state or province. See Working with Customer Tax Status for background. |
||
cst_tax_country |
alpha |
3 |
The country where the customer has a reseller or other tax exemption. Country codes are defined in and validated against the Country table; see Setting Up the Country Table (WCTY). |
cst_tax_state |
alpha |
2 |
The state or province where the customer has a reseller or other tax exemption. State codes are defined in and validated against the State table, which is accessible through the Work with Countries menu option; see Setting Up the Country Table (WCTY). |
cst_tax_code |
alpha |
1 |
The tax status of the customer in the state. Valid values are:
Although you can create tax records using any of the codes above, retrieving tax status for any tax code but Resale or Exempt is not currently implemented. |
cst_tax_resale_exempt_nbr |
alpha |
30 |
A number that the state issues to identify a customer who is not subject to taxes on purchases. This number applies only if there is no Tax identification set up at the customer level. |
cst_tax_expiration_date |
numeric |
8 |
The date the customer's exempt or reseller certificate expires in this state. This expiration date applies only if there is not an Expiration date (Tax identification expiration date) specified at the customer level. |
Mass Customer Download Message: Sample Message
A sample of the Mass Customer Download XML Message (CWCustomerDownload) is presented below.
<Message source="OROMS" target="cwi" type="CWCustomerDownload" date_created="2011-01-28" time_created="11:44:49" version="1.0">
<CustSoldTo cst_action_type="X" cst_captured_by="PFR0103" cst_company="7" cst_cust_nbr="107" cst_prefix="MRS" cst_fname="MARY" cst_minitial="R" cst_lname="JOHNSON" cst_street_addr="24 EXAMPLE STREET" cst_addr_line_3="EXAMPLE PLACE LEAVE PACKAGES" cst_apt="STE 202" cst_city="WESTBOROUGH" cst_state="MA" cst_zip="01581-1528" cst_country="USA" cst_delivery_code="R" cst_po_box="N" cst_orig_mail_type="C" cst_associate="N" cst_auto_cancel_bo="N" cst_commercial="N" cst_entry_date="2011-01-28" cst_ghost="N" cst_inactive="N" cst_match_code="MARSU24P017" cst_bypass_reservation="N" cst_mail_name="N" cst_rent_name="N" cst_seed_name="N" cst_new_add_change="A" cst_email_opt_in="O1" cst_email_addr="msullivan@example.com" cst_do_not_fax="Y" cst_cust_class="WM" cst_cust_class_desc="EXAMPLE MASS CUST DOWNLOAD" cst_mail_code="N MAIL CODE" cst_create_user="KBROWN">
<CustSoldToCrossReferences>
<CustSoldToCrossReference cst_alternative_cust_nbr="2" />
<CustSoldToCrossReference cst_alternative_cust_nbr="549" />
</CustSoldToCrossReferences>
<CustTaxes>
<CustTax cst_tax_country="USA" cst_tax_state="MA" cst_tax_code="T"/>
</CustTaxes>
</CustSoldTo>
</Message>
Mass Customer Download File
This file contains each Mass Customer Download XML Message (CWCustomerDownload) that is generated during the Mass Customer Download Process. The setting of the MASS_CUSTDWNLD_FILE_NAME property determines the name of the batch file.
-
During processing, Order Management System adds the prefix TEMP to the name of the batch file; for example: TEMP_MassCustomerDownload
-
Once processing is complete, Order Management System adds a date and time stamp to the batch file name; for example: MassCustomerDownload.20110128.170150340
-
Order Management System also archives the batch file in zip format; for example: MassCustomerDownload.20110128.170150340.zip
If a value is defined for the MASS_CUSTDWNLD_MESSAGE_WRAPPER property, Order Management System adds this value to the beginning and end of the generated file to make the contents of the file a valid XML document.
Order Management System places the Mass Customer Download file in the directory defined in the MASS_CUSTDWNLD_DOWNLOAD_DIRECTORY property so that it can be processed by an external system.
Sample Mass Customer Download file: A sample of the Mass Customer Download file is presented below. In this example MassCustDwnld is defined in the MASS_CUSTDWNLD_MESSAGE_WRAPPER property.
<MassCustDwnld>
<Message source="OROMS" target="cwi" type="CWCustomerDownload" date_created="2011-01-28" time_created="15:38:31" version="1.0">
<CustSoldTo cst_action_type="X" cst_captured_by="PFR0103" cst_company="7" cst_cust_nbr="2" cst_prefix="MRS" cst_fname="MARY cst_minitial="T" cst_lname="JOHNSON" cst_suffix="123" cst_street_addr="109 SAMPLE LN" cst_addr_line_3="KAT'S FARMSTAND" cst_city="TEMPLETON" cst_state="MA" cst_zip="01468-1566" cst_country="USA" cst_delivery_code="R" cst_po_box="N" cst_orig_mail_type="C" cst_tax_exempt="T" cst_associate="Y" cst_auto_cancel_bo="N" cst_commercial="N" cst_discount_pct="15.00" cst_entry_date="2007-01-02" cst_ghost="N" cst_inactive="N" cst_match_code="MARJOH109014" cst_bypass_reservation="N" cst_mail_name="Y" cst_rent_name="N" cst_seed_name="N" cst_interface_cust_nbr="20070322" cst_new_add_change="C" cst_catalog_req="Y" cst_last_chg_date="2011-01-28" cst_last_chg_date_name_addr="2011-01-28" cst_email_opt_in="O3" cst_email_addr="mjohnson@example.com" cst_do_not_fax="N" cst_cust_class="CL" cst_cust_class_desc="CUSTOMER CLASS" cst_orig_source="2007" cst_curr_source="SOURCE7" cst_curr_source_desc="SOURCE CODE 7" cst_mail_code="Y MAIL CODE" cst_change_user="KBROWN" cst_create_user="KBROWN" />
</Message>
<Message source="OROMS" target="cwi" type="CWCustomerDownload" date_created="2011-01-28" time_created="15:38:31" version="1.0">
<CustSoldTo cst_action_type="X" cst_captured_by="PFR0103" cst_company="7" cst_cust_nbr="6" cst_company_name="GARDEN AND HOME SUPPLIES" cst_street_addr="PO BOX 99999" cst_addr_line_3="A" cst_city="WESTBOROUGH cst_state="MA" cst_zip="27709-3489" cst_country="USA" cst_delivery_code="R" cst_po_box="Y" cst_orig_mail_type="C" cst_tax_exempt="T" cst_associate="Y" cst_auto_cancel_bo="N" cst_commercial="N" cst_entry_date="2007-01-18" cst_ghost="N" cst_inactive="N" cst_match_code="POB277" cst_bypass_reservation="N" cst_mail_name="Y" cst_rent_name="Y" cst_seed_name="N" cst_interface_cust_nbr="000000004" cst_new_add_change="C" cst_catalog_req="N" cst_last_chg_date="2009-11-20" cst_last_chg_date_name_addr="2009-11-03" cst_email_opt_in="O1" cst_email_addr="kbrown@example.com" cst_do_not_fax="Y" cst_account_nbr="2" cst_cust_class="CL" cst_cust_class_desc="CUSTOMER CLASS" cst_orig_source="2007" cst_curr_source="SOURCE7" cst_curr_source_desc="SOURCE CODE 7" cst_mail_code="N MAIL CODE" cst_change_user="KBROWN" cst_create_user="KBROWN">
</CustSoldTo>
</Message>
<Message source="OROMS" target="cwi" type="CWCustomerDownload" date_created="2011-01-28" time_created="15:38:31" version="1.0">
<CustSoldTo cst_action_type="X" cst_captured_by="PFR0103" cst_company="7" cst_cust_nbr="62" cst_fname="DEBBIE" cst_lname="BROWN" cst_street_addr="10 N SAMPLE ST" cst_city="TEMPLETON" cst_state="MA" cst_zip="01468-1425" cst_country="USA" cst_delivery_code="R" cst_po_box="N" cst_orig_mail_type="C" cst_associate="N" cst_auto_cancel_bo="N" cst_commercial="N" cst_entry_date="2010-01-07" cst_ghost="N" cst_inactive="N" cst_match_code="ROSGRU10N014" cst_bypass_reservation="N" cst_mail_name="N" cst_rent_name="N" cst_seed_name="N" cst_interface_cust_nbr="000000020" cst_new_add_change="C" cst_last_chg_date="2010-01-07" cst_email_opt_in="O1" cst_email_addr="kbrown@example.com" cst_do_not_fax="Y" cst_account_nbr="49" cst_cust_class="CL" cst_cust_class_desc="CUSTOMER CLASS" cst_orig_source="SOURCE8" cst_curr_source="SOURCE8" cst_curr_source_desc="TEST DELAY BILLING UPDATES" cst_mail_code="N MAIL CODE" cst_change_user="SCARTER" cst_create_user="KBROWN">
</CustSoldTo>
</Message>
<Message source="OROMS" target="cwi" type="CWCustomerDownload" date_created="2011-01-28" time_created="15:38:32" version="1.0">
<CustSoldTo cst_action_type="X" cst_captured_by="PFR0103" cst_company="7" cst_cust_nbr="64" cst_fname="FIRST" cst_lname="SMITH" cst_street_addr="10 N SAMPLE ST" cst_city="TEMPLETON" cst_state="MA" cst_zip="01468-1425" cst_country="USA" cst_delivery_code="R" cst_po_box="N" cst_orig_mail_type="C" cst_associate="N" cst_auto_cancel_bo="N" cst_commercial="N" cst_entry_date="2010-01-08" cst_ghost="N" cst_inactive="N" cst_match_code="ALYAPP10N014" cst_bypass_reservation="N" cst_mail_name="N" cst_rent_name="N" cst_seed_name="N" cst_interface_cust_nbr="000000021" cst_new_add_change="C" cst_last_chg_date="2010-01-08" cst_email_opt_in="O1" cst_email_addr="kbrown@example.com" cst_do_not_fax="Y" cst_account_nbr="51" cst_cust_class="CL" cst_cust_class_desc="CUSTOMER CLASS" cst_orig_source="SOURCE100" cst_curr_source="SOURCE100" cst_curr_source_desc="SOURCE100 TEST DELAY BILLING" cst_mail_code="N MAIL CODE" cst_change_user="NNARAYANA" cst_create_user="KBROWN">
</CustSoldTo>
</Message>
<Message source="OROMS" target="cwi" type="CWCustomerDownload" date_created="2011-01-28" time_created="15:38:32" version="1.0">
<CustSoldTo cst_action_type="X" cst_captured_by="PFR0103" cst_company="7" cst_cust_nbr="107" cst_prefix="MS" cst_fname="FIRST" cst_minitial="R" cst_lname="SMITH" cst_street_addr="24 EXAMPLE STREET" cst_addr_line_3="EXAMPLE PLACE LEAVE PACKAGES" cst_apt="STE 202" cst_city="WESTBOROUGH" cst_state="MA" cst_zip="01760-1528" cst_country="USA" cst_delivery_code="R" cst_po_box="N" cst_orig_mail_type="C" cst_associate="N" cst_auto_cancel_bo="N" cst_commercial="N" cst_entry_date="2011-01-28" cst_ghost="N" cst_inactive="N" cst_match_code="HELEN24P017" cst_bypass_reservation="N" cst_mail_name="N" cst_rent_name="N" cst_seed_name="N" cst_new_add_change="A" cst_email_opt_in="O1" cst_email_addr="kbrown@example.com" cst_do_not_fax="Y" cst_cust_class="CL" cst_cust_class_desc="CUSTOMER CLASS" cst_mail_code="N MAIL CODE" cst_create_user="KBROWN">
<CustTaxes>
<CustTax cst_tax_country="USA" cst_tax_state="MA" cst_tax_code="T" />
</CustTaxes>
</CustSoldTo>
</Message>
</MassCustDwnld>
Narvar Integration
Purpose: You can use the integration with Narvar in order to have Narvar generate shipment confirmation and delivery update emails to customers.
In this topic:
- Narvar Process Overview
- Narvar Integration Setup
- Narvar Order Request Message
- Narvar Troubleshooting
Narvar Process Overview
Purpose: When the Use Narvar Integration (M57) system control value is selected, Order Management System sends an order request message to Narvar when the shipment is processed by the BILL_ASYNC job. This message includes information about:
- The sold-to customer and the shipping address.
- Each item on the order, including items that have not yet been fully shipped or that were shipped previously.
- The shipment(s) made, including the ship via and tracking number.
- The warehouse that shipped the item(s).
For more information: See the Narvar Order Request Message for details.
Messages from Narvar to the customer generated when? Narvar generates notification to the customer using the information provided in the order request message based on updates from the carrier; for example, the customer might receive an email indicating that the package is on its way, or has been delivered.
Other email generation settings do not apply: When Narvar integration is in use:
- The order request messages for shipment confirmations are sent to Narvar only through billing. Other options for generating emails, such as Sending Internet Order Ship Confirmation (ESCF), do not generate shipment confirmation emails, regardless of the setting of the Send Shipment Confirmation from Billing (L98) system control value.
- The CWEmailOut message is not generated for shipment confirmations.
- The shipment email templates set up through Working with E-Mail Notification Templates (WEMT) are not used.
- The settings set up for the order type through the Order Type Email Selection Screen and Order Type Email Template Screen do not apply; however, the Email notification flag must be selected for the order request to Narvar to be generated.
You need to use your account with Narvar to complete configuration, as well as completing the Narvar Integration Setup within Order Management System.
Other email notifications: Only shipment confirmation emails are generated through the Narvar integration. Other email notifications, including return confirmations, follow the standard processes described in the Outbound Email API.
For more information see the Web Services Guide on https://support.oracle.com My Oracle Support (ID 2149144.1).
Things to note:
- Items included in the Narvar order message:
-
Items that are on the order but still open (that is, not yet shipped, sold out, or canceled), are included in the message with a fulfillment_status of NOT_SHIPPED.
-
Items that have been sold out are included with a fulfillment_status of CANCELED.
-
Items that have been canceled are included with a fulfillment_status of CANCELED, regardless of whether the cancel reason used was flagged to reduce demand.
-
Physical stored value cards: If Use Streamlined Stored Value Card Billing (I23) is selected, then the Narvar order message is generated when you use Working with Physical Stored Value Card Assignment (WPSA); however, no carrier, carrier service, or tracking number is included in the message. However, if Use Streamlined Stored Value Card Billing (I23) is not selected and you confirm physical stored value cards as you do other shipments, then the carrier, carrier service, and tracking information is included.
-
- Items not included:
-
Main set items.
-
Non-inventory items, including virtual stored value cards.
-
Items added with a negative quantity to process a return.
-
Membership items.
-
Subscription items.
-
Express-billed items.
-
If the only items on the order fall into one of these categories, then no order message is sent to Narvar.
Drop ship items: When you confirm a drop ship purchase order, either within Order Management System or through integration with Order Broker, then order shipment detail records are not created, and as a result, the carrier, ship method, carrier service, and tracking number are not passed; however, order shipment detail records are created when you confirm a drop ship pick slip.
- If Email notification not selected: The order type must have Email notification selected for the customer to receive the email notification; otherwise, message is generated to the Narvar Non-Deliverable Email Address for Shipment Confirmations (M59). However, in this case, the order transaction history message still indicates Order sent to Narvar.
- Order Broker integration:
-
Eligible to be sent to Narvar: The following types of orders are eligible to be sent to Narvar:
-
Brokered backorders that originated in Order Management System, submitted to Order Broker as a brokered backorder and fulfilled by a location in another system; also, if the order is assigned back to Order Management System as a fulfilling order, the fulfilling order is sent to Narvar.
-
Delivery orders that originated in another system and were assigned to Order Management System for fulfillment (that is, not fulfilling orders).
-
Retail pickup orders that are not fulfilling orders: Retail pickup orders that are not fulfilling orders for orders originating in Order Management System. These are orders that originated in another system, and that Order Broker sent to Order Management System for fulfillment.
-
Ship for pickup orders that originated in Order Management System; also, if the order is assigned back to Order Management System as a fulfilling order, the fulfilling order is sent to Narvar.
-
-
Not eligible to be sent to Narvar: Store pickup orders are not sent to Narvar.
-
The generation of order request messages to Narvar is not affected by the setting of the Consolidated Invoice (B49) system control value.
Note:
Important: In Order Management System 21.0 or higher, you cannot select the Consolidated Invoice system control value if it is not already selected. If the system control value is currently selected (set to Y) and you deselect it (change it to N or blank), you cannot then change it back to selected. The option to consolidate invoices will be removed at a later date.Email repository: Order request messages are not tracked in the Email Repository.
Narvar Integration Setup
System Control Values
Other Setup
Narvar Order Request Message
Mapping
Narvar Troubleshooting
Narvar Error Summary
The setup in Order Management System related to the Narvar integration is described below.
Contact Narvar for information on creating and configuring an account.
- Use Narvar Integration (M57)
- Narvar Outbound Service URL (M58)
- Narvar Non-Deliverable Email Address for Shipment Confirmations (M59)
- Narvar Track URL Prefix (M60)
For more information: See the description of each system control value.
Properties: The following properties controlling logging for the Narvar integration:
See the descriptions of these properties under Working with Admin Properties (CPRP) for more information.
Ship via configuration: Complete the following fields to configure mapping a ship via name and service type for Narvar:
The list of valid names and service codes are provided by Narvar.
You must complete the Narvar Carrier Name in order for the tracking number links to work correctly at the Display Package Information Screen, in Streamlined Order Inquiry (DORI), and at the Order Summary page in Contact Center.
Web service authentication: Use the Work with Outbound Web Service Authentication Screen to review or work with web service authentication with Narvar.
Note:
Narvar currently supports only Basic authentication.Order type setting: The order type’s the Email notification flag must be selected for the order request to Narvar to be generated. Also, the Shipment Confirmation must be selected at the Order Type Email Selection Screen for the order type, or the Narvar Non-Deliverable Email Address for Shipment Confirmations (M59) is included rather than the customer’s actual email address.
Logged where? Based on your logging levels, the Narvar request message is logged in the NARVAR.log . See Logs for more information on logging.
Generated when? If Narvar integration is enabled, based on the setting of the Use Narvar Integration (M57) system control value, the message is always generated for a shipment; however, if sending the shipment confirmation is not enabled for the order, the email address specified is the Narvar Non-Deliverable Email Address for Shipment Confirmations (M59). For example, the undeliverable email address is used if the order type does not have Email notification selected, if the customer has opted out of emails, or if the customer’s email address is unknown.
The information mapped in the order_info message to Narvar includes:
order_number: The order number, formatted as 006-330-001, where 006 is the company code, 330 is the order number, and 001 is the ship-to number.
order_date: The order date in YYYY-MM-DDT00:00Z format.
currency_code: The code identifying the currency associated with the source code on the order header. If you do not use multiple currencies, this is the Local Currency Code (A55).
order_items: Summary information for each item on the order, including the following.
- categories: Included only if the item was added to the order as a component of a set. The first set the order is identified as ["CHILD1_SKU"], for example:
"categories":[
"CHILD1_SKU"
],
If there are multiple sets included in the order, each additional set is identified with a sequential number, such as CHILD2_SKU. This code precedes the rest of item information in the message.
The main set item itself is not included in the message; only the component items are included.
- name: The item description.
- sku: The item code, including the SKU, if any. Includes additional spaces to preserve padding for an item code of 12 positions.
- fulfillment_status: Set to:
-
SHIPPED if the item has shipped, either previously, or in the shipment that generated the current message.
-
The item is listed here as SHIPPED if a partial quantity has shipped and the line is now closed, even if the full quantity did not ship.
-
If a partial quantity of the order line has shipped and a partial quantity has been canceled, the quantity indicated below reflects the shipped, uncanceled quantity.
-
The item is still listed as SHIPPED even if it has since been returned.
-
-
NOT_SHIPPED if the full ordered quantity of the item has not yet shipped and the line is still open; for example, if the item is held, backordered, expected to ship from a different warehouse, expected to ship through the integration with Order Broker, or a partial shipment was made.
-
CANCELLED if the item has been canceled or sold out:
-
This status is passed regardless of how the item was canceled or sold out, including when the order’s Cancel BO flag is selected and a shipment occurs.
-
The same status is passed regardless of whether the cancel reason is flagged to reduce demand.
-
-
-
line_number: A unique number to identify the item on the order. May be different from the order line sequence number if, for example, another item was added to the order and then deleted before entry of this item, or if an item on the order is not included in the message, such as the main set item.
Items not included in the message: Items omitted from the message include main set items, non-inventory items, items added with a negative quantity, membership items, subscription items, and express-billed items.
Ship-alone items: As each unit of a ship-alone item is shipped, it is included in the shipments section of the message, described below.
- item_image: The URL specified for the item image, if any. See Item Image/Info Link Screen for more information.
- item_url: The URL specified for the item Information Link, if any. See Item Image/Info Link Screen for more information.
- unit_price: The actual price of the item on the order. In the case of a set, the set price is included for each component. Any final zeros are truncated from the price; for example, if the price is 12.50, it is passed as 12.5; if the price is 12.00, it is passed as 12.
- quantity: The ordered quantity of the item. May be more than the shipped quantity.
Note:
If a partial quantity of the order line has shipped and a partial quantity has been canceled, this quantity is the shipped, uncanceled quantity. For example, if the customer ordered 5 units but only 3 were available, and the 2 backordered units were canceled, the quantity indicated here is 3.- is_gift: Set to true if the order is flagged as a gift; otherwise, false. Amounts are included in the message regardless of this setting.
billing: Information about the order, including:
- amount: The order total, including merchandise, tax, handling, freight, additional freight, and additional charges, and not limited to the amount billed. Any final zeros are truncated from the amount; for example, if the amount is 122.50, it is passed as 122.5; if the price is 122.00, it is passed as 122.
- shipping_handling: The total freight and handling charges, not limited to the amount billed. Any final zeros are truncated from the freight and handling changes; for example, if the charges is 12.50, it is passed as 12.5; if the price is 12.00, it is passed as 12.
- tax_amount: The total tax amount, not limited to the amount billed. Any final zeros are truncated from the tax amount; for example, if the tax is 12.50, it is passed as 12.5; if the tax is 12.00, it is passed as 12.
- billed_to: Information about the sold-to
customer, including:
-
email: The sold-to customer’s primary email address, if the customer should receive the shipment notification; see Narvar Non-Deliverable Email Address for Shipment Confirmations (M59) for a discussion.
-
phone: The sold-to customer’s:
-
Third phone number. If the customer’s third phone number is not defined,
-
Day phone number, otherwise,
-
Evening phone number.
Phone number formatting is included
See Phone Numbers (D15) and Third Phone Number Type (L53) for information on mapping and displaying phone number fields.
-
-
address: The customer’s address, including city, state, zip, country code, street1 and street2. The street2 tag includes the second, third, and fourth address lines, if specified. The city, state, and zip tags are always included, but are blank if the customer’s address is unknown or not included, such as for some international addresses.
-
first_name: The sold-to customer’s first name. Blank if no first name was specified.
-
last_name: The sold-to customer’s last name, or the company name if there is no last name for the customer.
-
customer: Information about the customer, including:
- address: The sold-to customer’s address, including city, state, zip, country code, street1 and street2. The street2 tag includes the second, third, and fourth address lines, if specified. The city, state, and zip tags are always included, but are blank if the customer’s address is unknown or not included, such as for some international addresses.
- email: The sold-to customer’s primary email address, if the customer should receive the shipment notification; see Narvar Non-Deliverable Email Address for Shipment Confirmations (M59) for a discussion.
- phone: The sold-to customer’s:
-
Third phone number. If the customer’s third phone number is not defined,
-
Day phone number, otherwise,
-
Evening phone number.
Phone number formatting is included.
See Phone Numbers (D15) and Third Phone Number Type (L53) for information on mapping and displaying phone number fields.
-
- customer_id: The customer number.
- first_name: The sold-to customer’s first name. Blank if no first name was specified.
- last_name: The sold-to customer’s last name, or the company name if there is no last name for the customer.
shipments: Information on each shipment, including the following.
- carrier: The Narvar Carrier Name specified for the ship via. See Working with Ship Via Codes (WVIA). Set to OTHER if you bill by batch (because no tracking number is available), if no Narvar Carrier Name is specified for the ship via, or do not specify the tracking number when you confirm the shipment.
Ship-alone items: Each unit of a ship-alone item is included separately in this section of the message with a quantity of 1.
- items_info: Including:
-
sku: The item code, including the SKU, if any. Includes additional spaces to preserve padding for an item code of 12 positions.
-
quantity: The quantity shipped.
-
- ship_method: The description of the ship via. Not included if you bill by batch, or do not specify the tracking number when you confirm the shipment.
- carrier_service: The Narvar Carrier Service Code specified for the ship via. See Working with Ship Via Codes (WVIA). Blank if you bill by batch, if no Narvar Carrier Service Code is specified for the ship via, or do not specify the tracking number when you confirm the shipment.
- ship_date: The shipment date in YYYY-MM-DDT00:00Z format.
- tracking_number: The tracking number specified at shipment. Set to NO TRACKING NUMBER if you bill by batch, or do not specify the tracking number when you confirm the shipment.
- shipped_from: The information about the
warehouse or store location that shipped the item, including:
-
phone: Phone number formatting is included.
-
address: The address of the warehouse or store location, including city, state, zip, country code, street1 and street2.
-
company_name: The description of the warehouse or location.
-
When an order is shipped through the integration with Order Broker, the shipped_from information is from the store cross-reference; see Work with Store Cross Reference (WSCR).
- shipped_to: The shipping address for the
order, including:
-
email: The sold-to customer’s primary email address, if the customer should receive the shipment notification; see Narvar Non-Deliverable Email Address for Shipment Confirmations (M59) for a discussion.
-
phone: From:
-
The one-time ship-to, if any; otherwise,
-
The sold-to customer’s third phone number. If the customer’s third phone number is not defined,
-
The sold-to customer’s day phone number, otherwise,
-
The sold-to customer’s evening phone number.
-
-
Phone number formatting is included.
See Phone Numbers (D15) and Third Phone Number Type (L53) for information on mapping and displaying phone number fields.
- address: The shipping address, including city, state, zip, country code, street1 and street2. The street2 tag includes the second, third, and fourth address lines, if specified. The city, state, and zip tags are always included, but are blank if the customer’s address is unknown or not included, such as for some international addresses.
- first_name: The ship-to customer’s first name. Blank if no first name was specified.
- last_name: The ship-to customer’s last name, or the company name if there is no last name for the customer.
A sample of the order request message to Narvar is presented below:
"order_info":{
"order_number":"006-330-001",
"order_date":"2020-05-08T00:00Z",
"currency_code":"USD",
"order_items":[
{
"name":"ITEM DESCRIPTION",
"sku":"ITEM SKU",
"fulfillment_status":"NOT_SHIPPED",
"line_number":2,
"item_image":" ",
"item_url":" ",
"unit_price":10,
"quantity":3,
"is_gift":false
},
{
"name":"ITEM DESCRIPTION",
"sku":"ITEM SKU",
"fulfillment_status":"SHIPPED",
"line_number":1,
"item_image":"https://sample.domain.com/images/imageName.png",
"item_url":"https://sample.domain.com/folder/subfolder/ITEM.htm",
"unit_price":10,
"quantity":2,
"is_gift":false
}
],
"billing":{
"amount":58.3,
"shipping_handling":5,
"tax_amount":3.3,
"billed_to":{
"email":"first.last@example.com",
"phone":"(508)555-0111",
"address":{
"city":"WORCESTER",
"state":"MA",
"zip":"01602",
"country":"US",
"street_1":"1234 EXAMPLE STREET",
"street_2":""
},
"first_name":"FIRST",
"last_name":"LAST"
}
},
"customer":{
"address":{
"city":"WORCESTER",
"state":"MA",
"zip":"01602",
"country":"US",
"street_1":"1234 EXAMPLE STREET",
"street_2":""
},
"email":"first.last@example.com",
"phone":"(508)555-0111",
"customer_id":"CSTNBR",
"first_name":"FIRST",
"last_name":"LAST",
"customer_type":"CUSTOMER TYPE"
},
"shipments":[
{
"carrier":"UPS",
"items_info":[
{
"sku":"ITEM SKU",
"quantity":2
}
],
"ship_method":"UPS GROUND",
"carrier_service":"E03",
"ship_date":"2020-05-08T00:00Z",
"tracking_number":"TRACKING NUMBER",
"shipped_from":{
"phone":" ",
"address":{
"city":"WORCESTER",
"state":"MA",
"zip":"01602",
"country":"US",
"street_1":"12345 EXAMPLE AVENUE",
"street_2":"SECOND ADDRESS LINE"
},
"company_name":"WAREHOUSE NAME"
},
"shipped_to":{
"email":"first.last@example.com",
"phone":"(508)555-0111",
"address":{
"city":"WORCESTER",
"state":"MA",
"zip":"01602",
"country":"US",
"street_1":"1234 EXAMPLE STREET",
"street_2":""
},
"first_name":"FIRST",
"last_name":"LAST"
}
}
]
}
}
Trouble with tracking number links:
- Once you enable Narvar and set the Narvar Track URL Prefix (M60), the tracking number links created previously will not work automatically through the Display Package Information Screen in order inquiry, the Tracking number link in Streamlined Order Inquiry (DORI), or the Track Shipments link at the Order Summary page in Contact Center.
- Tracking number links will not work correctly if you do not specify the correct Narvar Carrier Name for the ship via.
Valid tracking number required: If there is no tracking number sent to Narvar, or the tracking number is invalid, then the customer will not receive shipment update notifications from Narvar.
Note:
No order shipment detail records are created, and as a result, the carrier, ship method, carrier service, and tracking number are not passed if:- You bill by batch.
- You do not enter a tracking number,
- You use the Working with Physical Stored Value Card Assignment (WPSA) option for a physical stored value card.
- You confirm a drop ship purchase order, either within Order Management System or through integration with Order Broker; however, order shipment detail records are created when you confirm a drop ship pick slip.
Note:
The tracking number specified for a shipment must be unique. Do not attempt to send the same tracking number for multiple shipments on the order.Tracking number URL: The tracking number URL is stored in the ORDER_SHIPMENT_DETAILS table, composed of the Narvar Track URL Prefix (M60) and the tracking number identified at shipment.
The tracking number consists of https://BASE.URL.com/CARRIER?tracking_numbers=1234&order_number=001-12345-001, where:
- https://BASE.URL.com/ is the Narvar Track URL Prefix (M60).
- CARRIER is the Narvar carrier name specified for the ship via.
- 1234 is the tracking number.
- 001 is the company number.
- 12345 is the order number.
- 001 is the ship-to number.
Required for tracking: The Narvar Track URL Prefix (M60) is required for a valid tracking number link to be enabled in emails or on screens. If you are using the Narvar integration and submit an order request to Narvar while the tracking URL prefix is not defined, the Narvar.log file contains errors such as:
Shipment tracking is disable for company 123
Unable to construct shipment tracking URL for order 456
Where 123 is the company number and 456 is the order number.
Error displayed: Also, if the tracking URL is not defined, when you click on the tracking number link at the screens mentioned above, an error window indicates: Tracking information not available. Check Narvar Order Error Export screen for failures.
However, a Narvar Order Error Export record is not created because the tracking number link could not be created correctly if there are no other issues with the order request to Narvar.
Working with Narvar Errors: Use the Narvar Order Export Errors page in Modern View to review and work with the errors listed below. The NOEE menu option controls authority to this page.
These errors are stored in the INT_NARVAR_EXPORT_ERROR table.
Country codes: Narvar supports a two-position country code; however, the order request message does not fail if a three-position country code is passed.
Logging: Based on the settings of the NARVAR_LOG_LEVEL property, activity related to the Narvar integration is written to the Narvar.log file.
Extra message? An extra order request message might be sent to Narvar if, for example, the order has shipped, and then an additional express-billed item is added. The express-billed item is not included in the order request message, so the additional message is identical to the previous message and does not affect updates generated by Narvar.
Issue | Narvar.log Entry | Order Transaction History Message | Response Type | Error at Narvar Order Export Errors Page |
---|---|---|---|---|
Narvar Outbound Service URL (M58) is blank |
Shipment Tracking URL or credentials cannot be found |
Failure sending order to Narvar |
0 |
oms.app.exception Application Failure |
The order message is not generated because the Narvar Non-Deliverable Email Address for Shipment Confirmations (M59) is blank, and the order is not eligible to have the email actually sent to the customer (see that system control value for more information) |
Missing Narvar Non-Deliverable Email Address |
Failure sending order to Narvar |
0 |
oms.app.exception Application Failure: Missing Narvar Non-Deliverable Email Address |
The user ID and password specified for Narvar Service are not valid. See Work with Outbound Web Service Authentication Screen for more information. |
Bad Credentials, Please provide valid acck and auth token. |
Failure sending order to Narvar |
401 |
unauthorized.action Bad Credentials, Please provide valid acck and auth token. |
Narvar Outbound Service URL (M58) is invalid |
Shipment tracking order response code 405 and message {"status":"ERROR","messages":[{"level":"ERROR","code":"method.not_allowed","message":"Request method POST not supported"}]} |
Failure sending order to Narvar |
405 |
method.not.allowed Request method POST not supported |
The shipment date specified was not formatted correctly. |
message.invalid. order.shipments. date Invalid ship date. Please enter UTC format ’yyyy-MM-dd’T’HH:mm"SSS.zzz’ for ship date |
Failure sending order to Narvar |
422 |
message.invalid.order. shipments.date Invalid ship date. Please enter UTC format ’yyyy-MM-dd’T’HH:mm"SSS.zzz’ for ship date |
Configuration issues: Check your Narvar Integration Setup if you see the following error codes:
- 400: BAD REQUEST
- 403: FORBIDDEN
- 404: NOT FOUND
Other errors: Contact your Oracle representative or Narvar for information on the following error codes:
- 304: NOT MODIFIED
- 409: ITEM ALREADY EXISTS
- 500: INTERNAL SERVER ERROR
- 502: INTERNAL SERVER ERROR
- 503: SERVICE UNAVAILABLE or INTERNAL ERROR
Salesman Associate Upload
Purpose: The Salesman Associate Upload allows you to upload salesman information from an external system to create or update records in the Salesman table.
You cannot use the Salesman Associate Upload process to delete a record from the Salesman table.
In this topic:
For more information: See Working with Sales Representatives (WSLS) for more information on creating, updating, and deleting sales representatives in Order Management System.
Salesman Associate Upload Setup
The setup required to use the salesman associate upload includes:
Salesman Associate File
Create a Salesman Associate flat file for the salesman information you wish to create or update.
-
The fields in this flat file are fixed length, each record separated by a carriage return.
-
The name of the file must start with SR and have a .TXT file extension; for example: SR99999.TXT, where 99999 is a unique value for each Salesman Associate file. However, if you use the File Storage API, you can upload a zip file that contains a single text file with the same name, for example: SR00001.ZIP containing a text file named SR00001.TXT.
-
Include only one record for each salesman associate you wish to upload. However, if multiple records exist for the same salesman number, the system creates or updates the record in the Salesman table using the information in the last record processed.
-
In order to leave any field in the upload file blank, pass a space in the field so that the file can be processed without errors. Leaving a field with no space is interpreted as null in the database and causes errors.
Field | Description |
---|---|
Associate ID |
Updates SLS Salesman # in the Salesman table. The system performs a modulus 10 check against the salesrep number during the Salesman Associate Upload Process if the Modulus 10 Check on Salesrep Number (E88) system control value is selected. Numeric, 7 positions; Required. |
Associate Name |
Updates SLS Name in the Salesman table. Alphanumeric, 30 positions; Required. |
Associate Status |
Updates SLS Active Flag in the Salesman table. Valid values are:
Alphanumeric, 1 position; Required. |
Home Store |
Updates SLS Store # in the Salesman table. Validated against the Store Cross Reference table; see Work with Store Cross Reference (WSCR). Alphanumeric, 10 positions; Optional. |
Associate Email |
Updates SLS EMail in the Salesman table. During the Salesman Associate Upload Process, the system verifies that:
Alphanumeric, 100 positions (however, only the first 50 positions are uploaded to the Salesman table); Optional. |
Associate Phone |
Updates SLS Phone in the Salesman table. Alphanumeric, 14 positions; Optional. |
Associate Ext |
Updates SLS Phone Extension in the Salesman table. Alphanumeric, 4 positions; Optional. |
Sample record in salesman associate file:
5555555SALESMAN ASSOCIATE UPLOAD NAMENHOMESTORE SalesmanAssociateEmail@email.com
PHONENUMBER EXT
Associate File Path Property
Use the following setting in Working with Customer Properties (PROP) for the Salesman Associate Upload.
Setting | Description |
---|---|
ASSOCIATE_FILE_PATH |
The directory the Salesman Associate Upload Process monitors for new Salesman Associate files to process, if the File Storage API is not in use. However, even if the file storage API is enabled, the process still uses this folder to place files that have been uploaded prior to additional processing, so this property must be set up even if you use the file storage API. An example directory on the application server is The name of the file must start with SR and have a .TXT file extension; for example: SR00001.TXT and SR00002.TXT. If there are multiple eligible files, they are processed sequentially based on file name; SR00001 processes before SR00002. If you use the File Storage API, you can upload a zip file that contains a single text file with the same name, for example: SR00001.ZIP containing a text file named SR00001.TXT. |
Work with File Upload (WUPL)
Use the Work with File Uploads (WUPL) menu option to upload the Salesman Associate flat file to the folder defined in the ASSOCIATE_FILE_PATH property.
SLSUPLD Upload Salesman Associates Periodic Function
Use the SLSUPLD periodic function to submit the Salesman Associate Upload Process.
Setting | Description |
---|---|
Function: |
SLSUPLD |
Description: |
UPLOAD SALESMAN ASSOCIATES |
Program name: |
PFR0109 |
Company: |
The Company flag must be selected. The Salesman Associate Upload process creates and updates records in the Salesman table based on the records in the Salesman Associate File using the company you entered when you submitted the SLSUPLD periodic function. |
-
The SLSUPLD periodic function is delivered with the system. Use the Working with Periodic Functions (WPER) menu option to review it.
-
Use the Working with Periodic Processes (WPPR) me menu option to assign the SLSUPLD periodic function to a periodic process.
-
Once you have created the periodic process, you can use the Execute Periodic Process screen (located in the Working with Periodic Processes (WPPR) or Executing Periodic Processes (EPRO)) to define a schedule for the job. See Defining the Job Schedule.
For more information: See Scheduling Jobs for more information on How to Schedule a Job.
Salesman Associate Upload Process
Salesman associate upload process flow:

When you submit the SLSUPLD Salesman Associate Upload periodic function, the system performs the following steps.
-
If the File Storage API is enabled, looks in the OMS-IMPORTS container in the FILE_STORAGE table for the Salesman Associate Files to process; otherwise, if the file storage API is not enabled, looks in the directory defined for the ASSOCIATE_FILE_PATH property.
The name of the file must start with SR and have a .TXT file extension; for example: SR00001.TXT and SR00002.TXT. If there are multiple eligible files, they are processed sequentially based on file name; SR00001 processes before SR00002. If you use the File Storage API, you can upload a zip file that contains a single text file with the same name, for example: SR00001.ZIP containing a text file named SR00001.TXT.
-
Validates each record in the file.
-
The system includes records that do not pass validation on the Sales Rep Update Errors Report.
-
The system continues to the next step for records that pass validation.
-
-
Creates or updates records in the Salesman table for the company you entered when you submitted the SLSUPLD periodic function.
The system uses the Associate ID in the Salesman Associate File to determine if the record is an add or a change.
-
If the Associate ID matches a SLS Salesman # in the Salesman table, the system updates the existing record.
Note:
When updating an existing salesman record, the system overlays the existing values for the record with the values that are passed in the upload. For example, if the upload record does not include an Associate Email, the system updates the SLS EMail field in the Salesman table to blank. -
If the Associate ID does not match a SLS Salesman # in the Salesman table, the system creates a new record.
You can review the salesman records that have been created and updated in the Working with Sales Representatives (WSLS) menu option.
-
-
Once all of the records in the Salesman Associate file are processed:
-
if the file storage API is in use, the system deletes the record from the FILE_STORAGE table; however, if there were any errors in processing, the system creates a record in the table in a container of OMS-ERRORS.
-
if the file storage API is not in use, the system changes the file extension of the file from .TXT to .PRC to indicate that the file has been processed; however, if there were any errors in processing, the system writes the text file in the
Errors
subfolder of the ASSOCIATE_FILE_PATH. Any files with the .PRC file extension are deleted automatically.
Note:
The system processes all correct records in the upload file, and creates an error file that contains only any records that could not be processed. -
Vertex Interface
Purpose: The Vertex Interface provides a bridge between Order Management System and the Vertex Sales Tax system to calculate the tax information on your orders at strategic points, such as:
- order entry
- order maintenance
- pick slip preparation
- billing
Order Management System communicates with Vertex files to determine the appropriate tax rate at each stage of the order's life cycle. Vertex determines the appropriate tax rate based on the “ship-from” and “ship-to” addresses on the order.
The Vertex Sales Tax system stores the tax rates for each taxing jurisdiction in the United States and Canada, and provides the necessary reporting for each jurisdiction in which you sell or operate.
If you use the Vertex interface, you don't need to keep current with the tax rates and reporting requirements of each taxing jurisdiction, and you no longer have to maintain these rates on Order Management System. Also, the system does not consider any item tax exemptions set up through Working with Item Tax Exemptions (WITX) or Working with GST Tax Exemption Status (MGTX). Instead, you should use Vertex to set up any tax exemptions for items.
Note:
You cannot use both Vertex and tax-inclusive pricing (VAT) in the same company. See Tax Included in Price (E70) for more information on VAT.Compatibility:
- Order Management System version 19.2 or later is compatible with Vertex Indirect Tax O Series® On Demand 9.0, but continues to support integration with 7.0 and 8.0 using 7.0 messages.
- Order Management System version 15.1 or later is compatible with Vertex Indirect Tax O Series® On Demand 7.0 and 8.0. The 7.0 messages are used for both releases.
- Support for Vertex Indirect Tax O Series® On Demand 7.0 and 8.0 using 7.0 messages ends in September 2021.
For more information: See:
- Vertex Setup for information on setting up Order Management System to support communication with Vertex. Also, see your Vertex documentation for detailed information on setup requirements within Vertex.
- Vertex Troubleshooting
In this topic:
- Tax Calculation Processing Overview
- Tax Overrides, Customer Exemptions, and Item or Class Exceptions
Tax Calculation Processing Overview
Overview: The Vertex Interface passes order and tax information between Order Management System and Vertex at various points in the order cycle (from order entry to billing).
Vertex evaluates and calculates the tax amount on the order at each phase and updates transactions appropriately.
Communication between Order Management System and Vertex: When Order Management System needs tax information during order entry or maintenance, pick slip preparation, or billing, it sends a tax request message to Vertex using web services. The TAX_INT integration layer job defines the wsdl (Web Services Definition Language) file that controls the integration.
For troubleshooting purposes, Order Management System writes the tax request message to the Trace Log, masking the vertex user ID and password passed in the request. Additional processing is logged to the Application Log.
For more information: See Vertex Setup for more information on configuring the integration.
What is taxed? Based on its current data on tax rules for the shipping address on the order and the additional rules that you define for customer or item exceptions, Vertex indicates the tax amounts for merchandise, freight (order-level or line-level), handling charges, duty, shipper-item charges, and additional freight.
Tax Overrides, Customer Exemptions, and Item or Class Exceptions
Tax override: You can set the Tax override flag in the Order Detail table to Y when you create an order through the generic order API. If this flag is set to Y, Vertex does not calculate the tax amount for the item at any point in the order cycle and just uses the specified tax override amount; however, if there are any line-level freight, handling, or gift wrap charges, these charges may be subject to tax even if the order detail line has a tax override.
Similarly, you can override tax on freight through the order API
by specifying a freight_tax_amount
and setting the freight_tax_override
to Y.
Note:
- There is no way to set the Tax override flag through interactive order entry.
- The system does not set the Tax override flag in the Order Detail table unless there is a tax amount specified in the inbound order message. As a result, you cannot use this setting to create an order line with no tax amount in interactive order entry. The only way to exempt an order line from tax is to set up an item or product class exception in Vertex.
For more information: See the Send Tax to Tax Interface as Quote Not Invoice (L11) system control value for a discussion on how the system sends different request types to Vertex based on the setting of this system control value and whether the tax is overridden.
Customer tax exemptions: If a customer is flagged as tax exempt in Order Management System and has a tax identification number, the merchandise and charges on the customer’s orders are not taxable. Order Management System passes the exemption number to Vertex. Although Order Management System does not pass the customer’s tax exempt expiration date, order entry does not let you create an order flagged as tax-exempt if the customer’s expiration date has passed.
Item or item class exceptions: When you use Vertex, you need to set up item and product class exceptions in Vertex rather than in Order Management System. For example, if you have two item classes that are not normally taxable, you can map these item classes to product classes in Vertex. See Creating the Product Class under Vertex Setup for more information on mapping this information.
Note:
Even if an item on an order is not subject to tax, Vertex still calculates tax for any freight, handling charges, and gift wrap charges if the order is otherwise subject to tax.Vertex Troubleshooting
Purpose: Troubleshooting information includes:
Error in order entry: The message Error calling Tax Interface, check configuration
in order
entry indicates that one or more of the required files were not found.
See Configuration Files for more information.
Processing Errors
Troubleshooting for the integration between Order Management System
and Vertex begins with checking the TRACE.log
and CWDirect.log
files.
- The
TRACE.log
file is typically located under/domain/conf/OMSFiles/Logs/TRACE/
on your application server, wheredomain
is the WebLogic domain directory for Order Management System. - The CWDirect.log file is typically located under
/domain/log/CWDirect.log
on your application server, wheredomain
is the WebLogic domain directory for Order Management System.
Note:
In addition to the errors written to log files, you will also see an error message in order entry if the extended order line price is over a million:Error occured on CALL to program Cwwebservice
. Vertex does not support tax calculation for order line values that
high.
Error in TRACE.log File | Explanation | How to Correct: |
---|---|---|
Initial Configuration Issues |
||
ERROR TRACE - Class not found: ERROR TRACE - TAX_INT web service error: - null |
A required class was not installed during the initial installation process. |
Contact your Order Management System representative. |
ERROR TRACE - AxisFault exception in invoke method of com.cwi.direct.interfaces.webservice.VertexWS: exception on AXIS invoke: User login failed: invalid_user. ; nested exception is: User login failed: invalid_user. |
Possible causes:
|
Check the contents of the Vertex User ID and Password and confirm that the user ID and password exist in Vertex and have authority to the correct partition in Vertex. See Set up Data within Vertex Vertex Setup and your Vertex documentation for more information. After you change the user ID and password in the Vertex User ID and Password, you need to stop and restart Order Management System. See Restarting Order Management System for more information. |
ERROR TRACE - AxisFault exception in invoke method of com.cwi.direct.interfaces.webservice.VertexWS: exception on AXIS invoke: SAX processing failed on input stream SAX processing failed when attempting to create new element. (parent element=com.vertexinc.tps.xml.calc.parsegenerate.builder.ParticipantData, new element=null, local element name=PhysicalOrigin |
No physical origin is being passed. The physical origin is the address of the warehouse for the order detail line. Possible causes:
|
|
AxisFault exception in invoke method of com.cwi.direct.interfaces.webservice.VertexWS: exception on AXIS invoke: SAX processing failed on input stream Non-fatal error detected during SAX parsing. Verify document against schema or contact document supplier. (URI=null, line number=30, error=cvc-datatype-valid.1.2.1: '' is not a valid value for 'integer'.) |
The Default Warehouse (A04) is not listed in the Warehouses XML File . |
Warehouses XML File: Confirm that the Default Warehouse (A04) is included in this file. |
Tax Calculation Failing After Initial Setup |
||
ERROR TRACE - AxisFault exception in invoke method of com.cwi.direct.interfaces.webservice.VertexWS: exception on AXIS invoke: ; nested exception is: java.net.ConnectException: Connection refused: connect; nested exception is: java.net.ConnectException: Connection refused: connect |
Order Management System can no longer reach Vertex. |
Contact your Order Management System representative. |
ERROR TRACE - AxisFault exception in invoke method of com.cwi.direct.interfaces.webservice.VertexWS: exception on AXIS invoke: An error occured during CalcEngine.calculateTax. This may be an incorrect use of the calculation engine. Please contact your software vendor. Error trying to calculate tax. Cannot find tax areas. Please verify that the address or tax area id provided for the location is correct and retry. |
The postal code passed in the tax request message from Order Management System is incorrect, or is associated with a city that does not exist in Vertex. To confirm, log onto Vertex and advance to the Tax Area Lookup Tool, then search for the shipping address that is causing the error. A message such as the following indicates that the postal code is incorrect:
|
Correct the postal code information in Order Management System. |
ERROR TRACE - AxisFault exception in invoke method of com.cwi.direct.interfaces.webservice.VertexWS: exception on AXIS invoke: ; nested exception is: java.net.SocketException: No buffer space available (maximum connections reached?): connect |
The Order Management System server is out of memory. |
Reboot the Order Management System server. |
ERROR TRACE - AxisFault exception in invoke method of com.cwi.direct.interfaces.webservice.VertexWS: exception on AXIS invoke: (404)Not Found; nested exception is: (404)Not Found |
The URL specified for Vertex in the Vertex URL property is incorrect. |
See Restarting Order Management System for more information. |
Miscellaneous Log Messages |
||
WARN TRACE - WARNING: Responses for DISTRIBUTE not found in configuration xml. |
The log includes this message when Order Management System requests tax information for an order that includes a tax override. |
No need to correct; message is informational only. |
TRACE - message: com.sun.xml.ws.fault.ServerSOAPFaultException: Client received SOAP Fault from server: An unit based tax rule cannot be applied to a line item with a quantitiy of zero. Please ensure that the quantity is not zero and retry. Please see the server log to find more detail regarding exact cause of the failure. |
Certain states, such as Tennessee, require a quantity for tax calculation, and this error occurs when the quotation request includes a zero quantity for freight or additional freight charges. |
Add a new rule in Vertex to change the quantity to 1 for the related product classes. |
Tax Calculation Rules
Situation | Explanation |
---|---|
New settings in Vertex apply when you use the Vertex Transaction Tester, but not when Order Management System requests tax information |
If you have Vertex configured to cache information for improved performance, it might be retrieving tax rules from cached information when Order Management System requests tax information. Caching does not apply when you use the Transaction Tester. Consult your Vertex documentation for more information on configuring caching. |
An item on an order is not taxable based on its item or product class settings in Vertex, or on the Tax override flag for the order line; but there is still tax on the order |
Even if an item on an order is not taxable, freight, handling, gift wrap, additional freight, and duty can still be subject to tax. |
You receive an order that includes an item with a tax override through the generic order interface, but the order line is still taxed |
Even if the |
You make a change to the Vertex wsdl (Web Service Definition Language) File , but the changes do not take effect |
Before your changes take effect, you need to restart Order Management System. See Restarting Order Management System for more information. |
You change the user ID and password in the Vertex User ID and Password, but the changes do not take effect |
Before your changes take effect, you need to restart Order Management System. See Restarting Order Management System for more information. |