Sistema de Gestión de Negocios "Hexa"

Base de datos de conocimiento.

Doc. Ref. 9246
Título: Configuración de IVA en Magento
Autor: Hexa
Última actualización: 30/08/2013
#magento #IVA #impuestos #cominitario #internacional


Configuración de IVA en Magento

Este documento está orientado a describir la configuración adecuada del IVA en Magento para que se ncalcule correctamente por si sólo y además tenga una configuración adecuada para integrarse con Hexa-SGN

Configuración general de IVA

Es necesario confugurar el IVA de la tienda en la configuracuón general, sin ello, la asignación de grupos de IVA comunitario no funciona. Para hacerlo, ir al menú Systema / Configuration / General / General y, en las opciones del final, configurar el país y el VAT Number. No hay que consignar el indicativo del país en el VAT Number, ya lo considera automáticamente la aplicación a partir del país especificado. Hay que esperar, una vez introducido, a que el sistema lo identifique como correcto.

En el menú System / Configuration / Sales / Tax configurar:

  • Que los importes de IVA se calculen sobre el total de la factura (no artículo a artículo) y después del descuento. Esto es necesario para ser coherente con la forma estandar de Hexa de calcular los importes de IVA. Se configura con la opción "Tax Calculation Method Based On" y escogiendo el valor "Total" y "Apply Customer Tax" con el valor "After Discount"
  • Que los importes de IVA se calculen según la fiscalidad de la dirección de facturación. Se configura con la opción Tax "Calculation Based On" y escogiendo el valor "Billing Address"

Se puede encontrar más información en Setting Up General Tax Calculations

Configuración de clases y grupos de clientes en relación con el IVA

Los clientes deben estar asignados a grupos y a cada grupo se le puede relacionar con una clase de impuesto. Esto es lo que permite diferenciar clientes en función del IVA que se les debe aplicar, algunas veces por el tipo de negocio y otras por su ubicación geográfica (Normal, con recargo de equivalencia, no aplicar, etc.)

Los grupos de clientes se gestionan desde el menú Customers / Customer Groups y deben existir los siguientes.

Group NameTax Class
ExtracomunitarioExento
GeneralSujeto
IntracomunitarioSujeto
Invalid VAT IDSujeto
Validation errorSujeto

Las clases de impuesto se gestionan desde Sales / Tax / Customer Tax Clases. Deben ser las siguientes:

Tax Class
Exento
Sujeto

Configuración de la asignación automática de nuevos clientes a grupos en función del NIF Europeo

Magento 1.7 incorpora una prestación que permite asignar automáticamente un cliente a su grupo en función de si su NIF europeo es correcto. Esta opción se activa desde System / Configuration / Customers/ Customer Configuration / Creating New Account Options. Se debe activar las opciónes "Show VAT Number on front end" y "Enable Automatic Assignment to Customer Group"

En el mismo formulario, poner los valores:

  • Default Grouip: "General"
  • Group for Valid VAT ID - Domestic: "General"
  • Group for Valid ID -Itra- Union: "Intracomunitario"
  • Group for Invalid Vat ID: "Invalid VAT ID"
  • Validation Error Group: "Validation error

Para que el sistema funcione es necesario que los valores de NIF de la tienda estén correctamente configurados en System / Configuration / General / General / Store Information. Los NIF’s NIE deben introducirse sin los dos caracteres de código de país.

Configuración de clases de productos

Cada producto en Magento debe estar asignado a una clase de impuesto y poder así distinguir articulos con diferentes tipos de IVA (Normal, reducido, etc.).

Las clases de productos en función del impuesto se definen en el menú Sales / Tax / Product Tax Clases. Deben ser las siguientes:

Código
Normal
Reducido
SuperReducid

Zonas y tipos

Desde el menú Sales / Tax / Manage Tax Zones & Rates se define los tipos correspondientes de cada impuesto en función de la zona. Las zonas se pueden definir por paises y rangos de códigos postales.

Se debe definir para España diferentes registros para rangos de códigos postales y tipos para distinguir los casos especiales de Canarias, Ceuta y Melilla. Para las ventas intracomunitarias, un registro para cada combinación de país de la Comunidad Eeuropea y tipo:

Para los códigos postales del 53000 al 99999 de España, también hay que especificar un registro que aplique IVA porque si un comprador intrudujera uno de esos valores, no se le aplicaría de forma incorrecta.

