Skip to main content

Vehicle Models

A Vehicle Model (crm.vehicle.model) is a single sellable vehicle variant — e.g. Foton TunLand G7 4×4 MT. Vehicle models are synced from the distributor; they are not usually created by hand. Once synced, BPO agents can tag each lead against a specific model so the dealer-side Sales Order captures exactly what the customer asked for.

:::info Who can edit this? BPO Managers trigger the sync from the Brand form. Supervisors and Agents can read vehicle models but should not edit them directly — manual edits are overwritten on the next sync. :::

Open the Vehicle Models list

Navigate to BPO CRM → Data → Vehicle Models.

Vehicle models list view

Columns:

ColumnSource fieldDescription
Internal Referencedefault_codePulled from distributor product.template.default_code.
Model Namename
Brandbrand_idMany-to-one back to crm.brand.
CategorycategoryPulled from distributor product category.
List Pricelist_price
Lead CountcomputedHow many leads have selected this model.
Activeactive

Group by Brand or Category from the search view to browse the catalog.

Run the sync

Vehicle models are synced per brand.

  1. Go to BPO CRM → Data → Brands.
  2. Open the brand.
  3. Make sure Test Connection succeeds first.
  4. Click Sync Vehicle Models in the header.

Sync vehicle models button

The CRM will:

  1. Search product.template on the distributor, applying the brand's Sync Filters (Is Unit, Serial Tracking, Saleable).
  2. Read each product in batches.
  3. Upsert into crm.vehicle.model keyed on (brand_id, external_ref), where external_ref is the distributor's product ID.
  4. Update the brand's distributor_last_sync timestamp.

A toast announces how many models were created or updated.

Sync vehicle models success toast

:::tip Getting zero results? Open the Sync Filters panel on the brand and turn them off one at a time. Most "zero synced" issues trace back to a distributor where is_unit isn't populated, or where tracking is set to lot instead of serial. :::

View a vehicle model

Click a row to open the form.

Vehicle model form

FieldNotes
ImageSynced from distributor product image.
Model NameDisplay name.
BrandLocked many-to-one. Not editable.
Internal ReferenceDistributor default_code.
External ReferenceDistributor product.template.id as string. Used as the sync key.
CategoryDistributor product category.
List PriceSuggested selling price. Informational only — the dealer-side SO is re-priced at Won time.
DescriptionFree text from distributor.
Lead CountComputed, links to filtered lead view.
Distributor Info → Distributor Product IDRaw remote ID, BPO Manager only.

Use from a lead

When an agent creates a lead and selects a Brand, the Vehicle Model picker filters to that brand's synced models. The picker supports searching by:

  • Model name
  • Internal reference (default_code)
  • External reference (distributor ID)

Lead vehicle model picker

Archiving

If the distributor archives a product, the BPO CRM does not auto-archive locally — the model stays active so in-flight leads still resolve. To retire a model:

  1. Ensure no open leads reference it.
  2. Uncheck Active on the vehicle model form.

Troubleshooting

SymptomLikely cause
Sync Vehicle Models returns 0 recordsFilters too strict — try unchecking Is Unit or Serial Tracking.
Duplicate entries after a distributor product renameThe distributor changed product.template.id. The old row stays; archive it manually.
Lead can't find a recently launched modelRun the sync. Models are not ingested through the lead cron.
Price looks wrong on a won SOPricing comes from the dealer instance at Won time, not from list_price here. Update pricing on the dealer instance.