When two manufacturers merge their ERP estates, the access control work almost always starts with a role mapping table. Someone exports the role lists from both systems, places them side by side, and starts drawing lines between them - Sales Manager East on the left, Regional Sales Director on the right.

That artifact is wrong, and wrong in a way that can stay hidden for a year.

A role in an ERP is not just a set of permissions. It is a permission set plus an implicit data scope, and the scope often carries most of the meaning. The Plant Controller for Plant 3 and the Cost Accountant can have access to the same transaction codes and still be authorized to do entirely different things because one is scoped to a plant and the other to a cost center.

RoleTransaction CodesData ScopeWhat They Can Actually Do
Plant Controller (Plant 3)SamePlantAct on data within Plant 3
Cost AccountantSameCost centerAct on data within their cost center

What you are mapping is not roles. It is relations.

2.1 Pull the Relation Vocabulary Before the Role List

Review both ERP environments and identify the relationships that actually determine access. In manufacturing, these typically include:

Owns

Account ownership

A user owns an account.

Manages

Territory management

A user manages a territory containing specific accounts.

Belongs to

Plant membership

A user belongs to a plant.

Supervises

Reporting line

A user supervises an employee.

Approves

Approval authority

A user has approval authority above a defined threshold for an entity.

Assigned to

Product line assignment

A user is assigned to a product line that contains specific items.

Both companies will have many of these relationships. They will not necessarily implement them the same way.

SystemHow Sales Visibility Is ControlledAccess Is Granted
Legacy ABy territoryBased on territory membership
Legacy BSpecific accounts assigned to individual usersAccount by account

After the merger, you need to decide which approach becomes the standard, or maintain both and deal with two separate authorization paths.

That choice should be an architectural one, not one dictated by whichever migration script is written first.

Relations Settle After Object Types

Relations point to objects, so you must resolve the object model first: account, order, plant, cost center, price list, item, employee record, warehouse, and legal entity. They may all exist in both ERP estates, but under different names and at different levels of granularity.

👥

Customer granularity

One system may authorize at the customer-parent level while another works at individual sold-to accounts.

🏭

Warehouse boundaries

One may consider warehouse locations part of a plant, while another treats them independently.

Until these object boundaries are resolved, the relationship model cannot be trusted.

It is essentially the item master problem applied to authorization: upstream of everything and often discovered after downstream work has already started.

Figure Out the Relations That Cross the Entity Boundary

This is where the merger-specific complication begins. Before the merger, most relationships existed within a single entity. Now a rep from legacy A can sell a legacy B product line into an account previously owned by legacy B, with fulfillment coming from a plant inherited from A.

The relation "owns account" now requires more context. Whether a user can see margin on an order may depend on:

  • which entity booked the order,
  • which entity manufactured it,
  • which product line is involved, and
  • when ownership of the account changed.

Entity context therefore needs to be part of the authorization model, not an assumption hidden inside a role.

Decide Whether Relationships Need to Be Tracked Over Time

Access control is not only about who can see something today; during an audit, you may need to show who had access at a specific point in the past, such as March.

The relationship model most teams use, based on tuples of object, relation, and subject, is essentially a current-state model. It efficiently answers authorization questions about now. Historical reconstruction requires versioned relationships or another authoritative history store.

If territory ownership shifts on April 1, simply replacing the relationship may remove the previous assignment from the current authorization state. Supporting historical access means preserving effective dates and, ideally, the policy version that interpreted those relationships at the time.

Deciding not to support historical evaluation is defensible. Not making the decision is what creates the problem.

The first post-consolidation audit can produce a question the system structurally cannot answer, leaving the team to reconstruct access manually from change logs and migration records.

Budget for Evaluation Depth Before Designing Relationship Chains

In manufacturing, access decisions can span multiple connected objects. A user may be linked to a plant, cost center, work order, item, and standard cost. As those chains grow, each additional relationship can add lookup and evaluation overhead, making performance an important consideration when designing the authorization model.

If someone opens one order, a few milliseconds for an authorization check does not matter. The same approach becomes expensive when a consolidated margin report returns forty thousand rows.

This creates an important technical distinction: point authorization and list authorization are two different workloads.

WorkloadExample QuestionHow It Is Handled
Point authorization"Can this user view order 12345?"Evaluated through the relationship graph
List authorization"Return every order this user can view"Generally cannot be implemented by running the same check tens of thousands of times. Usually requires reverse indexes, materialized permissions, authorization-aware query filters, or cached access sets

That introduces another problem: invalidation. If a salesperson's territory changes on the first of the month, all derived account permissions based on that relationship may change as well.

The system needs to propagate the change quickly enough that cached authorization does not continue granting stale access.

