diff --git a/addons/l10n_zm_account/__init__.py b/addons/l10n_zm_account/__init__.py
new file mode 100644
index 00000000000..d6210b1285d
--- /dev/null
+++ b/addons/l10n_zm_account/__init__.py
@@ -0,0 +1,3 @@
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from . import models
diff --git a/addons/l10n_zm_account/__manifest__.py b/addons/l10n_zm_account/__manifest__.py
new file mode 100644
index 00000000000..cafc7747ac3
--- /dev/null
+++ b/addons/l10n_zm_account/__manifest__.py
@@ -0,0 +1,27 @@
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+{
+ "name": "Zambia - Accounting",
+ "countries": ["zm"],
+ "version": "1.0.0",
+ "category": "Accounting/Localizations/Account Charts",
+ "license": "LGPL-3",
+ "description": """
+This is the basic Zambian localization necessary to run Odoo in ZM:
+================================================================================
+ - Chart of Accounts
+ - Taxes
+ - Fiscal Positions
+ - Default Settings
+ """,
+ "depends": [
+ "account",
+ ],
+ "data": [
+ "data/account_tax_report_data.xml",
+ "views/report_invoice.xml",
+ ],
+ "demo": [
+ "demo/demo_company.xml",
+ ]
+}
diff --git a/addons/l10n_zm_account/data/account_tax_report_data.xml b/addons/l10n_zm_account/data/account_tax_report_data.xml
new file mode 100644
index 00000000000..7e8561ea4be
--- /dev/null
+++ b/addons/l10n_zm_account/data/account_tax_report_data.xml
@@ -0,0 +1,528 @@
+
+
+
+ VAT Return
+
+
+
+ country
+
+
+ a. VAT Exclusive Value
+ no_vat
+
+
+ b. VAT
+ vat
+
+
+
+
+ Sales
+ 0
+
+
+ 8 - Standard rated local sales
+ zm_vat_08
+
+
+ no_vat
+ tax_tags
+ zm_vat_08_no_vat
+
+
+ vat
+ tax_tags
+ zm_vat_08_vat
+
+
+
+
+ 9 - Local sales taxed at minimum taxable value (MTV)
+ zm_vat_09
+
+
+ no_vat
+ tax_tags
+ zm_vat_09_no_vat
+
+
+ vat
+ tax_tags
+ zm_vat_09_vat
+
+
+
+
+ 10 - Disposal of capital assets
+ zm_vat_10
+
+
+ no_vat
+ tax_tags
+ zm_vat_10_no_vat
+
+
+ vat
+ tax_tags
+ zm_vat_10_vat
+
+
+
+
+ 11 - Total standard Rated Outputs
+ zm_vat_11
+
+
+ no_vat
+ aggregation
+ zm_vat_08.no_vat + zm_vat_09.no_vat + zm_vat_10.no_vat
+
+
+ vat
+ aggregation
+ zm_vat_08.vat + zm_vat_09.vat + zm_vat_10.vat
+
+
+
+
+ 12 - Export of standard rated goods and services
+ zm_vat_12
+
+
+ no_vat
+ tax_tags
+ zm_vat_12_no_vat
+
+
+
+
+ 13 - Export of zero-rated goods and services
+ zm_vat_13
+
+
+ no_vat
+ tax_tags
+ zm_vat_13_no_vat
+
+
+
+
+ 14 - Other zero-rated outputs (e.g. supplies to donor funded projects or supplies to diplomatic missions etc.)
+ zm_vat_14
+
+
+ no_vat
+ tax_tags
+ zm_vat_14_no_vat
+
+
+
+
+ 15 - Total zero-Rated Outputs
+ zm_vat_15
+
+
+ no_vat
+ aggregation
+ zm_vat_12.no_vat + zm_vat_13.no_vat + zm_vat_14.no_vat
+
+
+
+
+ 16 - Total taxable sales
+ zm_vat_16
+
+
+ no_vat
+ aggregation
+ zm_vat_11.no_vat + zm_vat_15.no_vat
+
+
+
+
+ 17 - Imported services (Reverse VAT)
+ zm_vat_17
+
+
+ no_vat
+ tax_tags
+ zm_vat_17_no_vat
+
+
+ vat
+ tax_tags
+ zm_vat_17_vat
+
+
+
+
+ 18 - Total tax due on outputs
+ zm_vat_18
+
+
+ vat
+ aggregation
+ zm_vat_11.vat + zm_vat_17.vat
+
+
+
+
+ 19 - Local exempt sales
+ zm_vat_19
+
+
+ no_vat
+ tax_tags
+ zm_vat_19_no_vat
+
+
+
+
+ 20 - Export of exempt goods and services
+ zm_vat_20
+
+
+ no_vat
+ tax_tags
+ zm_vat_20_no_vat
+
+
+
+
+ 21 - Total exempt sales
+ zm_vat_21
+
+
+ no_vat
+ aggregation
+ zm_vat_19.no_vat + zm_vat_20.no_vat
+
+
+
+
+ 22 - Total sales
+ zm_vat_22
+
+
+ no_vat
+ aggregation
+ zm_vat_16.no_vat + zm_vat_21.no_vat
+
+
+
+
+
+
+
+ Purchases
+ 0
+
+
+ 24 - Standard rated local purchases and allowable administrative expenses taxed at normal taxable value
+ zm_vat_24
+
+
+ no_vat
+ tax_tags
+ zm_vat_24_no_vat
+
+
+ vat
+ tax_tags
+ zm_vat_24_vat
+
+
+
+
+ 25 - Local purchases taxed at minimum taxable value (MTV)
+ zm_vat_25
+
+
+ no_vat
+ tax_tags
+ zm_vat_25_no_vat
+
+
+ vat
+ tax_tags
+ zm_vat_25_vat
+
+
+
+
+ 26 - Zero rated local purchases
+ zm_vat_26
+
+
+ no_vat
+ tax_tags
+ zm_vat_26_no_vat
+
+
+
+
+ 27 - Standard rated imports
+ zm_vat_27
+
+
+ no_vat
+ tax_tags
+ zm_vat_27_no_vat
+
+
+ vat
+ tax_tags
+ zm_vat_27_vat
+
+
+
+
+ 28 - Zero-rated imports
+ zm_vat_28
+
+
+ no_vat
+ tax_tags
+ zm_vat_28_no_vat
+
+
+
+
+ 29 - Standard rated capital expenditure
+ zm_vat_29
+
+
+ no_vat
+ tax_tags
+ zm_vat_29_no_vat
+
+
+ vat
+ tax_tags
+ zm_vat_29_vat
+
+
+
+
+ 30 - Total taxable inputs
+ zm_vat_30
+
+
+ no_vat
+ aggregation
+ zm_vat_24.no_vat + zm_vat_25.no_vat + zm_vat_26.no_vat + zm_vat_27.no_vat + zm_vat_28.no_vat + zm_vat_29.no_vat
+
+
+ vat
+ aggregation
+ zm_vat_24.vat + zm_vat_25.vat + zm_vat_27.vat + zm_vat_29.vat
+
+
+
+
+ 31 - Exempt local purchases
+ zm_vat_31
+
+
+ no_vat
+ tax_tags
+ zm_vat_31_no_vat
+
+
+
+
+ 32 - Exempt imports
+ zm_vat_32
+
+
+ no_vat
+ tax_tags
+ zm_vat_32_no_vat
+
+
+
+
+ 33 - Non-deductible purchases
+ zm_vat_33
+
+
+ no_vat
+ tax_tags
+ zm_vat_33_no_vat
+
+
+
+
+ 34 - Purchases from unregistered suppliers
+ zm_vat_34
+
+
+ no_vat
+ tax_tags
+ zm_vat_34_no_vat
+
+
+
+
+ 35 - Total purchases
+ zm_vat_35
+
+
+ no_vat
+ aggregation
+ zm_vat_30.no_vat + zm_vat_31.no_vat + zm_vat_32.no_vat + zm_vat_33.no_vat + zm_vat_34.no_vat
+
+
+
+
+
+
+
+ Calculation of Input Tax Allowed
+ 0
+
+
+ 37 - Input Tax directly attributable to Taxable Sales
+ zm_vat_37
+
+
+ vat
+ external
+ sum
+ editable
+
+
+
+
+ 38 - Input Tax directly attributable to Exempt Sales
+ zm_vat_38
+
+
+ no_vat
+ external
+ sum
+ editable
+
+
+
+
+ 39 - Apportionment of input tax (Please indicate whether or not to use Apportionment of input tax.)
+ zm_vat_39
+
+
+ vat
+ external
+ most_recent
+ editable
+ boolean
+
+
+
+
+ 39a - First Method of apportionment (Please select which method of apportionment to use. Yes is 39a, No is 39b.)
+ zm_vat_39a
+
+
+ no_vat
+ external
+ most_recent
+ editable
+ boolean
+
+
+ vat
+ aggregation
+ ( zm_vat_16.no_vat / zm_vat_22.no_vat ) * zm_vat_30.vat
+
+
+
+
+ 39b - Second Method of apportionment
+ zm_vat_39b
+
+
+ vat
+ aggregation
+ ( zm_vat_37.vat + ( zm_vat_30.vat - zm_vat_37.vat - zm_vat_38.no_vat ) * ( zm_vat_16.no_vat / zm_vat_22.no_vat ))
+
+
+
+
+ 40 - Input Tax Credit Allowed
+ zm_vat_40
+
+
+ vat
+ aggregation
+ (1 - zm_vat_39.vat) * zm_vat_37.vat + zm_vat_39.vat * ((zm_vat_39a.no_vat * zm_vat_39a.vat) + ((1 - zm_vat_39a.no_vat) * zm_vat_39b.vat))
+
+
+
+
+
+
+
+ Calculation of Tax Due
+ 0
+
+
+ 41 - Total Output Tax
+ zm_vat_41
+
+
+ vat
+ aggregation
+ zm_vat_18.vat
+
+
+
+
+ 42 - Input Tax Allowed
+ zm_vat_42
+
+
+ vat
+ aggregation
+ zm_vat_27.vat + zm_vat_40.vat
+
+
+
+
+ 43 - Net VAT Payable/Claimable
+ zm_vat_43
+
+
+ vat
+ aggregation
+ zm_vat_41.vat - zm_vat_42.vat
+
+
+
+
+ 44 - Withholding VAT Credit (From Sch.-XIII)
+ zm_vat_44
+
+
+ vat
+ tax_tags
+ zm_vat_44_vat
+
+
+
+
+ 45 - Net VAT Payable/Claimable
+ zm_vat_45
+
+
+ vat
+ aggregation
+ zm_vat_43.vat + zm_vat_44.vat
+
+
+
+
+
+
+
+
diff --git a/addons/l10n_zm_account/data/template/account.account-zm.csv b/addons/l10n_zm_account/data/template/account.account-zm.csv
new file mode 100644
index 00000000000..9eff09699d1
--- /dev/null
+++ b/addons/l10n_zm_account/data/template/account.account-zm.csv
@@ -0,0 +1,90 @@
+"id","name","code","account_type","reconcile"
+"zm_account_1000000","Sales","1","income","False"
+"zm_account_2000000","Cost of Sales / Purchases","2","expense_direct_cost","False"
+"zm_account_2100000","Inventory Adjustment","21","expense_direct_cost","False"
+"zm_account_2150000","Inventory Count Variance","215","expense_direct_cost","False"
+"zm_account_2200000","Purchase Variance","22","expense_direct_cost","False"
+"zm_account_2400000","Recovery Account","240000","expense_direct_cost","False"
+"zm_account_2400010","Labour Cost Manufacturing Variance","240001","expense_direct_cost","False"
+"zm_account_2400020","Direct Cost Manufacturing Variance","240002","expense_direct_cost","False"
+"zm_account_2400030","Other Cost Manufacturing Variance","240003","expense_direct_cost","False"
+"zm_account_2700000","Discount Received for Cash","27","income_other","False"
+"zm_account_2750000","Interest Received","275","income_other","False"
+"zm_account_2800000","Profit on Sale of Non Current Assets","28","income_other","False"
+"zm_account_2850000","Bad Debts Recovered","285","income_other","False"
+"zm_account_2900000","Foreign Exchange Gain","29","income_other","False"
+"zm_account_3050000","Advertising & Promotions","305","expense","False"
+"zm_account_3150000","Bad Debts","315","expense","False"
+"zm_account_3200000","Bank Charges","32","expense","False"
+"zm_account_3250000","Cleaning","325","expense","False"
+"zm_account_3300000","Computer Expenses","33","expense","False"
+"zm_account_3350000","Consulting Fees","335","expense","False"
+"zm_account_3400000","Courier & Postage","34","expense","False"
+"zm_account_3450000","Depreciation","345","expense","False"
+"zm_account_3550000","Discount Allowed for Cash","355","expense","False"
+"zm_account_3600000","Donations","36","expense","False"
+"zm_account_3650000","Electricity & Water","365","expense","False"
+"zm_account_3700000","Entertainment Expenses","37","expense","False"
+"zm_account_3750000","Finance Charges","375","expense","False"
+"zm_account_3800000","General Expenses","38","expense","False"
+"zm_account_3850000","Insurance","385","expense","False"
+"zm_account_3900000","Interest Paid","39","expense","False"
+"zm_account_3950000","Leasing Charges","395","expense","False"
+"zm_account_4000000","Legal Fees","4","expense","False"
+"zm_account_4050000","Levies","405","expense","False"
+"zm_account_4150000","Motor Vehicle Expenses","415","expense","False"
+"zm_account_4200000","Printing & Stationery","42","expense","False"
+"zm_account_4210000","Foreign Exchange Loss","421","expense","False"
+"zm_account_4300000","Rent Paid","43","expense","False"
+"zm_account_4350000","Repairs & Maintenance","435","expense","False"
+"zm_account_4400000","Salaries & Wages","44","expense","False"
+"zm_account_4450000","Staff Training","445","expense","False"
+"zm_account_4500000","Staff Welfare","45","expense","False"
+"zm_account_4550000","Subscriptions","455","expense","False"
+"zm_account_4560000","License costs","456","expense","False"
+"zm_account_4600000","Telephone & Fax","46","expense","False"
+"zm_account_4650000","Travel & Accommodation","465","expense","False"
+"zm_account_4700000","Loss on Sale of Non Current Assets","47","expense","False"
+"zm_account_5200000","Retained Income / (Accumulated Loss)","52","liability_current","False"
+"zm_account_5500000","Long Term Liabilities","55","liability_non_current","False"
+"zm_account_5600000","Instalment Sale Creditors Other","56","liability_non_current","False"
+"zm_account_6100000","Land & Buildings - Net Value","610000","asset_fixed","False"
+"zm_account_6100010","Land & Buildings - At Cost","610001","asset_fixed","False"
+"zm_account_6100020","Land & Buildings - Accumulated Depreciation","610002","asset_fixed","False"
+"zm_account_6200000","Motor Vehicles - Net Value","620000","asset_fixed","False"
+"zm_account_6200010","Motor Vehicles - At Cost","620001","asset_fixed","False"
+"zm_account_6200020","Motor Vehicles - Accumulated Depreciation","620002","asset_fixed","False"
+"zm_account_6250000","Computer Equipment - Net Value","625000","asset_fixed","False"
+"zm_account_6250010","Computer Equipment - At Cost","625001","asset_fixed","False"
+"zm_account_6250020","Computer Equipment - Accumulated Depreciation","625002","asset_fixed","False"
+"zm_account_6300000","Office Equipment - Net Value","630000","asset_fixed","False"
+"zm_account_6300010","Office Equipment - At Cost","630001","asset_fixed","False"
+"zm_account_6300020","Office Equipment - Accumulated Depreciation","630002","asset_fixed","False"
+"zm_account_6350000","Furniture & Fittings - Net value","635000","asset_fixed","False"
+"zm_account_6350010","Furniture & Fittings - At Cost","635001","asset_fixed","False"
+"zm_account_6350020","Furniture & Fittings - Accumulated Depreciation","635002","asset_fixed","False"
+"zm_account_6600000","Other Fixed Assets - Net Value","660000","asset_fixed","False"
+"zm_account_6600010","Other Fixed Assets - At Cost","660001","asset_fixed","False"
+"zm_account_6600020","Other Fixed Assets - Accumulated Depreciation","660002","asset_fixed","False"
+"zm_account_7000000","Goodwill / Other Intangible Assets","7","asset_fixed","False"
+"zm_account_7100000","Investments","71","asset_current","False"
+"zm_account_7700000","Inventory Control Account","77","liability_current","False"
+"zm_account_8000000","Customers","8","asset_receivable","True"
+"zm_account_8100000","Customes (POS)","81","asset_receivable","True"
+"zm_account_8200000","Sundry Customers","82","asset_current","False"
+"zm_account_8300000","VAT Purchase Tax Control Account","83","asset_current","False"
+"zm_account_8300001","Withholding Tax on Sales","8300001","asset_current","False"
+"zm_account_8300002","Withholding Tax on Sales - Transition Account","8300002","asset_current","False"
+"zm_account_8310000","VAT Receivable - Closing Entry","831","asset_current","True"
+"zm_account_8900000","Deferred Expenses","89","asset_current","True"
+"zm_account_9000000","Suppliers","9","liability_payable","True"
+"zm_account_9100000","GRN Accrual Account","91","liability_payable","True"
+"zm_account_9200000","Sundry Suppliers","92","liability_current","False"
+"zm_account_9400000","Provision for Future Expenses","940000","liability_current","False"
+"zm_account_9400010","Provision for Insurance","940001","liability_current","False"
+"zm_account_9400020","Provision for Salary Bonus","940002","liability_current","False"
+"zm_account_9500000","VAT Sales Tax Control Account","95","liability_current","False"
+"zm_account_9510000","Vat / Tax Provision Account","951","liability_payable","True"
+"zm_account_9520000","VAT Payable - Closing Entry","952","liability_current","True"
+"zm_account_9900000","Deferred Income","99","liability_current","True"
+"zm_account_9999990","Undistributed Profits/Losses","999999","equity_unaffected","False"
diff --git a/addons/l10n_zm_account/data/template/account.fiscal.position-zm.csv b/addons/l10n_zm_account/data/template/account.fiscal.position-zm.csv
new file mode 100644
index 00000000000..609b9c437cb
--- /dev/null
+++ b/addons/l10n_zm_account/data/template/account.fiscal.position-zm.csv
@@ -0,0 +1,8 @@
+"id","sequence","name","auto_apply","country_id","tax_ids/tax_src_id","tax_ids/tax_dest_id"
+"zm_fiscal_position_template_national","1","National","1","base.zm",,
+"zm_fiscal_position_template_international","2","International","1",,"zm_tax_sale_16","zm_tax_sale_0_export_standard"
+,,,,,"zm_tax_sale_0","zm_tax_sale_0_export"
+,,,,,"zm_tax_sale_0_exempt","zm_tax_sale_0_export_exempt"
+,,,,,"zm_tax_purchase_16","zm_tax_purchase_16_import_standard"
+,,,,,"zm_tax_purchase_0","zm_tax_purchase_0_import"
+,,,,,"zm_tax_purchase_0_exempt","zm_tax_purchase_0_import_exempt"
diff --git a/addons/l10n_zm_account/data/template/account.group-zm.csv b/addons/l10n_zm_account/data/template/account.group-zm.csv
new file mode 100644
index 00000000000..6ae1d7fed7d
--- /dev/null
+++ b/addons/l10n_zm_account/data/template/account.group-zm.csv
@@ -0,0 +1,48 @@
+"id","code_prefix_start","code_prefix_end","name"
+"zm_group_1","1","","Sales income"
+"zm_group_2","2","","Sales extra incomes and fees"
+"zm_group_20","20","","Cost of Sales"
+"zm_group_27","27","","Discount and Interests"
+"zm_group_28","28","","Non Current Assets Income"
+"zm_group_29","29","","Sundry Income"
+"zm_group_3","3","","Accounting Fees"
+"zm_group_30","30","","Accounting, Advertising and Promotion Costs"
+"zm_group_31","31","","Bad Debts"
+"zm_group_32","32","","Bank Charges and Cleaning"
+"zm_group_33","33","","Computer Expenses and Consulting Fees"
+"zm_group_34","34","","Courier, Postage and Depreciation"
+"zm_group_35","35","","Cash Discount"
+"zm_group_36","36","","Donations and Electricity"
+"zm_group_37","37","","Enternainement and Finance Expenses"
+"zm_group_38","38","","General Expenses and Insurance"
+"zm_group_39","39","","Interests and Leasing Charges"
+"zm_group_40","40","","Legal Fees and Levies"
+"zm_group_41","41","","Motor Vehicle Expenses"
+"zm_group_42","42","","Printing, Stationery and Foreing Exchange Gains and Losses"
+"zm_group_43","43","","Rent Paid, Repirs and Maintenance"
+"zm_group_440","440","","Salaries and Wages"
+"zm_group_445","445","","Staff Training"
+"zm_group_45","45","","Staff Wellfare and Subcriptions"
+"zm_group_46","46","","Telephone, Fax, Travel and Accomodations"
+"zm_group_52","52","","Retained Income"
+"zm_group_55","55","","Long Term Liabilities"
+"zm_group_56","56","","Instalment Sale Creditors Other"
+"zm_group_61","61","","Land and Building"
+"zm_group_62","62","","Motor Vehicles and Computer Equipement"
+"zm_group_63","63","","Office Equipement and Furnitures and Fittings"
+"zm_group_66","66","","Other Fixed Assets"
+"zm_group_70","70","","Goodwill or Other Intangible Assets"
+"zm_group_71","71","","Investments"
+"zm_group_77","77","","Inventory Control Account"
+"zm_group_80","80","","Customer Account"
+"zm_group_81","81","","POS Cash Control"
+"zm_group_82","82","","Sundry Customers"
+"zm_group_83","83","","VAT Purchase Tax Control Account"
+"zm_group_84","84","","Bank and Outstanding Receipts and Payments"
+"zm_group_90","90","","Supplier Account"
+"zm_group_91","91","","GRN Accrual Account"
+"zm_group_92","92","","Sundry Suppliers"
+"zm_group_94","94","","Provisions for Future Expenses, Insurance and Salary Bonuses"
+"zm_group_95","95","","VAT Sales Control and Provisions Account"
+"zm_group_9990","9990","","Suspense Account"
+"zm_group_9999","9999","","Undistributed Profits and Losses"
diff --git a/addons/l10n_zm_account/data/template/account.tax-zm.csv b/addons/l10n_zm_account/data/template/account.tax-zm.csv
new file mode 100644
index 00000000000..ece3364bd7d
--- /dev/null
+++ b/addons/l10n_zm_account/data/template/account.tax-zm.csv
@@ -0,0 +1,77 @@
+"id","description","invoice_label","type_tax_use","name","active","amount_type","amount","tax_group_id","tax_exigibility","cash_basis_transition_account_id","repartition_line_ids/repartition_type","repartition_line_ids/document_type","repartition_line_ids/tag_ids","repartition_line_ids/account_id"
+"zm_tax_sale_16","Standard Rate","16%","sale","16%",,"percent","16.0","zm_tax_group_16",,,"base","invoice","+zm_vat_08_no_vat",
+,,,,,,,,,,,"tax","invoice","+zm_vat_08_vat","zm_account_9500000"
+,,,,,,,,,,,"base","refund","-zm_vat_08_no_vat",
+,,,,,,,,,,,"tax","refund","-zm_vat_08_vat","zm_account_9500000"
+"zm_tax_sale_16_mtv","Local Sales Minimum Taxable Value Rate","16%","sale","16% MTV",,"percent","16.0","zm_tax_group_16",,,"base","invoice","+zm_vat_09_no_vat",
+,,,,,,,,,,,"tax","invoice","+zm_vat_09_vat","zm_account_9500000"
+,,,,,,,,,,,"base","refund","-zm_vat_09_no_vat",
+,,,,,,,,,,,"tax","refund","-zm_vat_09_vat","zm_account_9500000"
+"zm_tax_sale_0_disposal","Disposal of Capital Assets Rate","0%","sale","0% Dispos","False","percent","0.0","zm_tax_group_0",,,"base","invoice","+zm_vat_10_no_vat",
+,,,,,,,,,,,"tax","invoice","+zm_vat_10_vat",
+,,,,,,,,,,,"base","refund","-zm_vat_10_no_vat",
+,,,,,,,,,,,"tax","refund","-zm_vat_10_vat",
+"zm_tax_sale_0_export_standard","Export Standard Rate","0%","sale","0% Std EX",,"percent","0.0","zm_tax_group_0",,,"base","invoice","+zm_vat_12_no_vat",
+,,,,,,,,,,,"tax","invoice",,
+,,,,,,,,,,,"base","refund","-zm_vat_12_no_vat",
+,,,,,,,,,,,"tax","refund",,
+"zm_tax_sale_0_export","Export Zero Rate","0%","sale","0% Zero EX","False","percent","0.0","zm_tax_group_0",,,"base","invoice","+zm_vat_13_no_vat",
+,,,,,,,,,,,"tax","invoice",,
+,,,,,,,,,,,"base","refund","-zm_vat_13_no_vat",
+,,,,,,,,,,,"tax","refund",,
+"zm_tax_sale_0","Zero Rate","0%","sale","0%",,"percent","0.0","zm_tax_group_0",,,"base","invoice","+zm_vat_14_no_vat",
+,,,,,,,,,,,"tax","invoice",,
+,,,,,,,,,,,"base","refund","-zm_vat_14_no_vat",
+,,,,,,,,,,,"tax","refund",,
+"zm_tax_sale_0_exempt","Exempt Rate","0%","sale","0% Exmpt","False","percent","0.0","zm_tax_group_0",,,"base","invoice","+zm_vat_19_no_vat",
+,,,,,,,,,,,"tax","invoice",,
+,,,,,,,,,,,"base","refund","-zm_vat_19_no_vat",
+,,,,,,,,,,,"tax","refund",,
+"zm_tax_sale_0_export_exempt","Export Exempt Rate","0%","sale","0% Exmpt EX","False","percent","0.0","zm_tax_group_0",,,"base","invoice","+zm_vat_20_no_vat",
+,,,,,,,,,,,"tax","invoice",,
+,,,,,,,,,,,"base","refund","-zm_vat_20_no_vat",
+,,,,,,,,,,,"tax","refund",,
+"zm_tax_purchase_16","Standard Rate","16%","purchase","16%",,"percent","16.0","zm_tax_group_16",,,"base","invoice","+zm_vat_24_no_vat",
+,,,,,,,,,,,"tax","invoice","+zm_vat_24_vat","zm_account_8300000"
+,,,,,,,,,,,"base","refund","-zm_vat_24_no_vat",
+,,,,,,,,,,,"tax","refund","-zm_vat_24_vat","zm_account_8300000"
+"zm_tax_purchase_16_mtv","Local Purchases Minimum Taxable Value Rate","16%","purchase","16% MTV",,"percent","16.0","zm_tax_group_16",,,"base","invoice","+zm_vat_25_no_vat",
+,,,,,,,,,,,"tax","invoice","+zm_vat_25_vat","zm_account_8300000"
+,,,,,,,,,,,"base","refund","-zm_vat_25_no_vat",
+,,,,,,,,,,,"tax","refund","-zm_vat_25_vat","zm_account_8300000"
+"zm_tax_purchase_0","Zero Rate","0%","purchase","0%",,"percent","0.0","zm_tax_group_0",,,"base","invoice","+zm_vat_26_no_vat",
+,,,,,,,,,,,"tax","invoice",,
+,,,,,,,,,,,"base","refund","-zm_vat_26_no_vat",
+,,,,,,,,,,,"tax","refund",,
+"zm_tax_purchase_16_import_standard","Import Standard Rate","16%","purchase","16% EX",,"percent","16.0","zm_tax_group_16",,,"base","invoice","+zm_vat_27_no_vat",
+,,,,,,,,,,,"tax","invoice","+zm_vat_27_vat",
+,,,,,,,,,,,"base","refund","-zm_vat_27_no_vat",
+,,,,,,,,,,,"tax","refund","-zm_vat_27_vat",
+"zm_tax_purchase_0_import","Import Zero Rate","0%","purchase","0% EX",,"percent","0.0","zm_tax_group_0",,,"base","invoice","+zm_vat_28_no_vat",
+,,,,,,,,,,,"tax","invoice",,
+,,,,,,,,,,,"base","refund","-zm_vat_28_no_vat",
+,,,,,,,,,,,"tax","refund",,
+"zm_tax_purchase_16_capex","Capital Expenditure Rate","16%","purchase","16% Capex","False","percent","16.0","zm_tax_group_16",,,"base","invoice","+zm_vat_29_no_vat",
+,,,,,,,,,,,"tax","invoice","+zm_vat_29_vat","zm_account_8300000"
+,,,,,,,,,,,"base","refund","-zm_vat_29_no_vat",
+,,,,,,,,,,,"tax","refund","-zm_vat_29_vat","zm_account_8300000"
+"zm_tax_purchase_0_exempt","Exempt Rate","0%","purchase","0% Exmpt","False","percent","0.0","zm_tax_group_0",,,"base","invoice","+zm_vat_31_no_vat",
+,,,,,,,,,,,"tax","invoice",,
+,,,,,,,,,,,"base","refund","-zm_vat_31_no_vat",
+,,,,,,,,,,,"tax","refund",,
+"zm_tax_purchase_0_import_exempt","Import Exempt Rate","0%","purchase","0% Exmpt EX","False","percent","0.0","zm_tax_group_0",,,"base","invoice","+zm_vat_32_no_vat",
+,,,,,,,,,,,"tax","invoice",,
+,,,,,,,,,,,"base","refund","-zm_vat_32_no_vat",
+,,,,,,,,,,,"tax","refund",,
+"zm_tax_purchase_0_nondeductible","Non Deductible Rate","0%","purchase","0% NDED","False","percent","0.0","zm_tax_group_0",,,"base","invoice","+zm_vat_33_no_vat",
+,,,,,,,,,,,"tax","invoice",,
+,,,,,,,,,,,"base","refund","-zm_vat_33_no_vat",
+,,,,,,,,,,,"tax","refund",,
+"zm_tax_purchase_0_unregistered","Unregistered Suppliers Rate","0%","purchase","0% UR","False","percent","0.0","zm_tax_group_0",,,"base","invoice","+zm_vat_34_no_vat",
+,,,,,,,,,,,"tax","invoice",,
+,,,,,,,,,,,"base","refund","-zm_vat_34_no_vat",
+,,,,,,,,,,,"tax","refund",,
+"zm_tax_sale_16_witholding","Withholding Tax on Sales","16%","sale","16% WH",,"percent","-16.0","zm_tax_group_16_wh","on_payment","zm_account_8300002","base","invoice",,
+,,,,,,,,,,,"tax","invoice","+zm_vat_44_vat","zm_account_8300001"
+,,,,,,,,,,,"base","refund","-zm_vat_08_no_vat",
+,,,,,,,,,,,"tax","refund","-zm_vat_44_vat","zm_account_8300001"
diff --git a/addons/l10n_zm_account/data/template/account.tax.group-zm.csv b/addons/l10n_zm_account/data/template/account.tax.group-zm.csv
new file mode 100644
index 00000000000..955bab82065
--- /dev/null
+++ b/addons/l10n_zm_account/data/template/account.tax.group-zm.csv
@@ -0,0 +1,4 @@
+id,name,country_id,"tax_receivable_account_id","tax_payable_account_id"
+"zm_tax_group_0","VAT 0%","base.zm","zm_account_8310000","zm_account_9520000"
+"zm_tax_group_16","VAT 16%","base.zm","zm_account_8310000","zm_account_9520000"
+"zm_tax_group_16_wh","Withholding VAT","base.zm","zm_account_8310000","zm_account_9520000"
diff --git a/addons/l10n_zm_account/demo/demo_company.xml b/addons/l10n_zm_account/demo/demo_company.xml
new file mode 100644
index 00000000000..1bfd4944de2
--- /dev/null
+++ b/addons/l10n_zm_account/demo/demo_company.xml
@@ -0,0 +1,35 @@
+
+
+
+ ZM Company
+ 1234567890
+ 1 Makishi Rd
+ Lusaka
+
+
+
+ +260 96 123456
+ info@company.zmexample.com
+ www.zmexample.com
+
+
+
+ ZM Company
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ zm
+
+
+
diff --git a/addons/l10n_zm_account/i18n/l10n_zm.pot b/addons/l10n_zm_account/i18n/l10n_zm.pot
new file mode 100644
index 00000000000..869fbabb714
--- /dev/null
+++ b/addons/l10n_zm_account/i18n/l10n_zm.pot
@@ -0,0 +1,299 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * l10n_zm_account
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0+e\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2024-02-21 13:14+0000\n"
+"PO-Revision-Date: 2024-02-21 13:14+0000\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_10
+msgid "10 - Disposal of capital assets"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_11
+msgid "11 - Total standard Rated Outputs"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_12
+msgid "12 - Export of standard rated goods and services"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_13
+msgid "13 - Export of zero-rated goods and services"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_14
+msgid ""
+"14 - Other zero-rated outputs (e.g. supplies to donor funded projects or "
+"supplies to diplomatic missions etc.)"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_15
+msgid "15 - Total zero-Rated Outputs"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_16
+msgid "16 - Total taxable sales"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_17
+msgid "17 - Imported services (Reverse VAT)"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_18
+msgid "18 - Total tax due on outputs"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_19
+msgid "19 - Local exempt sales"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_20
+msgid "20 - Export of exempt goods and services"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_21
+msgid "21 - Total exempt sales"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_22
+msgid "22 - Total sales"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_24
+msgid ""
+"24 - Standard rated local purchases and allowable administrative expenses "
+"taxed at normal taxable value"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_25
+msgid "25 - Local purchases taxed at minimum taxable value (MTV)"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_26
+msgid "26 - Zero rated local purchases"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_27
+msgid "27 - Standard rated imports"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_28
+msgid "28 - Zero-rated imports"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_29
+msgid "29 - Standard rated capital expenditure"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_30
+msgid "30 - Total taxable inputs"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_31
+msgid "31 - Exempt local purchases"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_32
+msgid "32 - Exempt imports"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_33
+msgid "33 - Non-deductible purchases"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_34
+msgid "34 - Purchases from unregistered suppliers"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_35
+msgid "35 - Total purchases"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_37
+msgid "37 - Input Tax directly attributable to Taxable Sales"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_38
+msgid "38 - Input Tax directly attributable to Exempt Sales"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line39selection
+msgid ""
+"39 - Apportionment of input tax (Please indicate whether or not to use "
+"Apportionment of input tax.)"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_39a
+msgid ""
+"39a - First Method of apportionment (Please select which method of "
+"apportionment to use. Yes is 39a, No is 39b.)"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_39b
+msgid "39b - Second Method of apportionment"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_40
+msgid "40 - Input Tax Credit Allowed"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_41
+msgid "41 - Total Output Tax"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_42
+msgid "42 - Input Tax Allowed"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_43
+msgid "43 - Net VAT Payable/Claimable"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_44
+msgid "44 - Withholding VAT Credit (From Sch.-XIII)"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_45
+msgid "45 - Net VAT Payable/Claimable"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_08
+msgid "8 - Standard rated local sales"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_line_09
+msgid "9 - Local sales taxed at minimum taxable value (MTV)"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:ir.model,name:l10n_zm_account.model_account_chart_template
+msgid "Account Chart Template"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_title_input_tax
+msgid "Calculation of Input Tax Allowed"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_title_tax_due
+msgid "Calculation of Tax Due"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model_terms:ir.ui.view,arch_db:l10n_zm_account.report_invoice_document
+msgid "Cancelled Credit Note"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model_terms:ir.ui.view,arch_db:l10n_zm_account.report_invoice_document
+msgid "Cancelled Tax Invoice"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model_terms:ir.ui.view,arch_db:l10n_zm_account.report_invoice_document
+msgid "Credit Note"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model_terms:ir.ui.view,arch_db:l10n_zm_account.report_invoice_document
+msgid "Draft Credit Note"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model_terms:ir.ui.view,arch_db:l10n_zm_account.report_invoice_document
+msgid "Draft Tax Invoice"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model_terms:ir.ui.view,arch_db:l10n_zm_account.report_invoice_document
+msgid "Fiscal Tax Invoice"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:ir.model,name:l10n_zm_account.model_account_move
+msgid "Journal Entry"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_title_purchases
+msgid "Purchases"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.line,name:l10n_zm_account.zm_tax_report_title_sales
+msgid "Sales"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report,name:l10n_zm_account.zm_tax_report
+msgid "VAT Return"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model_terms:ir.ui.view,arch_db:l10n_zm_account.report_invoice_document
+msgid "Vendor Bill"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model_terms:ir.ui.view,arch_db:l10n_zm_account.report_invoice_document
+msgid "Vendor Credit Note"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.column,name:l10n_zm_account.zm_tax_report_no_vat
+msgid "a. VAT Exclusive Value"
+msgstr ""
+
+#. module: l10n_zm_account
+#: model:account.report.column,name:l10n_zm_account.zm_tax_report_vat
+msgid "b. VAT"
+msgstr ""
diff --git a/addons/l10n_zm_account/models/__init__.py b/addons/l10n_zm_account/models/__init__.py
new file mode 100644
index 00000000000..6b81ca574b8
--- /dev/null
+++ b/addons/l10n_zm_account/models/__init__.py
@@ -0,0 +1,4 @@
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from . import account_move
+from . import template_zm
diff --git a/addons/l10n_zm_account/models/account_move.py b/addons/l10n_zm_account/models/account_move.py
new file mode 100644
index 00000000000..6c3a3a3448a
--- /dev/null
+++ b/addons/l10n_zm_account/models/account_move.py
@@ -0,0 +1,11 @@
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+from odoo import models
+
+
+class AccountMove(models.Model):
+ _inherit = 'account.move'
+
+ def _get_name_invoice_report(self):
+ if self.company_id.account_fiscal_country_id.code == 'ZM':
+ return 'l10n_zm_account.report_invoice_document'
+ return super()._get_name_invoice_report()
diff --git a/addons/l10n_zm_account/models/template_zm.py b/addons/l10n_zm_account/models/template_zm.py
new file mode 100644
index 00000000000..be93832c71e
--- /dev/null
+++ b/addons/l10n_zm_account/models/template_zm.py
@@ -0,0 +1,39 @@
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo import models
+from odoo.addons.account.models.chart_template import template
+
+
+class AccountChartTemplate(models.AbstractModel):
+ _inherit = "account.chart.template"
+
+ @template('zm')
+ def _get_zm_template_data(self):
+ return {
+ 'code_digits': 7,
+ 'property_account_income_categ_id': 'zm_account_1000000',
+ 'property_account_expense_categ_id': 'zm_account_3800000',
+ 'property_account_receivable_id': 'zm_account_8000000',
+ 'property_account_payable_id': 'zm_account_9000000',
+ }
+
+ @template('zm', 'res.company')
+ def _get_zm_res_company(self):
+ return {
+ self.env.company.id: {
+ 'anglo_saxon_accounting': True,
+ 'account_fiscal_country_id': 'base.zm',
+ 'bank_account_code_prefix': '840000',
+ 'cash_account_code_prefix': '840000',
+ 'transfer_account_code_prefix': '840000',
+ 'income_currency_exchange_account_id': 'zm_account_4210000',
+ 'expense_currency_exchange_account_id': 'zm_account_4210000',
+ 'account_default_pos_receivable_account_id': 'zm_account_8100000',
+ 'account_journal_early_pay_discount_loss_account_id': 'zm_account_3550000',
+ 'account_journal_early_pay_discount_gain_account_id': 'zm_account_2700000',
+ 'deferred_expense_account_id': 'zm_account_8900000',
+ 'deferred_revenue_account_id': 'zm_account_9900000',
+ 'account_sale_tax_id': 'zm_tax_sale_16',
+ 'account_purchase_tax_id': 'zm_tax_purchase_16',
+ }
+ }
diff --git a/addons/l10n_zm_account/views/report_invoice.xml b/addons/l10n_zm_account/views/report_invoice.xml
new file mode 100644
index 00000000000..40ba6a83146
--- /dev/null
+++ b/addons/l10n_zm_account/views/report_invoice.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+ Fiscal Tax Invoice
+ Draft Tax Invoice
+ Cancelled Tax Invoice
+ Credit Note
+ Draft Credit Note
+ Cancelled Credit Note
+ Vendor Credit Note
+ Vendor Bill
+
+
+
+
+
+
+
+
+
+
diff --git a/odoo/addons/base/data/res_country_data.xml b/odoo/addons/base/data/res_country_data.xml
index bf93392ee4e..f218c3f5726 100644
--- a/odoo/addons/base/data/res_country_data.xml
+++ b/odoo/addons/base/data/res_country_data.xml
@@ -1584,6 +1584,7 @@
zm
+ TPIN
Zimbabwe