Tax IdentifierCountryState/RegionPostCode (Range)Rate
Para España
IVA normal Zona 1España*00000..3499921.00
IVA normal Las PalmasEspaña*35000..3599921.00
IVA normal Zona 2España*36000..3799921.00
IVA normal TenerifeEspaña*38000..3899921.00
IVA normal Zona 3España*39000..5099921.00
IVA normal CeutaEspaña*51000..5199921.00
IVA normal MelillaEspaña*52000..5299921.00
Repetir con los otros tipos en caso necesario
Para la Comunidad Europea
IVA normal BelgicaBélgica**21.00
IVA normal FranciaFrancia**21.00
Incluir el resto de los países y tipos en caso necesario

También hay que tener en cuenta un problema de Magento: En los rangos de códigos postales de España para decidir si se aplica IVA o no, sólo se puede especificar rangos numéricos. Esto hace que si el usuario pone una palabra en el código postal, no se aplica IVA. La solución es modificar el archivo app/code/core/Mage/Tax/Model/Resource cambiando la línea 238 parta que siempre se considere el código postal como un número de 5 dígitos:

// para que coja siempre el codigo postal como un numero cogemos
// los 5 primeros caracteres, los convertimos a mumero, añadimos
// ceros a la izquierda hasta obtener 5 dígitos. Soltec 13/3/2014
// $postcode = $request->getPostcode();
$postcode = substr('00000'.(int)substr($request->getPostcode(), 0,5),-5);

Reglas de impuestos

Las reglas de impuestos permiten a Magento deducir qué impuesto se aplica en cada caso en función del cliente y el producto o artículo. Se definen desde el menú Sales / Tax / Manage Tax Rules. Cada regla, mediante una combinación de clase de cliente y producto decide el tipo a aplicar.

Hay que crear una regla para cada clase de producto (Normal, Reducido y SuperReducido) y aplicándolo a todas las tasas de zona. Si hay recargo de equivalencia hay que crear otra regla "Recargo de equivalencia" se aplicará también presentando el importe por separado.

La regla correspondiente al tipo de IVA normal sería:

  • Name: IVA General
  • Customer Tax Class: Sujeto
  • Product Tax Class: Normal
  • Tax Rate: IVA Normal Zona 1, IVA normal Ceuta, IVA normal Melilla, IVA normal Tenerife, IVA normal Las Palmas, IVA normal Francia, IVA normal Zona 2, IVA normal Zona 3, IVA normal Gran Bretaña, IVA normal Austria, IVA normal Bulgaria, IVA normal Belgica, IVA normal Alemania, IVA normal Chipre, IVA normal Chequia, IVA normal Dinamarca, IVA normal Estonia, IVA normal Finlandia, IVA normal Hungria, IVA normal Irlanda, IVA normal Italia, IVA normal Litualia, IVA normal Luxemburgo, IVA normal Holanda, IVA normal Polonia, IVA normal Portugal, IVA normal Rumania, IVA normal Eslovaquia, IVA normal Eslovenia, IVA normal Suecia, IVA normal Malta, IVA normal Letonia, IVA normal Grecia
  • Priority: 0
  • Sort Order: 0

Parametrización de Hexa

Cada una de las clases de productos de mageto debe cuadrar con una de los registros de la tabla "TipoIVA" de Hexa. Para ello es necesrio crear los siguientes parámetros en Hexa:n>

CódigoValor
MagentoTaxClassProductNormal5
MagentoTaxClassProductReducido6
MagentoTaxClassProductReducido27
MagentoTaxClassProductCero8
MagentoTaxCustomerNormal3
MagentoTaxCustomerCon_Recargo¿?
MagentoTaxCustomerExento¿?

Para conocer los "id" que ha asignado magento a cada "Tax Class" se debe consultar la tabla "magento2tax_class" de la base de datos de Magento.

Funcionamiento del proceso

Si el cliente es local, al aplicar la regla se asigna la tasa correspondiente al código postal. Si es península o baleares, aplica el porcentaje. Si es zona exenta como Canarias, el programa aplica un 0% al haber definido así la tasa de zona.

Si el cliente es comunitario y el VAT Number es correcto, el sistema no aplica IVA. Si es incorrecto, al encontrar una tasa de zona del país con el IVA de aquí, aplica el IVA español.

Si el cliente es extracomunitario al no encontrar tasa de zona correspondiente no se aplica IVA.

Volver a la búsqueda anterior