Skip to Content
New The latest Odoo is here — we migrate, build and support it end to end. Book a free consultation

Garage Management Software on Odoo 19: A Complete Workshop-to-Invoice Walkthrough

A real Odoo 19 garage management system, from a customer's online booking, through multi-point inspection, job cards, workshop bays and warranties, all the way to invoice, delivery and a live KPI dashboard. This is the actual product, explained screen by screen.
4 September 2026 by
Garage Management Software on Odoo 19: A Complete Workshop-to-Invoice Walkthrough
Prashant

In short: This Garage Management System is a suite of 16 custom Odoo 19 modules that runs an auto workshop end to end. A customer books online or walks in; the front desk opens a job card that flows through inspection, quotation, repair, quality check and invoicing; the workshop assigns a bay and tracks mechanic labour; the system sends WhatsApp and email updates, raises warranties, and feeds a real-time KPI dashboard: while customers track everything from a self-service portal.

Table of Contents

  1. Product Overview
  2. The Problem It Solves
  3. Module Architecture
  4. End-to-End Workflow Demo
  5. Feature-by-Feature Tour
  6. User Roles & Journeys
  7. KPI Dashboard
  8. Reports
  9. Automation & Integrations
  10. Customer Portal & Website
  11. A Real Business Scenario
  12. Security & Multi-Company
  13. Frequently Asked Questions
  14. Book a Demo

What This Garage Management System Actually Is

It is a complete, Odoo 19–native platform for running an automotive workshop, not a bolt-on add-on, and not a generic CRM forced into a garage shape.

Most garages run on a patchwork: a diary for appointments, a WhatsApp group for the workshop floor, a spreadsheet for job estimates, and a separate accounting package for invoices. Nothing talks to anything else. The vehicle's history lives in the owner's memory. When the customer phones to ask "is my car ready?", someone has to walk to the bay and look.

This product replaces that patchwork with one connected system. It is built as 16 custom Odoo 19 modules that extend Odoo's standard Fleet, Sales, Inventory, Accounting, Helpdesk and Website apps. That design choice matters: every quotation is a real Odoo sale order, every invoice is a real Odoo journal entry, every part consumes real stock. The garage logic sits on top of Odoo's audited financial and inventory engines rather than reinventing them.

Online BookingMulti-Point Inspection10-Stage Job CardsWorkshop Bay BoardLabour TimesheetsQuotation & InvoiceWarranty RegisterWhatsApp AlertsKPI DashboardCustomer PortalAI Assistantn8n AutomationWhy Odoo 19 as the baseBecause the heavy lifting (accounting, stock valuation, multi-company, security, PDF engine, portal) is already built, tested and maintained by Odoo. The garage modules add the workshop-specific intelligence and let the platform handle the rest. Less custom code means fewer bugs, easier upgrades and a clear migration path.The manager's morning view. The live Garage Dashboard, today's revenue, open job cards, workshop occupancy and a job-card pipeline donut, all updating in real time.

The Business Problems It Solves

Before a system like this, a typical independent or multi-bay workshop struggles with the same recurring pains:

Before (the patchwork)After (this system)
Appointments in a paper diary; double-bookings and no-shows.Online + walk-in bookings on a calendar with automatic 24-hour reminders.
Verbal estimates the customer later disputes.A formal quotation the customer approves with one tap, on record.
"Is my car ready?" calls interrupt the workshop.Customers self-track status in the portal and get WhatsApp updates.
No reliable vehicle history when the car returns.Every visit, inspection and part is stored against the vehicle.
Parts and labour totalled by hand; mistakes leak revenue.Service + part lines roll up to tax-accurate totals automatically.
Warranty claims handled by memory and goodwill.A warranty register with expiry tracking and a claims workflow.
The owner has no idea how the business is doing until month-end.A live KPI dashboard shows revenue, occupancy and utilisation now.

