In this article
- Start with the correct Odoo maintenance model
- Step 1: Register every maintainable asset
- Step 2: Make each maintenance request decision-ready
- Step 3: Record downtime where production planning can see it
- Step 4: Close corrective jobs properly
- Put critical spares in the same operating picture
- Step 5: Configure spare parts by store, not only by company
- Keep maintenance purchasing and VAT controls aligned
- What leadership should see each week
- Frequently Asked Questions
- Does Odoo 19 use maintenance work orders for mine equipment?
- Can Odoo calculate MTBF and MTTR for mining equipment?
- Can Odoo prevent production from being scheduled during planned repairs?
- Do Copperbelt mines use turnover tax in Zambia?
A crusher is stopped at the point when the shift needs it most. The technician has a handwritten repair note, the store cannot confirm whether the bearing is on hand, and finance only sees the cost after the month closes. That is the operating problem mining ERP software Zambia programmes need to solve, not simply a maintenance administration task.
For Copperbelt mines, plant and fleet maintenance must connect equipment history, planned downtime, critical spares and tax-compliant purchasing in one auditable process. Odoo 19 Maintenance provides that structure through maintenance requests, equipment records and inventory replenishment. It also gives operations, finance and procurement a shared view of what failed, what it cost and what could stop the next shift.
At Serpa, we configure Odoo ERP around the maintenance process people actually follow at site: a defect is reported, a technician assesses it, stores issues a part, work is completed, and the production impact is recorded. The difference is that each hand-off becomes visible in real time.
Start with the correct Odoo maintenance model
The most common design mistake is to call every maintenance activity a work order. In standard Odoo 19, plant and fleet maintenance is managed through maintenance requests. Manufacturing work orders belong to the Manufacturing application and serve a separate purpose.
This distinction matters because it affects reporting, scheduling and accountability. A maintenance request can be preventive or corrective, assigned to a maintenance team and technician, given a scheduled date, expected duration, priority, notes and instructions. It then moves through the maintenance process to Repaired or Scrap.
Use a manufacturing order or work order only when the repair directly affects a manufacturing process configured in Odoo. Where applicable, a maintenance request can be linked to a manufacturing order and work order. If a work centre is blocked, Odoo prevents new work orders or maintenance from being scheduled during the recorded repair duration. That creates a defensible record of planned plant downtime.
Step 1: Register every maintainable asset
Create an equipment record for each truck, shovel, crusher, pump and conveyor. At a minimum, record the category, responsible person, serial number, in-service date, acquisition cost and warranty expiry.
The in-service date and maintenance history are not administrative extras. Odoo uses maintenance history to calculate mean time between failures, estimated next failure, latest failure and mean time to repair. If the dates are wrong or corrective jobs are closed without a proper record, the reliability measures will mislead management.
For a Copperbelt operation, categories should reflect how planning and stores work on site. Mobile fleet, crushing, milling, dewatering, conveying and fixed plant are often more useful operational categories than a generic asset list. The category determines who owns the request queue and which failure patterns deserve attention.
Do not start by loading every historical job card. If the old data has inconsistent equipment names, missing close dates and no distinction between planned and corrective work, it will weaken the new baseline. Load active equipment and current open work first, then bring in verified history where it can be trusted.
Step 2: Make each maintenance request decision-ready
A good corrective request answers four questions before the planner allocates labour: what asset failed, what symptom was observed, what production restriction applies, and what parts may be required.
Set the request type to corrective for an unplanned defect and preventive for planned service activity. Assign the maintenance team, technician, scheduled date, duration and priority. Add clear instructions rather than a vague note such as “check machine”. A request that says “crusher drive-end bearing temperature rising, inspect lubrication and bearing condition before next run” gives the technician and production supervisor a usable starting point.
Priority should represent operational consequence, not the volume of messages from the requesting department. A pump that risks flooding a working area needs a different escalation path from a non-critical workshop light. We recommend agreeing those rules before implementation, because a queue where every request is urgent gives no planner a meaningful sequence.
Step 3: Record downtime where production planning can see it
Maintenance teams often know why an asset stopped, while the production plan only shows lost hours after the fact. Link the maintenance request to the affected manufacturing order and work order where that structure applies. Then block the relevant work centre for the recorded repair duration.
This is valuable for planned shutdown work. It stops the system from scheduling new activity into a period that maintenance has already reserved. It also gives the COO and operations head a single record of the planned interruption rather than competing spreadsheets from maintenance and production.
Take an illustrative Copperbelt concentrator with a crusher scheduled for a maintenance window. The planner blocks the relevant work centre for the expected repair duration and attaches the maintenance request. Stores reserves the identified spares before the shutdown begins. If the repair takes longer, the planner updates the request and the changed duration is visible to the production team, rather than being discovered in the next shift report. The operation would do differently next time is straightforward: record the actual repair duration and cause, because that is what improves later shutdown planning.
Step 4: Close corrective jobs properly
Odoo’s maintenance indicators depend on the record quality of completed corrective work. The technician or supervisor should capture the failure date, repair completion, work performed and final outcome before moving the request to Repaired or Scrap.
A request moved to Repaired without a credible failure history is worse than an incomplete request because it creates false confidence in MTBF and MTTR reporting. Treat the close-out as a control point. The maintenance manager should review high-priority corrective jobs weekly, especially repeat failures on the same asset family.
Put critical spares in the same operating picture
A completed maintenance request does not restore availability if the required seal, bearing or hydraulic component is not in the site store. Odoo Inventory links stock policy to the maintenance operating model, provided the product setup is accurate.
Step 5: Configure spare parts by store, not only by company
For consumables and critical spares, set the products as Goods and enable inventory tracking. Then apply minimum and maximum reordering rules for the actual store or warehouse that supports the equipment.
This is where many implementations fail. A company-level stock figure can show that a part exists somewhere in the organisation while the maintenance store serving the mine is empty. The planner still loses time arranging an internal transfer or emergency purchase.
Odoo can create a request for quotation or a purchase or manufacturing order when forecast stock falls below the minimum level. Its scheduler runs daily by default. The replenishment dashboard lets planners review forecast demand, vendor lead times, order quantities and horizon days. That is the practical control needed for long-lead spares before a planned shutdown.
Take an illustrative mine with a critical pump seal held in central stores and used by a dewatering team at a remote operational area. The group creates a company-wide reordering rule, but the local store has no usable stock when the pump fails. The result is an urgent transfer request and idle maintenance labour. In the revised design, the seal has a location-specific minimum and maximum rule, and the planner checks the replenishment dashboard against vendor lead time before the shutdown schedule is fixed. The lesson is not to hold excessive inventory. It is to place the control at the point where demand occurs.
If a spare is low-value, widely available and has no operational consequence, do not create elaborate replenishment logic around it. Reserve that effort for items whose absence extends downtime or creates a safety exposure.
Keep maintenance purchasing and VAT controls aligned
Maintenance procurement is part of the control environment, particularly for mines operating through multiple entities, contractors and stores. A purchase order alone does not prove VAT compliance.
As of September 2026, Zambia requires VAT registration when taxable supplies exceed or are likely to exceed K800,000 in an accounting year. Voluntary registration is available above K400,000, subject to conditions. ZRA’s 2025 practice note confirmed that the K800,000 statutory threshold remained unchanged and that the turnover-tax ceiling rose to K5,000,000. Mining operations remain excluded from turnover tax.
That exclusion matters. Do not apply turnover-tax language or assumptions to mine operations when designing the finance and tax localisation model. Confirm each entity’s tax position with its advisers, then configure the relevant Odoo accounting, supplier invoice and sales controls accordingly.
VAT taxpayers were required to register and use ZRA Smart Invoice by 30 September 2024, with standard non-compliance penalties applying from 1 October 2024. The Smart Invoice process requires an application, a commitment form and an approved device or integration method. In August 2026, ZRA publicised a conviction for failure to use Smart Invoice and issue a compliant tax invoice, resulting in a K125,000 fine.
For a maintenance department, the implication is concrete. A buyer may raise a legitimate purchase order for emergency spares, but the supplier invoice and the mine’s own taxable sales process still need to meet ZRA Smart Invoice requirements. Build the approval flow so finance can verify tax-compliant documentation before payment, while maintenance retains visibility of the parts expected and their delivery status.
What leadership should see each week
An Odoo implementation should not produce another system only the maintenance planner can use. CFOs, COOs and IT directors need a small set of auditable operational views.
| Leadership question | Odoo control or report | Why it matters | | Which assets are failing repeatedly? | Equipment history, MTBF and latest failure | Repeat failure indicates a maintenance, operating or component-quality issue. | | Where is downtime planned? | Scheduled maintenance requests and blocked work centres | Production can plan around the maintenance window instead of reacting to it. | | Which repairs are waiting on parts? | Maintenance requests matched with stock and replenishment status | The constraint may be supply, not technician capacity. | | Are critical spares exposed? | Reordering rules and replenishment dashboard by store | A group stock total can conceal a site-level shortage. | | Can finance support the purchase and tax trail? | Odoo Accounting, supplier invoice controls and ZRA Smart Invoice process | The transaction needs operational and tax evidence. | The useful implementation sequence is equally clear:
1. Clean the equipment register and agree the maintenance categories.
2. Configure preventive and corrective maintenance requests, teams, priorities and close-out rules.
3. Link relevant maintenance activity to manufacturing orders, work orders and blocked work centres.
4. Set up critical spare products, store-level reordering rules and supplier lead-time review.
5. Test the purchasing, invoice approval and ZRA Smart Invoice process with real maintenance scenarios.
6. Train planners, technicians, stores and finance on the same end-to-end workflow.
This is where a unified Odoo ERP implementation earns its ROI. The value is not a dashboard by itself. It is the ability to trace a production interruption from equipment record to maintenance request, spare issue, supplier document and financial approval without reconstructing events from paper and email.
Frequently Asked Questions
Does Odoo 19 use maintenance work orders for mine equipment?
Standard Odoo 19 uses maintenance requests for maintenance activity. Manufacturing work orders are a separate Manufacturing feature. A maintenance request can be linked to a manufacturing order and work order where the repair affects that process.
Can Odoo calculate MTBF and MTTR for mining equipment?
Yes. Odoo calculates MTBF, estimated next failure, latest failure and MTTR from maintenance history. The results depend on complete corrective maintenance records and correct equipment effective dates.
Can Odoo prevent production from being scheduled during planned repairs?
Yes, where maintenance is linked to the relevant manufacturing setup. A blocked work centre prevents new work orders or maintenance from being scheduled during the stated repair duration.
Do Copperbelt mines use turnover tax in Zambia?
Mining operations are excluded from turnover tax under ZRA’s 2025 practice note. Tax treatment depends on the entity and transaction, so confirm the applicable position before configuring tax localisation in Odoo.
Odoo official documentation for Maintenance, equipment setup, reordering rules and the replenishment dashboard supports the workflow described above. ZRA’s VAT guide, Smart Invoice registration guidance, 2025 practice note and August 2026 enforcement notice support the Zambia tax points.
Request a Consultation with Serpa to assess plant, fleet, spares and compliance controls through our mining ERP software Zambia practice.
