# AEAT Base

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

- Installation
- Configuration
- Usage
- Known issues / Roadmap
- Bug Tracker
- Credits
  - Authors
  - Contributors
  - Maintainers

# 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. 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.

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)

## Maintainers

This module is maintained by the OCA.

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.

Current maintainer:

This module is part of the OCA/l10n-spain project on GitHub.

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