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.

  1. 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.

  2. AvaTax calculates the tax and sends an AvaTax Response message to Order Management System.
  3. 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:
  1. 1. Use the value defined in the entity_999_child_company field in the AvaTax Values by Company Properties File, where 999 is the entity associated with the order.

  2. If the entity_999_child_company field is blank, use the value defined in the default_company field in the AvaTax Values by Company Properties File.
  3. If the default_company field is blank, use the actual Order Management System company code.

N/A

source

For more information see the Web Services Guide on My Oracle Support (ID 2149144.1).

customerCode

OROMS defaults.

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 07600000160001.

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:

  • SalesOrder = Tax request for a sales transaction. From request_type in the Tax Request message when its value is QUOTATION.

  • SalesInvoice = Tax request for a debit invoice transaction.

  • ReturnOrder = Tax request for a return transaction.

  • ReturnInvoice = Tax request for a credit invoice transaction.

 

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.

1 defaults if the tax_code is OF (order freight), LH (line handling), LF (line freight), LD (line duty), or AF (additional freight and shipper item charges).

 

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:

  • none

  • accruedTaxAmount

  • deriveTaxable

  • exemption

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.

taxOverride defaults if the odt_tax_override in the Tax Request is Y.

taxDate defaults if the odt_tax_override in the Tax Request is N or blank.

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:

  • LM = Line merchandise.

  • LH = Line handling.

  • LF = Line freight.

  • LD = Line duty.

  • AF = Additional freight and shipper item charges.

  • OF = Order freight.

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: Thu Sep 14 00:00:00 PDT 2017.

N/A

type

For more information see the Web Services Guide on My Oracle Support (ID 2149144.1).

N/A

CWTaxResponse defaults.

N/A

target

For more information see the Web Services Guide on My Oracle Support (ID 2149144.1).

N/A

OROMS defaults.

N/A

source

For more information see the Web Services Guide on My Oracle Support (ID 2149144.1).

N/A

Avalara defaults.

 

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:

  • SalesOrder
  • SalesInvoice
  • ReturnOrder
  • ReturnInvoice

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:

  • QUOTATION = tax requested during order creation and pick slip generation. This value defaults if the AvaTax status is Temporary and the type is SalesOrder or ReturnOrder.

  • INVOICE = tax requested during billing. This value defaults if the AvaTax status is Committed and the type is SalesInvoice or ReturnInvoice.

 

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:

  • Country
  • Composite
  • State
  • Country
  • City
  • Special

Sample Tax Messages

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

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:

  • 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, and CACIN12345 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:

  • 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 and ShippingClass passed for the order.

  • customer name and address: from the ShippingInfo and BillingInfo passed for the order. If no BillingInfo is passed, the ShippingInfo is used as the sold-to customer information; otherwise, the BillingInfo is used as the sold-to customer information. Some marketplaces may never pass BillingInfo.

    • 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 to False, the customer’s Opt-in/out flag is set to 03; otherwise, if the EmailOptIn is set to True, 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 the OrderLineItemInvoice 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:

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 of Partial.

  • 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 and ShippingClass.

  • 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:

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 the Amount, ShippingAmount, and both ShippingTaxAmount and TaxAmount (both tax amounts including the full tax and tax on freight, if any) in the request 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 the request 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 as 12345-1.0-2.0 where 12345 is the Order Management System order number, 1.0 is the ship-to number, and 2.0 is the refund number.

  • AdjustmentReason: set to GeneralAdjustment.

  • 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 the Amount 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 the Amount 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

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


The figure shows the Interactive Address Standardization process.

Remote Address Standardization Process Illustration


The figure shows the Remote Address Standardization process.

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

  • If the Use QAS Address Interface (I67) system control value is selected, the system uses the EDQ integration.
  • If the Use QAS Address Interface (I67) system control value is unselected, the system does not retrieve address information from EDQ and instead, retains the Order Management System address.

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.

  • If a country ISO code is defined for the address, the system sends the address for standardization.
  • If a country ISO code is not defined for the address, the system does not send the address for standardization.

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 standardization field for the order type is selected, the order is eligible for address standardization and the system sends the address for standardization.
  • If the Address standardization field for the order type is unselected, the order is not eligible for address standardization and the system retains the Order Management System address.

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 as APT 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 enter NO 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.

  • If the remote order does not contain any errors, the system creates the order in an open status.
  • If the remote order contains errors, the system places the order in an order batch with an error status.

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:

  • Retain the Order Management System address without any updates from EDQ.
  • Update the Order Management System address to resend it for standardization.

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.

