Hola @manuel24,
@samuel_es tiene razón, PrestaShop 1.7, por defecto, no permite eximir de IVA a un grupo de clientes específico directamente desde el Back Office sin intervención de código. Las reglas de impuestos se aplican a los productos en función de su configuración y la zona geográfica de la dirección de envío/facturación del cliente, no del grupo de clientes.
Para lograr lo que necesitas, la solución más limpia y que se integra bien en el núcleo sin ser un módulo completo, es mediante un pequeño override en la clase TaxManager. Esto te permite interceptar el cálculo del IVA y aplicar una lógica condicional basada en el grupo de clientes.
Aquí te explico cómo hacerlo:
Crea el Grupo de Clientes Exentos: Asegúrate de tener un grupo de clientes específico para aquellos a los que quieres eximir de IVA (ej. 'Clientes Exentos IVA'). Anota su ID (lo puedes ver en la URL al editar el grupo, por ejemplo, id_group=4).
Crea el Archivo de Override: Crea un archivo llamado TaxManager.php en la ruta override/classes/ de tu instalación de PrestaShop. Si ya existe, edítalo. El contenido debe ser:
class TaxManager extends TaxManagerCore
{
/**
* @param int $id_tax_rule_group
* @param Context|null $context
* @return TaxCalculator
*/
public static function getTaxCalculator($id_tax_rule_group, Context $context = null)
{
if ($context === null) {
Actualiza el ID del Grupo: Es crucial que cambies el valor 4 en $id_grupo_exento_iva = 4; por el ID real del grupo de clientes que quieres eximir de IVA.
Borra la Caché (importante): Después de subir el archivo, ve a Parámetros Avanzados > Rendimiento en tu Back Office y fuerza la recompilación de la caché (o bórrala manualmente si es necesario) para que PrestaShop detecte el override.
Con este override, PrestaShop verificará si el cliente conectado pertenece al grupo exento y, si es así, aplicará una tasa de IVA del 0% a todos los productos, independientemente de la regla de impuestos asignada al producto.