Supply Chain

Odoo Repairs: repair shop management software

Community + Enterprise

Repair damaged products

Odoo Ready Partner
★★★★★4.9 on Clutch
Calgary, in-house team
Odoo Repairs logo
What it does

What Odoo Repairs does

Odoo Repairs is the app that runs your repair workflow when a product comes back broken or a customer drops something off for service. Each repair lives on its own order: the product to repair, the parts that came off, the parts that went on, the technician's notes, the warranty flag, the price the customer pays at the end. Behind the scenes, every part removed leaves stock for a salvage or scrap location, every part added comes off the spares shelf, and the customer gets one printable repair quote and one invoice on the way out.

Electronics repair shops, appliance service, equipment maintenance contracts, returned-goods workflows, and auto repair shops all use it. You can test Odoo Repairs free on the Odoo trial; pricing kicks in only if you install more than one Odoo app.

For Odoo's own product overview, see Odoo's official documentation.

How it works

The day-to-day flow

A new repair order starts when a customer brings in a broken product or a returned shipment lands on the back-of-house bench. The service writer creates a repair order, picks the product to repair, picks the customer, and either confirms it on the spot or holds it in New status while the technician takes a first look. A unique repair reference goes on the receipt the customer takes home.

From there the technician opens the order on a tablet, takes a photo of the damage on the chatter, and starts working. As parts come off, they get added to the order as Remove lines (each part has its own destination location, either a salvage bin or a scrap location). As replacement parts go on, they get added as Add lines (each part pulled from the spares shelf, with the right sale price). Replacement parts can be tagged as billable or covered by warranty: if the order's Under Warranty flag is on, the sale price on every replacement part is set to zero automatically, and the customer pays for labour only (or nothing at all, depending on the warranty terms).

When the work is done, the order moves to Repaired and the customer gets a notification with the repair quote (showing parts, labour, taxes, total, and whether warranty was applied). Payment runs through the same Odoo Sales and Invoicing flow as any other sale, and a Quality check can fire after the repair to confirm the unit is working before it goes out the door.

Calibre configures Odoo Repairs for Alberta businesses: step by step, in writing.

Speak to an Implementation Specialist
In this module

What's inside Odoo Repairs

Five-Stage Repair Pipeline
Each repair order moves through five stages: New, Confirmed, Under Repair, Repaired, and Cancelled. The team's board groups by stage so a service manager sees the queue, the work in progress, the units waiting on customer pickup, and the cancelled orders without filtering. A stuck order surfaces by stage age.
Add and Remove Parts Tracking
Every part involved in a repair is logged as an Add line (a replacement coming from spares) or a Remove line (an original component being pulled off). Each Add line tracks the spares-shelf source; each Remove line tracks the destination (salvage shelf, scrap location, or recycle bin). The order shows a clean parts-in-parts-out audit trail without anyone reconciling spreadsheets.
Warranty Flag With Auto-Zero Pricing
Each repair order carries an Under Warranty flag. When the flag is ticked, the sale price on every Add line is set to zero automatically, so the customer is billed for labour only (or nothing at all if labour is also covered). Untick the flag and the standard sale prices come back. The flag lives on the order, so a partial warranty (parts covered, labour billed) is one click.
Three Stock Locations per Repair
Each repair routes parts through three named locations: a source location (where replacement parts come from, usually the spares shelf), a removed-parts destination (where pulled components go, usually a salvage bin or scrap location), and a recycle destination (for components that can be re-used). Set once per warehouse, applies to every repair, so the dock team always knows where the parts go.
Lot and Serial Number Capture
Each repair line can capture the lot or serial number of the specific part involved. A customer bringing in a serialized unit gets a full repair history per serial number, so a recurring fault on the same unit surfaces on the next visit. The service writer sees the prior repairs on the same serial when opening a new order.
Repair Quote and Invoice in One Flow
Every repair order doubles as a sales order. The quote prints with the parts, the labour, the taxes, and the warranty status on one PDF the customer can sign. When the work closes, the invoice posts to Odoo Invoicing on the same cadence as any other sale, paid in person at the counter or sent to the customer's email.
Priority Flag for Urgent Repairs
Each repair order can be tagged Urgent (versus the default Normal priority). Urgent orders surface at the top of the queue and on the team manager's dashboard so a same-day VIP repair or a regulatory time-sensitive fix is not sitting behind routine work. The flag is one click on the order screen.
Tags for Repair Type and Category
Use tags to slice repairs by type (Warranty, Out-of-Warranty, Goodwill, Insurance Claim, Recall), by category (Electronics, Mechanical, Cosmetic), or by source (Walk-In, Online Submission, Vendor Return). The dashboard breaks down volume and revenue by tag so the manager sees which repair types pay and which ones eat into margin.
Parts Availability Status
Each repair order shows a parts-availability status (Available, Expected, Late) computed from the parts the technician added to the order. A repair waiting on a back-ordered component surfaces with the Late status, so the service writer can call the customer with a real ETA instead of finding out the day of pickup.
Customer and Technician Notes on Every Order
Two separate note inputs sit on every repair order: an internal note for the technician (parts to watch for, prior history, special handling) and a customer-facing note that prints on the quote (terms of service, warranty notes, next-service reminder). The notes travel with the order through every stage.
Built for

