Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[17.0][MIG] l10n_es_sigaus_account: Migration to 17.0 #3772

Open
wants to merge 9 commits into
base: 17.0
Choose a base branch
from
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
166 changes: 166 additions & 0 deletions l10n_es_sigaus_account/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,166 @@
====================
SIGAUS - Facturación
====================

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

.. |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-OCA%2Fl10n--spain-lightgray.png?logo=github
:target: https://github.com/OCA/l10n-spain/tree/17.0/l10n_es_sigaus_account
:alt: OCA/l10n-spain
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/l10n-spain-17-0/l10n-spain-17-0-l10n_es_sigaus_account
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/l10n-spain&target_branch=17.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

El origen de SIGAUS responde a la iniciativa de los fabricantes de
lubricantes que, a través de su participación en este Sistema, cumplen
con las obligaciones establecidas en la normativa sobre aceites usados
(Real Decreto 679/2006, de 2 de junio, por el que se regula la gestión
de los aceites industriales usados).

Este módulo permite el cálculo de la aportación SIGAUS en las facturas a
partir del peso de aquellos productos en los que se aplica.

- Más información en https://www.sigaus.es

**Table of contents**

.. contents::
:local:

Configuration
=============

Se tienen que configurar los siguientes aspectos:

- En la ficha del producto "Aportación SIGAUS (R.D. 679/2006)"
establecer el impuesto correspondiente.
- La configuración del precio de la aportación SIGAUS que se aplica
durante un periodo de tiempo se realiza desde Facturación >
Configuración > Aportación SIGAUS. En caso de no rellenar el campo
"Fecha hasta", el precio seleccionado se aplicará a partir de la fecha
indicada en "Fecha desde". El precio establecido dentro del periodo
marcado se utilizará siempre que se calcule la aportación SIGAUS en
las facturas.
- Es necesario indicar aquellas compañías en las que se aplicará la
aportación SIGAUS. Para ello, hay que acceder a la pestaña SIGAUS de
la configuración de la compañía y marcar la casilla "Habilitar
SIGAUS". Asimismo, es obligatorio indicar la fecha a partir de la que
la aportación SIGAUS se podrá aplicar en el campo "SIGAUS fecha
desde". No será posible calcular la aportación SIGAUS con fecha
anterior a la seleccionada en este campo. Cuando la opción "Habilitar
SIGAUS" está activada, se muestra el campo "Mostrar cantidades de
SIGAUS en líneas de informes" que, si está marcada, permite mostrar la
aportación SIGAUS de cada una de las líneas de facturas en los
informes.
- Las posiciones fiscales con las que se aplicará la aportación SIGAUS
tienen que indicarse. Para ello hay que acceder a Facturación >
Configuración > Posiciones Fiscales y marcar la casilla "Sujeto a
SIGAUS" en aquellas en las que se aplicará.
- Se puede establecer que los productos de ciertas categorías estén
sujetas a SIGAUS accediendo a la configuración de la categoría y
marcando la casilla "Sujeto a SIGAUS".
- Desde la ficha de los productos, pueden establecerse varias opciones
de sujeción a la aportación SIGAUS desde el campo "Sujeto a SIGAUS".
Existen tres opciones:

- "Categoría": La aplicación o no de la aportación SIGAUS para ese
producto depende de si la casilla "Sujeto a SIGAUS" está o no
marcada en la categoría establecida.
- "Sí": Se aplica siempre la aportación SIGAUS, independientemente de
lo seleccionado en la categoría de producto.
- "No": No se aplica nunca la aportación SIGAUS, independientemente de
lo seleccionado en la categoría de producto.

Cuando se calcule la aportación SIGAUS en facturas, se tendrá en cuenta
el peso de todos aquellos productos a los que se les aplica la
aportación SIGAUS para determinar el importe.

- Todos los productos a los que se les aplica la aportación SIGAUS deben
tener un peso establecido.

Usage
=====

- El importe de la aportación SIGAUS se calculará a partir de los pesos
de aquellos productos sujetos a dicha aportación y el precio
establecido en "Aportación SIGAUS" según la fecha de factura o, en su
defecto, la fecha de creación.
- Los productos sujetos a aportación SIGAUS son los siguientes:

- Aquellos que tienen establecida la opción "Sí" en el campo "Sujeto a
SIGAUS".
- Aquellos que tienen establecida la opción "Categoría" en el campo
"Sujeto a SIGAUS" y cuya categoría tenga marcada la opción "Sujeto a
SIGAUS".

- Se mostrará un mensaje en el chatter si al calcular la aportación
SIGAUS, alguno de los productos sujetos no tiene un peso establecido.
- Si se desmarca la opción "Sujeto a SIGAUS", no se aplicará la
aportación SIGAUS.

Known issues / Roadmap
======================

