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

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

.. |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/16.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-16-0/l10n-spain-16-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=16.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:

#. Entrar en *Facturación > Configuración > AEAT > Configuración de exportación a BOE*.
#. Entrar en el detalle de la configuración de exportación principal para
   el modelo.
#. Pulsar en el smart-button "Comparar archivo".
#. Seleccionar el archivo correspondiente y pulsar en "Comparar".
#. 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:

#. Entrar en *Facturación > Configuración > AEAT > Certificados*
#. Crear uno nuevo. Rellenas los datos del formulurio y subir el archivo p12
#. 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:%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
~~~~~~~

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

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