Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Manufacturing
  3. ZRA Smart Invoice — Manufacturing (Zambia) v 18.0
  4. Sales Conditions FAQ

ZRA Smart Invoice — Manufacturing (Zambia)

by AminiTech Solutions https://www.aminitechsolutions.com
Odoo

$ 488.00

v 18.0 Third Party
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Versions 17.0 18.0 19.0
You bought this module and need support? Click here!
Versions 17.0 18.0 19.0
  • Description
  • Manifest
  • License
🎉 35% LAUNCH OFFER — Launch pricing on every ZRA Smart Invoice app. It rises as the apps gain traction, so the earlier you come in, the less you pay.
For Odoo 18 · Community & Enterprise

ZRA Smart Invoice — Manufacturing (Zambia)

A build is not a purchase and not a sale — it is a transformation, and the Zambia Revenue Authority has its own reason codes for it. When a manufacturing order is done, this app declares the finished output as an incoming processing movement (sarTyCd 05) and the components it consumed as an outgoing processing movement (sarTyCd 14), each on its own sarNo, straight to your own VSDC. Extends ZRA Smart Invoice Stock.

✅ Processing in (05) + out (14) ✅ Two sarNo series per build ✅ Never blocks the shop floor
ZRA Smart Invoice — Manufacturing (Zambia)
$195 ⭐ Implementation included

One-time purchase · unlimited documents · free updates on every ZRA Smart Invoice spec change. Requires the free ZRA Smart Invoice Base.

Overview

The one movement a stock connector usually gets wrong

Declare a build as a plain adjustment and your ZRA ledger tells a story that never happened: stock appearing from nowhere, stock vanishing for no reason, and an inspector asking why. ZRA models manufacturing properly, with processing reason codes for both halves of the transformation, and this app uses them — the finished goods declared in, the raw materials declared out, both derived automatically from the moves the manufacturing order actually completed. Everything rides the free Base queue and goes to your own VSDC or OSDC, with no third-party SaaS sitting in the middle of your tax data.

🏭

Both halves of the build

Finished output goes up as processing in (05) and consumed components as processing out (14) — two declarations from one Mark as Done, each with its own stock-authorization number.

⚙️

Derived, never typed

The lines come from the moves the manufacturing order actually completed — finished goods and by-products on one side, raw materials on the other — with quantities, cost and tax band read from your own data.

🔒

Nothing stops production

The declaration is enqueued, not called inline, and any error is logged rather than raised — a device that is busy, mid-restart or unreachable can never stop a manufacturing order from being marked done.

How it works

Manufacturing, declared the way ZRA models it

The Stock Movements analysis showing declarations by date, reference, endpoint, reason, direction and status
01 · Mark as Done

One build, two declarations, no extra clicks

Marking a manufacturing order done declares it to ZRA automatically — there is no separate step to remember and nothing to schedule. The app reads the moves the order actually completed and builds two separate stock declarations from them: one for what came out of the build, one for what went into it. Both are enqueued rather than called inline, so the shop floor never waits on the device. If the company’s ZRA configuration is not yet complete, the order is marked Not Declared instead of firing calls that could only be rejected.

02 · Processing in (05)

The finished output declared as goods created by processing

The finished products are declared to /stock/saveStockItems with reason code 05, ZRA’s incoming processing movement — the code that says these goods exist because you made them, not because you bought them. Every completed finished move is included, which means by-products are declared alongside the main output rather than quietly disappearing from the ledger. The order’s finish date becomes the occurrence date, and the build reference travels as a remark, so a movement can be traced back to the order that produced it.

Stock Movements grouped by reason, the view in which a build’s processing declarations appear with direction In
Stock Movements showing endpoint, reason and direction for each declaration, the columns that separate processing in from processing out
03 · Processing out (14)

The components declared as consumed by processing

