Systems case / 04 · Visibility without authority

Designing product, pricing, stock and transaction visibility without turning CRM into ERP

A fictional, composite case: sellers need products, prices, stock, orders and invoices in front of them. The work was to decide how much of the ERP the CRM should actually hold.

Fictional scenario

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

The case in brief

Current reality

Sellers need operational context from the ERPs—products, prices, stock, open orders, invoices—and the default answer has been “sync everything into the CRM”.

What must become true

Sellers see enough product, price, availability and transaction context to make commercial decisions—at the freshness each decision actually needs—while product, price, stock, order and invoice truth stays in the systems built to execute them.

Design question

Which ERP information should the CRM own, replicate, summarize, derive—or simply reference?

01The reality · current state

What the platform looks like today.

A fictional B2B manufacturer sells a large catalogue through several subsidiaries, each with its own ERP, warehouses and price conditions. Sellers prepare quotes, visit customers and follow up orders in the CRM, but the answers they need—what can be sold, at what price, whether it is available, what the customer has open or owes—live in the ERPs. Every request for visibility so far has been answered by copying another table into the CRM.

  • The CRM holds a full copy of the item master, most of which no seller ever quotes
  • Prices copied overnight are wrong by the afternoon, so sellers phone the back office to confirm them
  • Stock appears as one number, although availability depends on warehouse and selling company
  • Order lines and invoices are replicated in full—the ERP’s volume without the ERP’s controls
  • Users edit copied fields, and the next load silently overwrites them
  • Nobody can say which copy a report used, or how old it was

02The boundary problem

What is mixed today.

“Seeing” and “owning” were treated as the same request. Every time a seller needed to see something, the CRM ended up holding it.

  • Seeing vs owningA price shown on a quote became a price maintained in the CRM.
  • Commercial product vs ERP itemOne commercial product maps to several items, plants and variants; the copy assumed one-to-one.
  • Current state vs historySellers needed to know what is open now; the copy brought years of lines.
  • Fact vs signalA declining customer is a signal derived from transactions—not a reason to load every invoice.

03Key dimension · Visibility without authority

Where each domain lives—and what the CRM does with it

Every row answers the same questions: which system can change it, what the seller actually needs, how it reaches the CRM, how fresh it must be—and which decision it changes.

Information placement: for each domain, where it is authoritative, what the CRM needs, how it gets there, how fresh it must be and which decision it serves
DomainAuthoritative systemWhat the CRM needsInteraction modeRequired freshnessWhy the seller needs it
ProductERP item master; the commercial structure is kept for sellingSellable commercial products and their structure—not every item, plant and variantReplicated subsetA filtered subset of what can be quotedDaily; changes are rare and plannedWhat can I offer this customer?
PricingERP price conditions per selling company and channelThe price for this customer, item and quantity when quoting—and the price used, recorded on the quoteRead on demandRead at quote timeAt the moment of quotingWhich price do I commit to?
Stock & availabilityERP per warehouse and selling companyAvailability for the customer’s delivery location—not a global totalRead on demandQueried when asked, never storedCurrent, at the moment of askingCan I promise a date?
OrdersERPOpen orders and their status per accountReplicated subsetA read-only summary, updated by status eventsWithin the hour of a changeWhat does the customer have open—and what is late?
InvoicesERP—the financial truthAn overdue indicator and a link to the documentReferencedReferenced and opened in the sourceIndicator daily; document on demandIs there a payment issue before I visit?
Commercial signalsData platform, derived from ERP historyTrend, gap and risk per account and periodDerived signalA published signal with its definition versionPer periodWhere should I spend my time?

Visibility is not authority. Do not move a transaction into the CRM when a governed commercial signal is enough.

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 conceptCRMIntegrationERPData platform
Commercial productThe sellable structure the CRM offers, mapped to one or many ERP items.CreateUpdateReadReadRead
ERP item & plant dataMaintained in the ERP; the CRM holds only the subset that can be quoted.ReadReadCreateUpdateRead
Price conditionsNever copied as editable data. The quote stores the price it used and when.ReadReadCreateUpdateRead
AvailabilityRead at the moment of asking, for the customer’s delivery location—never stored as CRM truth.ReadReadCreateUpdateNo authority
Order status summaryRead-only in the CRM; changes arrive as events from the ERP.ReadReadCreateUpdateRead
Invoice & payment standingFinancial truth stays in the ERP; the CRM shows an indicator and links to the document.ReadNo authorityCreateUpdateRead
Commercial signalsDerived from history with a published definition; the CRM consumes them.ReadNo 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.

