The generic CustomerPartner business object represents an application entity that has a relationship with the generic Customer business object. The Customer business object represents the entity at the highest level of a company's customer hierarchy (often referred to as the "SoldTo" Customer). CustomerPartner represents a subordinate entity, which can be another customer object (such as a BillTo or ShipTo) or it can be an associated address (such as Billing or Shipping).
For example, assume that Application A stores customer information in a SoldTo Customer record and stores the customer's billing and shipping addresses in separate address records. An address cannot be accessed independently of the parent customer to which it is bound. Nor can it be reused by another SoldTo customer. IBM represents each address record as a CustomerPartner business object.
Assume that Application B stores customer information in a hierarchy of customer objects with the SoldTo at the top. The SoldTo customer links to other customer types (such as ShipTo and BillTo). The subordinate objects exist independently of their parent and can used by more than one SoldTo. IBM represents each of these subordinate customer objects as a CustomerPartner business object.
The relationship between a SoldTo and its associated addresses or customers is stored in the Customer business object, which contains a reference to each of its related CustomerPartner business objects. The CustomerSync Collaboration template uses the reference to synchronize the relationship between the business objects.
Note: Because a destination application might require the link to be on the child rather than the parent, IBM facilitates customization of its collaboration templates by providing an attribute (ParentCustomerId) on CustomerPartner that contains a reference to the parent Customer business object.
Because sales orders must reference a SoldTo customer and billing documents are sent only to customers who play a BillTo role, IBM categorizes every Customer and CustomerPartner business object by type. The type represents the way the customer or address is defined in the application.
Because sales orders must reference a SoldTo customer and billing documents are sent only to customers who play a BillTo role, IBM categorizes every Customer and CustomerPartner business object by type. The type represents the way the customer or address is defined in the application.
To allow each application to handle each customer type in its own way, the generic Customer and CustomerPartner business objects allow only one type for each Customer and CustomerPartner business object. This type is stored as an attribute (CustomerType or PartnerType).
Due to the way IBM has defined a customer, the value of CustomerType on the Customer business object is typically SoldTo and the value of PartnerType on the CustomerPartner object can be any other type (such as ShipTo, BillTo, Payer, Postal, or Delivery). Therefore, the type of a customer partner can be a ShipTo customer or BillTo customer, but not both.
Note: The value of the CustomerType or PartnerType attribute cannot be changed after the customer data has been created in a destination application. However, for those applications that support role functions, Customer and CustomerPartner allow a customer object to assume additional (non-SoldTo) roles.
Some applications allow customer objects to serve as more than one type by using what is known as the "RoleFunction". For example, a BillTo customer might also act as the ShipTo and Payer customers. Such an application would create the object as a BillTo customer that references itself as the ShipTo and Payer.
In this example, the PartnerType would be BillTo, and the CustomerPartner business object would have two RoleFunctions, ShipTo and Payer. The role functions are stored in CustomerPartner's RoleUsage child business object. Customer also contains a RoleUsage child business object, which allows a SoldTo customer to have more than one function.
In summary, Type indicates the way the customer has been defined and Function indicates the additional roles it plays.
For more information on customer hierarchies, types, and roles, refer to the documentation for the generic Customer business object.
For more information on application-specific business objects, refer to the specific application business object's reference page.
The generic CustomerPartner business object is a hierarchical business object. Figure 1 illustrates its child business objects.
Figure 1. Child business objects
CustomerPartner contains information about the customer or address. CustomerPartner contains the following child business objects:
Child business object | Description | Cardinality |
---|---|---|
CustomerAddress | Contains the address information for the CustomerPartner. CustomerAddress contains PhoneInfo and RoleUsage. | 1 |
PhoneInfo | Contains phone information for the CustomerPartner. | n |
RoleUsage | As a child of CustomerAddress: contains the Role functions of the CustomerPartner's address. For example, if the BillTo also functions as the ShipTo, RoleUsage contains this role. | n |
CustomerInformation |
Contains all the child business objects that represent CustomerPartner information:
|
1 |
CreditAreaCreditData | A child of CustomerCreditData: contains credit data for the CustomerPartner for specific credit areas (such as when the European credit area has different information from the US credit area). Attributes include the credit control area (which is an organization that checks credit for a CustomerPartner), credit limit, currency code for the credit limit, risk category for a credit check, credit representative group for credit management, the employee responsible for handling credit-related activities, credit insurance data (such as the limit that has been insured with credit insurance and the credit insurance company), a flag that indicates whether the CustomerPartner is exempt from Credit hold or Credit block, and Dunn & Bradstreet and TRW ratings. | n |
CustomerAccountingData | A child of CustomerInformation: contains Accounts Receivable data for the CustomerPartner. | 1 |
CustomerBankData | A child of CustomerInformation: contains such banking data for the CustomerPartner as the bank's country and number, the bank account number and type, and a flag that indicates whether there is collection authorization. | n |
CustomerBillingData | A child of CustomerInformation: contains such billing data for the CustomerPartner as freight terms, payment terms and method, and billing schedule. | 1 |
CustomerCreditData | A child of CustomerInformation: contains such credit data for the CustomerPartner as the credit limit, the maximum credit limit in any credit control area, and the currency code for the credit limit. CustomerCreditData contains CreditAreaCreditData. | 1 |
CustomerForeignTradeData | A child of CustomerInformation: contains such Export Control information about the CustomerPartner as flags that indicate if the CustomerPartner is on the Table of Denials list or on the Specially Designated Nationals list (lists of countries with which the USA should not trade) and the last date that the CustomerPartner was checked against these lists; and a flag that indicates if the CustomerPartner appears on your company's boycott list and the date that the CustomerPartner was checked against the criteria for this list. | n |
CustomerProfileData | A child of CustomerInformation: contains such marketing data about the CustomerPartner as its total revenue, number of employees, stock symbol, standards organization, web site address, type of ownership (for example, Public or Private), and industry. | 1 |
CustomerSalesOrderData | A child of CustomerInformation: contains such sales and pricing data about the CustomerPartner as its sales office and sales group, the identifier of the sales person responsible for this CustomerPartner, the CustomerPartner group (usually used for business rules or future processing), the price group and identifier of the price list, currency code, and the minimum and maximum order values allowed the CustomerPartner. This data is often used as the default information on a sales order. | 1 |
CustomerShippingData | A child of CustomerInformation: contains such shipping data about the CustomerPartner as the shipping carrier, preferred delivery option, the number of deliveries allowed for a line item, and flags that indicate whether order line items can be split into multiple shipments, whether the CustomerPartner allows backorders, and whether incomplete orders can be shipped. | 1 |
CustomerTaxData | A child of CustomerInformation: contains such tax data for the CustomerPartner as its tax identifier, code, and jurisdiction and a flag that indicates whether the CustomerPartner requires a 1099 form. CustomerTaxData contains CustomerTaxExemptLicenseData. | 1 |
CustomerTaxExemptLicenseData | A child of CustomerTaxData: contains the exemption licenses for the CustomerPartner. | n |
Notes | A child of CustomerInformation: contains notes for the CustomerPartner. Examples are Shipping instructions and Billing instructions. | n |
The generic CustomerPartner business object supports the following verbs:
For a listing of the generic CustomerPartner business object's attributes, use System Manager or Process Designer Express.