Overview
nilfish_vehicle_support turns sellable vehicles into vehicle cards (product.template with nilfish_is_vehicle_card). Sellers work from Sales → Vehicle Support: the Vehicles list opens the product form (images, description, website). The Vehicle Card tab holds registration, mileage, status, and quotations. Spare-part tabs (compatibility / supplier import) stay hidden on cards.
Card type: Unique vs Catalog
- Unique — one physical vehicle (used, trade-in, registered unit). Tracks Sold/Delivered from sales orders; registration and chassis belong here. Use for anything you sell as a single identifiable machine.
- Catalog — a shared model sold by quantity (e.g. outboards, trailers in stock). Status follows qty / open purchase orders only (Not Ordered, Incoming, In Stock (N)) — never Sold/Delivered on the card from one customer order.
Pick the type when creating the card. Changing type later resets typical defaults (catalog cards are usually new, without VMB).
VMB (used-vehicle margin scheme)
VMB is the Swedish used-vehicle VAT margin scheme (vinstmarginalbeskattning). When enabled on a vehicle card, sales of that unit follow VMB accounting (purchase price for margin, typically 0% VAT on the trade-in credit). Turn VMB on for private / used combustion vehicles; turn it off for company customers or deals where normal VAT applies. Configure VMB only on the Vehicle Card tab (not on ordinary product accounting).
Architecture
Stock status — how it works (work description)
Every vehicle card shows an automatic stock status badge. The system stores only a language-neutral status code plus an optional date; the badge text (e.g. Incoming / Inkommande) is translated when the seller opens the list or form.
Statuses for a unique card (one physical vehicle — used, trade-in, registered):
- Not Ordered — qty 0, no open confirmed purchase order, and not a trade-in awaiting receipt. Typical for a new card created before anyone has ordered the unit from a supplier.
- Incoming (+ date when available) — the vehicle is expected but not yet in stock. Sources:
- Purchase order — confirmed PO with remaining qty to receive → date from the PO line planned receipt date.
- Trade-in — card created when a sales order with a trade-in is confirmed → date from the sales order Delivery Date (
commitment_date).
- In Stock — on-hand quantity > 0.
- Sold — confirmed sales order for this unique product, not fully delivered.
- Delivered — sales order lines fully delivered.
Catalog cards (shared model sold by quantity) use Not Ordered / Incoming+date / In Stock (N) only — never Sold/Delivered from a single order.
Menus under Sales → Vehicle Support → Vehicles filter on this status (For Sale = In Stock + Incoming, Incoming Items, Sold, Delivered, Show All). Colleagues can already see incoming trade-ins and ordered units while finding buyers — that is intentional.
Why Delivery Date and purchase dates matter
Status alone (“Incoming”) is not enough for daily sales work. The date on the badge tells the team when the unit is expected so they can book handovers, plan prep, and answer customers honestly.
1. Sales order Delivery Date (trade-ins)
On the quotation/order, set Delivery Date under the Other Info tab (Delivery / Shipping section). Field: commitment_date — the date promised to the customer for delivery of the sold vehicle.
- When the order is confirmed, each trade-in becomes an incoming unique vehicle card that other sellers can see immediately.
- If Delivery Date is set, the card shows Incoming {date} and the same date is written as Arrival Date on the card.
- If Delivery Date is missing, the card still becomes Incoming (so it is not confused with “Not Ordered”), but without a date — harder to plan and easy to misread as “we do not know when it arrives”.
- Changing Delivery Date later updates Arrival Date and the Incoming badge on linked trade-in cards.
Rule of thumb: always set Delivery Date when the contract is signed. For powersport deals, that date is usually when the customer picks up the new unit and leaves the trade-in — so the whole team can sell the incoming unit against a clear calendar.
2. Purchase order planned date (new / stock units)
When you order a vehicle from a supplier, confirm the purchase order and keep a realistic planned receipt date on the PO lines (date_planned). That date drives Incoming {date} on the vehicle card until the receipt is validated and qty is in stock.
- Without a confirmed PO (or with qty already received), a zero-stock unique card falls back to Not Ordered — which is correct for “not yet purchased”, but wrong if you already expect a trade-in (trade-ins use Delivery Date instead).
- Keeping purchase dates up to date avoids empty Incoming badges and wrong expectations in the Incoming Items menu.
3. What happens when dates are wrong or missing
- No Delivery Date on a trade-in deal → Incoming without date; Arrival Date may stay on confirm day; planning and “when can we show it?” answers suffer.
- No / outdated PO planned date → Incoming without a trustworthy date, or status stuck looking unordered when the team thinks it is ordered.
- Dates filled correctly → Incoming Items menu, For Sale list, and stock days/arrival planning stay aligned; sellers can pre-sell with a clear ETA.
Trade-in flow
Default margin is set under Settings → Powersport Intelligence → Sales Support. Formula: list price = trade-in value ÷ (1 − margin%). Example: 50,000 at 20% → 62,500. Trade-in cost (standard_price) is set to the agreed trade-in value for inventory valuation.
Business Proposal (customer PDF)
Orders and quotations that include a vehicle card can print a dedicated Business Proposal PDF (Swedish UI: Affärsförslag). This is separate from the standard Quotation PDF — use Quotation for the usual sales document, and Business Proposal when presenting the vehicle deal to the customer.
- On the Vehicle Card tab, fill Standard Equipment and Extra Equipment (rich text). Product images (main + extras) appear on page 1.
- On a quotation/order that has a vehicle card line, use the header button Business Proposal, or Print → Business Proposal.
- Branding (navy/orange header and footer) follows Demostore storefront colours; company name and document-layout address come from the client company settings.
- The PDF language follows the customer’s language when set; otherwise the logged-in user’s language.
Seller checklist
- Create cards under Vehicle Support → Vehicles (status submenus and list columns are user-customizable).
- Always set Delivery Date on quotations/orders that include a trade-in (Other Info → Delivery Date) before or when confirming.
- On purchase orders for unique vehicles, keep planned receipt dates current so Incoming badges show the right ETA.
- Use Quotations / Orders menus to see only documents that contain a vehicle card line.
- On the card form: Create Quotation and review previous offers at the bottom.
- Before sending a customer-facing PDF: complete equipment fields and images, then print Business Proposal.
- Lookup Registration is prepared for the vehicle registry; until the API is configured, enter details manually.