[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:
@@ -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 !'),
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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 !'),
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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')])]"/>
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user