At the global account review, the KAM team presents top corporate client Bosch. The German subsidiary shows 4.2 million euros in revenue, the Japanese subsidiary 1.1 million euros, the Brazilian subsidiary unknown. Aggregation at corporate level? Not in the CRM. In the Excel sheet, 23 rows with bookings of questionable allocation. This isn’t a Bosch-specific problem. Every machinery manufacturer with corporate clients knows this situation: The holding company is based in Munich, the plant produces in Shanghai, the invoice goes to Singapore, the service contract runs through the Swiss subsidiary. In the CRM, all four appear as separate accounts, with fragmented revenue, scattered contacts, and no consolidated view of the overall relationship. Hierarchical account structures in B2B machinery manufacturing aren’t a nice-to-have, they’re a hygiene factor, and technically more demanding than most CRM systems can handle out-of-the-box.
Why corporate hierarchies are particularly complicated in machinery manufacturing
In machinery manufacturing, three levels of complexity converge that occur in isolation in other B2B industries but work simultaneously here. First: The multi-site structure of customers. A corporation like ABB operates over 100 production sites in 53 countries, BASF has more than 230 production sites worldwide, Bosch around 400 subsidiaries. Each site is potentially an independent business partner with local purchasing responsibility, but without consolidated negotiating power, the corporation would pay significantly higher prices.
Second: The machinery manufacturer’s own international structure. A German machinery manufacturer serves its Japanese corporate client through the Japan branch, the Brazilian site of the same corporation through the Brazil subsidiary. Both branches maintain their own CRM systems or separate Salesforce orgs. The question “How much revenue do we generate with Bosch worldwide?” cannot be answered without cross-organizational hierarchy.
Third: Contractual complexity across hierarchy levels. Master Service Agreements run at corporate level, individual maintenance contracts at plant level, spare parts deliveries at profit center level. Discount scales apply corporation-wide, but billing occurs per legal entity. Without proper hierarchy assignment, it’s not visible whether a new service contract with “Bosch Rexroth AG, Homburg Plant” falls under the global framework agreement or needs to be negotiated separately.
The challenge isn’t just technical, it’s conceptual. Standard CRM systems offer parent-child relationships, but these are usually limited to two levels (Account → Sub-account) and lack aggregation logic. Those who need to map more than three hierarchy levels hit limits. Those who need consolidated KPIs across all levels must build custom reports that need to be recalculated with every data change. And those who want to synchronize this hierarchy bidirectionally with ERP, service system, and product configurator build an integration landscape that must be reconfigured with every M&A case of the customer.
Four hierarchy levels that matter in B2B
In B2B machinery manufacturing, four hierarchy levels have established themselves as standard, each carrying its own business logic. Corporation (Holding) is the top level: This is where global framework agreements, corporation-wide discount scales, and strategic partnerships run. Example: “Bosch” as holding company with centrally negotiated conditions for all subsidiaries. This level is often not operational, there are no orders at holding level, but it defines the contractual basis for all underlying units.
Level two: Subsidiary (legal entity). This is the company in the legal sense: “Bosch Rexroth AG”, “BASF Schwarzheide GmbH”, “ABB Sécheron SA”. This is where invoices are issued, where a balance sheet exists, where creditworthiness runs. In the ERP (SAP S/4HANA, Dynamics 365 Finance & Operations), the legal entity is the primary business partner. In CRM, however, often invisible because sales thinks at plant level.
Level three: Plant (production site). Operational unit where production takes place. “Bosch Rexroth, Homburg Plant”, “BASF, Ludwigshafen Site”. This is where decision-makers for machinery investments are located, where service contracts are negotiated, where most sales activities take place. The CRM typically organizes around this level, opportunities, contacts, activities are primarily plant-related.
Level four: Profit Center (business unit). Within a plant, there are often multiple production lines or business divisions with their own budgets. “Bosch Rexroth, Homburg Plant, Mobile Hydraulics” vs. “Bosch Rexroth, Homburg Plant, Industrial Hydraulics”. For spare parts business and retrofits, this level is crucial, sales must know which machines are installed in which profit center to identify cross-sell potential.
The problem: Most CRM systems natively map a maximum of two of these levels. Salesforce knows Account Hierarchies, but without differentiation by hierarchy type (is “Bosch Rexroth AG” a subsidiary or a plant?). HubSpot offers Parent Company fields, but no multi-level aggregation. SAP Sales Cloud has Corporate Account structures, but the sync logic to ERP fails as soon as a plant is moved to another subsidiary. And all three systems fail when a machinery manufacturer needs to relate its own branch structure to the customer’s corporate structure: “Our German branch serves Bosch’s EMEA plants, our US branch serves the AMER plants.” This matrix logic cannot be mapped in standard CRM.
Hierarchical DataEngine Data Objects: Aggregation as platform feature
MARINI Data Cloud solves the hierarchy problem through hierarchical DataEngine Data Objects with automatic aggregation logic. Instead of flat account lists, the DataEngine manages structured hierarchy trees where each Data Object knows which level it’s at and which parent object it belongs to. An example from practice: The account “Bosch Rexroth AG, Homburg Plant” is defined as a Data Object of type “Plant”. In its hierarchy field is a reference to “Bosch Rexroth AG” (Type: Subsidiary), which in turn references “Robert Bosch GmbH” (Type: Corporation). All three objects exist in parallel in the DataEngine, not as redundant copies, but as linked entities with different responsibilities.
The aggregation logic is bidirectional: When a new service contract is created at plant level in the CRM, the DataEngine automatically propagates the contract value upward, to the subsidiary, to the corporation. KPIs like “Total Bosch Corporation revenue” or “Number of active service contracts EMEA subsidiaries” are calculated in real-time, without manual reports. Conversely: When a new discount is recorded at corporation level, this information automatically flows downward, to all subsidiaries, all plants. Sales sees the updated condition immediately with the next quote, without an admin having to manually touch each individual account.
A concrete scenario: A machinery manufacturer serves BASF with 230 production sites worldwide. In the CRM (Dynamics 365 Sales), these 230 sites exist as separate accounts. In the ERP (SAP S/4HANA), they are stored as business partners with different company codes. In the service system, between 5 and 50 maintenance contracts run per site. The MARINI Data Cloud consolidates all three data sources in hierarchical Data Objects: Corporation BASF (with global framework agreement), underneath 12 legal subsidiaries (each with its own creditworthiness), underneath 230 plants (each with its own contacts), underneath profit centers by product line. A KAM dashboard shows at a glance: “BASF Corporation: 47.3 million euros revenue p.a., 1,240 active service contracts, 23 ongoing opportunities, average contract duration 4.2 years.” Drill-down to subsidiary level: “BASF Schwarzheide GmbH: 3.1 million euros, 87 contracts, renewal rate 94%.” Drill-down to plant level: “Schwarzheide Plant 1: 1.8 million euros, 42 contracts, next renewal in 90 days.”
The hierarchy is not static. During M&A activities (Bosch sells a division, ABB acquires a subsidiary), the structure is adjusted in the DataEngine, and all dependent systems are synchronized via HubEngine. No manual reassignment of accounts in every system, no Excel lists for tracking. The DataEngine is the single source of truth for corporate hierarchies, CRM, ERP, and service system read the structure from the Data Cloud and adopt it into their local data models.
External identifiers for consolidation assurance
Hierarchical structures break when assignment to the correct level is faulty. A typical problem: In the CRM, “Bosch Rexroth Homburg Plant” is created as an independent account, even though it actually belongs to “Bosch Rexroth AG”. Sales knows this, the CRM doesn’t, because the information only exists in the sales rep’s head or is hidden in a free-text field. External identifiers create certainty by uniquely assigning accounts across system boundaries and preventing mis-consolidations.
The most important identifier in B2B: The DUNS Number (Data Universal Numbering System) from Dun & Bradstreet. Every legal entity worldwide receives a unique nine-digit number that remains stable regardless of name changes, relocations, or corporate restructurings. “Bosch Rexroth AG” has a DUNS Number, “Bosch Rexroth Homburg Plant” has another (assigned as site level of the AG). MARINI Data Cloud integrates Dun & Bradstreet as primary data enrichment source: When creating a new account, the DUNS Number is automatically queried and stored in the Data Object. If an account with this DUNS Number already exists, a duplicate warning is issued. If a parent account exists (Parent DUNS), the hierarchy link is suggested.
Additionally: Commercial register number and VAT ID. Both are legally binding in DACH countries and mandatory fields in ERP systems. The Data Cloud synchronizes these identifiers from SAP S/4HANA or Dynamics 365 Finance & Operations and matches them with CRM data. If the VAT ID is missing in the CRM, it’s supplemented from the ERP. If the commercial register number in CRM and ERP differ, a data quality alert is triggered, possibly two legally different entities are consolidated under the same account.
A practical example: A machinery manufacturer creates a new account “ABB Sécheron” in the CRM. The Data Cloud queries the DUNS Number and finds: “ABB Sécheron SA, Geneva, DUNS 549876234, Parent: ABB Ltd, DUNS 532198765”. The hierarchy link is automatically suggested. Sales confirms, the account is correctly classified as subsidiary under “ABB Ltd”. Without DUNS query, “ABB Sécheron” might have been classified as an independent corporation, resulting in all revenues and contracts being incorrectly aggregated.
The identifier logic also prevents technical duplicates: When the same account is created through different paths (CRM form, ERP sync, lead import), the Data Cloud recognizes the match based on the DUNS Number and merges the records instead of creating separate accounts. This is particularly critical in international organizations where different branches serve the same corporate client in parallel and potentially create them multiple times in the system.
What MARINI does differently in machinery manufacturing
The challenge in machinery manufacturing isn’t that CRM systems can’t handle hierarchies, most offer parent-child relationships. The challenge is synchronizing these hierarchies across a heterogeneous system landscape and dynamically aggregating metrics across all levels. MARINI, the platform for Customer Intelligence, with Data Integration, Data Cloud and Agentic, addresses three points that standard integrations don’t deliver.
First: Hierarchical DataEngine Data Objects as central construct. Instead of flat account lists, the Data Cloud manages structured hierarchy trees with type definition per level (Corporation, Subsidiary, Plant, Profit Center). Each Data Object knows its position in the hierarchy and can both aggregate data upward (revenue, contracts, KPIs) and propagate downward (discounts, conditions, contract changes). This logic is natively implemented in the DataEngine, no custom code, no manual aggregation reports.
Second: Bidirectional hierarchy synchronization via HubEngine. The hierarchy structure isn’t maintained only in CRM or ERP, but consolidated in the Data Cloud as single source of truth. Changes (a plant is assigned to another subsidiary, a subsidiary is sold) are performed in the DataEngine and automatically synchronized to all connected systems, CRM, ERP, service system, product configurator. The HubEngine ensures all systems have the same hierarchy view without each system needing to be manually adjusted.
Third: Integration of hierarchy with duplicate detection and cross-sell logic. Hierarchical accounts are prone to duplicates: “Bosch Rexroth AG” vs. “Bosch-Rexroth AG” vs. “Bosch Rexroth” are created as separate accounts, even though they designate the same legal entity. The MARINI Data Cloud combines duplicate detection with hierarchy logic: Potential duplicates are recognized not only by name and address, but also by DUNS Number and VAT ID. Confirmed duplicates are consolidated, their hierarchy relationships are merged. Conversely, the cross-sell logic uses the hierarchy structure to identify potential: “Plant A has Machine X installed, Plant B (same subsidiary) has Machine Y, cross-sell potential for compatible accessories.”
A concrete example: A German machinery manufacturer uses Dynamics 365 Sales as CRM and SAP S/4HANA as ERP. The corporate structure of top customers (ABB, BASF, Siemens, Bosch) is mapped differently in both systems, in CRM by sales territories, in ERP by legal entities. MARINI Data Cloud consolidates both views in a hierarchical structure and synchronizes them bidirectionally: New legal entities from SAP are automatically transferred to CRM and correctly placed in the hierarchy. New plants from CRM are replicated to ERP and provided with the correct company code logic. KPIs are aggregated across all systems: “Total Bosch Corporation revenue” is composed of CRM opportunities (weighted by probability), ERP orders (invoiced), and service contracts (recurring). All three sources flow into a consolidated KAM dashboard that updates in real-time.
MARINI Professional Services accompany machinery manufacturers in implementing hierarchical account structures, from defining hierarchy levels through data cleansing (which accounts belong together?) to setting up sync logic and training KAMs. The result: A consolidated view of corporate clients that finally answers the question every account review begins with: “How much business do we really do with this customer?”



