beginner
shop-rentals
serial-numbers
inventory

Per-Bike Serial Numbers

Track unique serial numbers per vehicle — for insurance claims, theft recovery, manufacturer recalls, and asset auditing

Levy Fleets TeamMay 7, 20264 min read

Each vehicle in your fleet should have a unique serial number recorded in the system. This isn't a nice-to-have — it's how you file insurance claims, recover stolen bikes via police reports, respond to manufacturer recalls, and prove ownership.

What it is

A serial_number field on every vehicle row. Stored as a free-form string so you can use:

  • The manufacturer's frame serial (best — matches the bike itself)
  • Your shop's internal asset tag (e.g., MAIN-001)
  • A combined string (e.g., MAIN-001 / Frame: ABC123)

The constraint: serial numbers must be unique within your subaccount. You can't have two vehicles with the same serial. Across subaccounts, serials can collide — that's intentional since fleets are isolated.

Why it matters

Insurance claims

When a bike is stolen, your insurer asks for the frame serial. If you don't have it on file, your claim is denied or delayed by weeks while you find paperwork.

Theft recovery

Police can run frame serials against their stolen-property database. If your stolen bike is recovered three counties over, the frame serial identifies it as yours.

Manufacturer recalls

Manufacturers issue recalls by serial-number range (e.g., "all bikes with frame serial in range 100000-105000"). With serials in the system, you query which of your bikes are affected in seconds.

Asset audit

Quarterly: count bikes physically present, cross-reference serials in the system. Discrepancies surface theft or admin errors.

Where to enter the serial

When adding a new vehicle

/dashboard/vehicles+ New Vehicle. The serial_number field is in the General section.

Editing an existing vehicle

Open the vehicle detail page → click into the relevant info row → Edit → enter serial → Save.

Bulk import

If you're migrating from another system with serials in a CSV, use the admin import endpoint. (Bulk-import UI is in the works; for now contact support with your CSV.)

What if you don't know the serial

If the bike is already in the field and the frame serial is unknown:

  1. Look at the bottom bracket / underside of the bike — most manufacturers stamp it there
  2. Check the headtube under the stem
  3. As a last resort, use a placeholder like UNKNOWN-MAIN-001 until you find it

The system accepts any string, so a placeholder is better than nothing. Don't leave the field NULL — that prevents the unique-index from catching duplicates.

Where serials appear

Vehicle list

The vehicles list at /dashboard/vehicles can be filtered/sorted by serial.

Vehicle detail page

Top of the page, alongside vehicle number and model.

Service log

Every service log row records the vehicle UUID; in queries you can join through to surface the serial in reports.

Insurance / police paperwork

When generating reports for insurance claims, include the serial_number in your output. Most claim forms have a dedicated field for it.

Common patterns

Manufacturer-issued serials only

If your shop uses only OEM serials (no internal tags), use the frame serial directly. Easiest, most universal.

Internal asset tags only

Some shops prefer a rigid internal numbering scheme (MAIN-001, SAT-001) for inventory tracking. Use that as the serial. You'll lose the manufacturer-recall query benefit unless you maintain a separate spreadsheet of serial-to-asset-tag mappings.

Both

Concatenate: MAIN-001 / Frame: ABC123XYZ. The first part is your tag for staff, the second part is the manufacturer serial for paperwork. Slightly noisier in the UI but most informative.

Querying for missing serials

SELECT id, vehicle_number, vehicle_model_id
FROM vehicles
WHERE subaccount_id = '<your-subaccount-id>'
  AND serial_number IS NULL
  AND deleted_at IS NULL;

Run this monthly. Hunt down each NULL and fix it.

What changes when you set a serial

  • The unique index across (subaccount_id, serial_number) activates, preventing duplicates
  • The vehicle detail page shows the serial
  • Reports that join on serial can now find this vehicle

There's no automatic action triggered by serial — it's a passive data field. But the audit trail it enables is the highest-value piece of data for theft and insurance scenarios.