Velocity’s CRM integration is designed to keep your commercial pipeline (lead → quote → won) connected to execution reality (booking → in transit → delivered), without creating duplicate customers or conflicting statuses. This article explains what can sync, how to model it in your CRM, and how to maintain a single customer timeline across sales and operations.
What Syncs to CRM (Leads, Opportunities/Quotes, Booking References)
Most teams sync CRM data around customer identity and commercial milestones, then enrich records with execution signals once a shipment is booked.
1) Leads and Accounts
Typical sync direction: CRM → Velocity (for master customer data) and/or Velocity → CRM (for inbound/portal leads)
Common fields
- Company name
- Primary contact (name, email, phone)
- Country/region and preferred language (optional)
- Customer type / segment (SMB, enterprise, partner)
- Source channel (website, portal, WhatsApp, referral, partner)
2) Opportunities / Deals and Quotes
Typical sync direction: Velocity → CRM (quote activity and quote state), sometimes CRM → Velocity (deal metadata)
Common fields
- Opportunity/deal name (recommended naming pattern below)
- Shipment mode (FCL/LCL/Air)
- Origin/destination (country, port/airport or city)
- Equipment type (container type) or chargeable weight (air)
- Commodity / cargo type (optional, for reporting)
- Quote number / quote ID (system reference)
- Quote status (draft/sent/expired/revised)
- Total price / currency (or price range, if used)
- Validity dates (rate validity, quote expiration)
3) Booking References + Execution Milestones
You generally do not mirror full operational detail in the CRM. Instead, sync a booking reference and a small set of milestones so Sales has visibility while Ops keeps execution in operational systems.
Common fields
- Booking ID / shipment reference
- Booking status (booked / cancelled / on hold)
- Key milestones (picked up, departed, arrived, delivered)
- Exception flags (e.g., “customs hold”, “docs missing”) as a simple indicator
- Links back to Velocity record (record URL) for full detail
Recommended CRM Objects & Naming (Accounts, Contacts, Deals)
To keep a clean customer timeline and avoid duplicate shipments, standardize how Velocity records map to CRM objects.
Accounts (Company)
Use for: The customer entity (billing organization / shipper)
Key rule: One account per company (use domain + legal name controls)
Contacts (People)
Use for: Shipper contact(s), decision makers, ops contacts
Key rule: Contacts should be tied to a single Account where possible.
Deals / Opportunities (Commercial motions)
Use for: One “shipping need” or “quote request” that may lead to multiple shipments
Recommended pattern
Quotes (Optional object, depends on CRM)
If your CRM supports a dedicated quote object, map Velocity quotes there. If not, attach quotes to the deal as:
- A “Quote Count”
- Latest quote amount/currency
- Quote status and last sent date
- Quote PDF / link (if applicable)
Pipeline Stages and Status Mapping (Quote → Won → Booked)
Aligning sales stages with operational reality is the fastest way to prevent reporting confusion.
Recommended stages (example)
- New Request (lead captured; requirements incomplete)
- Qualified (lane/mode details confirmed)
- Quoted (quote sent)
- Revised / Negotiation (optional)
- Won (customer accepted quote / intent to ship)
- Booked (booking created and reference available)
- In Transit (optional; milestone-driven)
- Delivered (optional)
- Lost / No Decision / Expired (closed)
Status rules (practical guidance)
- “Won” should mean the customer accepted commercially, even if a booking is not yet created.
- “Booked” should only be set when a booking reference exists.
- If you track “In Transit” and “Delivered” in CRM, keep it milestone-based and minimal to avoid CRM bloat.
Customer Matching Logic (Email, Domain, Company Name + IDs)
Matching is where most integration issues occur. Set explicit rules so the CRM and Velocity agree on “who this customer is.”
Recommended matching hierarchy (best practice)
- External Customer ID (best): a unique, immutable ID stored in both systems
- Company domain (good):
@company.com as the account key - Company name normalization (fallback): standardized name + country
- Contact email (supporting): unique contact identity
Normalization tips
- Normalize company names (remove “LLC”, “Ltd”, punctuation, casing)
- Maintain an “Aliases” field for rebrands and local entities
- Use country/region to disambiguate common names
Avoiding Duplicates and “Who Owns Updates”
Most duplicate issues come from unclear ownership. Decide the system of record per object and per field.
Define the system of record
Typical setup
- CRM is system of record for: Account/Contact master data, owner assignment, lifecycle stage
- Velocity is system of record for: Quote objects, booking reference, execution milestones, operational flags
Recommended ownership matrix (example)
- Account name / domain / segment: CRM owns
- Opportunity stage: CRM owns (but Velocity can suggest updates via integration events)
- Quote status & last sent date: Velocity owns
- Booking status & milestones: Velocity owns
- Contact email/phone: CRM owns
Duplicate prevention checklist
- Require one unique account key (ID or domain)
- Enforce a single “create account” pathway (either CRM-first or Velocity-first)
- Block creation when a close match exists (domain + normalized name)
- Keep “test customers” in a separate environment or clearly flagged
Reporting: Dashboards for Pipeline + Conversion
Once objects and statuses are stable, you can measure conversion end-to-end.
Core dashboards
Data quality alerts (recommended)
- Deals in “Won” with no booking after X days
- Duplicate accounts created within X days with same domain
- Quotes sent with missing lane/mode (incomplete requirements)
- Bookings created with no associated CRM deal (handoff gaps)
Recommended Next Steps
- Confirm your CRM objects (Accounts/Contacts/Deals + optional Quotes).
- Decide system of record per field (ownership matrix).
- Define matching rules (ID → domain → normalized name).
- Implement stage mapping and basic conversion dashboards.