Documentation / Auto Parts & Hardware

๐Ÿ”ง Auto Parts / Hardware Guide

This guide covers everything specific to auto-parts dealers, spare-parts wholesalers, and hardware shops using Ledgr. The auto-parts niche is Ledgr's most feature-rich preset โ€” built around the unique problem that parts fit specific vehicles, and customers ask "does this fit my car?".

Why Ledgr for auto parts?

Generic billing software treats a brake pad like a tin of paint โ€” just a SKU with a price. Auto-parts retail needs more:

Ledgr's auto-parts preset adds structured database tables (not free-text fields) for all of these โ€” so they're searchable, filterable, and reportable.

Niche enabled when: you pick "Auto Parts / Hardware" during onboarding. The part_info, variants, serial, party_credit, and salesman_management feature flags are all auto-enabled โ€” making this the most feature-rich preset.

Initial setup

1. Pick the Auto Parts niche

During onboarding, select Auto Parts / Hardware. Ledgr enables:

2. Confirm GST / VAT setup

Auto parts in India are at 18% GST (post-Sept 2025 GST 2.0 reform). UAE/Gulf is 5% VAT. The wizard seeds these defaults โ€” verify on Settings โ†’ Tax โ†’ Tax Groups.

3. Set up brands & categories

Auto-parts retail revolves around brands. Set up your typical brands as tags on products (the brand field):

The brand field is searchable from POS โ€” type "Bosch" to filter all Bosch parts.

4. Add your suppliers (with credit limits)

Auto-parts dealers run on supplier credit. Set up each supplier with:

Adding parts to inventory

The Auto Parts product form

When the auto-parts niche is on, the product form gains an Auto Parts & Hardware section:

FieldWhat it does
BrandManufacturer (Bosch, MRF, etc.) โ€” searchable from POS
OE Part NumberThe vehicle manufacturer's official number โ€” e.g. 04465-0K310 for Toyota. Indexed for fast lookup. Searchable on POS.
Alternate Part NumbersComma-separated cross-references โ€” 045645, BR12-0998, T0K310. Search hits any of them.
Warranty MonthsHow long this part is warranted (e.g. 6 / 12 / 24). 0 = no warranty.
Warranty Typenone / replacement (full swap) / pro_rata (partial credit based on age).
Max StockThe reorder target โ€” Reorder Report suggests buying up to this number when stock drops below min_stock.
Loose PriceSometimes a part sells loose at a different rate than packed. POS uses this when "loose" UOM is picked.

The fitment editor โ€” most important feature

Below the Auto Parts section is a Fitment Editor. Add a row for each vehicle this part fits:

MakeModelVariantEngineYear FromYear To
ToyotaInnova2.5 CRDi2KD-FTV20082014
ToyotaInnova Crysta2.4 GX2GD-FTV20162024
ToyotaFortuner3.0 4WD1KD-FTV20092016

Each row is a structured record (not free text). Year-from-to is a range โ€” search for "Innova 2010" matches the first row. This powers the POS vehicle filter.

Tip: Don't try to add every fitment row from scratch. Open Reports โ†’ Sales by Brand to see which parts you sell most, then add fitment for those first. Less popular parts can use a free-text "compatibility notes" field for now.

Free-text compatibility notes

Below the fitment grid is a compatibility notes textarea โ€” free text for stuff that doesn't fit the structured grid. Examples: "Also fits Maruti Brezza 2018+", "Use only with NGK plug 6724", "Not for AMT variants".

Multi-UOM (counter pieces vs bulk packs)

Common scenario: M8 bolts sold individually OR in packs of 100.

  1. Set primary unit = pcs, rate = price per piece.
  2. Click Manage UOMs on product form.
  3. Add pkt with conversion = 100, rate = price per packet (auto-calculated, override if discounted).
  4. Add kg with conversion = (your bolts-per-kg ratio) for bulk wholesale.

Customer vehicles

The Vehicle Manager

On every Customer record (CRM โ†’ Contact โ†’ Edit), there's a Vehicle Manager card (visible only when niche=autoparts). Add the vehicles this customer owns:

One customer can have multiple vehicles. The Vehicle Manager card has Add/Edit/Delete buttons that work immediately (no need to save the contact form first).

POS workflows

Search by OE part number

Customer asks for "04465-0K310". Type it on POS โ€” Ledgr searches:

You'll see the matching part with brand badge, stock count, and price. Click to add to cart.

Filter by vehicle (the killer feature)

Customer doesn't know the part number โ€” they say "brake pads for Innova 2010". On POS:

  1. Above the product grid (autoparts niche only) is a Vehicle filter row.
  2. Type "Toyota" in Make ยท "Innova" in Model ยท "2010" in Year (year is optional).
  3. Click Filter.
  4. Product grid now shows ONLY parts whose fitment grid includes Toyota/Innova/2010.
  5. Header shows "N parts fit this vehicle" with a clear button to reset.
