BFBambooForge Labs

Garage & Auto Repair Management

Garage and auto repair job cards with an authorised figure that cannot be exceeded quietly, booked versus actual time, and service history.

Buy on the Odoo Apps StoreOpen the live demoIndustries€232Community & Enterprise

Available for Odoo 16.0, Odoo 17.0, Odoo 18.0, Odoo 19.0. Technical name bambooforge_garage.

Odoo 16.0Odoo 17.0Odoo 18.0Odoo 19.0
Full walkthrough on a live Odoo 19.0 database, with subtitles. It ends with what this app deliberately does not do.

Garage & Auto Repair Management

Built around the one argument every garage has: the customer authorised a figure and the bill says another.

The authorisation

  • The authorised amount is a number on the job card, with who gave it and when. It is the figure the customer heard on the phone, so it is tax included, and the card is measured against the same.

  • Nothing starts without one. Putting a car on the ramp with nothing agreed is refused, not warned about.

  • A card that has gone past the figure cannot be finished. The keys do not go back until somebody rings the customer and authorises the difference - afterwards it is an argument you lose.

  • The gate is on the bill as well as on the ramp. A part that appears on a card after it was finished is refused outright, and if one ever gets there the invoice will not go out until it is authorised. Once a card is finished, invoiced or cancelled, nothing is added to it, changed on it or taken off it: only the workshop manager can put it back on the ramp, and the card says who did.

  • An authorisation only ever moves up. A smaller figure means work coming off the card, not the authorisation shrinking.

The vehicle

  • The history belongs to the registration plate, not to the owner. Cars change hands; the record does not start again.

  • The odometer never goes backwards. A reading lower than the last one is a typo or a crime, and either way it is refused - on the vehicle, on the job card, through an import and over the API, because they all go through the same door. Every job card writes its reading onto the vehicle.

  • A reading that went in wrong is corrected by the workshop manager, with a reason, and the reason is on the vehicle where the next person can read it. Cancelling a card gives the vehicle back the reading it had before that card was opened.

  • Service due by date or by distance, whichever comes first, and a job that includes a service operation resets both. Cancelling a finished card winds the clock back with it.

  • Roadworthiness and insurance dates sit beside them, and a scheduled job puts a call on a named person's list thirty days out - the reminder owner set on the company, or the advisor who booked the car in last. Never a robot's list, and never the same car twice in a month, whether or not the call was ticked off.

The workshop

  • Book time, charged time and actual time on every labour line. The ratio between the first and the last is what a workshop is really run on, and it is a field rather than a spreadsheet.

  • Parts hold the car. A part on order puts the job in waiting, and a card cannot be finished while a part has not arrived. Each part carries its number, its factor, its cost and therefore its margin.

  • One car per ramp; a double-booked ramp is a promise broken.

The money

  • The driver is not always the payer. A fleet, a leasing company or an insurer set on the vehicle is carried onto every job card, and the invoice quotes the plate and the odometer - what a fleet manager reads when forty of these arrive in a month.

  • Labour and parts both reach the invoice, taxed through the customer's fiscal position - and the card shows the same tax the bill will, including on lines created by an import or over the API.

  • A card is invoiced once, and the card row is held while the invoice is raised, so two people pressing the button at the same moment cannot raise two bills.

  • An invoiced card cannot be edited - header, labour or parts. Cancel the invoice and the card puts itself back to finished; credit it and the card is free again, because a credit note is not a second bill and the invoice it reversed has stopped being one.

Roles

A technician works the card - diagnosis, labour, times, parts - and sees no price and authorises nothing. That is enforced on the fields themselves, not only on the screen: a price is not readable over the API, in an export or through an import either, and the authorisation and the state of the card cannot be written by anybody but the advisor. A service advisor books cars in, rings the customer, moves the card through the workshop, authorises and invoices - and comes with the invoicing rights that requires. The workshop manager configures, sees the cost and the margin on parts, corrects an odometer and puts a finished card back on the ramp.

Community only

Depends on product, account and base_setup - all Community. Tested on 16.0, 17.0, 18.0 and 19.0.

Screens

Jobcard - bambooforge_garage
Jobcard
Vehicle - bambooforge_garage
Vehicle
Workshop - bambooforge_garage
Workshop