Who Should Use It

  • Independent garages & auto repair shops that want to look and operate professionally.
  • Multi-branch service chains that need each location isolated but reported centrally (multi-company is built in).
  • Specialist workshops (bodyshops, EV service centres, two-wheeler garages, fleet maintenance), thanks to vehicle categories and configurable inspection templates.
  • Dealership service departments needing warranty tracking and a clean customer record.

Module Architecture: How the System Is Built

The product is layered so that each module does one job and depends only on what it needs. The foundation (gms_core) sets up security, sequences and menus; master-data modules add customers, vehicles and services; the gms_job_card module is the central transaction everything else attaches to.

ModuleResponsibilityBuilds On
gms_coreConfiguration, feature flags, document sequences, security groups, root menus.base, mail, fleet, sale, stock, account
gms_vehicleCustomer master & vehicle records (engine no., fuel type, odometer, health score).gms_core, fleet
gms_serviceService catalogue; each service auto-links to a billable product.gms_core, sale
gms_appointmentOnline/walk-in booking, calendar, T-24h reminders, advance payment.gms_vehicle, gms_service
gms_job_cardThe central transaction: 10-state lifecycle, quotation, invoice, delivery.gms_appointment, sale, stock, account
gms_workshopWorkshop bays (kanban), mechanic labour timesheets, equipment.gms_job_card, maintenance
gms_inspectionMulti-point inspection templates and mobile-friendly checklists.gms_job_card
gms_warrantyWarranty register, expiry cron, claims linked to helpdesk.gms_job_card, helpdesk
gms_reportsQWeb PDFs: job card, inspection, vehicle service history.gms_job_card, gms_inspection
gms_dashboardReal-time owner/manager KPI dashboard (OWL client action).gms_job_card
gms_whatsappWhatsApp via Meta Cloud API / Twilio, inbound + outbound.gms_job_card, gms_appointment
gms_n8nSigned outbound webhooks + secure inbound callbacks to n8n.gms_core
gms_portalCustomer self-service: vehicles, appointments, job cards, warranties.gms_job_card, gms_warranty, portal
gms_websitePublic service catalogue + multi-step online booking.gms_appointment, gms_service, website
gms_aiAI complaint analysis, repair suggestions, predictive maintenance.gms_job_card, gms_inspection
gms_helpdeskLinks support tickets to vehicles and job cards.helpdesk, gms_job_card

Modular by designYou don't have to install all 16 modules. A small garage might run core + vehicle + service + appointment + job card + reports. Add the workshop board, warranties, WhatsApp, the portal or the AI assistant as the business grows. Each is a clean, independent layer.The job card is the centre of the system. Every appointment, inspection, bay assignment, quotation, invoice and warranty attaches to a job card, here on its kanban board, grouped by workflow stage.

The End-to-End Workflow: A Live Demo in Words

This is the heart of the product. Below is exactly what happens, screen by screen, from the moment a customer wants their car serviced to the moment they drive away with an invoice. Every step below is implemented in the system.

The Job Card Lifecycle

The job card is the spine of the whole operation. It moves through ten states, and every other module plugs into it:

