Skip to content

Commit

Permalink
Merge PR #3737 into 17.0
Browse files Browse the repository at this point in the history
Signed-off-by HaraldPanten
  • Loading branch information
OCA-git-bot committed Mar 3, 2025
2 parents 6055734 + f0d99ee commit 6f64b6e
Show file tree
Hide file tree
Showing 96 changed files with 31,627 additions and 0 deletions.
1 change: 1 addition & 0 deletions l10n_es_aeat/models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,4 @@
from . import res_company
from . import res_partner
from . import res_partner_bank
from . import ir_cron_trigger
46 changes: 46 additions & 0 deletions l10n_es_aeat/models/ir_cron_trigger.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Copyright 2025 Sygel - Manuel Regidor
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).


from odoo import fields, models


class IrCronTrigger(models.Model):
_inherit = "ir.cron.trigger"

def _get_aeat_time_field(self):
self.ensure_one()
return False

def _get_aeat_account_moves(self):
self.ensure_one()
return self.env["account.move"]

def _get_aeat_sending_time(self, account_move):
return False

def aeat_do_now(self):
for trigger in self:
time_field = trigger._get_aeat_time_field()
account_moves = trigger._get_aeat_account_moves()
if time_field and account_moves:
account_moves.write({time_field: fields.Datetime.now()})
trigger.sudo().write({"call_at": fields.Datetime.now()})

def aeat_cancel_now(self):
for trigger in self:
time_field = trigger._get_aeat_time_field()
account_moves = trigger._get_aeat_account_moves()
if time_field and account_moves:
account_moves.write({time_field: False})
trigger.sudo().unlink()

def aeat_reschedule_sudo(self):
for trigger in self:
time_field = trigger._get_aeat_time_field()
account_moves = trigger._get_aeat_account_moves()
if time_field and account_moves:
for account_move in account_moves:
sending_time = trigger._get_aeat_sending_time(account_move)
account_move.write({time_field: sending_time})
trigger.write({"call_at": sending_time})
187 changes: 187 additions & 0 deletions l10n_es_aeat_sii_oca/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,187 @@
=============================================
Suministro Inmediato de Información en el IVA
=============================================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:dd4688bc2a1c4bd195d8dd4949f98b380e1ba0858c791d7685e37e7a4a60f9d0
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Mature-brightgreen.png
:target: https://odoo-community.org/page/development-status
:alt: Mature
.. |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_aeat_sii_oca
: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_aeat_sii_oca
: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|

Módulo para la presentación inmediata del IVA
https://www.agenciatributaria.es/static_files/AEAT/Contenidos_Comunes/La_Agencia_Tributaria/Modelos_y_formularios/Suministro_inmediato_informacion/FicherosSuministros/V_1_1/SII_Descripcion_ServicioWeb_v1.1.pdf

**Table of contents**

.. contents::
:local:

Installation
============

Para instalar esté módulo necesita:

1. Libreria Python Zeep, se puede instalar con el comando 'pip install
zeep'
2. Libreria Python Requests, se puede instalar con el comando 'pip
install requests'

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

Para configurar este módulo es necesario:

1. En la compañia se almacenan las URLs del servicio SOAP de hacienda.
Estas URLs pueden cambiar según comunidades
2. Los certificados deben alojarse en una carpeta accesible por la
instalación de Odoo.
3. Preparar el certificado. El certificado enviado por la FMNT es en
formato p12, este certificado no se puede usar directamente con Zeep.
Se tiene que extraer la clave pública y la clave privada.

Existen dos parámetros del sistema creados con la instalación del módulo
cuyos valores pueden configurarse:

1. l10n_es_aeat_sii_oca.sii_batch: Almacena el número de facturas máximo
que se enviarán al SII cada vez que se realice un envío. El valor por
defecto es 50.
2. l10n_es_aeat_sii_oca.sii_retry: Almacena el número de veces que se
intentará enviar una factura al SII en caso de error en el envío. El
valor por defecto es 5.

En Linux se pueden usar los siguientes comandos:

- Clave pública: "openssl pkcs12 -in Certificado.p12 -nokeys -out
publicCert.crt -nodes"
- Clave privada: "openssl pkcs12 -in Certifcado.p12 -nocerts -out
privateKey.pem -nodes"

Usage
=====

Cuando se valida una factura automáticamente envia la comunicación al
servidor de AEAT.

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

- Comunicación de cobros y pagos.
- Determinadas facturas intracomunitarias (Articulo 66 RIVA).
- Asistente para consultar los documentos comunicados.
- Libro de bienes de inversión (Libro anual se crea un módulo aparte).
- Regímenes especiales de seguros, de agencias de viaje o de bienes
usados.
- Devolución de IVA de viajeros.
- Facturas rectificativas por sustitución.
- Soportar facturas de canje de facturas simplificadas por facturas
completas. Ver https://github.com/OCA/l10n-spain/issues/1171 para más
información.
- El campo aeat_state, definido en aeat.mixin, puede establecer el
estado de envío no solamente al SII, sino también, por ejemplo, a
VERIFACTU, lo que podría ocasionar problemas en caso de que tener que
enviar una factura a ambas.

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_oca%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
-------

