Designing a quote-to-order process with clear ownership
A fictional B2B case: quote versions, approval thresholds, revision rules and the CRM/ERP boundary—designed so an approval means the same thing on the order as it did on the quote.
Independently created. Contains no employer or client implementation detail, internal names or figures.
01The outcome
Every order traces to one accepted quote version, whose approval covers exactly the values it contains—and ERP feasibility is known before the customer is asked to accept.
Quotes change after approval, and the ERP rejects orders the customer has already accepted.
Approval model & revision rules
Bind each approval to a quote version and its values, and move ERP feasibility checks before approval instead of after acceptance.
A B2B commercial organization quotes in the CRM, approves deviations from pricing policy and creates orders in the ERP. Quotes, approvals and orders drift apart: approved quotes are edited, orders are keyed from email attachments, and the ERP rejects orders the customer has already accepted.
02The reality · current state
What actually happens today.
- Several quote versions circulate, and nobody knows which one the customer accepted
- Approval thresholds are unclear, so either everything or nothing goes to approval
- Sales can change a quote after approval without anyone noticing
- The ERP validates the order only after the customer has said yes
- Rejected quotes come back by email, without a reason or a version
- Orders are not tied to a quote status, so orders appear without an accepted quote
03Target process
7 stages, 4 roles, 2 systems.
Each stage sits in the lane that owns it and shows what happens in each system at that moment. Select a stage for its anatomy; read the model through controls, exceptions or automation fit.
Commercial validation
- Trigger
Quote submitted
- Decision
Can this quote become a valid order—customer, products, terms and credit?
- Owner
Order management
- System action
Integration runs an ERP pre-check: orderable products, allowed payment terms, credit status
- Data state
Quote v1 · Validated
- Next stage
04 Commercial approval
- Customer credit status
- Product orderability
- Payment terms allowed for the legal entity
- ERP rules are checked before approval—not after the customer accepts
- The pre-check writes nothing to the ERP
- Pre-check fails — Returns to draft with the failing rule namedDetected: ERP pre-check · Owner: Sales · Returns to 02 Quote draft
Automate. A read-only check against ERP rules is deterministic and reversible.
- Trigger
Quote submitted
- Decision
Can this quote become a valid order—customer, products, terms and credit?
- Owner
Order management
- System action
Integration runs an ERP pre-check: orderable products, allowed payment terms, credit status
- Data state
Quote v1 · Validated
- Next stage
04 Commercial approval
Information required- Customer credit status
- Product orderability
- Payment terms allowed for the legal entity
Controls- ERP rules are checked before approval—not after the customer accepts
- The pre-check writes nothing to the ERP
Exceptions- Pre-check fails — Returns to draft with the failing rule namedDetected: ERP pre-check · Owner: Sales · Returns to 02 Quote draft
Automation suitabilityAutomate. A read-only check against ERP rules is deterministic and reversible.
- Trigger
04Key dimension · Approval model & revision rules
Revision rules: what a change does to an approval
The approval is bound to a version and its values. A change after approval is classified by a published rule—not debated in the approver’s inbox.
Every change creates a new version. Whether that version needs a new decision is a published rule—not the salesperson’s judgement.
05Ownership & decision rights
One accountable role per decision.
| Decision | Sales | Sales mgmt | Commercial ops | Order mgmt | Finance | Platform ops |
|---|---|---|---|---|---|---|
| 02Propose price, conditions and terms | A Accountable | Not involved | C Consulted | I Informed | Not involved | Not involved |
| 04Approve a deviation from pricing policy | R Responsible | A Accountable | C Consulted | Not involved | I Informed | Not involved |
| 04Approve non-standard payment terms | R Responsible | C Consulted | Not involved | Not involved | A Accountable | Not involved |
| 05Decide whether a change needs re-approval | R Responsible | C Consulted | A Accountable | Not involved | Not involved | Not involved |
| 06Correct an order the ERP rejected | C Consulted | Not involved | Not involved | A Accountable | Not involved | R Responsible |
| 04Set approval thresholds | Not involved | A Accountable | R Responsible | Not involved | C Consulted | Not involved |
- 02Propose price, conditions and terms
- AAccountable
- Sales
- CConsulted
- Commercial ops
- IInformed
- Order mgmt
- 04Approve a deviation from pricing policy
- AAccountable
- Sales mgmt
- RResponsible
- Sales
- CConsulted
- Commercial ops
- IInformed
- Finance
- 04Approve non-standard payment terms
- AAccountable
- Finance
- RResponsible
- Sales
- CConsulted
- Sales mgmt
- 05Decide whether a change needs re-approval
- AAccountable
- Commercial ops
- RResponsible
- Sales
- CConsulted
- Sales mgmt
- 06Correct an order the ERP rejected
- AAccountable
- Order mgmt
- RResponsible
- Platform ops
- CConsulted
- Sales
- 04Set approval thresholds
- AAccountable
- Sales mgmt
- RResponsible
- Commercial ops
- CConsulted
- Finance
06Exceptions & failure paths
10 exception paths, each with an owner and a destination.
Quote creation waits until the billing entity is identified
- Detected by
- Quote creation check
- Owner
- Sales
- Route
- Blocked until the account is resolved
Special price requested before the quote can be submitted
- Detected by
- Pricing rule
- Owner
- Commercial management
- Route
- Special-price request
Returns to draft with the failing rule named
- Detected by
- ERP pre-check
- Owner
- Sales
- Route
- Returns to 02 Quote draft
A new draft version with the reason code
- Detected by
- Approver
- Owner
- Sales
- Route
- Returns to 02 Quote draft
Escalates to the next approver
- Detected by
- SLA clock
- Owner
- Commercial management
- Route
- Escalates one level
A new version; the revision rules decide whether it needs re-approval
- Detected by
- Sales
- Owner
- Sales
- Route
- Returns to 02 Quote draft
Re-validated against current prices and ERP rules
- Detected by
- Validity date
- Owner
- Sales
- Route
- Returns to 03 Commercial validation
Correction queue with the ERP reason; Sales informed; the quote stays accepted
- Detected by
- Integration outcome
- Owner
- Order management
- Route
- Correction queue with a named owner
Reconciled by key; never re-submitted blindly
- Detected by
- Integration monitor
- Owner
- Platform operations
- Route
- Reconcile by key before any retry
Variance reviewed before the confirmation is sent
- Detected by
- Price comparison
- Owner
- Commercial management
- Route
- Price-variance review
07Process ↔ system
The process question first. Then the system question has an answer.
- Process question: P1What exactly is being approved—price, margin, conditions or terms?
- System question: S1Which quote fields lock on approval, and which stay editable?
- Process question: P2Does a change after approval invalidate it?
- System question: S2How does a new version carry—or drop—the previous approval?
- Process question: P3When may an order be created?
- System question: S3Which event creates it, and what guarantees one order per accepted version?
- Process question: P4Who owns correcting an order the ERP rejected?
- System question: S4Where does the rejection land, with which reason, visible to whom?
08The second layer
Questions that change the design.
The approval
- What exactly is being approved—price, margin, commercial conditions or payment terms?
- Who owns each of those decisions?
- Which quotes can be approved by rule and audited?
After approval
- Can the quote change after approval?
- Does a modification invalidate the approval—always, or by rule?
- How long does an approval stay valid?
Order creation
- What happens when the ERP rejects the order?
- Who owns the correction—and does the customer hear about it?
- Can one accepted quote produce two orders?
09Measurement
Process health, defined by owner and action.
No values are shown: in a design, the definition is the deliverable.
First submission to order confirmation — median and 90th percentile
- Owner
- Commercial management
- Triggers
- Locate the waiting: approval, customer or ERP
Submission to decision, by deviation type
- Owner
- Sales management
- Triggers
- Adjust thresholds or delegation where ageing concentrates
Approved quotes changed before order, by changed field
- Owner
- Commercial operations
- Triggers
- Tighten the revision rules, or fix what Sales could not know at draft
Orders rejected by the ERP after acceptance, by reason
- Owner
- Order management
- Triggers
- Move the failing rule into the pre-check
Confirmed order values that differ from the approved quote
- Owner
- Commercial management
- Triggers
- Find where prices change outside the approved version
10What the work produces
Outputs and connections.
- 01Quote lifecycle & state model
- 02Approval model by deviation type
- 03Revision rules
- 04CRM/ERP boundary & pre-check
- 05Order correction path
- 06Quote-to-order KPIs