Draft→Inspection→Quotation→Approved→In Repair→Quality Check→Ready→Invoiced→DeliveredCancelled

  1. The customer booksThe customer opens the garage website, goes to /book, picks their vehicle, selects services from the published catalogue, and chooses a time slot. The multi-step form works even without JavaScript. On submit, the system finds or creates the customer record and creates agms.appointment(APT-00042). An advance payment can be required if that feature flag is on.
  2. The appointment is confirmedThe service advisor sees the booking on the Appointments calendar, colour-coded by advisor. The appointment moves draft → confirmed. Twenty-four hours before the slot, an hourly cron sends a reminder by email, and by SMS or WhatsApp if those flags are enabled. The reminder is idempotent: it fires once and sets a flag so it never double-sends.
  3. The vehicle arrives: check-inOn arrival, the advisor clicks Check In on the appointment. This stamps the check-in time and automatically opens agms.job.card(JC-2026-00318) linked to the appointment, customer and vehicle. The advisor records the fuel level, the in-odometer reading, the customer's complaint, and snaps check-in photos. Any pre-existing dents are logged as vehicle damage lines so there's no dispute later.
  4. Multi-point inspectionThe advisor clicks Start Inspection. The system loads the right checklist template for the vehicle type into a mobile-friendly form. The technician walks the car and taps Good Attention or Critical for each item, attaching photos and notes. Items flagged "recommend repair" can be pushed straight into the quotation.
  5. Quotation generatedWith services and parts on the job card, the advisor clicks Generate Quotation. The system builds areal Odoo sale orderwith service and part lines, back-referenced to the job card. The customer is emailed the quote, or sent a WhatsApp message.
  6. Customer approvesThe customer approves with one tap in the portal, or simply replies YES on WhatsApp. Either way the sale order is confirmed and the job card advances to Approved. No phone tag, no ambiguity.
  7. Bay assignment & repairThe workshop manager assigns the car to abayfrom the live kanban board. The bay flips to occupied. The mechanic starts alabour timesheet(start, pause, resume, stop) which feeds productivity KPIs. The job card sits in In Repair.
  8. Quality checkWork done, the job moves to Quality Check. A supervisor verifies the repair before the customer is told it's ready. The bay is released automatically when the job reaches ready.
  9. Invoice createdThe advisor clicks Create Invoice. The system builds areal Odoo customer invoicefrom the job-card lines, back-referenced to the job card, with correct taxes. Accounting sees it instantly, no re-keying.
  10. DeliveryOn handover the advisor clicks Deliver. The check-out time is stamped, the out-odometer reading is pushed to the vehicle's official odometer log in Fleet, and, if warranties are enabled, service and partswarranties are auto-created. A delivery confirmation goes out. The vehicle's history now carries this complete visit.

Why this mattersEvery state transition is recorded in the chatter, every document is a native Odoo record, and every notification respects a feature flag. Nothing is "faked" for the demo, the quotation is a sale order, the invoice is a journal entry, the odometer reading lands in Fleet.A real, delivered job card (JC-2026-00190). The status bar across the top tracks the lifecycle; the form holds customer, vehicle, check-in/out telemetry, service lines and a complete audit trail in the chatter on the right.

Feature-by-Feature Tour

1. Customer & Vehicle Master

Customers are extended Odoo contacts with a garage customer code, alternate mobile, driving licence, GST number and attached documents. The record computes total visits, total revenue and open jobs automatically. Each customer owns one or more vehicles.

Vehicles extend Odoo Fleet with engine number, fuel type (petrol/diesel/CNG/electric/hybrid), transmission, colour, current odometer, manufacturing year and vehicle type. The system computes a health score (0–100) from inspection results and raises a service-due flag. Vehicle photos are attached for reference.

2. Service Catalogue

Services are organised into nesting categories (Engine, Body, Electrical, etc.). Each billable service automatically links to, or creates, a service product, so the moment it lands on a job card it can be quoted and invoiced. Services can be published to the public website.

The service catalogue. Each service is a reusable, billable item that drops straight onto a job card and flows into the quotation and invoice.

3. Appointments

Bookings arrive online or are entered as walk-ins. The calendar view is colour-coded by advisor. The lifecycle is draft → confirmed → checked-in → in progress → ready → delivered, with a cancelled path. Each appointment carries a public access token so an anonymous customer can look it up safely, and an optional advance payment can be captured.

4. Job Cards

Already covered above, the central transaction. Worth repeating: it holds service lines, part lines and damage lines; computes labour, parts, discount, tax and grand totals in a batch-safe way; and generates native quotations and invoices. Check-in/check-out telemetry (fuel, odometer, photos) is built in.

