Skip to content

Conversation

@sergiobstoj
Copy link
Member

@sergiobstoj sergiobstoj commented Jan 30, 2025

…istencias en ciertos casos donde genera que se repita el mismo número y reemplaza registros del dict oss_taxes_map

Existe un caso muy específico en el método _get_oss_taxes_map. Al iterar en for country, taxes in oss_countries.items() y tenemos que previous_tax_count == 5 la fórmula indicada line_number += 8 - (previous_tax_count * 2) siempre se traducirá a line_number += -2. Por ende, en este caso line_number siempre será equivalente al line_number del último impuesto añadido a oss_taxes_map y debido a esto, ese último impuesto será reemplazado por el actual y provoca que no se vea reflejado en el reporte 369.

Para replicar en runbot:
  • Compañía: ES Company.
  • Desde Ajustes -> Contabilidad -> Impuestos -> OSS de la UE OCA -> Añadir nuevos impuestos.
  • Seleccionar por ejemplo, 3 países (Alemania, Austria y Bélgica).
  • Impuestos generales -> Por ejemplo IVA 21% (Bienes)

Se entiende que al realizar esta búsqueda al comienzo del método:
oss_taxes = self.env["account.tax"].search([("oss_country_id", "!=", False), ("company_id", "=", self.company_id.id)])
El primer registro siempre será el último creado, entonces:

  • Para, por ejemplo, Austria, crear 2 nuevos impuestos (se puede duplicar y cambiar nombre e importe)
  • Y para, por ejemplo, Alemania, crear 4 nuevos impuestos (así este queda con 5 para replicar el caso en cuestión)

Crear clientes:

  • Crear cliente b2c para Austria
  • Crear cliente b2c para Alemania

Crear facturas:

  • Crear factura para Cliente Austria con cualquiera de sus impuestos OSS.
  • Crear factura para Cliente Alemania con al menos que una línea tenga el último impuesto OSS que se vea disponible en el selector.

Generar 369:

  • NO se refleja el impuesto de Alemania.
Error-mod-369.mp4
  • Con el PR, si se refleja.
correccion-mod-369.mp4

No termino de darle el sentido a la fórmula line_number += 8 - (previous_tax_count * 2). Al dejar que siga con su secuencia de +2 en cada iteración, el reporte se genera igual de correcto.

…istencias en ciertos casos donde genera que se repita el mismo número y reemplaza registros del dict oss_taxes_map
@sergiobstoj sergiobstoj changed the title [FIX] l10n_es_aeat_mod_369: No recalcular line_number debido a incons… [16.0][FIX] l10n_es_aeat_mod_369: No recalcular line_number debido a incons… Jan 30, 2025
Copy link

@SoniaViciana SoniaViciana left a comment

Choose a reason for hiding this comment

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

Revisión funcional hecha y es ok.

Sin el PR no se mostraba el desglose de todas las cuotas de Portugal al haberse sumado Madeira y Azores:
image

@OCA-git-bot
Copy link
Contributor

This PR has the approved label and has been created more than 5 days ago. It should therefore be ready to merge by a maintainer (or a PSC member if the concerned addon has no declared maintainer). 🤖

@sergiobstoj sergiobstoj marked this pull request as ready for review February 7, 2025 08:27
@github-actions
Copy link

github-actions bot commented Jun 8, 2025

There hasn't been any activity on this pull request in the past 4 months, so it has been marked as stale and it will be closed automatically if no further activity occurs in the next 30 days.
If you want this PR to never become stale, please ask a PSC member to apply the "no stale" label.

@github-actions github-actions bot added the stale PR/Issue without recent activity, it'll be soon closed automatically. label Jun 8, 2025
Copy link
Member

@pedrobaeza pedrobaeza left a comment

Choose a reason for hiding this comment

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

Según los cambios, previous_tax_count y previous_country ya no sirve para nada. Y si es así, para qué había ese mecanismo? Creo que el objetivo era "pasar como a la siguiente fila de país".

@pedrobaeza pedrobaeza removed the stale PR/Issue without recent activity, it'll be soon closed automatically. label Jun 9, 2025
@pedrobaeza pedrobaeza added this to the 16.0 milestone Jun 9, 2025
@github-actions
Copy link

There hasn't been any activity on this pull request in the past 4 months, so it has been marked as stale and it will be closed automatically if no further activity occurs in the next 30 days.
If you want this PR to never become stale, please ask a PSC member to apply the "no stale" label.

@github-actions github-actions bot added the stale PR/Issue without recent activity, it'll be soon closed automatically. label Oct 12, 2025
@pedrobaeza
Copy link
Member

Ninguna respuesta?

@sergiobstoj
Copy link
Member Author

@pedrobaeza

Sí, el mecanismo pretendía "pasar a la siguiente fila de país", pero sin ello también pasa al siguiente país. El problema es que en esa fórmula, cuando el último país tiene 5 impuestos, el primer impuesto del siguiente país termina reemplazando al último impuesto del último país añadido. En la descripción deje los pasos a seguir para replicarlo si es necesario.
Probamos varios casos diversos para verificar que al quitar ese mecanismo no se altera el modo de cálculo y en principio nada cambia.

@pedrobaeza
Copy link
Member

@sergiobstoj pero insisto: entonces la variable previous_tax_count no se está usando para nada. Si no hace falta, quítala, pero no la dejes confundiendo.

@github-actions github-actions bot removed the stale PR/Issue without recent activity, it'll be soon closed automatically. label Oct 19, 2025
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.

5 participants