Systems case / 02 · Capability → platform responsibility

Designing the system boundaries behind a global commercial platform

A fictional, composite case: leadership asked for “one commercial platform”. The work was to decide what each platform inside it is for—and what it must not become.

Fictional scenario

Independently created. Contains no employer or client implementation detail, internal names or figures.

The case in brief

Current reality

Everyone talks about “one commercial platform”, but a website, a CRM, an integration layer, several ERPs and a data platform all take part—and without explicit boundaries every new requirement drifts into the CRM.

What must become true

Users work in one coherent commercial environment, while each platform has one clear role, explicit responsibilities and non-responsibilities, the concepts it is authoritative for, declared interfaces—and a reason to be in the architecture.

Design question

Which commercial capability belongs to which platform—and which boundaries should not be erased just to make the experience look unified?

01The reality · current state

What the platform looks like today.

A fictional global B2B manufacturer sells through its own subsidiaries, through distributors and through a growing digital channel. Several platforms take part in every commercial moment: web forms and portals capture demand, the CRM runs the relationship, an integration layer moves requests and outcomes, each subsidiary’s ERP executes orders and invoices, and a data platform keeps the history. Each project so far solved its own need by adding data or logic to the CRM—because that is where the users are.

  • Customer, product, price, stock and order data are copied into the CRM “so users see everything”
  • Order status can be changed in two places, and nobody knows which one is right
  • Retry counters and error states are stored as CRM fields that sales users can edit
  • Historical analysis runs on CRM reports that were never designed to hold history
  • Order-execution steps are rebuilt as CRM automation, next to the ERP’s own controls
  • Every new request asks “can the CRM do it?” instead of “where does this belong?”

02The boundary problem

What is mixed today.

The CRM was slowly becoming four systems at once. Each request was reasonable on its own; together they erased the boundaries.

  • A partial ERPPrices, stock and order states copied and edited in the CRM, drifting away from the transactional truth.
  • A partial data warehouseYears of transactions loaded for reports the CRM was never designed to run.
  • A workflow engineOrder-execution steps rebuilt as CRM automation, duplicating controls the ERP already enforces.
  • An integration hubRetry counters, payload copies and error states kept on business records.

03Key dimension · Capability → platform responsibility

One capability, one owner—and declared secondary roles

The matrix starts from business capabilities, not from products. For each one: where its truth is created, where the work is done, who orchestrates, who only consumes—and what must not move.

Capability to platform responsibility: for each business capability, what each platform does with it
Business capabilityDigitalCRMIntegrationERPDataWhat must not move
Customer relationshipConsumesOwnsNo roleConsumesConsumesThe ERP customer is a legal identity, not the relationship.
Lead & opportunityActs onOwnsNo roleNo roleDerivesPortals capture demand; qualification stays in the CRM.
Activities & commercial planningNo roleOwnsNo roleNo roleDerivesPlans live where sellers act on them.
Quotes & proposalsConsumesOwnsOrchestratesConsumesNo roleA quote is a proposal; it becomes an order only in the ERP.
Price conditionsConsumesConsumesNo roleOwnsDerivesThe CRM reads the price a quote needs; it never maintains conditions.
Product & stockConsumesConsumesNo roleOwnsDerivesAvailability is shown to sellers, not stored as CRM truth.
Order execution & invoicingConsumesConsumesOrchestratesOwnsDerivesStatus is visible in the CRM and never edited there.
Legal & transactional customerNo roleConsumesOrchestratesOwnsConsumesIssued by the ERP after validation; the CRM keeps a reference.
Integration delivery stateNo roleConsumesOwnsConsumesNo roleShown to users as a status—never a business field.
History & performance signalsNo roleConsumesNo roleConsumesOwnsThe CRM receives signals, not years of transactions.
Owns
Where its truth is created and changed
Acts on
Where part of the work is done
Orchestrates
Moves it across platforms
Consumes
Uses it without changing it
Derives
Computes something new from it

A unified user experience does not require unified system ownership.

The resulting pattern · reference architectureGlobal B2B commercial platform

04Data authority

Who may create, change, read or derive each concept.

Highlight
Data authority by business concept: which system may create, update, read or derive each concept
Business conceptDigitalCRMIntegrationERPData platform
Commercial relationshipCreated and changed in the CRM; the portal shows what the relationship allows.ReadCreateUpdateReadNo authorityRead
Opportunity & quoteA commercial proposal, not an order. The ERP receives it only when it becomes a transaction.No authorityCreateUpdateReadReadRead
Price conditionsMaintained where they are executed. The CRM reads the price a quote needs.ReadReadReadCreateUpdateRead
Order & invoiceTransactional truth stays in the ERP; the CRM shows a summary it cannot edit.ReadReadReadCreateUpdateRead
Delivery state of a requestPending, delivered, rejected or unknown—owned by the integration layer, shown in the CRM as a status and never edited there.No authorityReadCreateUpdateNo authorityNo authority
Commercial signalsDerived from history in the data platform and published where people act on them.No authorityReadNo authorityNo authorityDerive

No system owns a whole record here. Authority sits with each concept—and sometimes changes hands when the lifecycle does.

05Interaction design

What crosses a boundary, when—and why.

What crosses each boundary is a business state with an identity and an owner—not one API calling another.