5. Workshop Bays & Labour

Bays come in five types (general, painting, washing, wheel alignment and inspection), each with a capacity and a live state (available / occupied / maintenance). The kanban board shows the whole floor at a glance. Mechanics are assigned to bays, equipment is parked in bays, and every job routed through a bay is kept in its history.

Labour timesheets track each mechanic's start, pause, resume and stop times against a job (and optionally a specific service line), producing real productivity data.

6. Multi-Point Inspection

Reusable templates define checklists per vehicle type. During inspection the technician records each item as Good / Attention / Critical / N-A with photos and notes. The system computes good/attention/critical counts, a percentage progress and a worst-case overall result, and can push recommended repairs into the quotation.

7. Warranty Management

Service and parts warranties are auto-created on delivery. Each warranty has a start/end date, optional kilometre limit and terms, and a lifecycle of active → expired / claimed / voided. A daily cron expires lapsed warranties and flags those expiring within 30 days. Customers raise claims, which automatically open a helpdesk ticket and move the warranty to claimed. A warranty certificate PDF is available.

8. AI Assistant optional

When enabled, the AI module (OpenAI or Anthropic, switchable) analyses the customer complaint and vehicle context to suggest probable causes and services, generates a repair plan from inspection results, and runs a daily predictive-maintenance scan that drafts appointments for vehicles past their service interval. A chat widget on the job card answers natural-language questions using the vehicle's history.

Every feature is config-gatedSMS, WhatsApp, online booking, inspection, warranty, AI and n8n are each controlled by a feature flag in Garage Settings. Turn on only what you need; the rest stays dormant.Vehicle record: owner, odometer and smart buttons for history, inspections and warranties.Multi-point inspection: one-tap Good / Attention / Critical results and a push-to-quotation button.Workshop bay board: live floor status, grouped by bay type with availability badges.Warranty register: service and parts warranties with expiry tracking and claims.

User Roles & What Each Person Sees

The system ships with five security groups, each with least-privilege access. Here's how a working day looks for each.

RoleWhat they doWhat they see
AdministratorConfigures the garage, manages feature flags, sequences, integrations and users.Everything, including Settings and integration logs.
Workshop ManagerAssigns bays, balances mechanic load, oversees the floor, watches the dashboard.Bay kanban, all job cards, timesheets, KPI dashboard.
Service AdvisorBooks appointments, checks vehicles in, runs inspections, quotes and invoices.Appointments, job cards, inspections, quotations, invoices.
MechanicWorks assigned jobs, logs labour time, records inspection findings.Only their assigned job cards (record-rule scoped) and timesheets.
AccountantReviews invoices and payments, reconciles, reports on revenue.Invoices, payments and accounting reports.
Customer (portal)Books, approves quotes, tracks status, views history and warranties.Only their own vehicles, appointments, job cards and warranties.

The service advisor's daily board. Appointments grouped by stage (Confirmed, Draft, In Progress), each card showing the customer, vehicle and slot. Different roles work from the views scoped to their job.

The KPI Dashboard

The owner/manager dashboard is a real-time OWL client action that pulls live metrics over RPC. Each tile is clickable and drills down to the underlying records. The KPIs delivered are:

KPIWhat it answers
Today's RevenuePosted customer invoices billed today.
Monthly RevenuePosted invoices for the current month.
Open Job CardsHow many jobs are live (draft through quality check).
Jobs Completed TodayVehicles delivered today.
Vehicles in WorkshopCurrent floor occupancy (in repair + quality check).
Mechanic UtilisationAverage hours worked per mechanic (needs the workshop module).
Inventory ValueTotal value of stockable parts on hand.
Pending QuotationsQuotes awaiting customer approval.

Built defensivelyEach KPI gracefully handles a missing optional module, if you haven't installed the workshop or stock modules, those tiles simply don't appear instead of erroring.Every KPI is live and clickable. Revenue, open jobs, workshop occupancy, mechanic utilisation, inventory value and pending approvals, each tile drills down to the underlying records.