See Match Level None Example.

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.

See Match Level Verified Example.

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.

  • If the remote order does not contain any errors, the system creates the order in an open status.
  • If the remote order contains errors, the system places the order in an order batch with an error status.

Interactive address standardization: The system displays the Address Standardization: Verify Recommendation Screen. At this screen you can:

  • Retain the Order Management System address without any updates from EDQ.
  • Update the Order Management System address with the recommended address returned by EDQ.

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.

See Match Level Interaction Required Example.

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.

  • If the remote order does not contain any errors, the system creates the order in an open status.
  • If the remote order contains errors, the system places the order in an order batch with an error status.

Interactive address standardization: The system displays the Address Standardization: Verify Apartment/Suite Number Screen. At this screen you can:

  • Retain the Order Management System address without any updates from EDQ.
  • Provide the missing apartment number and standardize the Order Management System address.

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.
  • Display a list of possible address matches in a pick list returned by EDQ and replace the Order Management System address with a standardized address selected from the pick list.

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.
  • If an address in the pick list displays as a hyperlink, you can select the address from the pick list to replace the Order Management System address with this standardized address.
  • If an address in the pick list does not display as a hyperlink, you can enter the apartment number defined for the address in the Apartment number field to standardize the Order Management System 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:

  • If you provide an apartment number for the address, and address line 2 or 3 contains an apartment trigger, the system moves the text from the address line to the Apartment field.
  • If you select an address from the pick list returned by EDQ, EDQ does not apply apartment triggers to the address.

See Match Level Premise Partial Example.

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.

  • If the remote order does not contain any errors, the system creates the order in an open status.
  • If the remote order contains errors, the system places the order in an order batch with an error status.

Interactive address standardization: The system displays the Address Standardization: Verify Street Number Screen. At this screen you can:

  • Retain the Order Management System address without any updates from EDQ.
  • Provide the missing street number and standardize the Order Management System 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 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 in a pick list returned by EDQ and replace the Order Management System address with a standardized address selected from the pick list.

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.
  • If an address in the pick list displays as a hyperlink, you can select the address from the pick list to replace the Order Management System address with this standardized address returned from EDQ.
  • If an address in the pick list does not display as a hyperlink, you can enter the street number defined for the address in the Street number field to standardize the Order Management System 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:

  • If you provide a street number for the address, and address line 2 or 3 contains an apartment trigger, the system moves the text from the address line to the Apartment field.
  • If you select an address from the pick list returned by EDQ, EDQ does not apply apartment triggers to the address.

See Match Level Street Partial Example.

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.

  • If the remote order does not contain any errors, the system creates the order in an open status.
  • If the remote order contains errors, the system places the order in an order batch with an error status.

Interactive address standardization: The system displays the Address Standardization: Select from Multiple Addresses Screen. At this screen you can:

  • Retain the Order Management System address without any updates from EDQ.
  • Display a list of possible address matches in a pick list returned by EDQ and replace the Order Management System address with a standardized address selected from the pick list.

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.

See Match Level Multiple Example.

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

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

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

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:

  • Retain the Order Management System address without any updates from EDQ, or
  • Update the Order Management System address to resend it to EDQ for standardization

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 APT D. See Apartment Triggers for a list of valid apartment text that you can enter before the number.

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:

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

System Control Value Description

Use QAS Address Interface (I67)

Select this field if you wish to use EDQ to retrieve address information.

Address Interface User Hold Code (I68)

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.

  • If the remote order does not contain any errors, the system creates the order in an open status.
  • If the remote order contains errors, the system places the order in an order batch with an error status.

Perform Address Standardization in Customer API (I99)

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.

Display Confirmation After QAS Picklist Selection (J01)

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.

Use Zip/City/State Defaulting? (B13)

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.

Default Country for Customer Address (B17)

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:

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:

