concepts
Business Units & Business Unit Groups
Business Units
A business unit is a physical/logical location that is part of the business handled by the customer. This could be a store, a webshop or a warehouse. Note: For "external" business units, see the APIs/service for Business Partner. External units should not be part of Business Units.
Technical details
- Business units are never fully deleted: when you delete a business unit it is actually marked as deleted (soft-delete) and removed from list and get requests.
- You cannot create a business unit with id of soft-deleted business unit. But you can restore deleted business unit.
Business Unit Groups
Why
A business unit is a unit that may be assigned articles, prices, configuration and more. To avoid maintaining this for each business unit, we can create a group of business units. This is the architectural documentation for Business Unit Management API.
How
These business unit groups can be created for instance by the size of the business units, e.g. a group named "small", another group named "medium" and the last named "large". We can then assign data like assortment to these groups instead of for each individual business unit. When the business unit is linked to one of these groups, the business unit inherits the assortment assigned to the group. By doing this the assortment is more easily maintained.
For sales prices we could reuse the same business groups created for assortment, but this would only be suitable if the sales prices should differ based on the size of the business units as well. If sales prices instead should differ based on the branding of the business unit, or even location, we can create new groups for this.
Hierarchical
The business groups are hierarchical, which means:
- data added to the top group will be inherited to all groups or business units below
- data added or overridden by sub group A (see diagram below), will only be applicable for business units linked to sub group A.
Types of groups
Business groups can be created for different types of data indicated by a type, for instance:
- Configuration
- Assortment
- Sales prices
- Tax regions
- Legal units
- Geographical
- Etc
The type is linked to the hierarchy. In case a single hierarchy suits the need for several types, all of these types can be linked to the same hierarchy.
Registered group types
Here is the list of group types and services that operate on that groups:
customer-configuration
: Customer Controlled Configuration service - used by customeres for storing configuration of different kinds
Restrictions
- Group type can only be set on the root group of the hierarchy.
- You can assign group type to at most one group hierarchy (i.e: 2 group hierarchies with same group type is not allowed, also having a group type without hierachies is ok).
- Business unit can only appear once in some group hierarchy. But there are no limitations on how many hierarchies a business unit can be a part of.
Responsibility
Part of responsibility of this service
Business unit service is responsible for:
- maintaining the business units
- maintaining the business unit group hierarchies
- assigning business units to business unit groups
Not part of responsibility of this service
Assigning data (like configuration, assortment etc) is not part of the business unit service. The data to be assigned to the business unit groups, or even directly for business units, needs to be maintained by a specific service responsible for this data.
Tax Regions
You can learn more about taxRegionId
in Tax Rules Docs.
Example
Business unit hierarchies:
- Assortment, three business unit groups created:
- Top group named "Base assortment". In this group assortments that are common for all profile houses/chains will be maintained.
- A subgroup named "Profile house A assortment". In this group all articles only available for profile house A will be added.
- A subgroup named "Profile house B assortment". In this group all articles only available for profile house B will be added.
- Prices:
- Top group named "Base price". In this group prices that are common for all profile houses/chains will be maintained. Prices can still be overridden by a subgroup if needed.
- A subgroup named "Profile house A prices". In this group all prices specific for profile house A will be maintained.
- A subgroup named "Profile house A near border prices". Stores close to the border might be exposed to low priced competition across the border. Due to this we can create a specific price group to counter this competition. The prices will be inherited from the parent group (prices for profile house A), so only prices to be overridden need to be maintained.
- A subgroup named "Profile house B prices". In this group all prices specific for profile house B will be maintained.
- Region:
- Groups indicating geographical location
When all the business unit groups are created, and data maintained, the business units can be linked to the correct group for all hierarchies. This will assign correct assortment, prices, configuration and more to the business units, with no need to assign to each store individually.