Skip to content

[FIX] l10n_ar_edi_ux: enhance invoice sending logic and add readiness check in order to only send invoices that already has 10n_ar_afip_auth_code#863

Open
rov-adhoc wants to merge 1 commit intoingadhoc:19.0from
adhoc-dev:19.0-h-107581-rov
Open

[FIX] l10n_ar_edi_ux: enhance invoice sending logic and add readiness check in order to only send invoices that already has 10n_ar_afip_auth_code#863
rov-adhoc wants to merge 1 commit intoingadhoc:19.0from
adhoc-dev:19.0-h-107581-rov

Conversation

@rov-adhoc
Copy link
Contributor

No description provided.

Copilot AI review requested due to automatic review settings January 2, 2026 19:26
@roboadhoc
Copy link
Contributor

Pull request status dashboard

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Este PR mejora la lógica de envío de facturas para la localización argentina, implementando un envío automático tras la validación solo cuando la factura ya tiene código de autorización de AFIP (l10n_ar_afip_auth_code).

  • Agrega un método _is_ready_to_be_sent() que verifica si la factura tiene autorización AFIP antes de permitir el envío
  • Implementa el envío automático de facturas electrónicas al finalizar _post() para las facturas que cumplen con los requisitos
  • Actualiza la versión del módulo de 19.0.1.0.0 a 19.0.1.1.0 y añade dependencia de account_ux

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
l10n_ar_edi_ux/manifest.py Incrementa la versión a 19.0.1.1.0 y añade la dependencia account_ux necesaria para el método action_send_invoice_mail()
l10n_ar_edi_ux/models/account_move.py Implementa la lógica de envío automático post-validación y el método _is_ready_to_be_sent() que valida la presencia del código de autorización AFIP

Comment on lines +208 to +210
res = super()._is_ready_to_be_sent()
if self.journal_id.l10n_ar_afip_ws:
return self.l10n_ar_afip_result in ["A", "O"] and self.l10n_ar_afip_auth_code
Copy link

Copilot AI Jan 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

El método _is_ready_to_be_sent debe incluir self.ensure_one() al inicio, ya que accede a campos individuales del registro (self.journal_id.l10n_ar_afip_ws, self.l10n_ar_afip_result, self.l10n_ar_afip_auth_code). Sin esto, el método podría fallar si se llama sobre un recordset con múltiples registros.

Además, la expresión self.l10n_ar_afip_auth_code en la línea 210 evalúa la veracidad de un campo de tipo Char. Si bien funciona, sería más explícito convertirlo a booleano o verificar que no esté vacío para mayor claridad en la intención del código.

Suggested change
res = super()._is_ready_to_be_sent()
if self.journal_id.l10n_ar_afip_ws:
return self.l10n_ar_afip_result in ["A", "O"] and self.l10n_ar_afip_auth_code
self.ensure_one()
res = super()._is_ready_to_be_sent()
if self.journal_id.l10n_ar_afip_ws:
return self.l10n_ar_afip_result in ["A", "O"] and bool(self.l10n_ar_afip_auth_code)

Copilot uses AI. Check for mistakes.
Comment on lines +154 to +157
invoices_ready_to_send = self.filtered(
lambda x: not x.is_move_sent and x._is_ready_to_be_sent() and x.state == "posted"
)
invoices_ready_to_send.action_send_invoice_mail()
Copy link

Copilot AI Jan 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

La nueva funcionalidad de envío automático de facturas tras su validación (líneas 154-157) no tiene cobertura de tests. Dado que el módulo ya cuenta con tests automatizados en tests/test_padron_afip.py, se recomienda agregar tests que verifiquen:

  • Que las facturas con l10n_ar_afip_auth_code se envían automáticamente tras _post()
  • Que las facturas sin código de autorización no se envían
  • Que el método _is_ready_to_be_sent() retorna correctamente según el estado de autorización AFIP

Copilot uses AI. Check for mistakes.
… check in order to only send invoices that already has 10n_ar_afip_auth_code
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants