Skip to content

Corregir el NIF del operador comunitario (Grecia y Reino Unido) - #27

Open
daniel89fg wants to merge 1 commit into
masterfrom
fix-prefijo-iva-grecia
Open

daniel89fg wants to merge 1 commit into
masterfrom
fix-prefijo-iva-grecia

Conversation

@daniel89fg

Copy link
Copy Markdown
Member

Descripción

Dos fallos en el campo NIF del operador comunitario del registro de declarados:

  1. Grecia: el campo empieza por las dos primeras letras del NIF-IVA, que coinciden con el código ISO del país salvo en Grecia (EL, no GR). El plugin escribía GR, y si el NIF venía con EL, el número se quedaba con él.
  2. Reino Unido: el core aún incluye GB en Paises::MIEMBROS_UE (corregido en Aceptar Grecia en VIES y sacar al Reino Unido de la UE NeoRazorX/facturascripts#2059), así que los clientes y proveedores británicos salían como operadores comunitarios, aunque el Reino Unido no es de la UE desde el 31/01/2020.

Son correcciones locales hasta que se publique la del core. Después se podrá usar Vies::vatPrefix() y quitar la excepción del Reino Unido.

Cambios realizados

  • Txt347Export::vatPrefix(): EL para Grecia y el código ISO para el resto.
  • getNifOperadorComunitario() usa el prefijo del NIF-IVA, quita del número tanto el código ISO como el prefijo, y deja en blanco el campo de los operadores del Reino Unido.
  • Pasa el NIF a mayúsculas antes de quitar los separadores. Antes, un NIF en minúsculas (de123456789) perdía las letras.
  • Test testNifOperadorComunitario.

Cómo probar

  1. Crear un cliente con dirección en Grecia y NIF EL123456789, con facturas que superen el límite del 347.
  2. Generar el 347: el NIF del operador comunitario sale como EL123456789. Con un cliente del Reino Unido, el campo queda en blanco.
  3. Tests: Txt347ExportTest. La batería completa del plugin pasa en PHP 8.1–8.5 con MySQL y PostgreSQL.

…a de la UE

El NIF del operador comunitario empieza por las dos primeras letras de
su NIF-IVA, que coinciden con el código ISO salvo en Grecia (EL, no GR).
Además, el core aún incluye el Reino Unido en Paises::MIEMBROS_UE, y sus
clientes y proveedores salían como operadores comunitarios.

- vatPrefix(): EL para Grecia y el código ISO para el resto, hasta que
  el core tenga Vies::vatPrefix() (NeoRazorX/facturascripts#2059).
- Del número se quitan el código ISO y el prefijo del NIF-IVA.
- El Reino Unido (GB) no es operador comunitario.
- Se pasa a mayúsculas antes de quitar los separadores: un NIF en
  minúsculas perdía las letras.
- Test del NIF del operador comunitario.
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.

1 participant