[IMP] l10n_ke: withholding taxes, default POS and inventory accounts

Some updates to Kenya localization:
- Withholing taxes support
- Inventory Interim accounts are set by default when automatic valuation of stocks is used
- Default temporary account for POS

closes odoo/odoo#106527

Task: 3067646
X-original-commit: 8406484e6c463c5a4bc31f7febe5289fd26a9966
Signed-off-by: Florian Gilbert (flg) <flg@odoo.com>
This commit is contained in:
Claire Bretton (clbr)
2022-11-25 17:56:37 +01:00
parent 18d6b4a3fe
commit 3e497b595e
4 changed files with 383 additions and 1 deletions
@@ -9,13 +9,17 @@
"ke0080","Financial assets","0080","asset_non_current","l10n_ke.l10nke_chart_template","","False"
"ke0090","Biological assets","0090","asset_non_current","l10n_ke.l10nke_chart_template","","False"
"ke1001","Stock","1001","asset_current","l10n_ke.l10nke_chart_template","","True"
"ke100110","Stock Interim (Received)","100110","asset_current","l10n_ke.l10nke_chart_template","","True"
"ke100120","Stock Interim (Delivered)","100120","asset_current","l10n_ke.l10nke_chart_template","","True"
"ke1002","Work in Progress","1002","asset_current","l10n_ke.l10nke_chart_template","","False"
"ke1003","Finished Goods","1003","asset_current","l10n_ke.l10nke_chart_template","","False"
"ke1100","Debtors Control Account","1100","asset_receivable","l10n_ke.l10nke_chart_template","","True"
"ke110010","Debtors Control Account (POS)","110010","asset_receivable","l10n_ke.l10nke_chart_template","","True"
"ke1101","Sundry Debtors","1101","asset_receivable","l10n_ke.l10nke_chart_template","","True"
"ke1102","Other Debtors","1102","asset_current","l10n_ke.l10nke_chart_template","","False"
"ke1103","Prepayments","1103","asset_prepayments","l10n_ke.l10nke_chart_template","","False"
"ke1110","Purchase Tax Control Account","1110","asset_current","l10n_ke.l10nke_chart_template","","False"
"ke1120","Withholding Tax Advance on Sales","1120","asset_current","l10n_ke.l10nke_chart_template","","True"
"ke2100","Creditors Control Account","2100","liability_payable","l10n_ke.l10nke_chart_template","","True"
"ke2101","Sundry Creditors","2101","liability_current","l10n_ke.l10nke_chart_template","","False"
"ke2102","Other Creditors","2102","liability_current","l10n_ke.l10nke_chart_template","","False"
@@ -25,13 +29,14 @@
"ke2200","Sales Tax Control Account","2200","liability_current","l10n_ke.l10nke_chart_template","","False"
"ke2201","HMRC - VAT Account","2201","liability_payable","l10n_ke.l10nke_chart_template","","True"
"ke2202","Manual Adjustments & VAT","2202","liability_current","l10n_ke.l10nke_chart_template","","False"
"ke2203","Withholding Tax Payable","2203","liability_current","l10n_ke.l10nke_chart_template","","True"
"ke2210","P.A.Y.E. & NI","2210","liability_payable","l10n_ke.l10nke_chart_template","","True"
"ke2220","Net Wages","2220","liability_payable","l10n_ke.l10nke_chart_template","","True"
"ke2230","Pension Fund","2230","liability_payable","l10n_ke.l10nke_chart_template","","True"
"ke2240","Corporation Tax","2240","liability_payable","l10n_ke.l10nke_chart_template","","True"
"ke2300","Loans","2300","liability_non_current","l10n_ke.l10nke_chart_template","","False"
"ke2310","Hire Purchase","2310","liability_non_current","l10n_ke.l10nke_chart_template","","False"
"ke2320","Mortgages","2330","liability_non_current","l10n_ke.l10nke_chart_template","","False"
"ke2320","Mortgages","2320","liability_non_current","l10n_ke.l10nke_chart_template","","False"
"ke3000","Called up share capital","3000","equity","l10n_ke.l10nke_chart_template","","False"
"ke3010","Share premium account","3010","equity","l10n_ke.l10nke_chart_template","","False"
"ke3020","Revaluation reserve","3020","equity","l10n_ke.l10nke_chart_template","","False"
1 id name code account_type chart_template_id:id tag_ids/id reconcile
9 ke0080 Financial assets 0080 asset_non_current l10n_ke.l10nke_chart_template False
10 ke0090 Biological assets 0090 asset_non_current l10n_ke.l10nke_chart_template False
11 ke1001 Stock 1001 asset_current l10n_ke.l10nke_chart_template True
12 ke100110 Stock Interim (Received) 100110 asset_current l10n_ke.l10nke_chart_template True
13 ke100120 Stock Interim (Delivered) 100120 asset_current l10n_ke.l10nke_chart_template True
14 ke1002 Work in Progress 1002 asset_current l10n_ke.l10nke_chart_template False
15 ke1003 Finished Goods 1003 asset_current l10n_ke.l10nke_chart_template False
16 ke1100 Debtors Control Account 1100 asset_receivable l10n_ke.l10nke_chart_template True
17 ke110010 Debtors Control Account (POS) 110010 asset_receivable l10n_ke.l10nke_chart_template True
18 ke1101 Sundry Debtors 1101 asset_receivable l10n_ke.l10nke_chart_template True
19 ke1102 Other Debtors 1102 asset_current l10n_ke.l10nke_chart_template False
20 ke1103 Prepayments 1103 asset_prepayments l10n_ke.l10nke_chart_template False
21 ke1110 Purchase Tax Control Account 1110 asset_current l10n_ke.l10nke_chart_template False
22 ke1120 Withholding Tax Advance on Sales 1120 asset_current l10n_ke.l10nke_chart_template True
23 ke2100 Creditors Control Account 2100 liability_payable l10n_ke.l10nke_chart_template True
24 ke2101 Sundry Creditors 2101 liability_current l10n_ke.l10nke_chart_template False
25 ke2102 Other Creditors 2102 liability_current l10n_ke.l10nke_chart_template False
29 ke2200 Sales Tax Control Account 2200 liability_current l10n_ke.l10nke_chart_template False
30 ke2201 HMRC - VAT Account 2201 liability_payable l10n_ke.l10nke_chart_template True
31 ke2202 Manual Adjustments & VAT 2202 liability_current l10n_ke.l10nke_chart_template False
32 ke2203 Withholding Tax Payable 2203 liability_current l10n_ke.l10nke_chart_template True
33 ke2210 P.A.Y.E. & NI 2210 liability_payable l10n_ke.l10nke_chart_template True
34 ke2220 Net Wages 2220 liability_payable l10n_ke.l10nke_chart_template True
35 ke2230 Pension Fund 2230 liability_payable l10n_ke.l10nke_chart_template True
36 ke2240 Corporation Tax 2240 liability_payable l10n_ke.l10nke_chart_template True
37 ke2300 Loans 2300 liability_non_current l10n_ke.l10nke_chart_template False
38 ke2310 Hire Purchase 2310 liability_non_current l10n_ke.l10nke_chart_template False
39 ke2320 Mortgages 2330 2320 liability_non_current l10n_ke.l10nke_chart_template False
40 ke3000 Called up share capital 3000 equity l10n_ke.l10nke_chart_template False
41 ke3010 Share premium account 3010 equity l10n_ke.l10nke_chart_template False
42 ke3020 Revaluation reserve 3020 equity l10n_ke.l10nke_chart_template False
@@ -15,5 +15,10 @@
<field name="name">TVA 0%</field>
<field name="country_id" ref="base.ke"/>
</record>
<record id="tax_group_withholding" model="account.tax.group">
<field name="name">Withholding Tax</field>
<field name="country_id" ref="base.ke"/>
</record>
</data>
</odoo>
@@ -80,6 +80,190 @@
(0,0, {'repartition_type': 'tax'}),
]"/>
</record>
<record id="SWT3" model="account.tax.template">
<field name="name">3% WHT</field>
<field name="description">3%</field>
<field name="chart_template_id" ref="l10nke_chart_template"/>
<field name="type_tax_use">sale</field>
<field name="amount_type">percent</field>
<field name="amount">-3</field>
<field name="tax_group_id" ref="tax_group_withholding"/>
<field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke1120'),
}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke1120'),
}),
]"/>
</record>
<record id="SWT5" model="account.tax.template">
<field name="name">5% WHT</field>
<field name="description">5%</field>
<field name="chart_template_id" ref="l10nke_chart_template"/>
<field name="type_tax_use">sale</field>
<field name="amount_type">percent</field>
<field name="amount">-5</field>
<field name="tax_group_id" ref="tax_group_withholding"/>
<field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke1120'),
}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke1120'),
}),
]"/>
</record>
<record id="SWT10" model="account.tax.template">
<field name="name">10% WHT</field>
<field name="description">10%</field>
<field name="chart_template_id" ref="l10nke_chart_template"/>
<field name="type_tax_use">sale</field>
<field name="amount_type">percent</field>
<field name="amount">-10</field>
<field name="tax_group_id" ref="tax_group_withholding"/>
<field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke1120'),
}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke1120'),
}),
]"/>
</record>
<record id="SWT12" model="account.tax.template">
<field name="name">12% WHT</field>
<field name="description">12%</field>
<field name="chart_template_id" ref="l10nke_chart_template"/>
<field name="type_tax_use">sale</field>
<field name="amount_type">percent</field>
<field name="amount">-12</field>
<field name="tax_group_id" ref="tax_group_withholding"/>
<field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke1120'),
}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke1120'),
}),
]"/>
</record>
<record id="SWT15" model="account.tax.template">
<field name="name">15% WHT</field>
<field name="description">15%</field>
<field name="chart_template_id" ref="l10nke_chart_template"/>
<field name="type_tax_use">sale</field>
<field name="amount_type">percent</field>
<field name="amount">-15</field>
<field name="tax_group_id" ref="tax_group_withholding"/>
<field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke1120'),
}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke1120'),
}),
]"/>
</record>
<record id="SWT20" model="account.tax.template">
<field name="name">20% WHT</field>
<field name="description">20%</field>
<field name="chart_template_id" ref="l10nke_chart_template"/>
<field name="type_tax_use">sale</field>
<field name="amount_type">percent</field>
<field name="amount">-20</field>
<field name="tax_group_id" ref="tax_group_withholding"/>
<field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke1120'),
}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke1120'),
}),
]"/>
</record>
<record id="SWT25" model="account.tax.template">
<field name="name">25% WHT</field>
<field name="description">25%</field>
<field name="chart_template_id" ref="l10nke_chart_template"/>
<field name="type_tax_use">sale</field>
<field name="amount_type">percent</field>
<field name="amount">-25</field>
<field name="tax_group_id" ref="tax_group_withholding"/>
<field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke1120'),
}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke1120'),
}),
]"/>
</record>
<record id="SWT30" model="account.tax.template">
<field name="name">30% WHT</field>
<field name="description">30%</field>
<field name="chart_template_id" ref="l10nke_chart_template"/>
<field name="type_tax_use">sale</field>
<field name="amount_type">percent</field>
<field name="amount">-30</field>
<field name="tax_group_id" ref="tax_group_withholding"/>
<field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke1120'),
}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke1120'),
}),
]"/>
</record>
<record id="PT16" model="account.tax.template">
<field name="description">Purchases VAT (16%)</field>
<field name="chart_template_id" ref="l10nke_chart_template"/>
@@ -160,4 +344,188 @@
(0,0, {'repartition_type': 'tax'}),
]"/>
</record>
<record id="PWT3" model="account.tax.template">
<field name="name">3% WHT</field>
<field name="description">3%</field>
<field name="chart_template_id" ref="l10nke_chart_template"/>
<field name="type_tax_use">purchase</field>
<field name="amount_type">percent</field>
<field name="amount">-3</field>
<field name="tax_group_id" ref="tax_group_withholding"/>
<field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke2203'),
}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke2203'),
}),
]"/>
</record>
<record id="PWT5" model="account.tax.template">
<field name="name">5% WHT</field>
<field name="description">5%</field>
<field name="chart_template_id" ref="l10nke_chart_template"/>
<field name="type_tax_use">purchase</field>
<field name="amount_type">percent</field>
<field name="amount">-5</field>
<field name="tax_group_id" ref="tax_group_withholding"/>
<field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke2203'),
}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke2203'),
}),
]"/>
</record>
<record id="PWT10" model="account.tax.template">
<field name="name">10% WHT</field>
<field name="description">10%</field>
<field name="chart_template_id" ref="l10nke_chart_template"/>
<field name="type_tax_use">purchase</field>
<field name="amount_type">percent</field>
<field name="amount">-10</field>
<field name="tax_group_id" ref="tax_group_withholding"/>
<field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke2203'),
}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke2203'),
}),
]"/>
</record>
<record id="PWT12" model="account.tax.template">
<field name="name">12% WHT</field>
<field name="description">12%</field>
<field name="chart_template_id" ref="l10nke_chart_template"/>
<field name="type_tax_use">purchase</field>
<field name="amount_type">percent</field>
<field name="amount">-12</field>
<field name="tax_group_id" ref="tax_group_withholding"/>
<field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke2203'),
}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke2203'),
}),
]"/>
</record>
<record id="PWT15" model="account.tax.template">
<field name="name">15% WHT</field>
<field name="description">15%</field>
<field name="chart_template_id" ref="l10nke_chart_template"/>
<field name="type_tax_use">purchase</field>
<field name="amount_type">percent</field>
<field name="amount">-15</field>
<field name="tax_group_id" ref="tax_group_withholding"/>
<field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke2203'),
}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke2203'),
}),
]"/>
</record>
<record id="PWT20" model="account.tax.template">
<field name="name">20% WHT</field>
<field name="description">20%</field>
<field name="chart_template_id" ref="l10nke_chart_template"/>
<field name="type_tax_use">purchase</field>
<field name="amount_type">percent</field>
<field name="amount">-20</field>
<field name="tax_group_id" ref="tax_group_withholding"/>
<field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke2203'),
}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke2203'),
}),
]"/>
</record>
<record id="PWT25" model="account.tax.template">
<field name="name">25% WHT</field>
<field name="description">25%</field>
<field name="chart_template_id" ref="l10nke_chart_template"/>
<field name="type_tax_use">purchase</field>
<field name="amount_type">percent</field>
<field name="amount">-25</field>
<field name="tax_group_id" ref="tax_group_withholding"/>
<field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke2203'),
}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke2203'),
}),
]"/>
</record>
<record id="PWT30" model="account.tax.template">
<field name="name">30% WHT</field>
<field name="description">30%</field>
<field name="chart_template_id" ref="l10nke_chart_template"/>
<field name="type_tax_use">purchase</field>
<field name="amount_type">percent</field>
<field name="amount">-30</field>
<field name="tax_group_id" ref="tax_group_withholding"/>
<field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke2203'),
}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('ke2203'),
}),
]"/>
</record>
</odoo>
@@ -14,6 +14,10 @@
<field name="default_cash_difference_expense_account_id" ref="ke5146"/>
<field name="account_journal_early_pay_discount_loss_account_id" ref="ke5147"/>
<field name="account_journal_early_pay_discount_gain_account_id" ref="ke400710"/>
<field name="default_pos_receivable_account_id" ref="ke110010"/>
<field name="property_stock_valuation_account_id" ref="ke1001"/>
<field name="property_stock_account_output_categ_id" ref="ke100120"/>
<field name="property_stock_account_input_categ_id" ref="ke100110"/>
<field name="use_anglo_saxon" eval="True"/>
</record>
</odoo>