* Acysos S.L.
* Diagram
* Minorisa
* Studio73
* FactorLibre
* Comunitea
* Otherway
* Tecnativa
* Javi Melendez
* Sygel

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

- Ignacio Ibeas <[email protected]>
- Rubén Cerdà <[email protected]>
- Ramon Guiu <[email protected]>
- Pablo Fuentes <[email protected]>
- Jordi Tolsà <[email protected]>
- Ismael Calvo <[email protected]>
- Omar Castiñeira - Comunitea S.L. <[email protected]>
- Juanjo Algaz <[email protected]>, Planeta Huerto
<[email protected]>
- Javi Melendez <[email protected]>
- Santi Argüeso - Comunitea S.L. <[email protected]>
- Angel Moya - PESOL <[email protected]>
- Eric Antonés - NuoBiT Solutions, S.L. <[email protected]>
- `Sygel <https://www.sygel.es>`__:

- Valentin Vinagre
- Manuel Regidor

- `Tecnativa <https://www.tecnativa.com>`__:

- Pedro M. Baeza
- João Marques

- Lois Rilo Antelo <[email protected]>
- Eduardo de Miguel ([email protected])
- Jose Zambudio <[email protected]>
- `Factor Libre <https://factorlibre.com>`__:

- Luis J. Salvatierra <[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.

.. |maintainer-pedrobaeza| image:: https://github.com/pedrobaeza.png?size=40px
:target: https://github.com/pedrobaeza
:alt: pedrobaeza

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-pedrobaeza|

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

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
5 changes: 5 additions & 0 deletions l10n_es_aeat_sii_oca/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from . import models
from . import wizards
from .hooks import add_key_to_existing_invoices
70 changes: 70 additions & 0 deletions l10n_es_aeat_sii_oca/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Copyright 2017 Acysos - Ignacio Ibeas <[email protected]>
# Copyright 2017 Diagram Software S.L.
# Copyright 2017 MINORISA - <[email protected]>
# Copyright 2017 Studio73 - Pablo Fuentes <[email protected]>
# Copyright 2017 Studio73 - Jordi Tolsà <[email protected]>
# Copyright 2017 Factor Libre - Ismael Calvo
# Copyright 2017 Otherway - Pedro Rodríguez Gil
# Copyright 2018 Javi Melendez <[email protected]>
# Copyright 2018 Angel Moya <[email protected]>
# Copyright 2020 Sygel Technology - Valentín Vinagre <[email protected]>
# Copyright 2021 Tecnativa - João Marques
# Copyright 2022 ForgeFlow - Lois Rilo
# Copyright 2022-2023 Moduon - Eduardo de Miguel
# Copyright 2023 Aures Tic - Jose Zambudio <[email protected]>
# Copyright 2023 Pol Reig <[email protected]>
# Copyright 2017-2024 Tecnativa - Pedro M. Baeza
# Copyright 2024 Manuel Regidor <[email protected]>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

{
"name": "Suministro Inmediato de Información en el IVA",
"version": "17.0.1.0.0",
"category": "Accounting & Finance",
"website": "https://github.com/OCA/l10n-spain",
"author": "Acysos S.L.,"
"Diagram,"
"Minorisa,"
"Studio73,"
"FactorLibre,"
"Comunitea,"
"Otherway,"
"Tecnativa,"
"Javi Melendez,"
"Sygel,"
"Odoo Community Association (OCA)",
"license": "AGPL-3",
"application": False,
"installable": True,
"development_status": "Mature",
"maintainers": ["pedrobaeza"],
"external_dependencies": {"python": ["zeep", "requests"]},
"depends": [
"account_invoice_refund_link",
"l10n_es_aeat",
],
"data": [
"data/ir_config_parameter_data.xml",
"data/ir_cron.xml",
"data/aeat_sii_tax_agency_data.xml",
"views/res_company_view.xml",
"views/account_move_views.xml",
"wizards/account_move_reversal_views.xml",
"wizards/account_move_send_sii_views.xml",
"views/aeat_sii_mapping_registration_keys_view.xml",
"data/aeat_sii_mapping_registration_keys_data.xml",
"views/aeat_sii_map_view.xml",
"data/l10n.es.aeat.map.tax.line.tax.csv",
"data/aeat_sii_map_data.xml",
"security/ir.model.access.csv",
"security/aeat_sii.xml",
"views/product_view.xml",
"views/ir_cron_trigger_views.xml",
"views/account_fiscal_position_view.xml",
"views/res_partner_views.xml",
"views/aeat_tax_agency_view.xml",
"views/account_journal_view.xml",
],
"images": ["static/description/SII_1.jpg"],
"post_init_hook": "add_key_to_existing_invoices",
}
Loading

0 comments on commit 6f64b6e

Please sign in to comment.