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

[16.0][MIG] l10n_es_aeat_sii_invoice_summary: Migration to 16.0 #3071

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
53deba0
[ADD] l10n_es_aeat_sii_invoice_summary : añadir resumen de facturas
VRodrigo Mar 21, 2018
b1765fa
[MIG] l10n_es_aeat_sii_invoice_summary: Backport from 11.0 to 10.0
omar7r Apr 11, 2018
4bcfc04
[IMP] l10n_es_aeat_sii_invoice_summary: black, isort, prettier
victoralmau May 20, 2024
2769019
[MIG] l10n_es_aeat_sii_invoice_summary: Migration to 14.0
ramiadavid May 27, 2022
e08c42b
[IMP] l10n_es_aeat_sii_invoice_summary: añadir rectificativas y tests
ramiadavid Jul 5, 2022
94ac5ef
[MIG] l10n_es_aeat_sii_invoice_summary: Finish migration 14.0
victoralmau May 20, 2024
c0663c6
[UPD] Update l10n_es_aeat_sii_invoice_summary.pot
May 23, 2024
09cfeff
[BOT] post-merge updates
OCA-git-bot May 23, 2024
81c6051
[IMP] l10n_es_aeat_sii_invoice_summary: Show summary fields only on c…
victoralmau May 23, 2024
9c68415
[BOT] post-merge updates
OCA-git-bot May 23, 2024
7865ec7
[IMP] l10n_es_aeat_sii_invoice_summary: Define a specific string for …
victoralmau May 27, 2024
b509ef2
[UPD] Update l10n_es_aeat_sii_invoice_summary.pot
May 27, 2024
f1a9fe6
[BOT] post-merge updates
OCA-git-bot May 27, 2024
8645b18
[IMP] l10n_es_aeat_sii_invoice_summary: Changes in the visibility and…
victoralmau May 29, 2024
ba74ab0
[UPD] Update l10n_es_aeat_sii_invoice_summary.pot
May 29, 2024
698e0bd
[BOT] post-merge updates
OCA-git-bot May 29, 2024
71ee86a
Update translation files
weblate May 29, 2024
1cacc85
[IMP] l10n_es_aeat_sii_invoice_summary: pre-commit stuff
aritzolea Jul 11, 2024
91bdd72
[MIG] l10n_es_aeat_sii_invoice_summary: Migration to 16.0
aritzolea Jul 11, 2024
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
106 changes: 106 additions & 0 deletions l10n_es_aeat_sii_invoice_summary/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
===============================================
Envio de factura simplificada resumen TPV a SII
===============================================

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

.. |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/16.0/l10n_es_aeat_sii_invoice_summary
: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-16-0/l10n-spain-16-0-l10n_es_aeat_sii_invoice_summary
: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=16.0
:alt: Try me on Runboat

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

Permite enviar al SII una factura resumen de facturas simplificadas.

Se trata de una alternativa al módulo *l10n_es_pos_sii* del mismo repositorio.

**Table of contents**

.. contents::
:local:

Usage
=====

Para usar este modulo:

1. Debes seleccionar el campo Resumen facturas simplificadas SII

2. Rellenar el campo Resumen facturas simplificadas SII: Primera factura
con la primera factura del resumen.

3. Rellenar el campo Resumen facturas simplificadas SII: Última factura
con la ultima factura del resumen.

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

* Si usamos el TPV de Odoo: Al definir una factura como resumen de facturas
simplificadas estamos contabilizando doblemente el ingreso e impuestos, por
lo que tras enviar esta factura al SII habría que regularizar la
contabilidad, ya sea cancelando la factura o revirtiendo su asiento contable.

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_aeat_sii_invoice_summary%0Aversion:%2016.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
~~~~~~~

* FactorLibre

Contributors
~~~~~~~~~~~~

* Hugo Santos <[email protected]> (https://factorlibre.com/)
* Victor Rodrigo <[email protected]> (https://factorlibre.com/)
* Omar Castiñeira <[email protected]> (https://comunitea.com/)
* David Ramia <[email protected]> (https://processcontrol.es)

* `Tecnativa <https://www.tecnativa.com>`_:

* Víctor Martínez

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/16.0/l10n_es_aeat_sii_invoice_summary>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
3 changes: 3 additions & 0 deletions l10n_es_aeat_sii_invoice_summary/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# © 2017 FactorLibre - Hugo Santos <[email protected]>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import models
15 changes: 15 additions & 0 deletions l10n_es_aeat_sii_invoice_summary/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# © 2017 FactorLibre - Hugo Santos <[email protected]>
# © 2022 ProcessControl - David Ramia <[email protected]>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
"name": "Envio de factura simplificada resumen TPV a SII",
"version": "16.0.1.0.0",
"depends": ["l10n_es_aeat_sii_oca"],
"category": "Accounting & Finance",
"author": "FactorLibre, Odoo Community Association (OCA)",
"license": "AGPL-3",
"website": "https://github.com/OCA/l10n-spain",
"data": ["views/account_move_view.xml"],
"installable": True,
"application": False,
}
85 changes: 85 additions & 0 deletions l10n_es_aeat_sii_invoice_summary/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * l10n_es_aeat_sii_invoice_summary
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-05-27 10:00+0000\n"
"PO-Revision-Date: 2024-05-27 12:01+0200\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: \n"
"X-Generator: Poedit 3.0.1\n"

#. module: l10n_es_aeat_sii_invoice_summary
#: model:ir.model.fields,field_description:l10n_es_aeat_sii_invoice_summary.field_account_move__display_name
msgid "Display Name"
msgstr "Nombre mostrado"

#. module: l10n_es_aeat_sii_invoice_summary
#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_sii_invoice_summary.invoice_sii_move_summary_form_view
msgid "First Invoice"
msgstr "Primera factura"

#. module: l10n_es_aeat_sii_invoice_summary
#: model:ir.model.fields,field_description:l10n_es_aeat_sii_invoice_summary.field_account_move__id
msgid "ID"
msgstr "ID"

#. module: l10n_es_aeat_sii_invoice_summary
#: model:ir.model.fields,field_description:l10n_es_aeat_sii_invoice_summary.field_account_bank_statement_line__is_invoice_summary
#: model:ir.model.fields,field_description:l10n_es_aeat_sii_invoice_summary.field_account_move__is_invoice_summary
#: model:ir.model.fields,field_description:l10n_es_aeat_sii_invoice_summary.field_account_payment__is_invoice_summary
msgid "Is SII simplified invoice Summary?"
msgstr "Resumen facturas simplificadas SII"

#. module: l10n_es_aeat_sii_invoice_summary
#: model:ir.model,name:l10n_es_aeat_sii_invoice_summary.model_account_move
msgid "Journal Entry"
msgstr "Asiento contable"

#. module: l10n_es_aeat_sii_invoice_summary
#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_sii_invoice_summary.invoice_sii_move_summary_form_view
msgid "Last Invoice"
msgstr "Última factura"

#. module: l10n_es_aeat_sii_invoice_summary
#: model:ir.model.fields,field_description:l10n_es_aeat_sii_invoice_summary.field_account_move____last_update
msgid "Last Modified on"
msgstr "Modificado por última vez el"

#. module: l10n_es_aeat_sii_invoice_summary
#: code:addons/l10n_es_aeat_sii_invoice_summary/models/account_move.py:0
#: model:ir.model.fields,field_description:l10n_es_aeat_sii_invoice_summary.field_account_bank_statement_line__sii_invoice_summary_start
#: model:ir.model.fields,field_description:l10n_es_aeat_sii_invoice_summary.field_account_move__sii_invoice_summary_start
#: model:ir.model.fields,field_description:l10n_es_aeat_sii_invoice_summary.field_account_payment__sii_invoice_summary_start
#, python-format
msgid "SII Invoice Summary: First Invoice"
msgstr "Resumen facturas simplificadas SII: Primera factura"

#. module: l10n_es_aeat_sii_invoice_summary
#: code:addons/l10n_es_aeat_sii_invoice_summary/models/account_move.py:0
#: model:ir.model.fields,field_description:l10n_es_aeat_sii_invoice_summary.field_account_bank_statement_line__sii_invoice_summary_end
#: model:ir.model.fields,field_description:l10n_es_aeat_sii_invoice_summary.field_account_move__sii_invoice_summary_end
#: model:ir.model.fields,field_description:l10n_es_aeat_sii_invoice_summary.field_account_payment__sii_invoice_summary_end
#, python-format
msgid "SII Invoice Summary: Last Invoice"
msgstr "Resumen facturas simplificadas SII: Última factura"

#. module: l10n_es_aeat_sii_invoice_summary
#: code:addons/l10n_es_aeat_sii_invoice_summary/models/account_move.py:0
#, python-format
msgid "The partner has not a VAT configured."
msgstr "El cliente no tiene un CIF/NIF configurado."

#. module: l10n_es_aeat_sii_invoice_summary
#: code:addons/l10n_es_aeat_sii_invoice_summary/models/account_move.py:0
#, python-format
msgid "You can't make a supplier summary invoice."
msgstr "No puede realizar una factura resumen a un proveedor."
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * l10n_es_aeat_sii_invoice_summary
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \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_sii_invoice_summary
#: model:ir.model.fields,field_description:l10n_es_aeat_sii_invoice_summary.field_account_move__display_name
msgid "Display Name"
msgstr ""

#. module: l10n_es_aeat_sii_invoice_summary
#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_sii_invoice_summary.invoice_sii_move_summary_form_view
msgid "First Invoice"
msgstr ""

#. module: l10n_es_aeat_sii_invoice_summary
#: model:ir.model.fields,field_description:l10n_es_aeat_sii_invoice_summary.field_account_move__id
msgid "ID"
msgstr ""

#. module: l10n_es_aeat_sii_invoice_summary
#: model:ir.model.fields,field_description:l10n_es_aeat_sii_invoice_summary.field_account_bank_statement_line__is_invoice_summary
#: model:ir.model.fields,field_description:l10n_es_aeat_sii_invoice_summary.field_account_move__is_invoice_summary
#: model:ir.model.fields,field_description:l10n_es_aeat_sii_invoice_summary.field_account_payment__is_invoice_summary
msgid "Is SII simplified invoice Summary?"
msgstr ""

#. module: l10n_es_aeat_sii_invoice_summary
#: model:ir.model,name:l10n_es_aeat_sii_invoice_summary.model_account_move
msgid "Journal Entry"
msgstr ""

#. module: l10n_es_aeat_sii_invoice_summary
#: model_terms:ir.ui.view,arch_db:l10n_es_aeat_sii_invoice_summary.invoice_sii_move_summary_form_view
msgid "Last Invoice"
msgstr ""

#. module: l10n_es_aeat_sii_invoice_summary
#: model:ir.model.fields,field_description:l10n_es_aeat_sii_invoice_summary.field_account_move____last_update
msgid "Last Modified on"
msgstr ""

#. module: l10n_es_aeat_sii_invoice_summary
#: code:addons/l10n_es_aeat_sii_invoice_summary/models/account_move.py:0
#: model:ir.model.fields,field_description:l10n_es_aeat_sii_invoice_summary.field_account_bank_statement_line__sii_invoice_summary_start
#: model:ir.model.fields,field_description:l10n_es_aeat_sii_invoice_summary.field_account_move__sii_invoice_summary_start
#: model:ir.model.fields,field_description:l10n_es_aeat_sii_invoice_summary.field_account_payment__sii_invoice_summary_start
#, python-format
msgid "SII Invoice Summary: First Invoice"
msgstr ""

#. module: l10n_es_aeat_sii_invoice_summary
#: code:addons/l10n_es_aeat_sii_invoice_summary/models/account_move.py:0
#: model:ir.model.fields,field_description:l10n_es_aeat_sii_invoice_summary.field_account_bank_statement_line__sii_invoice_summary_end
#: model:ir.model.fields,field_description:l10n_es_aeat_sii_invoice_summary.field_account_move__sii_invoice_summary_end
#: model:ir.model.fields,field_description:l10n_es_aeat_sii_invoice_summary.field_account_payment__sii_invoice_summary_end
#, python-format
msgid "SII Invoice Summary: Last Invoice"
msgstr ""

#. module: l10n_es_aeat_sii_invoice_summary
#: code:addons/l10n_es_aeat_sii_invoice_summary/models/account_move.py:0
#, python-format
msgid "The partner has not a VAT configured."
msgstr ""

#. module: l10n_es_aeat_sii_invoice_summary
#: code:addons/l10n_es_aeat_sii_invoice_summary/models/account_move.py:0
#, python-format
msgid "You can't make a supplier summary invoice."
msgstr ""
4 changes: 4 additions & 0 deletions l10n_es_aeat_sii_invoice_summary/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# © 2017 FactorLibre - Hugo Santos <[email protected]>
# © 2022 ProcessControl - David Ramia <[email protected]>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import account_move
70 changes: 70 additions & 0 deletions l10n_es_aeat_sii_invoice_summary/models/account_move.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# © 2017 FactorLibre - Hugo Santos <[email protected]>
# © 2018 FactorLibre - Victor Rodrigo <[email protected]>
# © 2022 ProcessControl - David Ramia <[email protected]>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import _, exceptions, fields, models


class AccountMove(models.Model):
_inherit = "account.move"

is_invoice_summary = fields.Boolean("Is SII simplified invoice Summary?")
sii_invoice_summary_start = fields.Char("SII Invoice Summary: First Invoice")
sii_invoice_summary_end = fields.Char("SII Invoice Summary: Last Invoice")

def _get_sii_invoice_dict_out(self, cancel=False):
inv_dict = super()._get_sii_invoice_dict_out(cancel=cancel)
if self.is_invoice_summary and self.is_sale_document():
tipo_factura = "F4"
if self.sii_invoice_summary_start:
if self.sii_invoice_summary_start == self.sii_invoice_summary_end:
tipo_factura = "F2" if self.move_type == "out_invoice" else "R5"
else:
inv_dict["IDFactura"][
"NumSerieFacturaEmisor"
] = self.sii_invoice_summary_start
inv_dict["IDFactura"][
"NumSerieFacturaEmisorResumenFin"
] = self.sii_invoice_summary_end
if "FacturaExpedida" in inv_dict:
if "TipoFactura" in inv_dict["FacturaExpedida"]:
inv_dict["FacturaExpedida"]["TipoFactura"] = tipo_factura
if "Contraparte" in inv_dict["FacturaExpedida"]:
del inv_dict["FacturaExpedida"]["Contraparte"]
if (
"TipoRectificativa" in inv_dict["FacturaExpedida"]
and tipo_factura == "F4"
):
del inv_dict["FacturaExpedida"]["TipoRectificativa"]

return inv_dict

def _sii_check_exceptions(self):
"""Inheritable method for exceptions control when sending SII invoices."""
res = False
try:
res = super()._sii_check_exceptions()
except exceptions.UserError as e:
if (
e.args[0] == _("The partner has not a VAT configured.")
and self.is_invoice_summary
):
pass
else:
raise

if self.is_invoice_summary and self.is_purchase_document():
raise exceptions.UserError(_("You can't make a supplier summary invoice."))

Check warning on line 57 in l10n_es_aeat_sii_invoice_summary/models/account_move.py

View check run for this annotation

Codecov / codecov/patch

l10n_es_aeat_sii_invoice_summary/models/account_move.py#L57

Added line #L57 was not covered by tests
return res

def write(self, vals):
"""Cannot let change sii_invoice_summary fields
values in a SII registered supplier invoice"""
for invoice in self.filtered(
lambda x: x.is_invoice_summary and x.sii_state != "not_sent"
):
if "sii_invoice_summary_start" in vals:
invoice._raise_exception_sii(_("SII Invoice Summary: First Invoice"))
if "sii_invoice_summary_end" in vals:
invoice._raise_exception_sii(_("SII Invoice Summary: Last Invoice"))
return super().write(vals)
8 changes: 8 additions & 0 deletions l10n_es_aeat_sii_invoice_summary/readme/CONTRIBUTORS.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
* Hugo Santos <[email protected]> (https://factorlibre.com/)
* Victor Rodrigo <[email protected]> (https://factorlibre.com/)
* Omar Castiñeira <[email protected]> (https://comunitea.com/)
* David Ramia <[email protected]> (https://processcontrol.es)

* `Tecnativa <https://www.tecnativa.com>`_:

* Víctor Martínez
3 changes: 3 additions & 0 deletions l10n_es_aeat_sii_invoice_summary/readme/DESCRIPTION.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Permite enviar al SII una factura resumen de facturas simplificadas.

Se trata de una alternativa al módulo *l10n_es_pos_sii* del mismo repositorio.
4 changes: 4 additions & 0 deletions l10n_es_aeat_sii_invoice_summary/readme/ROADMAP.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
* Si usamos el TPV de Odoo: Al definir una factura como resumen de facturas
simplificadas estamos contabilizando doblemente el ingreso e impuestos, por
lo que tras enviar esta factura al SII habría que regularizar la
contabilidad, ya sea cancelando la factura o revirtiendo su asiento contable.
9 changes: 9 additions & 0 deletions l10n_es_aeat_sii_invoice_summary/readme/USAGE.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Para usar este modulo:

1. Debes seleccionar el campo Resumen facturas simplificadas SII

2. Rellenar el campo Resumen facturas simplificadas SII: Primera factura
con la primera factura del resumen.

3. Rellenar el campo Resumen facturas simplificadas SII: Última factura
con la ultima factura del resumen.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading