=========
AEAT Base
=========

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

.. |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
    :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
    :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 base para declaraciones de la AEAT, que incluye:

- Campos base para todo los modelos AEAT.
- Vista base para todos los modelos.
- Crea una secuencia automática para los registros diferenciando por
  modelo.
- Exportación del BOE. Define una exportación básica, con los diferentes
  registros del fichero.
- Generación del registro del declarante con los campos genéricos de los
  modelos.
- Motor de exportación paramétrica basado en una configuración que puede
  ser introducida por datos XML o por interfaz.
- Visor de archivos BOE asociados a la configuración de exportación.
- Motor de cálculo de importes por impuestos.
- Generador del asiento de regularización con cargo a un proveedor
  "Agencia Estatal de Administración Tributaria" creado al efecto.
- Certificado para las declaraciones de la AEAT
- Webservice AEAT SOAP

**Table of contents**

.. contents::
   :local:

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

Este módulo requiere del módulo account_tax_balance, que está en
OCA/account-financial-reporting y de date_range, en OCA/server-ux.

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

Todos aquellos modelos que se especifiquen en los módulos adicionales y
hereden el AEAT base, deberán definir una variable interna que se llame
'\_aeat_number' asignándole como valor, el número del modelo (130, 340,
347...).

Para poder utilizar el motor genérico de cálculo de casillas por
impuestos (como el 303), hay que heredar del modelo
"l10n.es.aeat.report.tax.mapping" en lugar de "l10n.es.aeat.report".
Para la vista, hay que añadir el campo a mano, ya que la herencia de
vistas no permite una doble herencia de AbstractModel, pero lo que es la
vista tree ya está definida.

Para activar la creación del asiento de regularización en un modelo, hay
que poner en el modelo correspondiente el campo allow_posting a True, y
establecer en la configuración de impuestos los conceptos que se
regularizarán con el flag "to_regularize". Esto sólo es posible sobre
los modelos que utilicen el cálculo de casillas por códigos de
impuestos.

ADVERTENCIA: Debido a que se utiliza una sola tabla para almacenar las
líneas de los impuestos de todos los modelos, hay una limitación en el
ORM de Odoo cuando se coloca el campo one2many de dichas líneas
(tax_line_ids) como dependencia en la definición del cálculo de un campo
(entrada con @api.depends), que recalcula los campos calculados de todos
los modelos con el mismo ID que el del registro en curso, lo que puede
ser un problema en entornos multi-compañía. Una solución a ello (aunque
no evita el recálculo), es poner en esos campos calculados
compute_sudo=True.

Se ha creado el campo base computado error_count en el modelo
l10n.es.aeat.report, cuyo valor dependerá de sus herencias, que
heredarán la función \_compute_error_count para indicar cuantas líneas
con errores hay en el informe. Si el valor es 0, no se mostrará ningún
aviso; si el valor es mayor a 0, se mostrará un aviso en la parte
superior de la vista formulario del informe.

Usage
=====

Para poder visualizar un archivo BOE, hay que:

1. Entrar en *Facturación > Configuración > AEAT > Configuración de
   exportación a BOE*.
2. Entrar en el detalle de la configuración de exportación principal
   para el modelo.
3. Pulsar en el smart-button "Comparar archivo".
4. Seleccionar el archivo correspondiente y pulsar en "Comparar".
5. Aparecerá una ventana con cada una de las líneas de exportación, la
   cadena correspondiente a dicha línea, y si es un importe numérico, su
   cifra asociada.

Para importar el certificado, hay que:

1. Entrar en *Facturación > Configuración > AEAT > Certificados*
2. Crear uno nuevo. Rellenas los datos del formulurio y subir el archivo
   p12
3. Pulsar obtener claves e introducir la contraseña del certificado

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

- La configuración de exportación a BOE no se filtran ni se
  auto-selecciona por fechas de validez.
- Las partes específicas de las Diputaciones Forales no están incluidas.

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

* Pexego
* Acysos S.L.
* AvanzOSC
* Tecnativa

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

- Pexego (http://www.pexego.es)
- Ignacio Ibeas, Acysos (http://www.acysos.com)
- Pedro M. Baeza <pedro.baeza@tecnativa.com>
- Santi Argüeso <santi@comunitea.com>
- cubells <info@obertix.net>
- AvanzOSC (http://www.avanzosc.es)
- Ainara Galdona
- Antonio Espinosa <antonio.espinosa@tecnativa.com>
- Juan Vicente Pascual <jvpascual@puntsistemes.es>
- Abraham Anes <abraham@studio73.es>
- Diagram Software S.L.
- Consultoría Informática Studio 73 S.L.
- Miquel Raïch <miquel.raich@forgeflow.com>
- Iván Antón <ozono@ozonomultimedia.com>
- Digital5 S.L.
- Valentin Vinagre <valentin.vinagre@sygel.es>
- Manuel Regidor <manuel.regidor@sygel.es>
- Jairo Llopis (https://www.moduon.team)
- Loida Vilaplana (https://www.moduon.team)

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

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
