In this article
- What ZRA Smart Invoice requires from an Odoo user
- What is a Smart Invoice in daily operations?
- The Odoo implementation route, step by step
- 1. Map every transaction that creates a tax invoice
- 2. Register through the Smart Invoice Taxpayer Portal
- 3. Configure the Odoo to VSDC integration
- 4. Test normal, abnormal and correction scenarios
- 5. Run the 72-hour recovery control
- Input VAT controls: the supplier invoice problem
- Governance checks for CFOs and IT Directors
- Frequently Asked Questions
- Does Odoo need to be replaced for Smart Invoice ZRA compliance?
- Is registering on the ZRA Smart Invoice portal enough?
- What happens if our Odoo connection fails?
- Can we claim input VAT on any supplier invoice?
A Lusaka finance team closes the day, then discovers that sales were captured in Odoo while the fiscal device was offline. The problem is not whether the invoices exist. It is whether the transactions reach ZRA within the required recovery window, with an audit trail that can withstand review.
Smart Invoice ZRA compliance affects every VAT taxable supplier recording sales in Zambia. Since 1 January 2024, suppliers must use an electronic invoicing system to record every sale or transaction and issue tax invoices, unless the Commissioner-General has approved another document, device or equipment on prescribed conditions. Odoo can meet this requirement through a certified implementation and the ZRA VSDC integration process. You do not need to replace your ERP.
What ZRA Smart Invoice requires from an Odoo user
Smart Invoice is ZRA’s electronic invoicing system. The practical requirement is broader than installing a module or completing a registration. Your business must consistently record sales and issue invoices through the approved process.
ZRA required VAT taxpayers to register and use Smart Invoice by 30 September 2024. Standard non-compliance penalties applied from 1 October 2024. As of September 2026, enforcement is active: ZRA reported a Lusaka conviction in August 2026 for non-use of Smart Invoice, with a K125,000 fine.
The legal exposure escalates quickly under section 7A of the VAT Act:
| Offence | Potential consequence |
|---|---|
| First offence | Fine up to K40,000 |
| Second offence | Fine up to K80,000 |
| Third or subsequent offence | Fine up to K120,000, or up to three years’ imprisonment, or both |
These figures matter because a compliance project should be assessed against measurable risk, not treated as an IT convenience.
What is a Smart Invoice in daily operations?
A Smart Invoice is not just a PDF invoice carrying your logo and VAT number. It is an invoice issued after the sale is recorded through the Smart Invoice process approved by ZRA. For an Odoo environment, the business event begins in Odoo, passes through the VSDC component, and is submitted to the ZRA Smart Invoice External API.
ZRA’s published VSDC API design expressly supports third-party systems. The documented flow is a third-party CIS or ERP, such as Odoo, to the VSDC library, then to the ZRA external API. It supports batch and real-time requests over HTTPS/SSL. Confirm the current VSDC specification before the build, because API versions and technical requirements can change. [VERIFY]
That distinction is important for Boards. Odoo is not automatically ZRA-approved simply because it can produce invoices. The taxpayer must apply for VSDC service, complete verification and obtain ZRA approval.
The Odoo implementation route, step by step
We approach ZRA Smart Invoice implementation as a tax localisation and controls project. The API connection is one workstream. Sales process design, exception handling and evidence retention are equally important.
1. Map every transaction that creates a tax invoice
Start with the real commercial process, not the Odoo configuration screen. List counter sales, credit sales, deposits, credit notes, returns, branch sales and any sales raised while connectivity is unavailable.
A ZRA point of sale process needs the same review as invoiced B2B sales. If cashiers use a separate POS workflow, it must still create the required fiscal record and invoice outcome. The common mistake is configuring head-office invoicing while leaving branch counter sales outside the control.
For each transaction type, document:
- The Odoo source document and user role.
- The exact point at which the invoice is submitted to VSDC.
- The response stored against the invoice.
- The process when a submission fails or the connection is unavailable.
- The person who reviews exceptions each day.
This creates auditable accountability. Without it, finance may know the system was “integrated” but be unable to prove whether every sale was transmitted.
2. Register through the Smart Invoice Taxpayer Portal
The registration route begins on the Smart Invoice Taxpayer Portal. The taxpayer applies for VSDC service, completes ZRA’s technical and administrative verification, receives approval, then downloads the VSDC WAR or JAR from Device Management.
Sandbox and production registrations are separate. Treat the sandbox as a controlled test environment, then repeat the required registration and approval steps for production. Teams often skip this distinction and assume a successful test submission authorises live invoicing. It does not.
The portal application also requires the smart invoice commitment form. This form is operationally significant. It commits the taxpayer not to reset or format the registered device without written ZRA authority. Where applicable, it also requires the return of ZRA Electronic Fiscal Devices within five working days of Smart Invoice installation.
Keep a signed copy in the ERP implementation file, together with the device register and approval records. This avoids a preventable control failure when an IT team replaces hardware or rebuilds a server.
3. Configure the Odoo to VSDC integration
The Odoo implementation should create a controlled hand-off from invoicing to the VSDC library and the ZRA Smart Invoice API. We recommend a clear transaction-status model inside Odoo, so finance can distinguish between:
| Odoo status | Compliance meaning | Required action |
|---|---|---|
| Submitted successfully | ZRA response received and retained | Invoice can proceed through normal controls |
| Pending or queued | Submission has not completed | Monitor and resolve before close-of-day review |
| Failed | No confirmed submission | Correct the cause and resubmit under the exception procedure |
| Manual or offline transaction | Sale occurred outside the live connection | Upload after restoration within the statutory window |
Do not design this as a hidden technical log. The finance team needs real-time visibility of failed and pending records. An integration that only IT can read creates a month-end surprise rather than a working compliance control.
4. Test normal, abnormal and correction scenarios
A useful zra smart invoice tutorial should include more than one successful invoice. Test the transactions people make under pressure: a return after a shift change, a credit note, a cancelled order, a network outage and a branch that trades after hours.
Take an illustrative distributor with 12 sales users, two depots and a monthly invoiced turnover of K3 million. During testing, it may discover that credit notes are approved in Odoo but not consistently sent through the same fiscal workflow. The financial cost is not only the remedial work. If the process results in non-use, first-offence exposure can reach K40,000. The better design is to block completion of the credit process until the required Smart Invoice response is recorded or an authorised exception is logged.
For a business with one outlet and a small invoice volume, do not over-engineer a multi-layer integration dashboard. Use a simple daily exception report, named ownership and evidence retention. The right control is the one staff can actually operate every day.
5. Run the 72-hour recovery control
SI No. 94 of 2024 took effect on 1 January 2025. Manual transactions, including transactions recorded outside the system during disruption, must be uploaded within 72 hours after restoration.
The clock starts after restoration, which means your team must record when the disruption ended. A generic “internet was down” explanation is not a control. Log the start time, restoration time, affected outlet, invoices involved, person responsible for upload and evidence of completion.
Take an illustrative Lusaka retailer with a weekend connectivity outage and 180 counter transactions. The supervisor records sales manually, but the Monday team uploads only 150 records and assumes the rest can wait for month-end. That is the failure we see most often: the business treats recovery work as data capture instead of a time-bound tax task. The better approach is an Odoo exception queue reconciled to the manual sales log before the 72-hour window closes.
Input VAT controls: the supplier invoice problem
Smart Invoice compliance affects purchases as well as sales. From 1 January 2025, input VAT claims are restricted to Smart Invoice-issued invoices. The transitional treatment for invoices issued outside Smart Invoice by 31 December 2024 applied in 2025 only where they were within the 90-day validity period and otherwise compliant.
Accounts payable teams should therefore validate supplier documentation before posting VAT recovery. A supplier invoice that looks complete may still not support input VAT if it was not issued through Smart Invoice, unless the supplier has a Commissioner-General exemption.
SI No. 94 of 2024 allows manual or computer-generated invoices for input-tax purposes where ZRA has exempted the supplier from Smart Invoice. Keep the exemption evidence with the invoice. Do not accept a verbal assurance from a supplier as a substitute for documentation.
In Odoo, we recommend a payable control that marks the supplier invoice as Smart Invoice-supported, exempt with evidence, or pending review. This creates an auditable VAT position before the return is prepared.
Governance checks for CFOs and IT Directors
A compliant deployment needs business ownership. IT can operate the servers and integrations, but Finance owns invoice integrity, VAT evidence and exception resolution.
Use this monthly review agenda:
- Reconcile Odoo posted sales to Smart Invoice submissions and confirmed responses.
- Review failed, pending and offline transactions, including whether each was uploaded within 72 hours after restoration.
- Review credit notes, returns and cancellations for the correct fiscal treatment.
- Sample supplier invoices supporting input VAT and confirm Smart Invoice status or exemption evidence.
- Confirm no registered device was reset, formatted or retired outside the conditions in the smart invoice commitment form.
The implementation file should also hold ZRA approvals, VSDC configuration evidence, test results, production cutover approval and staff procedures. This makes the process defensible when a finance manager changes or ZRA asks how a transaction was handled.
For multi-entity groups, separate the legal entities, taxpayer registrations and production credentials from the start. A shared Odoo environment can provide unified visibility, but it must not blur the taxpayer-level approvals and records required for each entity.
Frequently Asked Questions
Does Odoo need to be replaced for Smart Invoice ZRA compliance?
No. ZRA’s VSDC API is designed for third-party invoicing systems, including ERP platforms. Odoo can submit through the VSDC flow, provided the taxpayer completes the Smart Invoice Taxpayer Portal application, verification and approval process.
Is registering on the ZRA Smart Invoice portal enough?
No. Registration is not the same as compliance. The business must use the approved process to record sales and issue invoices consistently. It must also manage failures, offline sales and recovery uploads.
What happens if our Odoo connection fails?
Record the disruption and the affected sales. Manual transactions or transactions captured outside the system during disruption must be uploaded within 72 hours after restoration under SI No. 94 of 2024, effective 1 January 2025.
Can we claim input VAT on any supplier invoice?
No. From 1 January 2025, input VAT claims are restricted to Smart Invoice-issued invoices. A manual or computer-generated invoice may support input tax where ZRA has exempted the supplier from Smart Invoice, so retain the exemption evidence.
A ZRA Smart Invoice implementation should leave Finance with real-time exception visibility and IT with a controlled integration, not another manual reconciliation at month-end. Request a Consultation to assess your Odoo configuration, VSDC readiness and Zambia tax localisation controls.
