If your business sells physical product, inventory is the source of truth and CRM lies if it doesn’t sync. Quotes built from CRM with stale stock data ship deals you can’t fulfill.
Make Inventory Master, CRM Subscriber
The cleanest architecture: Items, Pricing, and Stock live in Inventory. CRM reads, never writes. The two-way sync is tempting and creates bugs you’ll spend a quarter chasing.
Inventory -> Items, Stock, Price Lists (master)
CRM -> Quotes, Sales Orders (consumer)
Reps in CRM pick from a synced item list; the quote pulls live price; the stock check is real-time.
Sync Cadence
The native sync is near-real-time but not instant. For high-velocity items:
- Stock level: every 5 minutes.
- Price list: hourly.
- Item master (new SKUs): every 15 minutes.
If you sell scarce inventory, do an explicit stock check at quote-create time via the API rather than relying on cached data.
Quote-to-Sales-Order in One Step
When a quote is accepted, the conversion to a Sales Order should be one click:
Quote.Status = Accepted
-> create Sales Order in Inventory
-> reserve stock
-> notify warehouse
-> attach SO PDF to CRM Deal
Don’t make reps re-enter line items. Every re-keying is an error opportunity.
Pricing Tiers and Customer-Specific Pricing
Inventory’s price lists support customer-specific pricing. Tag CRM accounts with their price list:
Account.Price_List = "Tier_1_Enterprise"
-> CRM quote pulls items priced from Tier_1_Enterprise list
Reps stop calling for “what’s their discount” — the quote shows it.
Backorder Handling
When stock isn’t available, the quote should:
- Show stock status per line item.
- Surface lead time if it’s a known reorderable item.
- Route to a sales-ops review if any item is on backorder above a threshold.
A quote that confidently promises out-of-stock product is the most damaging kind of error.
Refunds and Returns Loop
When Inventory processes a return, sync the credit back to CRM as a related-list entry on the Account. Reps learn about returns through CRM, not by surprise on the next quote.
Reporting
Build an Analytics dashboard joining CRM Deals to Inventory Sales Orders to Books Invoices. Three columns: Sold (CRM), Shipped (Inventory), Invoiced (Books). Any row with a mismatch is a leak — chase it.
What to Do This Week
- Make Inventory the source of truth; remove duplicate item masters from CRM.
- Audit quote-to-SO conversion for re-keying. Eliminate it.
- Tag your top 50 accounts with their price list.
- Build the three-column reconciliation dashboard.