com.mr.serenade.service.thirdparty.qas.saas.SaasQuickAddressProcessor

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 file:///domain/conf/cwdirectcpproperties/ProOnDemandService.wsdl, where domain is the WebLogic domain directory for Order Management System. The ProOnDemandService.wsdl is delivered with Order Management System and should not be changed.

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: 1234 SAMPLE STREET updates to 1234 SAMPLE ST.

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:

KAT’S FRUITS AND VEGETABLES

LEAVE PACKAGES ON FRONT PORCH

EDQ moves the first 32 characters of this information to address line 3:

KAT’S FRUITS AND VEGETABLES LEAV

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: APT 3

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 NO 3 in Address line 2, the system moves this text to the Apartment field.

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:MA

Postal code

EDQ updates this field with the valid zip + 4 postal code for the address.

Example:01468 updates to 01468-1566.

Country code

EDQ translates the ISO country code for the address to the associated country code defined in Order Management System.

Example:US

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:

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 Overview

This image shows the process for loading address updates.

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

  • Use the File Storage API if it is enabled, and run the UPACSTP Upload ACS Tape File (Program name PFR0134, Parameter CSACST) periodic function, or
  • Place the file in the CWDIRECTCP_UPLOAD_ DIRECTORY if the file storage API is not enabled, and run the UPACSTP Upload ACS Tape File (Program name PFR0134, Parameter CSACST) periodic function, or
  • Use the Work with File Uploads (WUPL) menu option.

Similarly, to upload the records to the MBS Tape table table in the Order Management System database

  • Use the File Storage API if it is enabled, and run the UPMBSTP Upload MBS Tape File Program name PFR0134, Parameter CSMBST) periodic function, or
  • Place the file in the CWDIRECTCP_UPLOAD_ DIRECTORY if the file storage API is not enabled, aand run the UPMBSTP Upload MBS Tape File Program name PFR0134, Parameter CSMBST) periodic function, or
  • Use the Work with File Uploads (WUPL) menu option.
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:

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.

  • If a customer class is defined, Order Management System generates a Mass Customer Download XML Message (CWCustomerDownload) for only those sold to customers whose customer class matches the customer class defined in the MASS_CUSTDWNLD_CUSTOMER_CLASSES property.

  • If a customer class is not defined, Order Management System generates a Mass Customer Download message for all sold to customers.

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.

  • 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 

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.

  • During processing, Order Management System adds the prefix TEMP to the name of the file; for example: TEMP_MassCustomerDownload

  • Once processing is complete, Order Management System adds a date and time stamp to the file name; for example: MassCustomerDownload.20110128.170150340

  • Order Management System also archives the file in zip format; for example: MassCustomerDownload.20110128.170150340.zip

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)

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:

  • B = business rate table determines shipping charges

  • R = residential rate table determines shipping charges

  • N = no distinction between business and residence

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:

  • Y = The address is a Post Office box. The system automatically selects the PO box field when you enter the text PO box or P.O. box in the Street field in order entry or through the order API. However, the system does not automatically deselect the PO box field when you remove PO box or P.O.box from the Street field.

  • N (default) = The address is not a Post Office box.

cst_hold_bypass_fraud

alpha

1

Controls how to perform credit checking for the customer during order entry.

Valid values are:

  • H = Hold: The system places the customer's orders on hold automatically so you can review, then manually release each order.

  • B = Bypass: Orders for the customer are not included in the credit check function in order entry; however, the customer is still subject to other fraud-checking, as described in for the Fraud Checking (A68) system control value.

  • F = Fraud: The system places the customer's orders on “fraud” hold automatically so you can review each order and release it as needed.

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:

  • B = Buyer: a customer who places an order (the “sold-to” customer).

  • C = Catalog request: a person who requested a catalog.

  • R = Recipient: the customer who receives the order (also known as the Ship To customer).

  • S = Suspect: a customer whose name you acquired through a telemarketing effort or a public or industry listing, or a customer who places an order that is not accepted.

See the Mail type (Current, Original) for a discussion.

cst_tax_exempt

alpha

1

The tax status of this customer.