Each read and each event is designed around the decision it serves—and around what the seller sees when the answer does not come.

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
A seller prices a quote lineCrosses: CRM → integration → ERP (read)Commercial product → ERP item, ERP customer number, selling companyPrice for this customer, item and quantityThe ERP stays authoritative; the quote keeps the price used and a timestampSynchronous read with a short timeout
A seller asks whether it can shipCrosses: CRM → integration → ERP (read)ERP item and the customer’s delivery locationAvailability and the earliest dateRead-only; nothing is stored in the CRMOn demand
An order changes statusCrosses: ERP → integration → CRMOrder number and ERP customer numberStatus summary (confirmed, delayed, shipped, invoiced)The CRM displays it and cannot edit itAn event on each change
A period closesCrosses: ERP → data platform → CRMCommercial account and periodSignals: trend, gap to target, riskThe data platform derives them with a definition versionPublished per period

06Failure & recovery

Rejected, late, uncertain or unavailable.

Visibility that fails silently is worse than no visibility: the seller must always know what they are looking at.

Failure and recovery: the situation, the designed response, who repairs it and how it is detected
SituationDesigned responseWho repairs itHow it is detected
The price read times outThe line keeps its last price, labelled with its date, and the quote cannot be issued until it is confirmedSeller, with pricing supportTimeout at quote time
Availability cannot be readThe seller sees “availability unknown”, never a stale numberIntegration supportFailed or slow read
A status event is lostA periodic reconciliation compares open orders and restores the summary; the ERP winsCRM platform ownerReconciliation run
A commercial product has no valid item for a companyIt is not offered for that company; the mapping gap goes to product managementProduct managementMapping check on publication

07Candidate architectures

Credible options, judged against these premises.

Rejected

Replicate everything into the CRM

A small catalogue and one ERP

Cost: Stale copies, volume, duplicated truth, users editing copies
Rejected

Show nothing; send sellers to the ERP

Back-office-led sales

Cost: Sellers lose context; parallel spreadsheets appear
Selected

Placement per domain: a small replicated subset, on-demand facts, read-only summaries, derived signals

Several ERPs, a large catalogue, field sales

Cost: Needs read contracts, explicit “unknown” states and an owner for placement

Design decision

Decide placement domain by domain, from purpose, authority, grain, freshness and volume: replicate only a small, stable commercial subset; read volatile facts on demand at the moment of decision; show transactions as read-only summaries that link to the source; and replace transaction history with governed signals.

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 partiesCRMIntegration layerERPsData platform

CRM

Where commercial decisions are taken
Owns
  • The quote and the price it committed to
  • The commercial product structure sellers offer
  • Presenting summaries, statuses and signals
Deliberately does not own
  • Price conditions
  • Stock and availability
  • Order, delivery and invoice truth

Integration layer

Reads and events across the boundary
Owns
  • On-demand read contracts (price, availability)
  • Status events for orders
  • Caching rules and timeouts for reads
Deliberately does not own
  • The values it returns
  • What the seller decides

ERPs

Transactional truth per selling company
Owns
  • Item master and plant data
  • Price conditions per channel and customer
  • Stock per warehouse
  • Orders, deliveries and invoices
Deliberately does not own
  • The commercial product view
  • Commercial signals

Data platform

History turned into signals
Owns
  • Transaction history at a conformed grain
  • Signals per account and period, with a definition version
Deliberately does not own
  • Operational values sellers act on at quote time

09Governance & operations

Who owns the boundary over time.

Placement is a decision that has to survive the next request to “just add a field”.

Governance: what is governed, by whom, how often and on what evidence
WhatOwnerCadenceEvidence
The placement matrixCRM platform owner, with the ERP ownersWith every visibility requestRequests to replicate a new domain or field
Product–item mappingProduct managementOn each catalogue publicationCommercial products without a valid item per company
Signal definitionsData platform ownerVersioned per changeSignals consumed in the CRM and their definition version

10The second layer

Questions that change the architecture.

Purpose

  1. Which commercial decision changes because this is visible?
  2. Does the seller need history—or only the current state or a signal?
  3. Who acts on it, and when?

Authority & grain

  1. Which system can change it?
  2. What does one record mean—and does one commercial product map to one item or many?
  3. Does the value depend on warehouse, company or channel?

Freshness & cost

  1. How current must it really be at the moment of decision?
  2. What does copying it cost in volume, coupling and drift?
  3. What does the seller see when the source does not answer?

11Decisions & outputs

What the work produces.

  1. 01Information placement matrix
  2. 02Freshness requirement per decision
  3. 03Product–item mapping rules
  4. 04Read contracts for price and availability
  5. 05Commercial signal definitions
  6. 06Replication review