Interactions across system boundaries: the business event, what crosses, the identity that travels, the state, who stays authoritative and the timing
Business eventIdentityStateWho stays authoritativeTiming
An enquiry is submittedCrosses: Digital → CRMSubmission ID and party-match candidatesEnquiry received—not yet a leadThe CRM decides whether it is a lead; the portal only confirms receiptAsynchronous: the visitor gets an acknowledgement, not a decision
A quote needs a priceCrosses: CRM → ERP (read)Item and ERP customer referenceA price proposal for this quoteThe ERP stays authoritative; the quote records the price used and whenOn demand, at quote time
A won deal becomes an orderCrosses: CRM → integration → ERPOpportunity ID, ERP customer number, correlation IDCommercially committed; order requestedThe ERP decides whether the order exists; the CRM continues once the outcome arrivesAsynchronous command with an explicit pending state
An order ships or is invoicedCrosses: ERP → integration → CRMOrder number and ERP customer numberOrder status summaryRead-only in the CRMAn event whenever the state changes
History becomes a signalCrosses: ERP → data platform → CRMCommercial account and periodA derived signal: trend, gap or riskThe data platform derives it; the CRM acts on itPublished per period

06Failure & recovery

Rejected, late, uncertain or unavailable.

Every boundary needs a designed answer for rejection, delay and uncertainty—otherwise the CRM absorbs the workaround.

Failure and recovery: the situation, the designed response, who repairs it and how it is detected
SituationDesigned responseWho repairs itHow it is detected
The ERP rejects an order requestThe opportunity stays won; the request shows a reason code and returns to its commercial ownerCommercial owner, with order managementA rejection event with a stable reason code
No answer arrivesTreated as unknown, not failed: the ERP is queried by correlation ID before any retryIntegration supportPending beyond its expected window
The price read is unavailableThe quote can be prepared but not issued; the last price used is shown with its dateSeller, then pricingA failed read at quote time
A copy drifts from its sourceReconciliation compares references and states; the source wins and the difference is loggedCRM platform ownerA scheduled reconciliation run

07Candidate architectures

Credible options, judged against these premises.

Rejected

Make the CRM the single commercial system

Small, single-entity operations

Cost: The CRM becomes a partial ERP, warehouse and hub; every change is risky
Rejected

Let each project decide where its data lives

Fast local delivery

Cost: Duplicated truth and point-to-point coupling
Selected

One owning platform per capability, one experience through declared interfaces

A multi-entity estate with several ERPs

Cost: Needs a capability map, interface contracts and a boundary owner

Design decision

Give every commercial capability one owning platform—the one where its truth is created—let the CRM present and act on the rest through declared interfaces, and keep the integration layer responsible for delivery, never for business truth.

08Resulting architecture

Every platform, one job—and a boundary.

What each platform owns in this design, and what it deliberately does not. These are the responsibilities for this context, not universal rules.

Systems and partiesWebsite & portalsCRMIntegration layerERPsData platform

Website & portals

Where demand enters
Owns
  • Capturing enquiries and requests
  • Self-service views for customers and partners
  • Consent at the point of capture
Deliberately does not own
  • Qualification decisions
  • Customer identity after validation
  • Prices beyond what is published

CRM

Where the commercial relationship is run
Owns
  • Relationship, lead and opportunity state
  • Activities, plans and commercial approvals
  • The quote as a commercial proposal
  • Presenting operational context to sellers
Deliberately does not own
  • Price conditions and stock
  • Order execution and invoicing
  • The delivery state of integrations
  • Historical analytics

Integration layer

How state crosses a boundary
Owns
  • Delivery state of every request
  • Mapping between models
  • Correlation, replay and reconciliation runs
Deliberately does not own
  • Any business decision
  • The truth of the records it moves

ERPs

Where transactions are executed
Owns
  • Legal and transactional customer
  • Item master, price conditions and stock
  • Orders, deliveries and invoices
Deliberately does not own
  • The commercial pipeline
  • Relationship context

Data platform

Where history becomes signals
Owns
  • Conformed history across systems
  • Derived commercial signals and KPIs
Deliberately does not own
  • Operational decisions
  • Editing any source record

09Governance & operations

Who owns the boundary over time.

Boundaries erode one request at a time unless someone owns them.

Governance: what is governed, by whom, how often and on what evidence
WhatOwnerCadenceEvidence
The capability ownership mapPlatform architecture boardWith every request that would move a capabilityRequests that ask a platform to take on a new role
Interface contractsIntegration ownerVersioned on every changeContract changes and the consumers they affect
Copies held in the CRMCRM platform ownerQuarterlyReplicated domains, their volume and their use

10The second layer

Questions that change the architecture.

Ownership

  1. Where is this truth created—and where is it only changed by accident?
  2. Does the CRM need the fact, or a useful representation of it?
  3. Who owns the definition of each concept?

Experience

  1. Which views must feel unified to the user?
  2. Which boundaries must stay visible, even on one screen?
  3. What does the user see while another system decides?

Change

  1. Which request would move a capability—and who approves it?
  2. What must stay transactional, and what belongs to analytics?
  3. Where does orchestration live?

11Decisions & outputs

What the work produces.

  1. 01Capability ownership map
  2. 02Platform role statements
  3. 03Non-responsibilities per platform
  4. 04Interface catalogue
  5. 05Boundary review process
  6. 06Reference architecture