Valid values are:

  • E = Exempt: The customer is not required to pay tax on purchases. If the order is shipping to a Canadian address, it is exempt from both GST and PST.

  • G = GST only: The customer is a Canadian customer and subject to the Goods and Services Tax on purchases only, not PST.

  • N = Non Taxable: The system determines the customer’s tax status in order entry based on whether you enter a Resale/Exempt # and on the shipping address.

  • P = PST only: The customer is a Canadian customer and subject to the Provincial Services Tax only, not GST.

  • R = Resale: The customer is a reseller and not subject to tax. If the order is shipping to a Canadian address, it is exempt from both GST and PST.

  • T = Standard Tax: The customer is subject to all taxes. Canadian customers are subject to both GST and PST tax.

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:

  • Y = the customer is an associate

  • N = the customer is not an associate

cst_auto_cancel_bo

alpha

1

Indicates whether to automatically cancel backordered items with the first shipment on an order.

Valid values are:

  • Y = cancel backordered items automatically with the first order shipment

  • N = do not cancel backordered items

cst_commercial

alpha

1

Identifies whether the customer is commercial for reporting purposes.

Valid values are:

  • Y = this is a commercial customer

  • N = this is a non-commercial customer

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:

  • Y = the customer record is a ghost

  • N = the customer record is not a ghost

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:

  • Y = customer is inactive

  • N = customer is active

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:

  • Y = the customer bypasses reservation; you need to use Working with Interactive Reservation (MIRV) to reserve items for the customer

  • N = the system reserves inventory in the normal way for all orders for this customer

cst_mail_name

alpha

1

Controls whether the customer receives future catalogs.

Valid values are:

  • Y  = mail catalogs to the customer

  • N = do not mail catalogs to the customer

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:

  • Y = you can sell the customer's name to another company

  • N = do not sell the customer's name to another company

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:

  • Y = this customer is a seed

  • N = this customer is not a seed

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:

  • Y = the customer has requested a catalog

  • N = the customer has never 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:

  • O1 (Email) = Email is the preferred method of correspondence.

  • O2 (Order-only email) = Use email for order-related correspondence only; generate a document for other correspondence.

  • O3 (No email) = Do not use email for any correspondence; generate a document instead.

  • O4 (Do not ask the customer) = Do not ask the customer for his/her email address; the customer has already been asked and has declined to provide it. The system does not generate any email correspondence to the customer, even if an email address is specified.

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:

  • Exempt = The customer is exempt from paying any taxes, including VAT, in this state or province.

  • GST Only = Not currently implemented at the state or province level. To flag a customer as eligible for Goods and Services tax only, use the Tax code setting at the customer level.

  • Non-Tax = Not currently implemented.

  • PST Only = Not currently implemented at the state or province level. To flag a customer as eligible for Provincial Sales Tax only, use the Tax code setting at the customer level.

  • Resale = The customer is a reseller and exempt from paying any taxes, including VAT, in this state or province.

  • Standard = The customer is subject to tax.

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

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:

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.

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:

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:

  • Y = The salesman is active.

  • N = The salesman is not active.

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:

  • there is an @ sign and a period (.)

  • there is some text:

    • before the @ sign

    • between the @ sign and the period

    • after the period

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 /domain/conf/OMSFiles/File/Associate/, where domain is the WebLogic domain directory for Order Management System.

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.

  1. The SLSUPLD periodic function is delivered with the system. Use the Working with Periodic Functions (WPER) menu option to review it.

  2. Use the Working with Periodic Processes (WPPR) me menu option to assign the SLSUPLD periodic function to a periodic process.

  3. 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:


The figure shows the salesman associate upload process flow.

When you submit the SLSUPLD Salesman Associate Upload periodic function, the system performs the following steps.

  1. 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.

  2. 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.

  3. 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.

  4. 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

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, where domain 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, where domain 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:

No tax areas were found during the lookup. The address fields are inconsistent for the specified asOfDate. (Street Information=24 PRIME PKWY, Postal Code=01701, City=NATICK, Sub Division=null, Main Division=MA, Country=USA, As Of Date=20060627)

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.

  1. Correct the URL in the Vertex URL property.

  2. Stop and restart Order Management System.

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 tax_override flag is set to Y in the inbound order message, Order Management System does not apply a tax override unless the inbound order message also specifies a tax amount greater than zero for the order line.

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.