2.2 AI Makes the Authorization Model More Important, Not Less

Once an AI assistant can query orders, summarize customer margins, create transactions, or operate across ERP and WMS systems, authorization can no longer stop at the application screen. The AI needs to inherit the authorization context, relationships, and constraints of the user or process it represents.

A sales copilot asked to "show me our highest-margin accounts" should not simply retrieve every account the underlying model or application can technically reach. The request still has to respect:

🔐

Account access

Which accounts the user is allowed to access.

🏢

Legal entity

Which legal entity booked the revenue.

📦

Product line scope

Which product lines are within scope.

💲

Margin visibility

Whether that user is permitted to see margin data.

Agentic workflows make this more important because one task can cross several systems. An AI agent might:

01

Start in CRM

The task begins with customer and account context.

02

Retrieve pricing from ERP

The agent crosses into the ERP for pricing data.

03

Check inventory in WMS

The agent queries the warehouse management system.

04

Initiate an approval workflow

The agent triggers an action on the user's behalf.

The relevant authorization context needs to survive that chain rather than being lost when the agent crosses an application boundary.

2.3 The Warehouse Is the Last Part Left

WMS and execution systems have their own access models, often cruder than the ERP model: badge, terminal role, work area, supervisor, shift, or equipment qualification.

But authorization in a warehouse depends on relationships that often live in HR: who reports to whom, who is qualified on which equipment, who belongs to which facility, and who is currently scheduled on a shift.

Post-merger, there may be two WMS platforms and two HR systems. A relation such as "supervises" has to resolve consistently across all four before it can safely authorize a labor transaction or operational override.

Qualification also introduces time into the model. An individual may be qualified to operate equipment today and not next month. These operational relationships can therefore require effective dates and expiration rather than simple present-or-absent membership.

Why the Role Mapping Table Belongs Later

This is why the role mapping table belongs later in the consolidation:

01

Define the objects

Resolve the object model and its boundaries first.

02

Define the relationships

Identify the relationships between those objects.

03

Identify system owners

Determine which systems own that data.

04

Work through cross-entity scenarios

Bring entity context into the model.

05

Decide on historical access

Choose how historical access should be handled.

06

Account for depth and bulk queries

Plan for evaluation depth and list authorization.

07

Map the legacy roles

Only then map legacy roles into the new structure.

At that point, roles become useful again as a projection of a relationship model whose semantics are already understood.

We are mapping how this is being handled across specialty vehicle and safety equipment manufacturing, a segment that has changed ownership faster in the last eighteen months than in the previous ten years.

The important question is not how two role catalogs get combined. It is whether the authorization model underneath them can represent the relationships the combined manufacturer actually operates on.

And increasingly, that question extends beyond employees. ERP consolidation is no longer only about whether people can access the correct data. The authorization architecture being built today will also determine whether future AI assistants and agents can safely operate across the combined enterprise.

FAQs

Why is a role mapping table the wrong starting point in an ERP merger?
A role in an ERP is not just a set of permissions. It is a permission set plus an implicit data scope, and the scope often carries most of the meaning. Two roles with the same transaction codes can be authorized to do entirely different things, so mapping role names side by side hides the real differences.
What should be defined before relationships in a ReBAC model?
The object model. Relations point to objects such as account, order, plant, cost center, price list, item, employee record, warehouse and legal entity. These may exist in both ERP estates under different names and at different levels of granularity, and the relationship model cannot be trusted until those boundaries are resolved.
Why does entity context matter after a merger?
After a merger, relationships cross entity boundaries. Whether a user can see margin on an order may depend on which entity booked it, which entity manufactured it, which product line is involved and when account ownership changed. That context needs to be part of the authorization model, not hidden inside a role.
Does a ReBAC system need to track access history?
Most tuple-based relationship models are current-state models. If audits require showing who had access at a past point in time, you need versioned relationships or another authoritative history store with effective dates. Choosing not to support this is defensible; not making the decision at all is what creates problems at the first audit.
What is the difference between point and list authorization?
Point authorization answers a single question, such as whether a user can view one order, and can be evaluated through the relationship graph. List authorization returns every object a user can view, which usually requires reverse indexes, materialized permissions, authorization-aware query filters or cached access sets, along with a plan for invalidating them when relationships change.
How does AI affect ERP authorization design?
AI assistants and agents need to inherit the authorization context, relationships and constraints of the user or process they represent. When an agent works across CRM, ERP and WMS in one task, that context must survive each application boundary rather than being lost along the way.

Get Your Authorization Model Right Before You Merge Roles

Set up a consultation with GrayCyan to map the objects, relationships and entity context behind your ERP consolidation.

Schedule a Consultation