Reports

Three QWeb PDF reports are generated directly from records, with heavy aggregation done in the model layer so templates only render:

ReportContentsUsed for
Job CardVehicle & customer details, service lines, part lines, pre-existing damage, totals.The customer's record of work and the workshop job sheet.
Inspection ReportChecklist grouped by category, per-item results, repair recommendations.Showing the customer the vehicle's condition objectively.
Vehicle Service HistoryChronological list of all job cards, spend and inspections for one vehicle.Resale value, fleet audits, returning-customer context.
Warranty CertificateCoverage dates, kilometre limit and terms for a warranty.Proof of cover handed to the customer.

Job Card report: the customer's record of work, with services, parts and tax-accurate totals.Inspection report: the vehicle's condition, item by item, with recommendations.

Automation & Integrations

Scheduled Jobs

  • Appointment reminders (hourly): sends a reminder 24 hours before each appointment, once, by email/SMS/WhatsApp depending on flags.
  • Warranty expiry (daily): expires lapsed warranties and flags any expiring within 30 days.
  • Predictive maintenance (daily, AI): scans vehicles past their service interval and drafts suggested appointments, batch-limited and idempotent.

WhatsApp Integration

The WhatsApp module connects to the Meta Cloud API or Twilio. Outbound: appointment confirmations and reminders, quotation-approval requests, ready and delivery notices, all template-driven. Inbound: a secure webhook (HMAC-SHA256 verified) understands YES to approve a quotation and STATUS to return job progress. Every message is logged with a queued / sent / failed / received status.

n8n Automation

For teams that orchestrate workflows in n8n, the system sends signed outbound webhooks and exposes a secure inbound callback endpoint with whitelist-only dispatch (no arbitrary code execution). A built-in handler confirms a job card when n8n reports a quotation approved. All calls are config-gated, time-bound and wrapped so an integration hiccup never breaks the workshop flow.

Security baked inEvery integration secret lives in Odoo's config parameters, never in source, never logged. Webhooks verify signatures in constant time. Outbound calls have timeouts and never raise into the business transaction.The WhatsApp message log. Every templated message (appointment confirmation, quotation, ready, invoice) is recorded with its recipient, template and delivery status. (Statuses show as failed here because no live WhatsApp credentials are configured in this demo database.)

Customer Portal & Public Website

Self-Service Portal

Logged-in customers get a portal home with live counters for their vehicles, appointments, job cards and warranties. They can:

  • Browse their vehicles and full service history.
  • See appointments and booking history.
  • Open a job card and watch a lifecycle step-tracker with services, parts and totals.
  • Review active, expired and claimed warranties.
  • Approve a quotation with one click, which confirms the order and advances the job.

Everything is scoped by record rules to the customer's own partner record. Portal users get no write, create or delete rights, they see only what's theirs.

Public Website

Anyone can browse the published service catalogue and service packages, then book through the multi-step /book flow. Booking submission validates and whitelists every input, finds or creates the customer, and creates the appointment safely. A token-keyed confirmation page is shown, no login required to confirm.

Portal home: the customer's vehicles, appointments, job cards and warranties at a glance.Job cards in the portal: the customer follows every repair order's status and approves quotations.

A Real Business Scenario, Start to Finish

