Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
==============================================================
AEAT 303 - Special Prorate Regularization Capital Asset legacy
==============================================================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:2c83799edb4838092387f6e834382cca668c0b8626ced2e530b7d00faa0eae3c
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-NuoBiT%2Fodoo--addons-lightgray.png?logo=github
:target: https://github.com/NuoBiT/odoo-addons/tree/18.0/l10n_es_aeat_mod303_special_prorate_regularization_capital_asset_legacy
:alt: NuoBiT/odoo-addons

|badge1| |badge2| |badge3|

This module extends Special Prorate Regularization Capital Asset to
include old assets

**Table of contents**

.. contents::
:local:

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/NuoBiT/odoo-addons/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/NuoBiT/odoo-addons/issues/new?body=module:%20l10n_es_aeat_mod303_special_prorate_regularization_capital_asset_legacy%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* NuoBiT Solutions SL

Contributors
------------

- `NuoBiT <https://www.nuobit.com>`__:

- Kilian Niubo [email protected]
- Eric Antones [email protected]
- Deniz Gallo [email protected]

Maintainers
-----------

This module is part of the `NuoBiT/odoo-addons <https://github.com/NuoBiT/odoo-addons/tree/18.0/l10n_es_aeat_mod303_special_prorate_regularization_capital_asset_legacy>`_ project on GitHub.

You are welcome to contribute.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Copyright NuoBiT Solutions SL - Kilian Niubo <[email protected]>
# Copyright 2026 NuoBiT Solutions SL - Deniz Gallo <[email protected]>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)

