In this article
- Start with the compliance chain, not the ERP screens
- Worked example: a copper concentrate exporter
- Configure mineral royalty from the correct value basis
- Build the calculation as a controlled monthly record
- File and reconcile the ZRA return within 14 days
- Worked example: a gemstone trader with no sales
- Make the export permit workflow a release gate
- Set ownership across tax, operations and IT
- Frequently Asked Questions
- What is the deadline for Zambia mineral royalty returns?
- Does Zambia use invoice value for every mineral royalty calculation?
- Which authority issues mineral export permits in Zambia?
- Can Odoo track mineral lots and royalty evidence?
A finance manager closes the month, only to find that the copper shipment register is in one spreadsheet, assay data is held by technical services, and the ZRA TaxOnline payment reference sits in an email thread. The export application cannot proceed until the evidence agrees.
This is the control problem that mining ERP software Zambia must solve. Mineral royalty, export permits and stock movements need to follow the same mineral lot from production through sale, payment and shipment. A scanned clearance letter attached after the fact does not give a CFO or regulator a reliable audit trail.
As of October 2026, Zambia’s Minerals Regulation Commission Act, 2024 has been in force since 13 June 2025. It replaced the former Mines and Minerals Development Act, 2015 framework and places mineral export permits within the Minerals Regulation Commission process. For operators, this means export compliance is no longer a customs task at the end of a shipment. It depends on tax, valuation, source-right and security evidence being complete.
Start with the compliance chain, not the ERP screens
A mining ERP implementation should map the legal evidence required at each point where a mineral lot changes status. We recommend doing this before choosing fields, reports or approval workflows, because a generic inventory configuration rarely captures the records needed for royalty and export reconciliation.
For each lot or shipment, the system should link:
1. The source mining right or processing licence.
2. Production returns for licence holders, or trade returns for traders.
3. Mineral analysis and valuation certificate records from the Minerals Regulation Commission.
4. The sales invoice and the mineral quantity used for royalty calculation.
5. The ZRA mineral royalty return, assessment and payment reference.
6. Zambia Police security clearance.
7. The export permit and customs declaration record.
The Minerals Regulation Commission requires these evidence categories for mineral export permits. The Ministry portal also lists the invoice, analysis and valuation report, police clearance, completed application form and ZRA royalty clearance as supporting documents. The portal retains older references to the Director of Mines, so compliance teams should confirm the Commission’s live prescribed form, fee and permit-validity period before each workflow design. Those details are set by regulations and should not be hard-coded from an old checklist.
The operational judgement is straightforward: if a company exports minerals, do not manage permits as isolated PDF files. The cost of a stopped shipment is usually larger than the cost of configuring linked records during Odoo ERP implementation.
Worked example: a copper concentrate exporter
Take an illustrative Copperbelt producer shipping copper concentrate each month. Its commercial team records a sale, while the tax team calculates royalty from a separate workbook using the month’s price and exchange rate. Before implementation, the company may spend two working days each month matching tonnes, shipment dates and payment references across four files.
In a unified Odoo ERP process, each dispatch is assigned a mineral lot, the sale quantity is locked to that lot, and the royalty calculation carries the related ZRA return identifier. The export file cannot move to its final approval state until the valuation certificate, royalty clearance and police clearance are recorded. If the business processes 20 shipments a month, removing even 30 minutes of manual reconciliation per shipment returns about 10 staff hours monthly. This is illustrative, not a Serpa client result.
What we would change first is the lot structure. Many teams begin by digitising permit attachments, but the real control starts with a consistent lot ID that appears in inventory, finance, royalty and export records.
Configure mineral royalty from the correct value basis
Mineral royalty is not always calculated from invoice value. Zambia applies different rates and value bases by mineral category, so the ERP must identify the commodity, retain the calculation inputs and preserve the approved calculation for review.
| Mineral category | Royalty basis | Rate or band | | Energy and industrial minerals | Gross value | 5% | | Gemstones | Gross value | 6% | | Base metals other than copper, cobalt and vanadium | Norm value | 5% | | Precious metals | Norm value | 6% | | Cobalt and vanadium | Norm value | 8% | | Copper below US$4,000 per tonne | Norm value | 4% | | Copper from US$4,000 to below US$5,000 per tonne | Norm value | 6.5% | | Copper from US$5,000 to below US$7,000 per tonne | Norm value | 8.5% | | Copper at US$7,000 per tonne and above | Norm value | 10% | These mineral royalty rules have applied since 1 January 2019. For copper, a rate table alone is inadequate because the applicable rate changes with the monthly price band. A finance team must be able to show why a particular rate was selected for the month of sale.
For norm-value minerals, retain the quantity sold or recoverable metal, the applicable monthly LME or Fastmarkets MB price, any approved alternative market price, and the monthly Bank of Zambia mid-rate used for USD-to-ZMW conversion. These are not optional supporting notes. They are the evidence behind the royalty amount.
Build the calculation as a controlled monthly record
A practical configuration uses a monthly royalty calculation record rather than letting users overwrite a live rate on an invoice. The record should capture the commodity, period, pricing source, market price, exchange rate, quantity basis, calculated norm value, rate band and calculated royalty.
The person preparing the return can enter source values. A designated tax approver should confirm the values before the amount posts to the royalty payable account. The system should preserve the approved version after posting, because changing a historical market-price input without an audit record undermines the whole control.
Odoo’s official documentation confirms support for lot-level traceability, inventory valuation records and immutable accounting audit trails. We use those capabilities to link mineral lot, assay, permit, customs declaration, royalty-return and payment IDs as structured related records. They should not sit only in free-text notes or unsearchable attachments.
File and reconcile the ZRA return within 14 days
ZRA requires mineral royalty returns and payment within 14 days after month-end for the month of sale. Nil returns are still required when no minerals were sold. This is a common miss where a mine treats a quiet month as a month with no filing obligation.
The return is filed through ZRA TaxOnline. In the ERP, retain three distinct references: the submission reference, the assessment reference and the payment reference. One reference is not proof of the whole cycle. A submitted return can remain unpaid, and a payment without a matched assessment can remain difficult to explain during review.
Late returns carry a penalty of 2,000 penalty units per month or part month for a company. Late payment attracts 5% plus interest at the Bank of Zambia discount rate plus 2%. The 2026 ZRA Practice Note states that one penalty unit is K0.40. mineral-royalty penalty cash equivalents in TaxOnline, because older ZRA pages still show K0.30.
Worked example: a gemstone trader with no sales
Take a gemstone trader that held stock during a month but made no sales. The operations team may assume there is nothing to send to tax because no invoice was raised. That assumption is wrong, because ZRA still requires a nil mineral royalty return.
A useful ERP control creates a month-end task for every registered royalty entity, including entities with zero qualifying sales. The tax preparer either generates the return from sales data or marks it nil with an approver’s sign-off. The additional review may take 15 minutes, but it avoids a late-return penalty triggered by a filing that was simply overlooked. This is an illustrative example, not a Serpa client case.
For multi-entity groups, configure the obligation per legal entity. A group dashboard can show all entities, but one company’s nil return must not disappear behind another company’s active sales volume.
Make the export permit workflow a release gate
The export permit should be the last controlled stage in a connected process, not the first document someone searches for when a truck is ready. The Commission framework requires evidence of royalty clearance, analysis and valuation, police clearance, source mining right or processing licence, and production or trade returns.
We recommend a release gate with these steps:
8. Confirm the mineral lot and quantity against inventory and production or trade records.
9. Attach or register the Commission analysis and valuation certificate against the same lot.
10. Complete the royalty calculation and reconcile the ZRA TaxOnline return, assessment and payment references.
11. Record the Zambia Police security clearance and source-right evidence.
12. Submit the permit application using the currently prescribed Commission process.
13. Register the granted export permit and customs declaration against the shipment before final dispatch.
This order matters because it exposes missing source documentation before the shipment reaches the permit stage. The mistake we see most often is a team treating the permit as a customs-only document, then finding that royalty clearance or valuation evidence does not reconcile with the shipment quantity.
A finance director should also require an exception report. It should identify lots with stock movements but no royalty record, royalty payments with no linked return, exports with no permit ID, and permits with no recorded clearance evidence. Those are the exceptions that create audit exposure.
Set ownership across tax, operations and IT
ERP controls fail when everyone believes another department owns the final check. The workflow needs named owners and an approver who can stop a release.
| Control point | Operational owner | Required evidence | | Lot creation and movement | Operations or warehouse | Lot ID, quantity, source record | | Assay and valuation | Technical or commercial team | Analysis and valuation certificate | | Royalty calculation and filing | Tax and finance | Value inputs, rate, TaxOnline references | | Export release | Compliance lead | Permit, police clearance, royalty clearance | | System access and audit trail | IT and finance systems | User roles, approvals, immutable entries | For a mid-to-large mining group, this is where a localised tax localisation design earns its value. The system must reflect Zambia’s filing calendar and document chain while still producing the management reporting that boards need across entities.
Do not build a large custom module before the compliance map is agreed. Start with controlled master data, lot traceability, approval rules and reports. Custom development is justified only where the statutory process or commercial operating model cannot be represented through configured Odoo ERP controls.
Frequently Asked Questions
What is the deadline for Zambia mineral royalty returns?
Mineral royalty returns and payment are due within 14 days after the end of the month of sale. ZRA requires a nil return where no minerals were sold.
Does Zambia use invoice value for every mineral royalty calculation?
No. Energy and industrial minerals and gemstones use gross value at the stated rates. Several metal categories use norm value, which requires quantity, market-price and Bank of Zambia exchange-rate evidence.
Which authority issues mineral export permits in Zambia?
As of October 2026, mineral export permits fall under the Minerals Regulation Commission framework established by the Minerals Regulation Commission Act, 2024, effective 13 June 2025.
Can Odoo track mineral lots and royalty evidence?
Odoo supports lot-level traceability, inventory valuation records and immutable accounting audit trails. The implementation decision is to configure permit, assay, royalty and payment identifiers as connected records so they can be reconciled and reported.
A board should be able to ask one question before approving an export: can we trace this shipment from source right to mineral lot, royalty payment and permit without opening a spreadsheet? If the answer is no, request a consultation through the mining ERP software Zambia hub page.