| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Invoicing (account) |
| Lines of code | 1220 |
| Technical Name |
l10n_zm_smart_invoice_purchase |
| License | OPL-1 |
| Website | https://gencbaris.com/odoo_plugins/ |
| Versions | 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Invoicing (account) |
| Lines of code | 1220 |
| Technical Name |
l10n_zm_smart_invoice_purchase |
| License | OPL-1 |
| Website | https://gencbaris.com/odoo_plugins/ |
| Versions | 18.0 19.0 |
Zambia ZRA Smart Invoice — Purchase Confirmation
Validate supplier invoices and confirm purchases on Smart Invoice before you claim input VAT — through your own VSDC (BYOK)
Protect every input-VAT claim
Since October 2024 the Zambia Revenue Authority (ZRA) requires all VAT-registered businesses to issue and record invoices through Smart Invoice. A critical consequence for buyers: input VAT can only be deducted when the underlying purchase is recorded and confirmed through Smart Invoice. A vendor bill that is not backed by a Smart-Invoice purchase record cannot support a VAT deduction.
This module turns each Odoo vendor bill into a compliant ZRA
VSDC purchase confirmation. It validates the supplier and the figures,
recomputes the VAT at the published 16% standard rate, builds the exact
/trnsPurchase/savePurchase JSON the ZRA Virtual Sales Data
Controller (VSDC) expects, and confirms the purchase through your own
VSDC using your own TPIN and device credentials (bring-your-own-key).
Supplier & TPIN validation
Every vendor bill is checked for a structurally valid 10-digit ZRA TPIN on both the buyer (your company) and the supplier, plus a 3-digit branch id. An input-VAT claim against an unidentified supplier is blocked before it ever reaches the VSDC.
16% VAT recomputation & cross-check
The VAT on each line is recomputed at the published Zambian standard rate and compared against the supplier-declared tax. A discrepancy is surfaced as a warning so you never over-claim input VAT on a mis-stated supplier figure.
Exact VSDC savePurchase payload
Builds the canonical purchase JSON — supplier block, payment and
purchase-status codes, per-band taxable / tax totals (A / B / C / D) and the
full itemList — matching the ZRA VSDC API specification.
Download it or post it straight to your VSDC.
Deductible input VAT tracking
Only standard-rated and minimum-taxable-value bands (A and B) carry recoverable input VAT. The module isolates the deductible input VAT on each bill so your VAT return reflects exactly what Smart Invoice supports.
What the connector does
| Capability | Detail |
|---|---|
| Purchase confirmation | Posts vendor bills to /trnsPurchase/savePurchase with a purchase status code (pending / approved / refused). |
| Saved purchases fetch | Reads supplier sales registered against your TPIN via /trnsPurchase/selectTrnsPurchaseSales. |
| Device initialisation | Initialises the VSDC device/branch (/initializer/selectInitInfo) as a connection test. |
| VAT tax types | A = standard 16%, B = minimum taxable value (16%), C = zero-rated / exports, D = exempt. |
| Per-band totals | taxblAmtA/B/C/D and taxAmtA/B/C/D recomputed and reconciled against the lines. |
| Validation gate | Blocks confirmation on missing/invalid TPIN, empty lines, illegal tax type, or band arithmetic mismatch. |
| Transport log | Full request/response audit trail of every VSDC call. |
| Automation | Optional auto-confirm on posting plus a scheduled action to confirm pending bills. |
Bring-your-own-key — you stay in control
This connector is not a certified invoicing system vendor and does not operate a VSDC or a ZRA account on your behalf. It generates the compliant purchase payload and transmits it to the VSDC you deploy and configure, authenticated with your own TPIN, branch id and device serial. Your credentials never leave your database and nothing is sent anywhere except the VSDC endpoint you specify.
Onboarding in minutes
A guided onboarding wizard captures your company TPIN, branch id and VSDC endpoint, creates the connection record, and (optionally) enables automatic purchase confirmation on bill posting. From then on, every vendor bill carries a Smart Invoice tab with one-click Check, Build Payload, Confirm at ZRA and Download actions.
Screenshots
Onboarding
Vsdc Connections
Transport Log
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