- Overview
- Key Features
- Enabling and Customizing Company Associations
- Creating the Company Association Structure
- Managing Company Association Relationships via the Admin
- Importing Company Association Relationships via the Admin
- Managing Company Associations as the Company / Company Account Admin
Overview
Company Associations are a powerful tool for B2B sellers. They allow store owners to configure customers as companies, create relationships between company administrators, managers, and employees, and allow multiple users to purchase on behalf of a company. Company Associations also support order approval workflows, employee-specific purchasing, reward point management, shared wishlists, manager assignments, and other tools for managing complex B2B organizations.
Key Features
- Company Customization: B2B customers can configure their company structure to allow users to purchase products while supporting their organization's order approval processes.
- Shared Company Data: Company users can access company-level purchasing resources such as shared credit limits, saved payment methods where applicable, rewards, and order-related information.
- User Management: Companies can configure individual administrators, managers, and employees and update or remove users as their organization changes.
- Manager and Employee Relationships: Managers can be assigned employees, employees can optionally select their own manager, and managers can reassign employees when the appropriate settings are enabled.
- Employee-Specific Purchasing: Company Admins and Managers can order for employees, assign individual products to employees, and manage employee assignments throughout the shopping and order-management workflows.
- Order Approvals: Managers can approve employee orders at the whole-order level or review and approve individual items.
- Reward Point Management: Company Admins and Managers can review employee reward history and, when enabled, add or remove employee reward points.
- Shared Wishlists: Wishlists such as onboarding bundles or new-hire kits can be shared across the company hierarchy when wishlist sharing is enabled.
Enabling and Customizing Company Associations
- Navigate to the Company settings at Admin > Settings > People > Companies.
- Select the Company Associations Enabled checkbox.
- If your store offers rewards, enable Use Company's Rewards Points to allow Company Users to use the Company's reward points.
- You can also allow users to spend more reward points than the Company currently has available. This is a specialized use case and is not typically recommended. If enabled, configure Maximum Rewards Points Can Overspend to limit how many additional points can be spent.
- Select the New Company User Email template. This email is sent to new users created for the company.
NOTE: Some versions of Storefront do not include a standard New Company User email template. If your store does not have one, contact support for assistance. - Configure the Company User Type labels as needed. These labels are used throughout the platform and apply to all stores, including storefronts and microstores. They cannot be configured separately for each company.
- The Company label and Company Account Admin label can be set to any appropriate value. For example, Company Account Admin can be changed to Company Admin, and Company can be changed to Business Unit.
- The Company Manager and Manager of Employee labels should normally use corresponding terminology. For example, they can be set to Manager, Supervisor, or Department Head.
- The Company Employee and Employee of Manager labels should normally use corresponding terminology. For example, they can be set to Employee or Staff.
-
Using the standard naming, the relationships available for customer accounts include:
- USER is my Account Admin (I'm the Company)
- USER is my Company (I'm the Account Admin)
- USER is my Company (I'm the Employee)
- USER is my Company (I'm the Manager)
- USER is my Employee (I'm the Company)
- USER is my Employee (I'm the Manager)
- USER is my Manager (I'm the Company)
- USER is my Manager (I'm the Employee)
NOTE: For detailed descriptions of each selection, see Company Associations - Relationship Tree.
NOTE: These relationship options are shown in the store admin. Companies managing their users from the storefront are presented with different selections.
- For the examples in this article, the following values are used:
- Company Label: Enterprise
- Company Account Admin Label: Purchasing VP
- Company Manager Label: Supervisor
- Company Employee Label: Purchasing Agent
- Manager of Employee Label: Purchasing Supervisor
- Employee of Manager Label: Direct Report
Additional Company Association Settings
Company Associations include additional settings for controlling manager, employee, rewards, customer type, and wishlist behavior. These settings are located at Admin > Settings > People > Companies.
| Setting | Description |
|---|---|
| Allow Managers To Reassign Employees | Displays an employee manager-assignment field on the storefront User Edit page so Managers and Company Admins can assign or reassign an employee to a different Manager. |
| Allow Employees to Select Manager | Allows Employees to associate themselves with a Manager from the storefront. This functionality can also be used with supported SAML SSO workflows. |
| Use Manager's Store Locations | Allows Employees to inherit and operate under the store locations assigned to their Manager. |
| Allow Managers To View/Edit Reward Points | Gives Managers and Company Admins access to employee reward point management, including the Reward Points page and the reward point adjustment field on the storefront User Edit page. |
| Default Employee Customer Type | Automatically assigns the selected customer type to new Employees created from the B2B portal User Edit page. This setting does not apply to Company Admins or Managers. |
| Share Wishlists Across Company Hierarchy | Allows wishlists to be shared among users in the company hierarchy. This can be useful for onboarding bundles, new-hire kits, standardized purchasing lists, and similar company-wide workflows. |
After configuring the Company Association settings, you can configure individual customer accounts as companies and establish relationships among their users.
Creating the Company Association Structure
We will now configure a sample company account using the following structure:
This structure has an Enterprise with one Purchasing VP, one Supervisor with one Purchasing Agent assigned to it, and one Purchasing Agent who is not assigned to a Manager.
The approval workflow for this example is as follows:
- Orders placed by Purchasing Agent 2 can be approved by the Supervisor or Purchasing VP.
- Orders placed by the Supervisor or Purchasing Agent 1 can be approved by the Purchasing VP.
Converting a Customer Account to a Company Account
Once a Customer Account has been converted to a Company Account, the Company can manage its own users. User relationships can also be managed manually through the admin.
- Navigate to Admin > Customers.
- Search for the customer you want to convert to a Company and click the edit icon.
- If the customer does not have an account yet, use the New Customer button to create the customer account.
- In the Customer menu, click Customer Associations.
- Click New in the upper-right corner.
- In the Search by customer email or name field, search for the first user account you want to add to the Company account.
- If the user does not exist, create the customer account before adding the user to the Company.
- Select the user type you want to assign. In this example, select one of the following:
- Purchasing Agent (I am the Enterprise)
- Supervisor (I am the Enterprise)
- Purchasing VP (I am the Enterprise)
- The selection describes the relationship between the two accounts. Because the relationship is relational, the corresponding association can also be configured from the other user's account.
- Click Save.
- The account has now been configured as part of the Company structure.
Managing Company Association Relationships via the Admin
Most company associations can be managed directly from the applicable customer account. Administrators can add, edit, or delete associations as the organization changes.
The Employee/Manager relationship is configured between the Employee and Manager rather than directly between the Employee and Company. To assign an Employee to a Manager from the admin:
- Navigate to Admin > Customers.
- Search for the Manager account. In this example, the Manager is called the Supervisor.
- The account must already be configured as a Manager user within the Company.
- Open Customer Associations. The Company relationship should already be configured.
- Click New.
- Select the customer account that should be assigned to this Manager as an Employee.
- Set the Employee account to the appropriate Employee of Manager relationship. In this example, select Direct Report (I'm the Purchasing Supervisor).
- Click Save.
- The Employee is now assigned to the Manager.
- The same relationship can also be viewed or configured from the Employee account using the corresponding Manager relationship.
Reassigning Employees
When Allow Managers To Reassign Employees is enabled at Admin > Settings > People > Companies, Managers and Company Admins can change an Employee's assigned Manager from the storefront User Edit page.
- Sign in to the storefront as a Manager or Company Admin.
- Open My Account > User Management.
- Edit the Employee.
- Select the appropriate Manager from the manager-assignment field.
- Click Save.
Allowing Employees to Select a Manager
When Allow Employees to Select Manager is enabled, Employees can associate themselves with a Manager from the storefront instead of requiring an administrator to create the relationship manually.
This capability also supports applicable SAML SSO workflows where manager relationships are established as part of the user's company experience.
Using a Manager's Store Locations
Enable Use Manager's Store Locations to allow Employees to inherit and operate under the store locations assigned to their Manager.
This is useful when store locations, branches, territories, or other location-based access should be controlled through the Employee's assigned Manager.
Importing Company Association Relationships via the Admin
Company Association relationships can also be created or modified in bulk through a data import. This is especially useful when managing large organizations or restructuring customer account relationships.
- Navigate to Tools > Data Import > Company Associations.
- Use the import template or export your existing associations from Tools > Data Export > Company Associations as a starting point.
- Fill in the appropriate fields in the CSV file. Reference the field definitions and Association Type IDs below.
- Import the file to apply the changes to your store.
WARNING: Imports that include deletions cannot be undone. Double-check your data before importing.
Field Definitions
| Field | Description |
|---|---|
| CustomerAssociationID | (integer) The internal identifier for the customer association. Read only. |
| AssociationTypeID | (integer) The internal identifier for the association type. See the Association Type Reference below. |
| ParentCustomerID | (integer) The internal identifier for the parent customer in the association, such as the Company or Manager. |
| ChildCustomerID | (integer) The internal identifier for the child customer in the association. |
| DeleteCustomerAssociation | (true/false) WARNING: This action is permanent. When set to true, the customer association is deleted. |
Association Type Reference
| Association Type | ID |
|---|---|
| Manager Employee (Employee) | 1 |
| Company Employee (Company Employee) | 2 |
| Company Account Admin (Account Admin) | 3 |
| Company Manager (Company Manager) | 4 |
This method provides a scalable way to create or restructure companies and their user relationships without manually configuring each record in the admin.
Managing Company Associations as the Company / Company Account Admin
Adding Users to Your Company
After configuring the Company and its relationships, Company and Company Account Admin users can manage users from the storefront. In this example, these users are represented by Enterprises and Purchasing VPs.
NOTE: Depending on your store configuration and workflow, the company user may need an existing customer account before being added.
- Sign in to the storefront as either a Company or Company Account Admin.
- In My Account, select User Management.
- To create a new Company Account Admin, Manager, or Employee, click New. A form is displayed for configuring the user.
- Select the Permission Level and, when applicable, assign the user to a Manager. Enter the First Name, Last Name, and Email. Company, Title, and Phone Number fields are optional unless required by your store configuration.
- Click Save.
- The new user receives the email configured in the New Company User Email setting. If no New Company User template is configured, the applicable registration email template is used.
Assigning a Default Employee Customer Type
The Default Employee Customer Type setting at Admin > Settings > People > Companies can automatically apply a customer type when new Employees are created from the B2B portal User Edit page.
The configured customer type applies only to new Employees. It does not automatically apply to new Company Admins or Managers.
Removing a User from Your Company
- Sign in to the storefront as either a Company or Company Account Admin.
- In My Account, select User Management.
- Find the user to remove and click Delete.
- Confirm the removal.
Setting a User as Inactive in Your Company
- Sign in to the storefront as either a Company or Company Account Admin.
- In My Account, select User Management.
- Find the user and click the Edit button.
- Select Inactive Account and click Save.
- The user is set to inactive and can no longer place orders, approve orders, or make changes to the Company Account while inactive.
Managing Managers, Employees, and Reward Points
Reassigning an Employee to Another Manager
When Allow Managers To Reassign Employees is enabled, a Manager assignment field is displayed on the storefront User Edit page for Managers and Company Admins.
- Sign in as a Manager or Company Admin.
- Navigate to My Account > User Management.
- Edit the Employee.
- Select the Employee's new Manager.
- Click Save.
The Employee's Manager relationship is updated to the selected Manager.
Employees Selecting Their Own Manager
When Allow Employees to Select Manager is enabled, Employees can use the storefront manager selector to associate themselves with a Manager.
This reduces the need for Company Admins to manually maintain every Employee/Manager relationship and can also support applicable SAML SSO company workflows.
Adding or Removing Employee Reward Points
Enable Allow Managers To View/Edit Reward Points at Admin > Settings > People > Companies to allow Managers and Company Admins to manage Employee reward points.
When enabled:
- Managers and Company Admins can access the Employee's Reward Points management page.
- A reward point adjustment field is available when editing the Employee from the storefront.
- Authorized users can add or remove reward points for the Employee.
Viewing Employee Reward History
Company Admins and Managers can view the reward point transaction history for individual Employees from the storefront.
The history provides a record of Employee reward point activity and can be used alongside the reward adjustment functionality to review changes to an Employee's reward balance.
Approving Employee Orders
Company Association approval workflows support both whole-order and item-level approval from My Account.
When reviewing an Employee order, an authorized Manager can approve the order using the method appropriate for the company's workflow:
- Whole-order approval: Approve the applicable order as a single approval action.
- Item-level approval: Review and approve individual line items when only part of the order should be approved.
Order approval emails can also contain dedicated links that direct authorized users to the applicable approval workflow.
Ordering on Behalf of Employees
Company Admins and Managers can place orders on behalf of Employees directly from the Product Display Page (PDP). This allows the appropriate Employee to be associated with an item before it is added to the cart.
Managers can purchase only for themselves and Employees directly assigned to them. Company Admins can use the Employee selector according to the Company hierarchy available to their account.
Adding the Employee Selector to the Product Display Page
Add the following merge codes to the applicable Product Display Page layout:
$$EMPLOYEEDROPDOWNLABEL$$$$EMPLOYEEDROPDOWN$$
The recommended placement is within the Product Display Page area where the Add to Cart controls are displayed.
The Employee selection control is displayed only to applicable Company Admins and Managers.
Displaying Employee Custom Fields on the Product Display Page
Use the following merge code to provide a container for Employee-specific customer custom fields:
$$CUSTOMFIELDS$$
This merge code renders a container div. When an Employee is selected from the Employee dropdown, customer custom fields configured for the B2B workflow are dynamically injected into the container.
This allows Employee-specific information to be collected or displayed as part of the purchasing workflow before the product is added to the cart.
Managing Employee Assignments on Orders
Assigning Employees During Order Edit
Employee-enabled Company Association orders support Employee assignment at the individual line-item level.
When editing an applicable order, an Employee assignment dropdown is available for each line item. Use this dropdown to review or change which Employee is associated with the item.
Viewing Employee Assignments on Order Documents
Employee assignments are also used when displaying order information on supported storefront order pages. Line items can be grouped and sorted by Employee Name on:
- View Order
- Order Invoice
- Packing Slip
This makes it easier to identify which products in a larger company order belong to each Employee.
Reporting by Employee
Employee assignment data is available for order reporting, allowing applicable order reports to be filtered for a specific Employee.
This can be used to review Employee purchasing activity separately from the overall Company order history.
Employee-Specific Order Emails
Employee-specific order emails can be sent from the applicable order Action Menu. These emails can be configured to contain only the line items assigned to a particular Employee rather than every item on the Company order.
The following merge codes are available for Employee-specific order email templates:
| Merge Code | Purpose |
|---|---|
##EMPLOYEENAME## |
Outputs the Employee name. |
##EMPLOYEEID## |
Outputs the Employee identifier. |
##EMPLOYEEORDERITEMS## |
Outputs order items assigned to the Employee. |
##GTINSORTEDEMPLOYEEORDERITEMS## |
Outputs Employee order items using the supported GTIN-sorted format. |
##HTMLEMPLOYEEORDERITEMS## |
Outputs Employee order items using the supported HTML format. |
##EMPLOYEEORDERITEMSWITHVARIANTINVENTORYID## |
Outputs Employee order items including variant inventory IDs. |
##HTMLEMPLOYEEORDERITEMSWITHVARIANTINVENTORYID## |
Outputs Employee order items including variant inventory IDs using the supported HTML format. |
##EMPLOYEESUBTOTAL## |
Outputs the subtotal for the items assigned to the Employee. |
Use these merge codes when building an Employee-specific order email template so recipients receive only the information relevant to the selected Employee.
Managing Employee Wishlists and Cart Assignments
Changing the Employee Assigned to Cart or Wishlist Items
Employee assignments can be changed for applicable items in the cart and wishlist using the Employee dropdown merge codes:
$$EMPLOYEEDROPDOWNLABEL$$$$EMPLOYEEDROPDOWN$$
When these merge codes are included in the applicable theme layout, authorized Company users can change the designated Employee associated with an item.
Selecting an Employee When Moving Wishlist Items to the Cart
On the Saved Wish List Detail page, the following merge codes can be used to select a single Employee for all applicable wishlist items before moving them to the cart:
$$EMPLOYEEDROPDOWNFORALLITEMSLABEL$$$$EMPLOYEEDROPDOWNFORALLITEMS$$
This allows the user to assign the same Employee across the wishlist items being transferred without updating each item individually.
Sharing Wishlists with Company Subaccounts
Enable Share Wishlists Across Company Hierarchy at Admin > Settings > People > Companies to make applicable wishlists available across users within the Company hierarchy.
Shared wishlists can support workflows such as:
- Employee onboarding bundles
- New-hire kits
- Approved product collections
- Department purchasing lists
- Standardized Employee ordering templates
Users with access to the shared wishlist can use the list as part of their Company purchasing workflow and, where applicable, assign wishlist items to Employees before moving those items into the cart.