| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Point of Sale (point_of_sale) • Discuss (mail) • Inventory (stock) |
| Lines of code | 1215 |
| Technical Name |
l10n_zm_smart_invoice_pos |
| License | OPL-1 |
| Website | https://gencbaris.com/odoo_plugins/ |
| Versions | 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Point of Sale (point_of_sale) • Discuss (mail) • Inventory (stock) |
| Lines of code | 1215 |
| Technical Name |
l10n_zm_smart_invoice_pos |
| License | OPL-1 |
| Website | https://gencbaris.com/odoo_plugins/ |
| Versions | 18.0 19.0 |
Zambia ZRA Smart Invoice for Point of Sale
Fiscalise retail POS orders with the Zambia Revenue Authority Smart Invoice (VSDC) â fiscal receipt number, device signature and verification QR on every B2C receipt. Bring-your-own VSDC.
What this module does
Zambia's mandatory Smart Invoice regime requires every
retail sale to be fiscalised through the Zambia Revenue Authority
Virtual Sales Data Controller (VSDC). This module turns
each Odoo Point of Sale order (and refund) into the
documented VSDC saveSales sales-transaction document,
submits it to the VSDC you operate, and stores the returned fiscal
receipt number, device signature, internal data and verification QR on
the order â ready to print on the customer receipt footer.
It is a bring-your-own-key (BYOK) connector: you configure your own TPIN, branch (bhfId) and VSDC endpoint URL. Your credentials stay in your database and are sent only to the VSDC you configure. This module generates the payload the VSDC consumes â it is not the VSDC and does not impersonate it.
Key features
POS order fiscalisation
Every paid order is mapped to the VSDC sales-transaction document with
the full itemList, the five VAT buckets (AâE) and the grand
totals, then submitted to the VSDC.
Refund handling
POS refunds are submitted as credit receipts
(rcptTyCd = R) with negative amounts, referencing the
original ZRA receipt number (orgInvcNo).
Receipt signature & QR
The fiscal receipt number, total receipt counter, device signature, internal data and the verification QR are captured and formatted into a printable fiscal footer block.
Zambia VAT bucketing
Lines are classified into the ZRA taxation type codes (Standard 16%, Minimum Taxable Value, Exports, Zero-rating LPO, Zero-rated by nature, Exempt, Reverse VAT, Disbursement) and aggregated into the VSDC VAT buckets.
TPIN validation
The 10-digit ZRA Taxpayer Identification Number is validated on the
company and on partners; B2B receipts carry the buyer TPIN
(custTpin).
Auto-fiscalisation & retries
Fiscalise on payment, on session close or manually; an optional batch cron and a batch wizard drain any pending or errored orders.
ZRA taxation type codes supported
| Code | Description | VAT rate |
|---|---|---|
| A | Standard Rated | 16% |
| B | Minimum Taxable Value | 16% |
| C1 | Exports | 0% |
| C2 | Zero-rating (LPO) | 0% |
| C3 | Zero-rated by Nature | 0% |
| D | Exempt | 0% |
| RVAT | Reverse VAT | 16% |
| E | Disbursement | 0% |
Payment methods are mapped to the VSDC payment-type codes (cash, credit, card, mobile money, bank cheque, bank transfer, other).
How it works
- Enter your TPIN, branch (bhfId) and VSDC URL on the company.
- Enable ZRA Smart Invoice on the company and on each POS shop, and pick the auto-fiscalisation policy.
- Sell as usual. Orders are validated against the Zambia POS rule set and submitted to your VSDC.
- The fiscal receipt number, signature and QR are stored on the order and printed in the receipt footer.
Compatibility & disclosure
Compatible with Odoo 18 and Odoo 19
(Community and Enterprise). Requires the standard
point_of_sale and account apps only â no
Enterprise-only dependency.
Disclosure: this module transmits POS order data only to the VSDC endpoint you configure. Your TPIN and VSDC URL are stored solely in your own database and are never sent anywhere else.
Screenshots
Batch Fiscalise
Pos Orders
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