The generic VendorPartner business object contains values that correspond to a VendorPartner record or object in an application. The values include accounting, address, bank, contact, credit, foreign trade, payment, profile, purchasing, receiving, shipping, and tax data. IBM defines a VendorPartner as any business partner with whom a company maintains one or more of relationships 1, 2 or 3:
Relationship | Description |
---|---|
1 | Receives products from the vendor |
2 | Receives invoices from the vendor for products or services |
3 | Pays the vendor for products or services |
IBM further defines a VendorPartner as an entity that plays a functional role on a primary Vendor that is referenced in Purchase Order Processing. A VendorPartner that plays the Supplier role might be the actual warehouse that the goods are shipped from to a customer.
VendorPartner represents an entity that is related to the primary Vendor. The entity can be another Vendor object (such as a Supplier or InvoicingFrom) or it can be an associated address (such as Invoicing or Receiving). The IBM Vendor business object contains a reference to each of its related VendorPartner business objects.
Applications store VendorPartner relationship information in one of two ways:
Some Customer Interaction Management (CIM) or Enterprise Resource Planning (ERP) applications store a VendorPartner's data as dependent records. In other words, the data does not exist independently of the VendorPartner data and can be accessed only through their parent VendorPartner object. These addresses are not used by more than one VendorPartner.
When working with these applications in IBM WebSphere Business Integration Server Express Plus, each address is represented as a VendorPartner business object. Because the address is dependent upon the Vendor, it is created only after the parent primary Vendor is created. Synchronization occurs as a multi-step process in which IBM WebSphere Business Integration Server Express Plus:
CIM and ERP applications store Vendor data in a hierarchy of independent objects. The Vendor role at the top of the hierarchy represents the Vendor with whom an order can be placed. This primary Vendor links to other VendorPartner objects through roles. These roles consist of, but are not limited to, Supplier, Vendor, Invoicing From, Payee, and Alternate Payee.
Figure 1 illustrates a typical primary Vendor with its relationship to other Vendor objects.
Figure 1. Typical Vendor hierarchy
In these applications, the subordinate VendorPartner objects can be associated with more than one primary Vendor and can be created before the primary Vendor is created. Because the primary Vendor stores the links to its related VendorPartners, the subordinate VendorPartners must exist before the primary Vendor can contain the links to them.
When working with these applications in IBM WebSphere Business Integration Server Express Plus, each subordinate Vendor is represented as a VendorPartner business object. Synchronization occurs as a multi-step process in which IBM WebSphere Business Integration Server:
Note: IBM designed the Vendor and VendorPartner business objects so that the relationship between a primary Vendor and its subordinate Vendor or address is always stored in the parent object (that is, the Vendor business object references the VendorPartner business object). Applications that store the relationship in the child object must be configured to trigger an application-specific business object that maps to the Vendor business object.
Because purchase orders and requisitions must reference a primary Vendor and billing documents are sent only to Vendors who play an Invoicing From role, IBM categorizes every Vendor and VendorPartner business object by type. The type represents the way the Vendor or address is defined in the application.
To allow an application to handle each Vendor type in its own way, the generic Vendor and VendorPartner business objects allow only one type for each Vendor and VendorPartner business object. This type is stored as an attribute (VendorType or VendorPartnerType).
Due to the way IBM has defined a Vendor, the value of VendorType on the Vendor business object is typically Vendor and the value of VendorPartnerType on the VendorPartner object can be any other type (such as Supplier, InvoicingFrom, Payee, or AlternatePayee). Therefore, a Vendor can be a Supplier Vendor or a InvoicingFrom Vendor, but not both.
Note: The value of the VendorType or VendorPartnerType attribute cannot be changed after the Vendor data has been created in a destination application. However, for those applications that support role functions, Vendor and VendorPartner allow a Vendor object to assume additional (non-primary) roles.
Some applications allow Vendor and VendorPartner objects to serve as more than one type by using what is known as the "Role Function". For example, a VendorPartner might reference itself so that it can also act as the Supplier and InvoicingFrom VendorPartner. Such an application creates the object as a VendorPartner that references itself as the InvoicingFrom and Supplier.
In this example, the VendorPartnerType is the Vendor, and the VendorPartner business object has two Role Functions, Supplier and InvoicingFrom. The role functions are stored in VendorPartner's RoleUsage child business object.
For more information on application-specific business objects, refer to the specific application business object's reference page.
Note: A primary Vendor usually can not serve as a Vendor role for another primary Vendor. Therefore, even applications that allow this relationship may require configuration to represent a primary Vendor as the InvoicingFrom for another Vendor.
In summary, Type indicates the kind of VendorPartner and Function indicates the kind of roles it plays.
In some applications, each VendorPartner object is associated with multiple organizations. For example, a company may receive invoices from VendorPartner X from both its US and Ireland engineering organizations. Applications that store multiple organizations for each VendorPartner may store all general VendorPartner information at the top level and organization-specific information at a subordinate level.
Figure 2 illustrates such an organizational hierarchy.
Figure 2. VendorPartner with multiple organizations
Because the generic VendorPartner business object contains data for only one organization per VendorPartner, each extension of a VendorPartner into an organization requires separate instances of the VendorPartner business object.
For example, given the organizations illustrated for VendorPartner X, synchronizing data for both engineering organizations would involve the following steps in IBM WebSphere Business Integration Server Express Plus:
Therefore, if the source application represents Vendor data with multiple organizations, the source connector must create an event for each unique organization's data.
If you are synchronizing from a source application that stores multiple organizations to a destination application that stores a single organization, you have the following implementation options:
VendorPartner is a hierarchical business object. Figure 3 illustrates its child business objects.
Figure 3. VendorPartner child business objects
VendorPartner contains information about a VendorPartner. It contains such information as the VendorPartner's name, ID number as used in the application, ID of the parent or primary Vendor, and a user-entered number or alphanumeric identifier for the vendor.
Vendor contains the following child business objects:
Child business object | Description | Cardinality |
---|---|---|
VendorAddress | Contains the address information for the VendorPartner. VendorAddress contains PhoneInfo and RoleUsage. | 1 |
PhoneInfo |
|
n |
RoleUsage | As a child of VendorAddress: contains the Role functions of the VendorPartner's address. For example, if the VendorPartner functions as both the InvoicingFrom and Payee, RoleUsage contains those roles. | n |
VendorContact | Contains the reference to any associated VendorPartners or addresses that are linked to the VendorPartner. VendorContact contains PhoneInfo. | n |
VendorInformation |
Contains all the child business objects that represent Vendor information:
|
1 |
VendorAccountingData | A child of VendorInformation: contains Accounts Payable data for the primary Vendor. | 1 |
VendorBankData | A child of VendorInformation: contains such banking data for the primary Vendor as the bank's country and number, the bank account number and type, and a flag that indicates whether there is collection authorization. | n |
VendorPaymentData | A child of VendorInformation: contains the vendor's payment data, including the freight terms, payment terms, and invoice and payment currency information. | 1 |
VendorProfileData | A child of VendorInformation: contains such marketing data about the primary Vendor 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 |
VendorPurchasingData | A child of VendorInformation: contains the vendor's purchasing organization data, including the purchasing organizational unit, freight terms, payment terms, minimum and maximum order values, and purchase order handling flags. | 1 |
VendorReceivingData | A child of VendorInformation: contains the vendor's receiving data, including the purchasing organizational unit, flags for shipping enforcement and whether receipts or inspection are required, and receipt routing information. | 1 |
VendorTaxData | A child of VendorInformation: contains such tax data for the primary Vendor as its tax identifier, code, and jurisdiction and a flag that indicates whether the Vendor requires a 1099 form. VendorTaxData contains VendorTaxExemptLicenseData. | 1 |
VendorTaxExemptLicenseData | A child of VendorTaxData: contains the exemption licenses for the SoldTo Vendor. | n |
Notes | A child of VendorInformation: contains notes for the VendorPartner. Examples are Supplier instructions and Invoice handling instructions. | n |
The generic VendorPartner business object supports the following verbs:
For a listing of the generic VendorPartner business object's attributes, use System Manager or Process Designer Express.