Is Odoo Repairs right for your team?

Outgrowing the entry-level tools

SMBs whose data lives in QuickBooks, HubSpot Free, or Excel spreadsheets that were set up when the business was smaller. The team now spends hours building reports by hand and reconciling between tools every month-end.

Operations across multiple tools

Retail, manufacturing, mechanical, or professional services businesses with 10 to 200 employees running on a patchwork of point tools. The team wants one database for the whole company instead of Zapier holding it together.

At a glance Community + Enterprise Cloud, Odoo.sh, or self-host iOS + Android app 15-day free trial CSV migration from current tool Odoo Ready Partner support
Bundle

Apps people often run with Odoo Repairs

Most service shops running Odoo Repairs pair it with three or four other Odoo apps to cover the full operation. Odoo Sales is the parent (Repairs sits on top of it) and Odoo Inventory tracks the parts pulled from spares and the components routed to salvage or scrap. Odoo Invoicing handles the customer-facing invoice when the repair closes. Odoo Quality is a common addition when a post-repair inspection is part of the service: a Quality check fires when the order moves to Repaired and the technician runs the unit through a final test before the customer picks it up. Odoo Helpdesk is the pairing for shops where the repair starts as a customer support ticket (the ticket converts to a repair order in one click, carrying the conversation history). Odoo Field Service is added when the repair happens out at the customer's site instead of on the shop bench.

Pricing

What Odoo Repairs costs

One App Free
CA$0
forever
  • One app, unlimited users
  • Multi-company allowed
  • Odoo Online hosting
  • Dependent apps included free
If Odoo Repairs is the only Odoo app you install
Custom
CA$55
/user/month, billed yearly
  • Everything in Standard
  • Studio (no-code customizer)
  • Multi-company management
  • Hosting: Online, Odoo.sh, or on-premise
  • External API access
Choose this when you need custom layouts or multi-company management.
Calibre Implementation
Quote
phase-by-phase, in writing
  • Scoping, configuration, training
  • Data migration from your current tool
  • Named engineer through go-live and support
Book the call →
Free 45-minute scoping call. Quote in writing before any code ships.

Pricing source: Odoo's published Standard and Custom plans as of 2026-05. Calibre quotes in CAD; conversion from Odoo's local pricing in your region may vary.

Questions

Common questions about Odoo Repairs

