Velocity can generate a complete freight quote automatically including a line-item cost breakdown by combining your rate sources with pricing logic. The outcome is consistent quoting at scale: no manual copying charges from spreadsheets, and fewer errors caused by outdated rates, missing surcharges, or incorrect validity dates.
This article explains what “auto-generated” means, which inputs drive the final total, what cost components are included, and how to troubleshoot mismatches when a quote looks wrong.
What “Auto-Generated” Means in Practice
In Velocity, an “auto-generated” quote is built by the system using predefined data and rules, rather than manual charge entry.
When you generate a quote, Velocity typically does this:
- Interprets shipment details (mode/service, lane, scope, weight/volume basis)
- Finds eligible rates (live rates and/or uploaded tariffs) based on matching logic
- Builds a standardized cost structure (freight + surcharges + accessorials)
- Applies pricing logic (markups/margins, customer rules, minimum sell rules if configured)
- Outputs a customer-ready quote with totals, validity, and a clear breakdown
Inputs That Affect Totals
Most “why did the price change?” questions trace back to one of these inputs.
Mode and service type
- FCL vs LCL vs Air vs Road vs Courier
- Port-to-port vs door-to-door scope (pickup/delivery changes the charge set)
Impact: Changes which rate tables, charge groups, and rules apply.
Lane and routing (origin/destination)
- Country/city/port pairs
- Zones (when carriers price by zone rather than exact city)
Impact: Determines rate eligibility and which local charges apply.
Customer (or customer segment)
- Contracted rates by account
- Pricing rules by customer/segment (different margins or markups)
Impact: Same shipment can legitimately price differently for different customers.
Validity and effective dates
- Rate validity window (contract dates)
- Quote expiry date (commercial validity you set)
Impact: If the date changes, Velocity may select a different rate version or apply different surcharges.
Surcharge logic and accessorial selection
- Fuel/security/peak season/currency adjustments
- Pickup, delivery, customs, insurance, special handling
Impact: Often the largest cause of unexpected differences, especially when scope changes.
Shipment characteristics (when applicable)
Depending on your configuration, totals may also be influenced by:
- Weight, volume, chargeable weight rules
- Container type/equipment (20GP/40HC, etc.)
- Commodity constraints or special service requirements
Cost Components Included (Freight + Surcharges + Margins)
A standard Velocity cost breakdown typically includes:
1) Base freight
The primary linehaul charge (ocean/air/road/courier) that comes from the selected rate source.
2) Origin and destination charges (scope-dependent)
Examples include handling/terminal/warehouse processing, or local service fees.
If you switch from port-to-port to door-to-door, these often change.
3) Surcharges and accessorials
- Fuel and security surcharges
- Peak season surcharges
- Currency adjustments
- Agent fees (if configured)
- Optional services based on scope (pickup/delivery/customs/insurance)
4) Commercial layer (your sell strategy)
- Markups or margins applied per rule set
- Customer-specific exceptions or overrides (if allowed)
Data Sources: Live Rates vs Uploaded/Fixed Tariffs
Velocity can generate a quote using different pricing sources. Understanding which one was used is essential for troubleshooting.
Live rates (carrier APIs / integrations)
Best for: market-accurate pricing, time-sensitive spot quoting, capacity-aware results.
What to expect: rates may change frequently; some charges may return as partial depending on carrier coverage.
Uploaded or fixed tariffs (Excel/CSV contracts, internal tariffs)
Best for: stable contracted pricing, repeatable quoting, and controlled commercial policies.
What to expect: consistency—until a new upload/version becomes effective.
Mixed strategy (recommended operationally)
Many teams use:
- Uploaded contracts as the baseline, plus
- Live rates for spot/lane exceptions, with
- Fallback logic when live returns no results
Common Mismatch Scenarios and How to Diagnose Them
Use the checklist below to pinpoint the cause quickly.
Scenario 1: “The total changed, but I didn’t change anything”
Likely causes
- Rate validity window crossed into a new period
- A newer rate version became active
- Live rate refreshed (market moved)
- Exchange rate updated (if conversion is applied)
Diagnose
- Check quote creation time and validity settings
- Confirm whether the quote used live rates or uploaded tariffs
- Verify which rate version is active for the lane
Scenario 2: “The customer total is higher than expected”
Likely causes
- A markup/margin rule applied (customer, lane, service)
- An accessorial (pickup/delivery/customs) is included due to scope
- A minimum sell / margin protection rule triggered
Diagnose
- Confirm customer selection and applied pricing rules
- Verify scope (door vs port) and included services
- Review the cost breakdown for added charge groups
Scenario 3: “Charges are missing or the breakdown looks incomplete”
Likely causes
- Live rate returned partial charges
- Surcharge rules not mapped/normalized to the expected charge types
- Certain local charges not configured for that lane/service
Diagnose
- Compare live vs uploaded pricing for the same lane
- Review surcharge mapping/normalization for missing charge names
- Check whether the quote is port-to-port vs door-to-door
Scenario 4: “No rates returned”
Likely causes
- Lane/service inputs don’t match the rate structure
- Validity dates outside the available rate windows
- Carrier/API coverage constraints (for live rates)
Diagnose
- Simplify inputs (verify ports/zones/service type)
- Confirm validity date overlaps existing rate validity
- Test with uploaded fallback rates to isolate API issues
Scenario 5: “Two users get different totals for the same shipment”
Likely causes
- Different customer selection
- Different scope or service type defaults
- Different rule permissions (one user applies an override)
Diagnose
- Compare customer, scope, and service settings
- Check applied pricing rules and overrides
- Confirm both quotes are using the same rate source and validity dates
Practical Best Practices (To Reduce Surprises)
- Standardize a “default scope” per mode (e.g., port-to-port vs door-to-door)
- Use naming conventions and charge normalization so line items compare cleanly
- Enforce validity policies (expiry + renewal) to avoid stale pricing
- Define fallback behavior when live rates return partial/no results
- Audit rule hierarchy (global → customer → lane/service → override)
Quick FAQ
Why did my quote change after I resent it?
Most commonly: live rates refreshed, validity windows changed, or a new rate version became effective.
What should I check first when totals look wrong?
Check these in order:
- Customer
- Scope (door/port)
- Lane (origin/destination)
- Validity dates
- Rate source (live vs uploaded)
- Surcharges and pricing rules