Skip to content

Commit

Permalink
[16.0] [ADD] l10n_ar_afipws_fe
Browse files Browse the repository at this point in the history
  • Loading branch information
nimarosa committed Feb 13, 2024
1 parent 6c4101b commit c37e185
Show file tree
Hide file tree
Showing 33 changed files with 3,476 additions and 0 deletions.
132 changes: 132 additions & 0 deletions l10n_ar_afipws_fe/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
===============================
Factura Electrónica - Argentina
===============================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:027539a880c8598884ff8424799008f1b6e32afadc1ead93f3e77c77ff5ee04c
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |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--argentina-lightgray.png?logo=github
:target: https://github.com/OCA/l10n-argentina/tree/16.0/l10n_ar_afipws_fe
:alt: OCA/l10n-argentina
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/l10n-argentina-16-0/l10n-argentina-16-0-l10n_ar_afipws_fe
: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-argentina&target_branch=16.0
:alt: Try me on Runboat

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

Integration of Argentinian AFIP Webservices

This module integrates the electronic invoice webservices and system adaptations for Argentina usage.
This module integrates the following webservices:

* "wsfev1": Webservice de factura electronica mercado interno (incluye factura MiPyme)
* "wsfex1": Webservice de factura electronica de exportacion
* "wsbfe1": Webservice de bonos fiscales electronicos

**Table of contents**

.. contents::
:local:

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

* Integracion de webserice de facturacion con detalle de items "WSMTXCA"
* Integrar metodo ConsultarComprobante e integrarlo en los comprobantes de compra para comprobar su validez
* Deprecar la libreria "pyafipws" y realizar una integracion nativa del webservice de AFIP, para evitar mapeos inecesarios.

Changelog
=========

14.0.1.0.0 (2023-01-29)
~~~~~~~~~~~~~~~~~~~~~~~

* Refactorizacion completa del modulo y de sus metodos
* Se elimina necesidad de utilizar secuencias individuales para la numeracion de comprobantes, se usa las de odoo nativo
* Numeracion a prueba de fallos, integrado reproceso para recuperar CAE en caso de falta de conecciones
* Decoracion visual de numero de comprobante, para en la ux ofrecer informacion al usuario sobre el estado de AFIP del comprobantes
* Se mejoraron las vistas y su usabilidad
* Ahora es posible en caso de desincronizacion o probelmas con un comprobante, forzar su numero de cbte para recuperar los datos de AFIP.
* Se eliminaron metodos sin usar y codigo legacy
* Se crearon nuevos metodos builders y archivos por webservice, para mejor mantenimiento del codigo

14.0.1.0.1 (2023-02-23)
~~~~~~~~~~~~~~~~~~~~~~~
- Solo se permite forzar el número de comprobante en facturas de venta, si el usuario está en modo debug y si hay una desincronización de secuencias. Esto es útil para reparar errores de secuencias directamente desde la UI.
- Se agrega pyafipws al manifest y requirements para que la instalación de la librería sea automática.
- Se eliminan raise error en los mensajes de error XML. De esta forma, el mensaje de error se guarda en afip_message. El usuario puede entrar al registro y consultar el error. Esto es útil cuando se autorizan múltiples facturas.
- FIX: Solo se muestran los decoradores de errores de secuencia en facturas de venta
- FIX: Solo se muestra la pestaña AFIP si el comprobante es de venta. TODO: Luego al implementar la validación automática de comprobantes de venta contra AFIP se volverá a mostrar la tab.
- No se muestra mas la tab de "EDI" ya que esta localización no usa la funcionalidad EDI de odoo.

16.0.1.0.0 (2024-02-12)
~~~~~~~~~~~~~~~~~~~~~~~
- Nueva version del modulo, con mejoras y actualizaciones para la version 16.0

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/l10n-argentina/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-argentina/issues/new?body=module:%20l10n_ar_afipws_fe%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
~~~~~~~

* Nimarosa
* ADHOC SA

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

- Nimarosa
- ADHOC S.A.
- Codize

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-nimarosa| image:: https://github.com/nimarosa.png?size=40px
:target: https://github.com/nimarosa
:alt: nimarosa
.. |maintainer-ibuioli| image:: https://github.com/ibuioli.png?size=40px
:target: https://github.com/ibuioli
:alt: ibuioli

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

|maintainer-nimarosa| |maintainer-ibuioli|

This module is part of the `OCA/l10n-argentina <https://github.com/OCA/l10n-argentina/tree/16.0/l10n_ar_afipws_fe>`_ 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_ar_afipws_fe/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# For copyright and license notices, see __manifest__.py file in module root
# directory or check the readme files

from . import models
from . import wizard
29 changes: 29 additions & 0 deletions l10n_ar_afipws_fe/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# For copyright and license notices, see __manifest__.py file in module root
# directory or check the readme files

{
"name": "Factura Electrónica - Argentina",
"version": "16.0.1.0.0",
"category": "Accounting/Localizations",
"sequence": 14,
"author": "Nimarosa, ADHOC SA, Odoo Community Association (OCA)",
"license": "AGPL-3",
"summary": "Integrate AFIP webservice for Argentina electronic documents",
"website": "https://github.com/OCA/l10n-argentina",
"depends": [
"l10n_ar",
"l10n_ar_afipws",
"account_debit_note",
],
"data": [
"views/account_move_view.xml",
"views/account_journal_view.xml",
"views/res_config_settings.xml",
"data/automatic_post_cron.xml",
"wizard/account_validate_account_move_view.xml",
],
"maintainers": ["nimarosa", "ibuioli"],
"demo": [],
"images": [],
"installable": True,
}
15 changes: 15 additions & 0 deletions l10n_ar_afipws_fe/afip_tools.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
from pysimplesoap.client import SimpleXMLElement


def _get_response_info(xml_response):
return SimpleXMLElement(xml_response)


def get_invoice_number_from_response(xml_response, afip_ws="wsfe"):
if not xml_response:
return False
try:
xml = _get_response_info(xml_response)
return int(xml("CbteDesde"))
except Exception:
return False
14 changes: 14 additions & 0 deletions l10n_ar_afipws_fe/data/automatic_post_cron.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo noupdate="1">
<record id="l10n_ar_afipws_fe_cron" model="ir.cron">
<field name="model_id" ref="model_account_move" />
<field name="state">code</field>
<field name="name">(l10n_ar) Invoice: Post draft entries asynchronous</field>
<field name="interval_number">5</field>
<field name="interval_type">minutes</field>
<field name="numbercall">-1</field>
<field name="doall" eval="False" />
<field name="code">model.cron_asynchronous_post()</field>
<field name="active" eval="True" />
</record>
</odoo>
Loading

0 comments on commit c37e185

Please sign in to comment.