Is Odoo Repairs free?
Yes. Odoo Repairs is part of the free Odoo Community edition (LGPL-3 licence), and the One App Free rule means that if Repairs is the only Odoo app you install you pay nothing for the software no matter how many orders you run. The catch is that Odoo Repairs depends on Odoo Sales and Odoo Inventory to function, so in practice every real setup uses multiple apps and moves to the paid plan (around CA$35.20 per user per month billed annually for the full Odoo suite). You can test Odoo Repairs free on the Odoo 15-day trial with every other app turned on before committing to the licence.
What's the difference between Odoo Repairs in Community and Enterprise?
The core repair flow is the same in both editions. The five-stage pipeline, Add and Remove parts tracking, the warranty flag, the three stock locations per repair, lot and serial number capture, the repair quote and invoice flow, priority flag, tags, parts availability status, and the customer and technician notes all work in the free Community edition. Enterprise adds three meaningful bridges. Helpdesk integration (helpdesk_repair) lets a customer support ticket convert to a repair order in one click. Quality integration (quality_repair) fires a post-repair inspection check before the order closes. Field Service integration (industry_fsm_repair) extends the repair flow to a technician dispatched to the customer's site. Studio (the no-code customizer for the repair form) is Enterprise as well.
Can we move our existing repair orders, customer warranty data, and parts catalog into Odoo Repairs?
Yes for the parts catalog and the customer list; partial for in-flight repairs. Odoo Repairs accepts CSV and Excel imports for the parts catalog (with prices, vendor info, serial-tracked flags), the customer list (with warranty start dates and contact info), historical repair orders as flat data, and tags. Live in-flight repairs are usually rebuilt on the cutover date since the technician's chatter and the work-in-progress state do not always carry across cleanly. Calibre handles the data audit, the parts-catalog cleanup, and the cutover-day pipeline rebuild during the rollout, and keeps your old repair tool live as a read-only reference for the first month.
Does Odoo Repairs work with payment processors and customer self-service?
Yes, through the Odoo Sales and Odoo Invoicing flow that Repairs sits on top of. When the repair closes, the invoice posts to Odoo Invoicing with the standard payment options: in-person card swipe at the counter (via a payment terminal wired to Odoo POS if you run one), online payment through the customer portal (Stripe, Adyen, PayPal, and several regional providers), or send-the-invoice-and-collect-later for accounts on terms. The customer portal also lets a customer check the status of an active repair, see the quote, and pay online without calling the shop.
Is there a mobile app for Odoo Repairs?
Yes, on iOS and Android. The Odoo mobile app covers the repair order pipeline, opening an order, adding or removing a part on the spot, photographing the unit and uploading to the chatter, marking the order Under Repair or Repaired, and looking up the customer's prior repair history. A technician at the bench works on a tablet; a service writer at the counter works on a desktop. Phones are fine for quick status checks but the order screen is denser than a phone handles comfortably.
Can one repair order cover a unit under warranty and also bill for non-warranty parts?
Yes. The Under Warranty flag on the order auto-zeroes the sale price on every Add line when it is on, so the default is parts covered. To bill the customer for a specific non-covered part (an upgrade, a wear item, an out-of-warranty add-on), turn the warranty flag off on the order and the standard sale prices come back, then manually zero the lines that are still covered. The quote and the invoice show every part with its actual price (zero or otherwise), so the customer sees what was covered and what was billed without any side calculation.
How does Odoo Repairs handle parts that come off the unit, get recycled, or get scrapped?
Every Remove line on a repair order has a destination location, set by the picking type. The default flow ships with three destinations: a Removed Parts location (the salvage shelf where pulled parts go if they have any further value), a Recycle Parts location (for components that can be re-used on other repairs), and a Scrap location (for parts that are written off). The technician picks the destination per Remove line when they pull a part. The stock journal logs every move, so a year-end audit can see what was salvaged, what was recycled, and what was scrapped per repair.

Working with Calibre

How long does a Calibre implementation typically take?
Single-module rollouts on an existing Odoo setup run 2-6 weeks depending on data migration scope. Greenfield Odoo with a multi-module rollout runs 4-16 weeks. Calibre commits to a written, phase-by-phase timeline after the free scoping call before any code is written.
How much does a Calibre implementation cost?
Cost depends on module scope, user count, custom work, and migration complexity. Calibre's posture is a written fixed-phase quote after the scoping call rather than an hourly engagement, so the cost is committed in writing before the first commit.
What happens to our data if we ever want to leave Odoo?
Everything exports. CSV, XML, or a full PostgreSQL database dump, yours on day one. Migrating off Odoo has been done before and it's not a one-way door.
Speak to an Implementation Specialist

Talk to Calibre about Odoo Repairs.

Written, phase-by-phase quote before any code is written. Odoo Ready Partner, Calgary. In-house team, no offshore handoffs.

Speak to an Implementation Specialist Try the 15-day free trial

What you get

  • Free 45-minute scoping call with an Odoo-certified engineer
  • Module-by-module fit/gap assessment
  • Written, phase-by-phase quote
  • Named engineer for implementation and support
  • Data-export commitment in writing