How should a B2B sales system separate leads, contracts, deposits, procurement, and delivery?
Do not turn leads, customers, contracts, deposits, purchasing, and delivery into one enormous record with a single status. Use three linked lines: customer, opportunity, quote, and contract for the commercial promise; sales order, sourcing or production, dispatch, logistics, and acceptance for fulfilment; receivable schedule, receipt, allocation, and invoice for money. Stable customer, contract, order, and fulfilment-batch identifiers connect them, while each line can complete partially, change, or reverse.
Real B2B work is rarely one deposit followed by one purchase and one shipment. A framework contract may create many orders, an order may ship in batches, one payment may settle several receivables, and a purchase may supply several sales orders. A linear “current status” blocks as soon as stock or payment is partial.
| Business object | Facts it owns | Downstream relationship | Keep out of it |
|---|---|---|---|
| Lead and customer | Source, legal entity, contacts, ownership, credit | Qualified lead creates or joins a customer | Quote versions and payment facts |
| Opportunity and quote | Need, expected value, probability, products, quote versions | Approved quote supports contract negotiation | Forecast presented as signed revenue |
| Contract and amendment | Parties, subject, price, payment, delivery, tax | Creates orders and receivable schedules | Destructive edits to historic terms |
| Sales order and fulfilment batch | Quantity, due date, warehouse, batch, acceptance | Drives production, purchasing, dispatch, logistics | Supplier receipt treated as client acceptance |
| Receivable, receipt, allocation | Due milestones, actual bank receipt, allocation, balance | Releases work only under the applicable policy | Screenshot treated as cleared funds |
| Procurement and supply | Supplier, purchase order, receipt, quality, cost | Supplies one or more fulfilment demands | Customer contract treated as a supplier order |
When decomposing features, data, and acceptance scenarios, also compare How should an order system connect review, payment confirmation, and fulfilment?; the linked guidance adds context that should be considered in the same decision.
The contract defines the promise; it is not the database for everything
The contracting party, invoice party, and recipient may differ. Freeze the executed commercial terms and retain attachment and approval versions. An amendment creates a version and states affected orders, receivables, and deliveries rather than overwriting history. Classify framework agreements, one-off contracts, and purchase-order acceptance because they create sales orders at different moments.
Quotes need versions, validity, currency, tax, discount, and approval. Record why an opportunity was lost so the funnel does not contain only successful examples. Preserve source attribution when merging leads, organize customers around verified legal entities, and restrict personal contacts to necessary roles and access.
Payment, supply, and delivery own different facts
Contract terms create receivable schedules. A bank record or trusted payment channel creates a receipt; finance allocates it to one or more receivables. “Deposit before procurement” is a contract or product policy, not a universal system rule. A screenshot, sales note, or expected transfer must not release a high-risk action.
Availability determines whether an order uses stock, production, or procurement. Split shortages and consolidate compatible purchase demand while preserving source allocation. Supplier receipt, quality inspection, stock entry, dispatch, carrier handoff, and customer acceptance are separate events. Partial delivery and refusal create remaining quantity and exception work instead of resetting the entire order. Final payment, invoice, warranty, and after-sales actions follow their contract triggers.
Permissions follow duties and value. Sales manages customers and opportunities, commercial or legal roles approve contracts, procurement selects suppliers, warehouse confirms physical movement, and finance recognizes cash and invoices. No single super-account should rewrite a contract, confirm payment, and release goods. Audit price, payment terms, bank data, and exports, and remove access promptly after role changes.
Acceptance uses complex representative documents, not only an in-stock order paid and shipped once. Include framework orders, revised quote, insufficient deposit, one receipt allocated across dues, partial procurement, split dispatch, carrier change, refusal, replacement, amendment, and refund. Quantities and money must reconcile into explained balances with links to evidence. Sales cycle, win rate, on-time delivery, aging, and supply satisfaction are then calculated from a documented data dictionary.
Wavesteam maps representative contracts, quotes, receipts, purchase records, and deliveries into objects, states, and evidence before selecting CRM, ERP, or an intermediate workflow system. If established CRM and ERP cover both ends, synchronize master data and documents. Customize only where cross-department rules and traceability cannot be configured. OASIS UBL 2.4 and BPMN 2.0.2 provide document and process references; Wavesteam's factory management case is relevant public experience, not a claim that one model fits every client.