Meet Priya, who owns a 2021 Hyundai Creta. Here's her service journey through the system, with realistic sample data.

  1. Monday, 9 p.m.: booking.Priya visits the garage website, selects her Creta, picks "Periodic Service + AC Check", and books Wednesday 10:00. The system creates appointment APT-00071 and emails a confirmation.
  2. Tuesday, 10 a.m.: reminder.The hourly cron sends Priya a WhatsApp reminder for her Wednesday slot.
  3. Wednesday, 10:05: check-in.Advisor Rahul clicks Check In. Job card JC-2026-00318 opens. Odometer in: 41,250 km. Fuel: ¾. Complaint: "AC not cooling, due for service." A small scratch on the rear bumper is logged as damage.
  4. 10:20: inspection.Technician runs the car inspection template: brakes Good, AC gas Critical, air filter Attention. The AC and filter items are pushed to the quote.
  5. 10:40: quotation.Rahul adds periodic-service labour, an AC re-gas and an air filter. Quotation total ₹6,480 is generated as a sale order and sent on WhatsApp.
  6. 10:52: approval.Priya replies YES. The order confirms; the job card moves to Approved.
  7. 11:00: bay & repair.Manager assigns Bay 3 (general). Mechanic Imran starts his labour timer. Job is In Repair.
  8. 1:30 p.m.: quality check & ready.Work verified, bay released, status Ready. Priya gets a "your car is ready" WhatsApp.
  9. 5:15: invoice & delivery.Invoice ₹6,480 (tax-correct) is created and posted. On Deliver, odometer out 41,253 km is written to the Creta's Fleet log, and a 3-month AC-service warranty is auto-created. Priya drives away; the visit is now in her vehicle history and portal.

The payoffOne booking touched appointments, vehicles, inspection, job card, workshop bays, labour, sales, accounting, warranty, WhatsApp and the customer portal, and Priya never made a single "is it ready?" phone call.

Security, Multi-Company & Data Integrity

  • Least-privilege access: five roles, each with explicit model permissions and record rules.
  • Multi-company: every business record carries a company and is isolated by record rules, ideal for multi-branch chains.
  • Mechanic scoping: mechanics see only the job cards assigned to them.
  • Portal scoping: customers see only their own documents.
  • Secrets: integration keys live in config parameters, never in code or logs.
  • Auditability: state changes, assignments and approvals are tracked in the chatter.

Upgrade-safe by constructionBecause the system extends Odoo's standard apps rather than replacing them, it inherits Odoo's upgrade path. Custom logic is additive, sequences and external IDs are stable, and the financial/stock engines remain Odoo's own.

Frequently Asked Questions

What is a garage management system?Is this garage software built on Odoo 19?Does the system support online appointment booking?How does the job card workflow work?Can customers approve quotations from their phone?Does it include WhatsApp notifications?What reports does the garage software generate?Can it track mechanic productivity?Does it handle warranties and claims?Is the garage management system multi-company ready?Does it work on mobile and tablets?Can I install only part of the system?Does it include an AI assistant?How are appointment reminders sent?Is customer and vehicle history preserved?Can it integrate with other tools like n8n?How do customers pay an advance for online bookings?Who builds and supports this system?

Related Reading

Mastering the Odoo Job Card Workflow

A deeper dive into the 10-state job card and its quotation-to-invoice automation.

WhatsApp Automation for Service Businesses

How the Meta Cloud API webhook approve-by-reply flow is built and secured.

Running Multiple Branches on One Odoo

Multi-company record rules and central reporting for service chains.

Building a Customer Self-Service Portal in Odoo

Portal scoping, one-click approvals and what customers should see.

See This Garage Management System Live

Everything in this guide is a working product. Let Do Incredible Technology walk you through it on your own data, or tailor it to exactly how your workshop runs.

Book a Free DemoGet a Free Consultation

  • Product Demo
  • Odoo Implementation
  • Custom Development
  • Module Customisation
  • ERP Migration
  • Support & Maintenance

Do Incredible Technology

Odoo development and ERP consulting specialists. This guide documents a Garage Management System we designed and built on Odoo 19, 16 integrated modules covering booking, workshop operations, billing, warranties, automation and customer self-service. We implement, customise and support Odoo for service businesses worldwide.

Get in Touch

Garage Management Software on Odoo 19: A Complete Workshop-to-Invoice Walkthrough
Prashant 4 September 2026
Share this post
Tags