Business relationship management

To customize what a customer can do in a store use the business relationship management system. By using this system, we can entitle customers to various aspects of a store such as what products they can purchase, the price they pay, and what payment methods a store accepts.

Customer entitlement is controlled by business accounts, contracts, and business policies.

The default customer entitlement is defined by a store's default contract. This default contract typically specifies that customers can access the master catalog and purchase products at standard prices.

Business relationship management provides the infrastructure and tools that facilitate scenarios like the following examples:

These scenarios are explored in further detail in the Business Relationship Model topic.

In each of these cases, WebSphere Commerce enforces the defined contracts while customers are browsing the site, modifying the customer experience based on the criteria that we define. Furthermore, we can import contracts from external sources. For example, if you have contracts that are defined in an external CRM, or ERP system, these contracts can be exported to XML, and then imported to WebSphere Commerce. This process ensures that contract data is maintained on one system, with regular updates to the production environment.

Business accounts

Business accounts represent the relationship between a store and the store's customer organizations, and are the starting point for managing business relationships. Using business accounts, we can track contracts and orders for customer organizations and configure how buyers from customer organizations shop in a store.

A business account contains the following information about a customer organization:

Business accounts control customer entitlement by controlling the ability of buyers to access a store's master catalog and see standard pricing for products. If a customer organization is not entitled to purchase products in the store's master catalog at standard prices, they are limited to products and prices that are covered by contracts the customer organization has with a store.

The customer organization must exist in WebSphere Commerce before we can create a business account for a customer organization.


Contracts enable a customer organization to purchase products from a store at a specified price for a specified time under specific conditions. A contract specifies what products a customer is able to purchase, the price to pay for the products, how to pay for an order, and the addresses to which an order can be shipped. We can use WebSphere Commerce Accelerator to manage contracts. Specifically, we can create, change, deploy, suspend, resume, and unlock contracts.

A contract consists of the following elements:

Contracts that are managed within WebSphere Commerce Accelerator are associated with a business account. Base contracts are associated with a base contracts account, and customer contracts are associated with the customer's business account. Some contracts might not be associated with an account, such as the store default contract.

Different items in a single order might be purchased under different contracts. Buyers can select the contract they shop under at either the start of the shopping flow or when they add an item to their order, depending on the store design. When a customer purchases items under different contracts the following rules apply:

A contract's lifetime might include numerous states, and fully supports an approval flow, if that process is required.

Business policies

Business policies are sets of rules followed by a store that define business processes, industry practices, and the scope and characteristics of a store's or group of stores' offerings. They are the central source and reference template for all allowed and supported practices within a store or group of stores.

Business policies are enforced with a combination of one or more business policy commands that implement the rules of the business policy. Each business policy command is a Java class. A business policy command can be shared by multiple business policies. The behavior of the business policy command is determined by the parameters that are passed to the command.

Parameters affecting the function of a business policy command can be introduced in three places:

There are several types of business policies:

To provide measure of control over the nature of contracts a store can enter, many contract terms and conditions reference business policies.