Si vendes un producto SaaS a clientes de la UE, estás sujeto a las normas de IVA de la UE. La buena noticia es que las reglas son lógicas una vez que entiendes el marco subyacente. Esta guía te da el marco práctico sin la teoría legal.
Las dos reglas fundamentales
| Escenario | IVA recaudado por | Tipo aplicado | Nota de factura |
|---|---|---|---|
| Cliente B2B UE, número de IVA válido | Comprador (inversión del sujeto pasivo) | 0% en tu factura | "Inversión del sujeto pasivo — Art. 196 Directiva IVA UE" |
| Cliente B2C UE | Tú (proveedor) | Tipo del país del cliente | Importe de IVA mostrado explícitamente |
| Cliente fuera de la UE | Ninguna parte | 0% (fuera del ámbito) | "No sujeto al IVA de la UE" |
Note
Si tus ventas B2C anuales a todos los países de la UE superan los 10.000 €, debes registrarte para el IVA en cada país individualmente o usar el régimen de Ventanilla Única (OSS) de la UE para presentar una única declaración trimestral.
async function calcularTratamientoIVA({ paisCliente, numeroIVA }) {
const PAISES_UE = ['AT','BE','BG','CY','CZ','DE','DK','EE','ES','FI',
'FR','GR','HR','HU','IE','IT','LT','LU','LV','MT',
'NL','PL','PT','RO','SE','SI','SK'];
if (!PAISES_UE.includes(paisCliente)) {
return { tipo: 0, mecanismo: 'fuera_ue', notaFactura: 'No sujeto al IVA de la UE' };
}
if (numeroIVA) {
const res = await fetch('https://api.taxid.dev/v1/validate', {
method: 'POST',
headers: { 'Authorization': `Bearer ${process.env.TAXID_API_KEY}`, 'Content-Type': 'application/json' },
body: JSON.stringify({ taxId: numeroIVA })
});
const { valid } = await res.json();
if (valid) return { tipo: 0, mecanismo: 'inversion_sujeto_pasivo', notaFactura: 'Inversión del sujeto pasivo — Art. 196 Dir. IVA UE' };
}
const ratesRes = await fetch(`https://api.taxid.dev/v1/rates?country=${paisCliente}`, {
headers: { 'Authorization': `Bearer ${process.env.TAXID_API_KEY}` }
});
const { standard_rate } = await ratesRes.json();
return { tipo: standard_rate, mecanismo: 'estandar' };
}Start validating EU VAT numbers
Free plan — 100 validations/month. No credit card required.