Pro tip: Combine with the Customer's saved vehicles โ€” pick a customer first, then their saved vehicle auto-fills the Make/Model/Year. One click and the parts grid is filtered to that exact car.

Selling loose vs packed

Each cart line has a UOM dropdown (when multi-UOM is set up). Pick pcs for counter sale, pkt for full pack, kg for bulk weight. Stock_ledger always records movements in the base unit.

Vehicle Service History report

Customer brings their car back 6 months later โ€” what did we replace last time?

How to access

Sidebar โ†’ Reports โ†’ Vehicle Service History (only visible when niche=autoparts).

What it shows

Two-pane layout:

CSV export at the top โ€” share with the customer or print as a service record.

Warranty Register

Sidebar โ†’ Reports โ†’ Warranty Register. Lists every part you sold with warranty_months > 0. Each row:

Filter by status to find:

Reorder Report with Bulk PO Generator

Auto-parts dealers carry thousands of SKUs. Manually checking what to reorder is impossible.

How to access

Sidebar โ†’ Reports โ†’ Reorder Report.

What it shows

Every product where current stock โ‰ค min_stock, with:

One-click bulk POs

Click Generate POs:

  1. Confirmation dialog appears showing per-supplier breakdown ("Bosch: 12 lines ยท MRF: 8 lines ยท Brakes India: 5 lines"), plus a warning if any items have no recorded supplier.
  2. Click Create N POs.
  3. Ledgr creates one Purchase Order per supplier, drafts only, with each line at the suggested qty and the product's recorded cost price.
  4. Result toast: "Bosch โ€” created PO-2026-0042 with 12 items ยท MRF โ€” created PO-2026-0043 with 8 items ยท Brakes India โ€” created PO-2026-0044 with 5 items."
  5. Open Purchases โ†’ Bills & POs โ†’ Orders tab to review/edit/send each draft.

Common workflows

Counter sale to a walk-in customer

  1. POS โ†’ search part by OE number / alt number / brand / name.
  2. Add to cart, set qty.
  3. Customer pays cash/UPI โ†’ click Complete โ†’ thermal print receipt.
  4. If parts have warranty_months > 0, they auto-show on the Warranty Register tied to the walk-in customer (contact_id = 0). For trackable warranty, encourage customers to give a phone number to attach to the bill.

Fitting a customer's existing car

  1. POS โ†’ at top, pick the customer (search by name/phone).
  2. Their saved vehicles appear โ€” pick the one being fit.
  3. The Vehicle filter auto-applies โ€” only fitting parts shown.
  4. Add labour as a service line (Inventory โ†’ Services has pre-defined labour items like "Oil change โ‚น500", "Brake bleed โ‚น800").
  5. Save โ†’ invoice has vehicle_id stamped โ†’ shows in Vehicle Service History.

Warranty claim

  1. Customer brings defective part. Look up Warranty Register filter by their phone or registration.
  2. Confirm warranty is still active.
  3. Issue a Credit Note from the original invoice for that line item.
  4. Add a fresh sale (zero-priced or full-priced based on your warranty policy).
  5. For supplier reimbursement: Debit Note to the supplier.

Brand-wise sales review

Reports โ†’ Sales by Brand โ€” period revenue grouped by brand. Useful for:

FAQ โ€” Auto Parts specific

Customers ask for parts by OE number, but I don't always know which brand fits. How do I handle?

Add the OE number as the oe_part_no on the part you stock for that vehicle. Even if you stock an aftermarket brand, you can still register the OEM number. Search hits both. For multi-brand stock of the same OEM number โ€” list all aftermarket alternates in alt_part_nos.

Some parts have many fitments โ€” 50+ vehicles. Do I have to enter all?

You CAN enter all 50 โ€” the editor handles it. But for high-fitment parts (like a generic 12V battery) it's often easier to leave the structured grid empty and write "Universal โ€” fits most 1.2L-1.6L petrol" in the compatibility notes. Decide based on whether you need the POS vehicle filter to find this part for specific cars.

Can I scan barcodes?

Yes. Set the SKU on the part = the barcode value. POS search works on SKU. For OE-printed barcodes, set oe_part_no = the barcode value.

Workshop labour โ€” how do I bill it?

Create labour items as Services (Inventory โ†’ Services). They show up in the same product picker on POS but with no stock tracking. Pre-create common labour items: Oil change, Brake bleed, AC gas refill, Wheel alignment, etc.

Do you support workshop time tracking?

Not yet โ€” Ledgr v1.0.3 doesn't track mechanic-by-mechanic labour hours. On the roadmap. For now, use the Services line with a fixed amount per labour type.

Multi-store auto parts chain โ€” separate database per store?

Yes. Each Ledgr install is one company database. To consolidate, export-and-merge via .ledgr backups. Multi-tenant cloud is on the roadmap.

Migrating from another auto-parts system?

Tally, Marg, Busy, or even Excel โ€” we'll help you import OE numbers, fitment data, and customer vehicles. Free 1-hour onboarding call.

Chat on WhatsApp