[IMP] account: allow choosing a cash basis taxes account for base amount

When using cash basis taxes, the user has now the possibility to select a cash basis account containing the base amount during the generation of accounting entries.
This commit has been backported in v9 (in form of a module) in revision 1631889e91

  - task: https://www.odoo.com/web#id=40284&view_type=form&model=project.task&action=333&active_id=967&menu_id=4720
  - Was PR #22599
This commit is contained in:
Laurent Smet
2018-03-29 18:15:38 +02:00
committed by qdp-odoo
parent 9c4592761f
commit bfe362c87a
6 changed files with 28 additions and 16 deletions
+7 -1
View File
@@ -809,11 +809,17 @@ class AccountTax(models.Model):
oldname='use_cash_basis',
help="Based on Invoice: the tax is due as soon as the invoice is validated.\n"
"Based on Payment: the tax is due as soon as the payment of the invoice is received.")
cash_basis_account = fields.Many2one(
cash_basis_account_id = fields.Many2one(
'account.account',
string='Tax Received Account',
domain=[('deprecated', '=', False)],
oldname='cash_basis_account',
help='Account used as counterpart for the journal entry, for taxes eligible based on payments.')
cash_basis_base_account_id = fields.Many2one(
'account.account',
domain=[('deprecated', '=', False)],
string='Base Tax Received Account',
help='Account that will be set on lines created in cash basis journal entry and used to keep track of the tax base amount.')
_sql_constraints = [
('name_company_uniq', 'unique(name, company_id, type_tax_use)', 'Tax names must be unique !'),
+1 -1
View File
@@ -1329,7 +1329,7 @@ class AccountPartialReconcile(models.Model):
:param tax: An account.tax record
:return: An account record
'''
return line.account_id
return tax.cash_basis_base_account_id or line.account_id
def create_tax_cash_basis_entry(self, percentage_before_rec):
self.ensure_one()
+5
View File
@@ -538,6 +538,11 @@ class AccountTaxTemplate(models.Model):
string='Tax Received Account',
domain=[('deprecated', '=', False)],
help='Account used as counterpart for the journal entry, for taxes eligible based on payments.')
cash_basis_base_account_id = fields.Many2one(
'account.account.template',
domain=[('deprecated', '=', False)],
string='Base Tax Received Account',
help='Account that will be set on lines created in cash basis journal entry and used to keep track of the tax base amount.')
_sql_constraints = [
('name_company_uniq', 'unique(name, company_id, type_tax_use, chart_template_id)', 'Tax names must be unique !'),
+1
View File
@@ -1128,6 +1128,7 @@
<field name="hide_tax_exigibility" invisible="1"/>
<field name="tax_exigibility" widget="radio" attrs="{'invisible':['|', ('amount_type','=', 'group'), ('hide_tax_exigibility', '=', False)]}" groups="account.group_account_user"/>
<field name="cash_basis_account" attrs="{'invisible': [('tax_exigibility', '=', 'on_invoice')], 'required': [('tax_exigibility', '=', 'on_payment')]}" groups="account.group_account_user"/>
<field name="cash_basis_base_account_id" attrs="{'invisible': [('tax_exigibility', '=', 'on_invoice')], 'required': [('tax_exigibility', '=', 'on_payment')]}" groups="account.group_account_user"/>
</group>
</group>
</page>
+6 -6
View File
@@ -515,7 +515,7 @@
<field name="refund_account_id" ref="pcg_445711"/>
<field name="account_id" ref="pcg_445800"/>
<field name="tax_exigibility">on_payment</field>
<field name="cash_basis_account" ref="pcg_445711" />
<field name="cash_basis_account_id" ref="pcg_445711" />
<field name="sequence" eval="10"/>
<field name="type_tax_use">sale</field>
<field name="tag_ids" eval="[(6,0,[ref('l10n_fr.tag_fr_02'),ref('l10n_fr.tag_fr_11')])]"/>
@@ -573,7 +573,7 @@
<field name="refund_account_id" ref="pcg_445713"/>
<field name="account_id" ref="pcg_445800"/>
<field name="tax_exigibility">on_payment</field>
<field name="cash_basis_account" ref="pcg_445713" />
<field name="cash_basis_account_id" ref="pcg_445713" />
<field name="sequence" eval="10"/>
<field name="type_tax_use">sale</field>
<field name="tag_ids" eval="[(6,0,[ref('l10n_fr.tag_fr_08'),ref('l10n_fr.tag_fr_17')])]"/>
@@ -603,7 +603,7 @@
<field name="refund_account_id" ref="pcg_445713"/>
<field name="account_id" ref="pcg_445800"/>
<field name="tax_exigibility">on_payment</field>
<field name="cash_basis_account" ref="pcg_445713" />
<field name="cash_basis_account_id" ref="pcg_445713" />
<field name="sequence" eval="10"/>
<field name="type_tax_use">sale</field>
<field name="tag_ids" eval="[(6,0,[ref('l10n_fr.tag_fr_09'),ref('l10n_fr.tag_fr_18')])]"/>
@@ -637,7 +637,7 @@
<field name="refund_account_id" ref="pcg_445711"/>
<field name="account_id" ref="pcg_445800"/>
<field name="tax_exigibility">on_payment</field>
<field name="cash_basis_account" ref="pcg_445711" />
<field name="cash_basis_account_id" ref="pcg_445711" />
<field name="sequence" eval="10"/>
<field name="type_tax_use">sale</field>
<field name="tag_ids" eval="[(6,0,[ref('l10n_fr.tag_fr_02'),ref('l10n_fr.tag_fr_11')])]"/>
@@ -699,7 +699,7 @@
<field name="refund_account_id" ref="pcg_445713"/>
<field name="account_id" ref="pcg_445800"/>
<field name="tax_exigibility">on_payment</field>
<field name="cash_basis_account" ref="pcg_445713" />
<field name="cash_basis_account_id" ref="pcg_445713" />
<field name="sequence" eval="10"/>
<field name="type_tax_use">sale</field>
<field name="tag_ids" eval="[(6,0,[ref('l10n_fr.tag_fr_08'),ref('l10n_fr.tag_fr_17')])]"/>
@@ -731,7 +731,7 @@
<field name="refund_account_id" ref="pcg_445713"/>
<field name="account_id" ref="pcg_445800"/>
<field name="tax_exigibility">on_payment</field>
<field name="cash_basis_account" ref="pcg_445713" />
<field name="cash_basis_account_id" ref="pcg_445713" />
<field name="sequence" eval="10"/>
<field name="type_tax_use">sale</field>
<field name="tag_ids" eval="[(6,0,[ref('l10n_fr.tag_fr_09'),ref('l10n_fr.tag_fr_18')])]"/>
+8 -8
View File
@@ -47,7 +47,7 @@
<field name="tag_ids" eval="[(6,0,[ref('tag_iva')])]"/>
<field name="tax_group_id" ref="tax_group_iva_0"/>
<field name="tax_exigibility">on_payment</field>
<field name="cash_basis_account" ref="cuenta208_01"/>
<field name="cash_basis_account_id" ref="cuenta208_01"/>
</record>
<record id="tax12" model="account.tax.template">
@@ -62,7 +62,7 @@
<field name="tag_ids" eval="[(6,0,[ref('tag_iva')])]"/>
<field name="tax_group_id" ref="tax_group_iva_16"/>
<field name="tax_exigibility">on_payment</field>
<field name="cash_basis_account" ref="cuenta208_01"/>
<field name="cash_basis_account_id" ref="cuenta208_01"/>
</record>
<record id="tax1" model="account.tax.template">
@@ -76,7 +76,7 @@
<field name="refund_account_id" ref="cuenta216_10"/>
<field name="tax_group_id" ref="tax_group_iva_ret_4"/>
<field name="tax_exigibility">on_payment</field>
<field name="cash_basis_account" ref="cuenta216_10_20"/>
<field name="cash_basis_account_id" ref="cuenta216_10_20"/>
<field name="tag_ids" eval="[(6,0,[ref('tag_diot_ret')])]"/>
</record>
@@ -91,7 +91,7 @@
<field name="refund_account_id" ref="cuenta216_10"/>
<field name="tax_group_id" ref="tax_group_iva_ret_10"/>
<field name="tax_exigibility">on_payment</field>
<field name="cash_basis_account" ref="cuenta216_10_20"/>
<field name="cash_basis_account_id" ref="cuenta216_10_20"/>
<field name="tag_ids" eval="[(6,0,[ref('tag_diot_ret')])]"/>
</record>
@@ -130,7 +130,7 @@
<field name="refund_account_id" ref="cuenta216_10"/>
<field name="tax_group_id" ref="tax_group_iva_ret_1067"/>
<field name="tax_exigibility">on_payment</field>
<field name="cash_basis_account" ref="cuenta216_10_20"/>
<field name="cash_basis_account_id" ref="cuenta216_10_20"/>
<field name="tag_ids" eval="[(6,0,[ref('tag_diot_ret')])]"/>
</record>
@@ -145,7 +145,7 @@
<field name="refund_account_id" ref="cuenta216_10"/>
<field name="tax_group_id" ref="tax_group_iva_ret_1067"/>
<field name="tax_exigibility">on_payment</field>
<field name="cash_basis_account" ref="cuenta216_10_20"/>
<field name="cash_basis_account_id" ref="cuenta216_10_20"/>
<field name="tag_ids" eval="[(6,0,[ref('tag_diot_ret')])]"/>
</record>
@@ -160,7 +160,7 @@
<field name="refund_account_id" ref="cuenta119_01"/>
<field name="tax_group_id" ref="tax_group_iva_0"/>
<field name="tax_exigibility">on_payment</field>
<field name="cash_basis_account" ref="cuenta118_01"/>
<field name="cash_basis_account_id" ref="cuenta118_01"/>
<field name="tag_ids" eval="[(6,0,[ref('tag_diot_0')])]"/>
</record>
@@ -175,7 +175,7 @@
<field name="refund_account_id" ref="cuenta119_01"/>
<field name="tax_group_id" ref="tax_group_iva_16"/>
<field name="tax_exigibility">on_payment</field>
<field name="cash_basis_account" ref="cuenta118_01"/>
<field name="cash_basis_account_id" ref="cuenta118_01"/>
<field name="tag_ids" eval="[(6,0,[ref('tag_diot_16')])]"/>
</record>
</data>