The raw materials the build consumed are declared with reason code 14, ZRA’s outgoing processing movement — the counterpart that explains where the cement, the pigment or the fixings went. Only moves that actually completed with a quantity are sent, so a partially consumed component declares what was really used rather than what was planned. Without this half, ZRA would see finished goods materialise from nothing and your declared stock would drift from your yard on every single build.

04 · Two sarNo series

Each half carries its own stock-authorization number

The finished movement and the components movement each take their own sarNo from the company’s continuous no-gap counter, and both are stored on the manufacturing order as ZRA Finished sarNo and ZRA Components sarNo. Assigning them once and reusing them on every retry is what makes a resend safe: the device either registers a movement that never landed, or answers 921 or 994 to say it already holds it, which the queue converges rather than looping on. The numbers are visible on the order, so a build can be reconciled against the ZRA ledger without opening a queue entry.

Stock Movements listing each declaration as its own entry with its own status
Stock Movements analysis where a single build appears as two entries whose outcome is rolled up onto the order
05 · Status rollup

Two declarations, one status you can trust

Because the two halves are declared separately, the components entry is registered against the component move rather than the order — a deliberate detail that stops the queue’s own duplicate guard from collapsing the two into one. The app then rolls the outcome back up: whichever entry the device answers, the manufacturing order’s own ZRA Status moves with it, so a planner reads one badge instead of hunting two queue rows. It is plumbing you should never have to think about, which is exactly why it is worth knowing it is there.

06 · Status & resend

The fiscal state of every build, and one click to push it

The manufacturing order header carries a colour-coded ZRA Status badge — green Declared, amber Queued, red Failed, grey Not Declared — beside a Send to ZRA button that appears only on a done order that has not already been declared or skipped. Pressing it re-prepares whatever is missing and immediately fires every pending or failed entry for the build, finding both the order’s entry and the component move’s entry in one sweep rather than making you chase them separately. The button is scoped to the ZRA User role.

A done stock document showing the green Declared badge, with the Send to ZRA button hidden because it is already declared
A stock document header carrying the ZRA status badge and resend action, the same controls a manufacturing order gains
07 · Per-order opt-out

A build that must not be declared, is not

A “Declare to ZRA” switch sits on the manufacturing order beside its start date, on by default. Untick it and that build is left out of the declaration flow entirely — the right answer for a migration build reconstructing history, or a scrap rework you are declaring another way. It is not copied when you duplicate an order, so an exclusion can never be inherited by accident onto a real build.

08 · Never blocks production

A busy or unreachable device never stops a build

The declaration is wrapped so that anything going wrong is logged rather than thrown at the person marking the order done: the order still completes, the stock still moves, the books still balance. A build with nothing actually completed on either side is marked Not Declared rather than sent as an empty movement, and a build already Queued or Declared is never re-registered. Combined with the Base queue’s widening back-off and its automatic recovery of entries left mid-send, a device outage costs you nothing but a short delay.

A done stock document whose ZRA status is tracked independently of the operation itself
The ZRA Smart Invoice tab on a product, carrying the item code, UNSPSC class, type, origin and units that a build’s declaration reuses
09 · Registered items first

A build can only declare items ZRA already knows

Manufacturing declares the same item identity that ZRA Smart Invoice Stock registers — the item code, the UNSPSC classification, the packaging and quantity units — for both the finished goods and every component. That is why this app extends Stock rather than standing alone: register your products once and every build afterwards declares under the codes the device already accepted. A product that somehow reaches a build unregistered still declares with a coherent synthesised identity rather than failing outright.

10 · Costs & VAT bands

Valued from your own cost, banded the Zambian way

Both halves of the build are valued at each product’s own standard cost multiplied by the quantity that actually moved — your data, not a re-keyed figure. Each line is then banded on a real Zambian taxation-type code (A Standard Rated 16% through to D Exempt, RVAT, E and TOT), amounts are declared VAT-inclusive as ZRA expects, and the header totals are summed from the lines so the declaration is internally consistent to the ngwee. A component with no tax at all falls back to D rather than breaking the upload.

Product list showing each item’s cost in ZK, the basis on which a build’s processing movements are valued
A ZRA Stock Adjustment declaring a quantity against a reason code with its own sarNo and the VSDC’s acceptance response
11 · Correcting a build

The compliant way to fix a declared transformation

A declared build is at ZRA, and cancelling or editing it in Odoo does not reach back and remove it. The remedy is the one ZRA recognises and the one ZRA Smart Invoice Stock gives you: a numbered stock adjustment declaring the counter-movement with its own reason code, its own sarNo and the device’s verbatim response on the record. It keeps both halves of the correction on the ZRA ledger, which is what an audit asks for — a build that was wrong and a correction that says so, rather than a silence where a movement used to be.

Implementation included

We connect you to ZRA Smart Invoice

Buying the app includes the setup: we help you register your device on the ZRA Smart Invoice Taxpayer Portal, point the connector at your VSDC (or ZRA’s hosted OSDC), run the device initialisation, validate the full flow on the ZRA sandbox, then switch you to production.

1️⃣
Register

Device on the ZRA Smart Invoice portal

2️⃣
Configure

TPIN, branch, device serial, tax bands

3️⃣
Validate

Full flow on the ZRA sandbox

4️⃣
Go live

Switch to production, declare for real

The family

One suite, sold your way

Buy only what you need on the free Base, or take the all-in-one Suite.

ZRA Base
ZRA Base
Free engine · view app
ZRA Invoicing
ZRA Invoicing
E-invoicing · view app
ZRA POS
ZRA POS
Point of Sale · view app
ZRA Stock
ZRA Stock
Stock & traders · view app
ZRA Manufacturing
ZRA Manufacturing
Manufacturing · current
ZRA Importers
ZRA Importers
Imports · view app
ZRA Pro
ZRA Pro
Control tower · view app
ZRA Suite
ZRA Suite
All-in-one · view app

Frequently asked

What does it need installed?

ZRA Smart Invoice Stock, which itself runs on the free ZRA Smart Invoice Base. Stock supplies the item registration and the shared movement machinery; the Base supplies your TPIN, branch, VSDC URL and the resilient submission queue. Add Manufacturing on top of those.

Why not just declare a build as an adjustment?

Because ZRA models it differently, and the ledger shows it. Processing in (05) and processing out (14) say a transformation happened; an adjustment says stock appeared or vanished. The reason code is what an inspector reads.

Are by-products declared?

Yes. Every finished move the order completed is included in the processing-in declaration, so by-products are declared alongside the main output rather than being left off the ZRA ledger.

What happens if the VSDC is unreachable when I mark a build done?

Nothing stops. The declaration is enqueued rather than called inline and any error is logged instead of raised, so the order completes and the movements are sent automatically once the device answers — on a widening back-off, oldest first, with stuck entries recovered on their own.

Any limits or subscription?

None. One-time purchase, unlimited manufacturing orders, and free updates on every ZRA Smart Invoice specification change.

Ready for ZRA Smart Invoice compliance?

Install now, or write to us — we set up your Smart Invoice connection with you.

reach@aminitechsolutions.com
AminiTech Solutions · Lusaka · Kampala & Nairobi · www.aminitechsolutions.com
ZRA, Smart Invoice and the Zambia Revenue Authority name are the property of the Zambia Revenue Authority and are used here only to identify the system this connector integrates with. AminiTech Solutions is an independent software vendor and is not affiliated with, or endorsed by, the ZRA.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Manufacturing (mrp)
• Inventory (stock)
• Discuss (mail)
• Purchase (purchase)
• Invoicing (account)
Community Apps Dependencies Show
• ZRA Smart Invoice — Stock, Traders (Zambia)
• ZRA Smart Invoice — Base (Zambia)
Lines of code 2329
Technical Name aminitech_zra_stock_mfg
LicenseOPL-1
Websitehttps://www.aminitechsolutions.com
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

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with