INCENT UPLOAD CUSTOMERS

Summary

The INCENT UPLOAD CUSTOMERS command allows developers to load information about customers into Incent.

The Customer area allows companies to set up customers and channels that can be used in the incentive compensation rules, formulas, attainment measures, lookup tables, and the Incentive Estimator.  Customer name and the corresponding fields can also be used for reporting in Xactly Analytics, and are featured in a “Top Ten Customers by Order Amount” out-of-the-box template report.

Incent Admin Guide: https://helpcenter.xactlycorp.com/article/incent-administrator-customer-2/

The command transfers data from the staging.customer table into Incent. The command is often called as part of a larger ETL pipeline before validating staged sales orders. Customer names found on a staged sales order must be present in Incent for the staged order row to validate properly. Refer to INCENT UPLOAD ORDERS and INCENT VALIDATE ORDERS.

The following list provides the generic steps to follow:

  1. DELETE data from the staging.customer and staging.customer_exception tables. Archive rows as necessary as dictated by your business requirements.
  2. Perform any ETL transformations necessary to prepare your raw customer data for upload into Incent. INSERT the transformed data into staging.customer.
  3. Call INCENT UPLOAD CUSTOMERS.
  4. Check the staging.customer_exception table for any processing and data validation errors. Fix or archive any staging rows that failed validate and call the upload command again as necessary.

Syntax

 

incent [synchronous] upload customers; 

Parameters

Parameter
Description
synchronous
(Optional) The upload command runs asynchronously by default when invoked, i.e. control returns immediately to the calling program and the job runs in the background on the Connect server. Use the ‘synchronous’ keyword to force the Connect server to return control only after the upload completes.

When invoked asynchronously, you can track the status of the upload by querying the SHOW INVOCATIONS command. Xactly recommends running large data sets asynchronously to avoid client query timeouts.

Details

Ensure you have registered a valid Incent username and password within Connect before invoking the upload command. INCENT commands require valid credentials to modify data with Incent. Refer to INCENT CREDENTIAL.

The upload command operates against the complete set of rows found in the staging.customer table.  The following tables describe the staging and exception log tables used to move customers into Incent. Unlike other types of reference data in Incent, customers are not effective dated.

 

staging.customer – (Required) Use this table to transfer customer data into Incent.
Column Name Data Type Description xactly Target Table
action string (Required) The value instructs the type of operation the upload should perform on the row. INCENT UPLOAD CUSTOMERS has two options:

  • ‘save’ tells the upload command to perform an upsert operation. If the customer does not exist, save will insert a new one. If the customer already exists in Incent, save will perform an update.
  • ‘delete’ is the second supported action. Delete removes a customer from Incent if it does not have ties to other Incent data (sales orders, for example).
n/a
name string (Required) Unique business identifier for a customer. xactly.xc_customer.name
description string (Optional) Free-form text for notes or other details about the customer. xactly.xc_customer.descr
prefix string (Optional) Free-form text for honorifics or other name prefixes. xactly.xc_customer.prefix
first_name string (Optional) Free-form text for customer name information. xactly.xc_customer.first_name
middle_name string (Optional) Free-form text for customer name information. xactly.xc_customer.middle_name
last_name string (Optional) Free-form text for customer name information. xactly.xc_customer.last_name
full_name string (Optional) Free-form text for customer name information. xactly.xc_customer.full_name
address_line_1 string (Optional) Free-form text for customer address information. xactly.xc_customer.addr_line_1
address_line_2 string (Optional) Free-form text for customer address information. xactly.xc_customer.addr_line_2
address_line_3 string (Optional) Free-form text for customer address information. xactly.xc_customer.addr_line_3
city string (Optional) Free-form text for customer address information. xactly.xc_customer.city
state string (Optional) Free-form text for customer address information. xactly.xc_customer.state
zip string (Optional) Free-form text for customer address information. xactly.xc_customer.zip
country string (Optional) Free-form text for customer address information. xactly.xc_customer.country
phone_number_1 string (Optional) Free-form text for contact info. xactly.xc_customer.phone_no_1
phone_number_2 string (Optional) Free-form text for contact info. xactly.xc_customer.phone_no_2
fax_number string (Optional) Free-form text for contact info. xactly.xc_customer.fax_number
email_address string (Optional) Free-form text for contact info. xactly.xc_customer.email
parent_name string (Optional) Reserved for future use to create a customer hierarchy. xactly.xc_customer.parent_customer_id

 

 

staging.customer_exception – The upload command writes any errors encountered during processing to this table. INCENT UPLOAD CUSTOMERS truncates this table automatically for each run. Archive any existing error rows as needed before running the command.
Column Name Data Type Description
action string Refer to staging.customer
name string Refer to staging.customer
description string Refer to staging.customer
prefix string Refer to staging.customer
first_name string Refer to staging.customer
middle_name string Refer to staging.customer
last_name string Refer to staging.customer
full_name string Refer to staging.customer
address_line_1 string Refer to staging.customer
address_line_2 string Refer to staging.customer
address_line_3 string Refer to staging.customer
city string Refer to staging.customer
state string Refer to staging.customer
zip string Refer to staging.customer
country string Refer to staging.customer
phone_number_1 string Refer to staging.customer
phone_number_2 string Refer to staging.customer
fax_number string Refer to staging.customer
email_address string Refer to staging.customer
parent_name string Refer to staging.customer
exception_code string Numeric error code returned for any row that the command cannot upload
exception_message string Text description returned for any row that the command cannot upload. Refer to possible messages in following table.

 

Examples

incent upload customers;

screen-shot-2016-09-08-at-8-47-01-am

 

Related Commands

INCENT CREDENTIAL

INCENT UPLOAD GEOGRAPHIES

INCENT UPLOAD PRODUCTS

INCENT VALIDATE ORDERS

SHOW INVOCATIONS