Vehicle conditions, simpler pipeline, public docs
Free-text vehicle conditions, a unified pipeline board, the new help section, and a handful of onboarding polish.
Changes & improvements
A bigger release than usual — three things at once.
Vehicle conditions are now free text
Previously every deal had to be one of five fixed conditions (new, used, demo, ex_demo, ex_rental). That broke imports any time a source row had something the enum didn't recognise — and was the wrong shape for dealerships anyway, since the same label means different things at different yards.
Now:
- A new Vehicle Conditions picker in Settings → Dealership → Vehicle conditions lets you list the labels your dealership actually uses. Seeded with sensible defaults (New, Used, Ex-demo, Ex-rental, Pre-reg) — rename, reorder, archive, or add your own.
- The deal form picks from that list with autocomplete, but accepts any free text you type.
- The importer accepts any value verbatim — no more "Invalid input" errors on rows with values like "Pre Reg" or "DEMO".
One unified pipeline board
The pipeline used to switch between two different column sets depending on whether a deal was a new or used car. The split was carrying its weight in the early days, but it really came down to one question dressed up as four: is the car physically here yet?
Now there's one set of columns for every deal:
Awaiting Finance → Need to Find → In Transit → Ready to Profile → Profiled → Delivered
A used car already on the lot lands directly in Ready to Profile because its sourcing status is already in_stock. A new car arriving from overseas sits in In Transit until it lands. The columns are driven by the deal's actual state, not by what condition label you've given it — which means it works no matter what conditions your dealership uses.
Public documentation + changelog
The docs section you're reading is new. It's where every guide and reference for the app will live, organised by area, with search and a per-page outline.
The changelog is its companion — every meaningful release with a date and a summary of what changed. The first article published is the SalesLogs migration guide; the rest will fill in over the coming weeks.
Smaller things
- Deals now opens on the sales log by default. The pipeline board has moved to Deals → Pipeline (
/deals/pipeline). Old links to/dealsredirect, so bookmarks keep working. - Onboarding steps for sales channels and alerts now lead with a short explainer pane before dropping you into the action — easier to get oriented when you're seeing a concept for the first time.
- Action items on the dashboard now lead with what's wrong (e.g. "Unsigned — John Smith") instead of leading with the customer name.
- Per-row snooze on action items so things three weeks out don't keep paging the dashboard. Snoozes wake at 6am of the target day so they reappear in the morning rather than overnight.
- The Companion AI's briefing stops citing example deals that don't exist, follows the dealership's actual stage labels (Draft, Pending approval, Approved, etc.), and respects role-based financial visibility when reading a deal.
Bug fixes
- Import wizard's Variant slot was reading as unmapped even when "VEH. Variant" was already feeding
vehicle_variant— the slot was keyed on the wrong column. Variant now shows the correct value, and the deal-preview banner picks it up too (e.g. "Chery Tiggo 8 Ultimate PHEV"). - Step 7 alerts copy wrongly promised that alerts would flag deals on the dashboard. Alerts only put a glowing ring around the cell in the sales log; the copy now says so.
- Welcome screen no longer shows the Autopilot logo three times — the centred mark + greeting reads as a standalone framing moment, with the chrome up top suppressed for that step only.
- Phantom "(org)" link in the user dropdown — appeared for users with no organisation membership and labelled itself with the dealership name. The link now only shows when you actually belong to an organisation, and uses the real org name.
- Companion AI handles pending salespeople. Before, asking "How's Lepua tracking?" hit a wall because pending teammates have no
user_iduntil they accept their invite. Deal counts and revenue now resolve via the membership id, so imported sales people work end-to-end. Monthly targets still wait for sign-up since targets are tied to the auth user.
If anything's not working how you'd expect, tell us — we ship user-flagged stuff fast.