Production & Grade TrackingCapture every shift's ROM tonnage, mill feed, recovery, grade, and stockpile balance. Mass-balance engine flags variances in real time so your team stays accountable shift by shift.
|
|
|
|
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)
• Inventory (stock) • Employees (hr) • Invoicing (account) |
| Community Apps Dependencies | Show |
| Lines of code | 3517 |
| Technical Name |
grev_od_mining_production |
| License | OPL-1 |
| Website | https://grevlin.com |
Production & Grade Tracking
The Production & Grade Tracking module is the operational heartbeat of the Grevlin Mining Suite. It captures every shift's ROM tonnage, mill feed, recovery, grade, and stockpile balance — and runs an automated mass-balance check after each shift.
Note
Requires :doc:`../grev_od_mining_base/doc/index`. The stockpile feature also uses Odoo native inventory (stock module).
Overview
Key Features
- Shift production logs — mining (pit) and plant (circuit) log types per shift
- Dynamic grade entry — multi-element grades per stream (ROM, feed, concentrate, tailings)
- Mass balance engine — automated tonnage and metal variance check with pass/warn/fail
- Stockpile inventory — extends stock.location with grade attributes
- Recovery calculation — per circuit per element with ±5pp deviation alerting
- Versioned budgets — per pit, element, and month with budget-vs-actual dashboard
- Reports — daily production PDF and monthly summary wizard
Configuration
Mass Balance Tolerances
Default tolerances (configurable per site):
| Metric | WARN threshold | FAIL threshold |
|---|---|---|
| Tonnage variance | ±5% | ±10% |
| Metal variance (per element) | ±8% | ±15% |
Usage
Creating a Production Log
- Go to :menuselection:`Mining Production --> Operations --> Production Logs`.
- Click :guilabel:`Create`.
- Select the linked Shift Log and Log Type:
- Mining — requires a pit; captures ROM tonnes, waste, BCM
- Plant — requires a circuit; captures feed, concentrate, tailings
- Add grade entries in the :guilabel:`Grades` tab — one row per element per stream.
- Click :guilabel:`Run Mass Balance` to check tonnage and metal variances.
Recovery Formula
For each circuit and element:
Recovery % = (concentrate_tonnes × grade_concentrate) /
(feed_tonnes × grade_feed) × 100
A deviation of more than ±5 percentage points from design recovery triggers a warning flag (configurable per site).
Mass Balance Workflow
After running mass balance, the log enters one of three states:
- Pass — variances within tolerance; supervisor can approve shift log
- Warn — variances exceed WARN but not FAIL thresholds; approval blocked with note
- Fail — variances exceed FAIL thresholds; only a Manager can override with a mandatory audit note (logged to chatter)
Stockpile Inventory
Each stockpile is an Odoo stock.location with is_mining_stockpile = True. Movements auto-create stock.move records with a grade snapshot at movement time, giving you Odoo-native inventory valuation for free.
Grade attributes per stockpile location (StockLocationGrade):
- grade_avg — weighted-average grade (%)
- metal_t — total metal content in tonnes (computed: tonnes × grade / 100)
Technical Details
Mass Balance Engine
The MiningMassbalanceEngine transient model runs the following checks:
Tonnage: |total_in − total_out| / total_in × 100 vs WARN/FAIL thresholds
Metal: For each element:
metal_in = Σ (stream_in tonnes × grade / 100)
metal_out = Σ (stream_out tonnes × grade / 100)
variance = |metal_in − metal_out| / metal_in × 100
Returns a dict with state (pass/warn/fail), note, and per-log lines.
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