19.0 vanilla

This commit is contained in:
Ernad Husremovic 2026-03-09 09:31:28 +01:00
parent ff721d030e
commit 7721452493
1826 changed files with 124775 additions and 274114 deletions

View file

@ -1,19 +1,10 @@
from odoo import fields, models
class AccountTaxTemplate(models.Model):
_inherit = 'account.tax.template'
l10n_de_datev_code = fields.Char(size=4)
def _get_tax_vals(self, company, tax_template_to_tax):
vals = super(AccountTaxTemplate, self)._get_tax_vals(company, tax_template_to_tax)
vals['l10n_de_datev_code'] = self.l10n_de_datev_code
return vals
class AccountTax(models.Model):
_inherit = "account.tax"
l10n_de_datev_code = fields.Char(size=4, help="4 digits code use by Datev")
l10n_de_datev_code = fields.Char(size=4, help="4 digits code use by Datev", tracking=True)
class ProductTemplate(models.Model):
@ -26,15 +17,21 @@ class ProductTemplate(models.Model):
company = self.env.company
if company.account_fiscal_country_id.code == "DE":
if not self.property_account_income_id:
taxes = self.taxes_id.filtered(lambda t: t.company_id == company)
taxes = self.taxes_id.filtered_domain(self.env['account.tax']._check_company_domain(company))
if not result['income'] or (result['income'].tax_ids and taxes and taxes[0] not in result['income'].tax_ids):
result_income = self.env['account.account'].search([('internal_group', '=', 'income'), ('deprecated', '=', False),
('tax_ids', 'in', taxes.ids)], limit=1)
result_income = self.env['account.account'].with_company(company).search([
*self.env['account.account']._check_company_domain(company),
('internal_group', '=', 'income'),
('tax_ids', 'in', taxes.ids)
], limit=1)
result['income'] = result_income or result['income']
if not self.property_account_expense_id:
supplier_taxes = self.supplier_taxes_id.filtered(lambda t: t.company_id == company)
supplier_taxes = self.supplier_taxes_id.filtered_domain(self.env['account.tax']._check_company_domain(company))
if not result['expense'] or (result['expense'].tax_ids and supplier_taxes and supplier_taxes[0] not in result['expense'].tax_ids):
result_expense = self.env['account.account'].search([('internal_group', '=', 'expense'), ('deprecated', '=', False),
('tax_ids', 'in', supplier_taxes.ids)], limit=1)
result_expense = self.env['account.account'].with_company(company).search([
*self.env['account.account']._check_company_domain(company),
('internal_group', '=', 'expense'),
('tax_ids', 'in', supplier_taxes.ids),
], limit=1)
result['expense'] = result_expense or result['expense']
return result