Mining, Gold Leaching, Gemstone & Industrial Minerals ERP: Pit Grade Control, Crusher/CIL Plant Recovery Mass Balance, Assay Lab LIMS, and Royalty Permit Compliance

Architecting a high-security Mining & Mineral Processing ERP for East African gold, soda ash, fluorspar, limestone, and gemstone operations: pit block grade control, ROM pad weighbridge & fire-assay LIMS, Carbon-in-Leach (CIL) metallurgical recovery accounting, bullion/stone vault custody, and Ministry of Mining royalty compliance.

Mining and mineral processing operations across Kenya and East Africa—spanning gold Carbon-in-Leach (CIL) / Carbon-in-Pulp (CIP) plants in Western Kenya and Nyanza, gemstone mines in Taita Taveta, and industrial mineral quarries (limestone, gypsum, soda ash, silica sand, fluorspar, and iron ore)—operate where a difference of 0.4 grams per tonne (g/t) in head grade or 3% in plant recovery represents millions of shillings per month. When Run-of-Mine (ROM) ore purchases, fire-assay results, cyanide/reagent dosing, and gold room elution are tracked on disconnected spreadsheets, plants suffer severe metallurgical leakage and ore-supplier fraud.

At devManue, we engineer hardened Mining, Mineral Processing & Assay LIMS ERP platforms that lock together pit/shaft ore-lot intake, blind-coded LIMS fire-assay workflows, ball-mill and CIL tank metallurgical mass balance, high-security gold doré / rough gemstone vault custody, and statutory mineral royalty declarations.

1. Securing the Metallurgical Value Chain from ROM Pad to Bullion Vault

  • Blind-Coded Sample Preparation & Assay Lab LIMS: When artisanal/small-scale ore suppliers or open-pit dump trucks deliver Run-of-Mine (ROM) ore to the weighbridge, the ERP generates an anonymized QR code for the moisture and fire-assay/AAS laboratory sample—preventing collusion between ore suppliers and assay chemists over head-grade (g/t Au) payouts.
  • Ball Mill, Cyclone & CIL/CIP Tank Metallurgical Accounting: Tracks hourly crushed tonnage, ball-mill grind size (P80 = 75 microns), sodium cyanide (NaCN) and lime dosing, dissolved oxygen, solution and solid tails grades, and loaded carbon gold inventory across every leach tank.
  • Gemstone Rough-to-Cut Parcel Custody (Tsavorite, Ruby, Tanzanite): For coloured gemstone miners, every rough crystal parcel is weighed in grams/carats at the washing plant, photographed, graded by clarity/colour, and tracked through cobbing, sawing, and faceting yield.
Stage 01→
Pit & ROM Pad Intake
Polygon/Shaft Tagging, Truck Weighbridge, Moisture % & Blind QR Sample
Stage 02→
Fire Assay / AAS LIMS
Anonymized Sample Prep, Head Grade (g/t) Assay & Ore Supplier Settlement
Stage 03→
Crushing, Milling & CIL
Ball-Mill Tonnage, NaCN/Lime Dosing, Loaded Carbon & Tailings Grade Audit
Stage 04→
Elution & Smelting Vault
Electrowinning Cell, Doré Bar Pour Weight, Fineness % & Dual-Custody Vault
Stage 05✓
Royalty & Export Permit
Ministry of Mining Online Portal Royalty Calc, ICGLR Cert & FX Settlement

2. Metallurgical Head-Grade, Tailings & Doré Recovery Mass-Balance Engine

Our metallurgical accounting engine computes theoretical contained metal in milled dry tonnes, deducts barren tailings loss, and reconciles expected fine gold against actual smelted doré bar weight and purity:

from decimal import Decimal, ROUND_HALF_UP

class MetallurgicalMassBalanceEngine:
    """
    Computes dry milled tonnage, theoretical contained gold (grams), plant
    recovery %, and variance against smelted doré bullion output.
    """
    @staticmethod
    def reconcile_cil_plant_campaign(
        wet_ore_milled_tonnes: Decimal,
        moisture_pct: Decimal,
        weighted_head_grade_g_per_t: Decimal,
        weighted_tailings_grade_g_per_t: Decimal,
        smelted_dore_bar_grams: Decimal,
        dore_gold_fineness_pct: Decimal,
        gold_in_circuit_delta_grams: Decimal = Decimal("0.00"),
    ) -> dict:
        dry_tonnes = (wet_ore_milled_tonnes * ((Decimal("100") - moisture_pct) / Decimal("100"))).quantize(
            Decimal("0.01"), rounding=ROUND_HALF_UP
        )
        contained_gold_grams = (dry_tonnes * weighted_head_grade_g_per_t).quantize(
            Decimal("0.01"), rounding=ROUND_HALF_UP
        )
        tailings_loss_grams = (dry_tonnes * weighted_tailings_grade_g_per_t).quantize(
            Decimal("0.01"), rounding=ROUND_HALF_UP
        )
        theoretical_recovered_grams = contained_gold_grams - tailings_loss_grams
        actual_fine_gold_poured_grams = (
            smelted_dore_bar_grams * (dore_gold_fineness_pct / Decimal("100")) + gold_in_circuit_delta_grams
        ).quantize(Decimal("0.01"), rounding=ROUND_HALF_UP)
        metallurgical_recovery_pct = (
            (actual_fine_gold_poured_grams / contained_gold_grams) * Decimal("100")
            if contained_gold_grams > 0 else Decimal("0.00")
        ).quantize(Decimal("0.01"), rounding=ROUND_HALF_UP)
        unaccounted_gold_variance_grams = (
            theoretical_recovered_grams - actual_fine_gold_poured_grams
        ).quantize(Decimal("0.01"), rounding=ROUND_HALF_UP)
        return {
            "dry_milled_tonnes": dry_tonnes,
            "contained_gold_grams": contained_gold_grams,
            "actual_fine_gold_grams": actual_fine_gold_poured_grams,
            "metallurgical_recovery_pct": metallurgical_recovery_pct,
            "unaccounted_gold_variance_grams": unaccounted_gold_variance_grams,
        }

3. Heavy Earthmoving Fleet Diesel, Explosives Magazine & Royalty Compliance

Beyond the processing plant, our ERP tracks excavator and dump-truck engine hours, drill-and-blast ANFO/emulsion explosives magazine sign-outs, and calculates exact statutory royalties under the Mining Act, 2016.

Mining & Mineral Processing MetricLegacy Spreadsheets & Manual TallyingdevManue Custom Enterprise ERP
ROM Ore Purchasing & Head-Grade AssayCollusion inflating supplier g/t assay resultsBlind-coded QR sample LIMS + moisture-locked weighing
CIL / Processing Plant Recovery AuditGold-in-circuit & elution losses discovered too lateDaily head-minus-tails vs loaded carbon mass balance
Reagent (Cyanide, Lime, Carbon) ConsumptionUnmonitored drum issues & overdosingKg-per-dry-tonne reagent dosing thresholds
Bullion / Gemstone Vault & ExportManual spreadsheets; complex royalty reconciliationsDual-custody bar/parcel ledger + automated royalty schedules
// High-Throughput Engineering • Systems Architecture Consulting

Scaling Python & Django APIs or Resolving Concurrency Bottlenecks?

We partner with engineering founders and tech leads to architect resilient distributed systems, optimize async worker pools, design scalable databases, and eliminate production latency spikes.

All Insights
Chat on WhatsApp