- El módulo no está preparado para añadir automáticamente las líneas de
aportación SIGAUS a los pedidos procedentes del comercio online.

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/l10n-spain/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/OCA/l10n-spain/issues/new?body=module:%20l10n_es_sigaus_account%0Aversion:%2017.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
-------

* Sygel

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

- `Sygel <https://sygel.es>`__:

- Manuel Regidor <[email protected]>
- Harald Panten <[email protected]>
- Valentín Vinagre <[email protected]>

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

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/l10n-spain <https://github.com/OCA/l10n-spain/tree/17.0/l10n_es_sigaus_account>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
6 changes: 6 additions & 0 deletions l10n_es_sigaus_account/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Copyright 2023 Manuel Regidor <[email protected]>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from . import models
from . import wizard
from .hooks import pre_init_hook
28 changes: 28 additions & 0 deletions l10n_es_sigaus_account/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Copyright 2023 Manuel Regidor <[email protected]>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

{
"name": "SIGAUS - Facturación",
"summary": """Sistema de gestión de aceites
industriales usados en España - Facturación""",
"version": "17.0.1.0.0",
"license": "AGPL-3",
"author": "Sygel, Odoo Community Association (OCA)",
"category": "Accounting",
"website": "https://github.com/OCA/l10n-spain",
"depends": ["account"],
"data": [
"data/data.xml",
"data/exception_templates.xml",
"security/ir.model.access.csv",
"views/l10n_es_sigaus_amount_views.xml",
"views/product_category_views.xml",
"views/product_views.xml",
"views/account_move_views.xml",
"views/report_invoice.xml",
"views/res_company_views.xml",
"views/account_fiscal_position_views.xml",
],
"pre_init_hook": "pre_init_hook",
"installable": True,
}
30 changes: 30 additions & 0 deletions l10n_es_sigaus_account/data/data.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<odoo>
<!-- Copyright 2023 Manuel Regidor <[email protected]>
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<data noupdate="1">
<record id="aportacion_sigaus_product_template" model="product.product">
<field name="name">Aportación SIGAUS (R.D. 679/2006)</field>
<field name="company_id" eval="False" />
<field name="detailed_type">service</field>
<field name="list_price">0.0</field>
<field name="sigaus_subject">no</field>
<field name="taxes_id" eval="False" />
<field name="supplier_taxes_id" eval="False" />
<field name="uom_id" ref="uom.product_uom_kgm" />
<field name="uom_po_id" ref="uom.product_uom_kgm" />
</record>
</data>
<data noupdate="0">
<record id="aportacion_sigaus_2023" model="l10n.es.sigaus.amount">
<field name="name">Aportación SIGAUS 2023</field>
<field name="date_from">2023-1-1</field>
<field name="date_to">2023-12-31</field>
<field name="price">0.06</field>
</record>
<record id="aportacion_sigaus_2024" model="l10n.es.sigaus.amount">
<field name="name">Aportación SIGAUS 2024</field>
<field name="date_from">2024-1-1</field>
<field name="price">0.05</field>
</record>
</data>
</odoo>
23 changes: 23 additions & 0 deletions l10n_es_sigaus_account/data/exception_templates.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<!-- Copyright 2023 Manuel Regidor <[email protected]>
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<odoo>
<template id="exception_sigaus">
<div>
Exception(s) occurred:
<a href="#" t-att-data-oe-model="model" t-att-data-oe-id="origin" />.
The following products are subject to SIGAUS but have no weight.
<div class="mt16">
<p>Product(s):</p>
<ul t-foreach="products" t-as="product">
<li>
<a
href="#"
data-oe-model="product.product"
t-att-data-oe-id="product.id"
><t t-esc="product.name" /></a>
</li>
</ul>
</div>
</div>
</template>
</odoo>
46 changes: 46 additions & 0 deletions l10n_es_sigaus_account/hooks.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Copyright 2023 Manuel Regidor <[email protected]>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).


import logging

from odoo import tools
from odoo.tools.sql import column_exists

_logger = logging.getLogger(__name__)


def create_columns(cr):
if not column_exists(cr, "account_move", "is_sigaus"):
_logger.info("Initializing column is_sigaus on table account_move")
tools.create_column(
cr=cr,
tablename="account_move",
columnname="is_sigaus",
columntype="boolean",
comment="Indicates if it is a SIGAUS invoice",
)

if not column_exists(cr, "account_move", "sigaus_is_date"):
_logger.info("Initializing column sigaus_is_date on table account_move")
tools.create_column(
cr=cr,
tablename="account_move",
columnname="sigaus_is_date",
columntype="boolean",
comment="Date indicator for SIGAUS",
)

if not column_exists(cr, "product_product", "sigaus_has_amount"):
_logger.info("Initializing column sigaus_has_amount on table product_product")
tools.create_column(
cr=cr,
tablename="product_product",
columnname="sigaus_has_amount",
columntype="boolean",
comment="Indicates if the product has SIGAUS amount",
)


def pre_init_hook(env):
create_columns(env.cr)
Loading
Loading