{
"name": "AEAT 303 - Special Prorate Regularization Capital Asset legacy",
"summary": "This module extends Special Prorate Regularization Capital Asset "
"to include old assets",
"version": "18.0.1.0.0",
"category": "Accounting",
"author": "NuoBiT Solutions SL",
"website": "https://github.com/NuoBiT/odoo-addons",
"license": "AGPL-3",
"depends": [
"l10n_es_aeat_mod303_special_prorate_regularization_capital_asset",
],
"data": [
"views/aeat_tax_line_view.xml",
],
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules: l10n_es_aeat_mod303_special_prorate_regularization_capital_asset_legacy
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-12-15 11:30+0000\n"
"PO-Revision-Date: 2022-12-15 11:30+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_es_aeat_mod303_special_prorate_regularization_capital_asset_legacy
#: model:ir.model,name:l10n_es_aeat_mod303_special_prorate_regularization_capital_asset_legacy.model_l10n_es_aeat_mod303_report
msgid "AEAT 303 Report"
msgstr "Modelo AEAT 303"

#. module: l10n_es_aeat_mod303_special_prorate_regularization_capital_asset_legacy
#: model:ir.model,name:l10n_es_aeat_mod303_special_prorate_regularization_capital_asset_legacy.model_l10n_es_aeat_tax_line
msgid "AEAT tax line"
msgstr "Línea de impuestos AEAT"

#. module: l10n_es_aeat_mod303_special_prorate_regularization_capital_asset_legacy
#: model:ir.model.fields,field_description:l10n_es_aeat_mod303_special_prorate_regularization_capital_asset_legacy.field_l10n_es_aeat_tax_line__asset_ids
msgid "Assets"
msgstr "Activos"

#. module: l10n_es_aeat_mod303_special_prorate_regularization_capital_asset_legacy
#: model:ir.model.fields,field_description:l10n_es_aeat_mod303_special_prorate_regularization_capital_asset_legacy.field_l10n_es_aeat_mod303_report__display_name
#: model:ir.model.fields,field_description:l10n_es_aeat_mod303_special_prorate_regularization_capital_asset_legacy.field_l10n_es_aeat_tax_line__display_name
msgid "Display Name"
msgstr "Nombre a mostrar"

#. module: l10n_es_aeat_mod303_special_prorate_regularization_capital_asset_legacy
#: model:ir.model.fields,field_description:l10n_es_aeat_mod303_special_prorate_regularization_capital_asset_legacy.field_l10n_es_aeat_mod303_report__id
#: model:ir.model.fields,field_description:l10n_es_aeat_mod303_special_prorate_regularization_capital_asset_legacy.field_l10n_es_aeat_tax_line__id
msgid "ID"
msgstr "Identificador"

#. module: l10n_es_aeat_mod303_special_prorate_regularization_capital_asset_legacy
#: model:ir.model.fields,field_description:l10n_es_aeat_mod303_special_prorate_regularization_capital_asset_legacy.field_l10n_es_aeat_mod303_report____last_update
#: model:ir.model.fields,field_description:l10n_es_aeat_mod303_special_prorate_regularization_capital_asset_legacy.field_l10n_es_aeat_tax_line____last_update
msgid "Last Modified on"
msgstr "Última modificación en"

#. module: l10n_es_aeat_mod303_special_prorate_regularization_capital_asset_legacy
#: model:ir.model.fields,field_description:l10n_es_aeat_mod303_special_prorate_regularization_capital_asset_legacy.field_l10n_es_aeat_tax_line__mod303_id
msgid "Model 303"
msgstr "Modelo 303"

#. module: l10n_es_aeat_mod303_special_prorate_regularization_capital_asset_legacy
#: model:ir.model.fields,field_description:l10n_es_aeat_mod303_special_prorate_regularization_capital_asset_legacy.field_l10n_es_aeat_tax_line__mod303_period_type
msgid "Period type"
msgstr "Periodo"

#. module: l10n_es_aeat_mod303_special_prorate_regularization_capital_asset_legacy
#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_mod303_special_prorate_regularization_capital_asset_legacy.view_l10n_es_aeat_tax_line_tree
msgid "Show asset items"
msgstr "Mostrar activos"
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import l10n_es_aeat_tax_line
from . import mod303
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Copyright NuoBiT Solutions SL - Kilian Niubo <[email protected]>
# Copyright NuoBiT Solutions SL - Eric Antones <[email protected]>
# Copyright 2026 NuoBiT Solutions SL - Deniz Gallo <[email protected]>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

from odoo import fields, models


class L10nEsAeatTaxLine(models.Model):
_inherit = "l10n.es.aeat.tax.line"

asset_ids = fields.Many2many(
string="Assets",
comodel_name="account.asset",
)
mod303_id = fields.Many2one(
string="Model 303",
comodel_name="l10n.es.aeat.mod303.report",
compute="_compute_mod303_id",
store=True,
)
mod303_period_type = fields.Selection(related="mod303_id.period_type")

def _compute_mod303_id(self):
for rec in self:
if rec.model == "l10n.es.aeat.mod303.report":
rec.mod303_id = self.env[rec.model].browse(rec.res_id)
else:
rec.mod303_id = False

def get_calculated_assets(self):
action_dict = (
self.env.ref("account_asset_management.account_asset_action")
.sudo()
.read()[0]
)
action_dict["domain"] = [("id", "in", self.asset_ids.ids)]
return action_dict
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Copyright NuoBiT Solutions SL - Kilian Niubo <[email protected]>
# Copyright NuoBiT Solutions SL - Eric Antones <[email protected]>
# Copyright 2026 NuoBiT Solutions SL - Deniz Gallo <[email protected]>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)


from odoo import models


class L10nEsAeatMod303Report(models.AbstractModel):
_inherit = "l10n.es.aeat.mod303.report"

def _prepare_tax_line_vals_dates(self, date_start, date_end, map_line):
tax_line_vals = super()._prepare_tax_line_vals_dates(
date_start, date_end, map_line
)
asset_ids = self.env["account.asset"].search(
[
("invoice_move_line_id", "=", False),
(
"prorate_tax_id",
"in",
map_line.get_taxes_for_company(self.company_id).ids,
),
]
)
tax_line_vals["asset_ids"] = [(6, 0, asset_ids.ids)]
return tax_line_vals

def _get_assets_from_tax_line_vals(self, tax_line_vals):
assets = super()._get_assets_from_tax_line_vals(tax_line_vals)
return assets | self.env["account.asset"].browse(
tax_line_vals["asset_ids"][0][2]
)

def _prepare_move_lines(self, tax_lines):
move_lines_values = super()._prepare_move_lines(tax_lines)
for asset in tax_lines.asset_ids:
deductible_line = self._calculate_repartition_tax(asset)
move_lines_values.append(
{
"asset_id": [asset.id, asset.name],
"name": deductible_line.account_id.name,
"account_id": [
deductible_line.account_id,
deductible_line.account_id.name,
],
"debit": asset.purchase_value if asset.purchase_value >= 0 else 0,
"credit": -asset.purchase_value if asset.purchase_value < 0 else 0,
}
)
return move_lines_values

def _calculate_repartition_tax(self, asset):
if asset.invoice_move_line_id:
deductible_line = super()._calculate_repartition_tax(asset)
else:
repartition_lines = (
asset.prorate_tax_id.invoice_repartition_line_ids
if asset.purchase_value >= 0
else asset.prorate_tax_id.refund_repartition_line_ids
)
deductible_line = self._extract_deductible_repartition_line(
repartition_lines
)
return deductible_line

def _updated_tax_line_vals_capital_asset(self, assets, tax_final_percentage):
return {
**super()._updated_tax_line_vals_capital_asset(
assets, tax_final_percentage
),
"asset_ids": [
(6, 0, assets.filtered(lambda x: not x.invoice_move_line_id).ids)
],
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[build-system]
requires = ["whool"]
build-backend = "whool.buildapi"
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- [NuoBiT](https://www.nuobit.com):
- Kilian Niubo <[email protected]>
- Eric Antones <[email protected]>
- Deniz Gallo <[email protected]>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
This module extends Special Prorate Regularization Capital Asset to include old assets
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading