| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Employees (hr) • Inventory (stock) • Invoicing (account) |
| Lines of code | 1974 |
| Technical Name |
grev_od_mining_base |
| License | OPL-1 |
| Website | https://grevlin.com |
Mining Operations BaseThe foundation of the Grevlin Mining Suite — manage sites, pits, shifts, crew rosters and production calendars in a single Odoo-native platform built for Sub-Saharan Africa.
|
|
|
|
|
Need Help?Contact us at odoo@grevlin.com or find us on X at @GrevlinGlobal ✓ 30 days free support included |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Employees (hr) • Inventory (stock) • Invoicing (account) |
| Lines of code | 1974 |
| Technical Name |
grev_od_mining_base |
| License | OPL-1 |
| Website | https://grevlin.com |
Mining Operations Base
The Mining Operations Base module is the foundation of the Grevlin Mining Suite. It provides the shared data layer — site hierarchy, commodity registry, shift management, crew rosters, and production calendars — that all other mining modules depend on.
Important
This module must be installed before any other module in the Grevlin Mining Suite. All seven specialist modules depend on the models and security groups defined here.
Overview
Key Features
- Site hierarchy — site → pit → level → circuit with commodity and element registries
- Shift management — configurable shift types with supervisor sign-off and tamper detection
- Crew roster — role-based crew assignment per shift with hours allocation
- Production calendar — day-type configuration (production, holiday, shutdown, weather stop)
- Offline PWA sync — UUID-based conflict detection for underground connectivity gaps
- Site overview dashboard — OWL-powered real-time KPI dashboard
- Seven security groups — Visitor through Manager with record-level rules
Configuration
Installation
- Go to :menuselection:`Apps --> Search` and search for Mining Operations Base.
- Click :guilabel:`Install`.
- The module installs demo data for Kolwezi (Cu-Co, DRC) and Lubumbashi (flotation) sites.
Settings
After installation, configure module behaviour at :menuselection:`Mining --> Configuration --> Settings`:
| Setting | Description | Default |
|---|---|---|
| Shift lock delay (hours) | Hours after approval before a shift log is auto-locked | 24 |
| Allow operator submit | Whether operators (not only supervisors) can submit shift logs | Enabled |
| Offline retention days | Days before unsynced offline records are purged | 14 |
Usage
Creating a Site
- Go to :menuselection:`Mining --> Configuration --> Sites`.
- Click :guilabel:`Create`.
- Fill in the required fields:
- Name — full site name (e.g. Kolwezi Copper-Cobalt Mine)
- Code — short unique identifier per company (e.g. KOL)
- Mining Method — open pit, underground, or hybrid
- Processing Method — heap leach, CIL, flotation, SX-EW, DMS, HMS
- Add commodities (Cu, Co, Au…) and elements to configure per-site assay tracking.
- Click :guilabel:`Save`.
Adding Pits and Circuits
From the site form, use the :guilabel:`Pits` and :guilabel:`Circuits` tabs to add child records. Each pit can have multiple bench levels. Each circuit declares its type (crusher, SAG mill, flotation cell, etc.) and design throughput (tph).
Managing Shift Logs
- Go to :menuselection:`Mining --> Operations --> Shift Logs`.
- Click :guilabel:`Create` and select the site, date, and shift type.
- Add crew members in the :guilabel:`Crew Roster` tab.
- Click :guilabel:`Submit` to move to the submitted state.
Note
Once a shift log is in locked state (auto-locked after the configured delay), no fields can be edited. Only a Manager can unlock it, and the reason is logged to the chatter.
State Machine
| State | Who can transition | Action |
|---|---|---|
| Draft | Operator / Supervisor | :guilabel:`Submit` |
| Submitted | Supervisor / Manager | :guilabel:`Approve` or :guilabel:`Reject` |
| Approved | System (cron) | Auto-locked after delay |
| Locked | Manager only | :guilabel:`Unlock` (with reason) |
Using the Site Overview Dashboard
Go to :menuselection:`Mining --> Dashboard`. The dashboard shows:
- Active sites and pits count
- Shifts in progress and pending approval
- Pipeline buttons — click any button to filter the embedded kanban view
- Activity metrics on the right panel
Technical Details
Dashboard Data Method
The get_dashboard_data() method on mining.site returns:
{ 'kpis': { 'sites_active': int, 'pits_active': int, 'shifts_in_progress': int, 'shifts_pending_approval': int, }, 'pipeline': { 'draft': int, 'submitted': int, 'approved': int, 'locked': int, }, 'activity': { 'shifts_pending_approval': int, 'shifts_in_progress': int, }, }
Offline Sync Mixin
The mining.offline.mixin abstract model adds four fields to any model that inherits it:
- client_uuid — UUID set by the PWA client on creation
- client_seq — monotonic sequence per client device
- sync_conflict — set to True when the server detects a sequence gap
- synced_at — timestamp of last successful sync
The sync endpoint at /mining/sync accepts a list of records and performs upsert by client_uuid, setting sync_conflict=True when the incoming client_seq is not the expected next value.
See also
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module