Impuestos y facturas
Esta guía cuenta qué hace la tienda con los impuestos, las facturas y el desistimiento: cómo elige la tasa, cuándo deja de cobrar IVA a una empresa de otro…
Esta guía cuenta qué hace la tienda con los impuestos, las facturas y el desistimiento: cómo elige la tasa, cuándo deja de cobrar IVA a una empresa de otro país europeo, cómo numera las facturas y cuánto plazo da para devolver.
Lo que no hace es decidir por ti. La tienda aplica lo que configuras; qué tasas te tocan y si tienes que darte de alta en la ventanilla única es cosa tuya o de quien te lleve la fiscalidad.
Los impuestos se configuran en Panel → Impuestos; las facturas, en Panel → Facturas; y el desistimiento, en Panel → Ajustes → Facturación, tarjeta «Devoluciones y contenido digital».
Cómo elige la tasa
Las tasas cuelgan de regiones: un país entero o una provincia de ese país. Cada tasa lleva un nombre (IVA, VAT, GST, Sales tax…) y un porcentaje entre 0 y 100.
Para cada línea del carrito y para cada envío, la tienda mira la dirección de envío y se queda con una tasa, la más concreta que encaje. De más concreta a menos:
- La de ese producto (o de ese método de envío) en la provincia.
- La de ese tipo de producto en la provincia.
- La general de la provincia.
- La de ese producto (o envío) en el país.
- La de ese tipo de producto en el país.
- La general del país.
Una tasa que además se limita a unos códigos postales o a unas ciudades gana a su igual sin límite. Así un tipo reducido para Canarias o para una ciudad concreta pisa al general sin que tengas que borrar nada.
Los códigos postales se escriben separados por ;. Valen tal cual (08001),
con comodín al final (35*) o como rango (35000...35999). Mayúsculas, acentos
y espacios no cuentan.
Tres casos más:
- Combinable. Si la tasa de provincia ganadora está marcada como combinable, se suma la del país. Es el caso de un impuesto estatal más uno local.
- Compuesta. Una tasa compuesta se calcula sobre el precio ya con las otras tasas, no sobre la base. La tienda guarda el porcentaje efectivo para que la cuenta cuadre.
- Sin envío. Una tasa puede no aplicarse a los portes.
Si ninguna encaja, esa línea va sin impuesto. No hay tasa por defecto escondida.
Cargar las tasas generales de la UE
El panel trae los tipos generales de los 27 países de la UE, con fecha de enero de 2026. Al cargarlos, por defecto solo crea los que faltan: si ya tenías la tasa general de un país, no la toca. Puedes pedirle que las reemplace.
Son los tipos generales. Los reducidos los añades tú, por producto o por tipo de producto.
Importar y exportar
Las tasas se exportan e importan en CSV, con las columnas habituales de otras
tiendas (country, state, postcode, city, rate, …; también en español:
pais, provincia, cp, tasa). Si el fichero tiene un solo error, no se
importa nada: una importación a medias deja tasas mezcladas y nadie sabe cuáles.
Un servicio de fuera
Un plugin puede recalcular las tasas (el filtro impuestos.calculados, ver
Escribir un plugin). Si devuelve algo mal formado, falla
o tarda más de 5 segundos, se quedan las tasas de la tienda: la caja no se para
por un servicio ajeno. Con un carrito exento no se le llama.
Precios con o sin impuesto
Son dos ajustes distintos, y se confunden a menudo.
Cómo guardas los precios. Por moneda: o el precio que escribes ya lleva el impuesto dentro, o se le suma encima. Si una región tiene su propia preferencia, manda la de la región.
Con el impuesto dentro, la tienda saca la base del precio: 12,10 € al 21 % son 10,00 € de base y 2,10 € de impuesto. Con el impuesto fuera, lo suma: 10,00 € al 21 % se cobran 12,10 €.
Cómo se enseñan en el escaparate. Tres opciones:
| Opción | Qué ve el cliente |
|---|---|
con (por defecto) | el precio con impuesto |
sin | el precio sin impuesto |
ambos | los dos |
Para calcular el otro importe antes de que el cliente diga dónde vive, el escaparate usa la tasa general del país de la tienda. Si no has dicho en qué país está la tienda y solo hay un país con tasa general, usa esa; con dos o más no adivina y usa 0.
El valor por defecto es con porque en la UE a un consumidor se le enseña el
precio final. sin y ambos son para tiendas que venden a empresas.
Vender a otros países de la UE
En Panel → Impuestos, tarjeta «Unión Europea», dices tres cosas: el país de la tienda, tu NIF-IVA y si estás en la ventanilla única (OSS). Hay un cuarto ajuste, la exención intracomunitaria, que viene activada y puedes apagar.
Con eso, cada carrito cae en uno de estos tres casos:
| Caso | Qué impuesto se cobra |
|---|---|
| El cliente está en tu país, o fuera de la UE, o la tienda no tiene país de la UE | el normal: el de la dirección de envío |
| Empresa de otro país de la UE con NIF-IVA válido, y la exención activada | ninguno: inversión del sujeto pasivo |
| Consumidor de otro país de la UE | con OSS, el del país del cliente; sin OSS, el de tu país |
El NIF-IVA del cliente y VIES
En la caja, el cliente puede escribir su NIF-IVA. Si no lleva el prefijo del
país, se toma el del país de envío (Grecia usa EL). La tienda lo consulta en
VIES, el servicio de la Comisión Europea, en el momento. En la consulta va tu
propio NIF-IVA como solicitante, si lo has puesto.
Cada consulta queda guardada: número, si era válido, el nombre y la dirección que devolvió VIES, su identificador de consulta y la fecha. Es lo que puedes enseñar si alguien pregunta por qué no cobraste IVA.
Si VIES está saturado, la tienda lo reintenta un par de veces. Si aun así no contesta, el número no cuenta como válido y el carrito paga el impuesto normal. Ante la duda, la tienda cobra el impuesto.
Cuándo no se cobra IVA a una empresa
La exención solo se aplica si se cumple todo:
- la tienda tiene un país de la UE;
- el cliente está en otro país de la UE, no en el mismo que la tienda;
- el NIF-IVA es válido en VIES y es del mismo país que la dirección de envío;
- la exención intracomunitaria está activada.
Una empresa de tu mismo país paga el impuesto normal aunque tenga un NIF-IVA válido. La inversión del sujeto pasivo es entre países distintos.
Cuando aplica, el carrito lleva el NIF y el motivo: el artículo 138 si hay productos que se envían, el 196 si hay productos sin envío (servicios, digital). Los dos si hay de ambos.
El informe OSS
Si estás en OSS, la misma tarjeta «Unión Europea» te da, entre dos fechas, lo cobrado a clientes de otros países de la UE: por país, moneda y tasa, con la base, el impuesto y el número de pedidos. Se puede bajar en CSV.
Deja fuera los pedidos cancelados, los borradores, los exentos y los que se cobraron con el impuesto de tu país porque OSS estaba apagado.
Facturas
Cada pedido completado lleva su factura, y el número sale en el mismo paso que crea el pedido: si la factura no se puede numerar, el pedido no se crea.
La numeración encadenada
Las facturas van por series, y dentro de cada serie los números son correlativos: 1, 2, 3… sin huecos.
| Serie | Qué lleva |
|---|---|
A | las facturas de los pedidos (se cambia con SERIE_FACTURA) |
M | las facturas manuales |
R | las rectificativas |
Cada factura guarda una huella: un resumen SHA-256 de su NIF emisor, su serie y número, su fecha, su impuesto, su total y la huella de la factura anterior. Por eso están encadenadas. Si alguien cambia una factura vieja en la base de datos, o borra una, la cadena deja de cuadrar desde ahí, y la tienda sabe decir en qué número se rompe.
Dos pedidos que se cierran a la vez no se llevan el mismo número: la tienda bloquea la última factura de la serie mientras asigna la siguiente.
Cada factura emitida lanza el evento factura.emitida. Es por donde un conector
de factura electrónica recoge la factura y deja su sello.
Facturas manuales
Para cobrar algo que no pasa por la tienda (un encargo, un servicio), en Panel → Facturas creas una factura a mano: cliente, líneas con cantidad, precio y tasa, notas y vencimiento.
Empieza como borrador. Un borrador se edita y se borra cuanto quieras, y no
tiene número. Al emitirla recibe el siguiente número de la serie M, entra
en la cadena y ya no se puede cambiar ni borrar.
Puedes marcar una factura como pagada o no pagada en cualquier momento: eso no toca la cadena.
Rectificativas
Una factura emitida no se corrige: se rectifica. La rectificativa se puede hacer desde una factura manual o desde el pedido, y pide un motivo.
- Desde una factura manual, copia sus líneas con las cantidades en negativo.
- Desde un pedido, copia sus líneas y sus portes con los importes exactos que se facturaron, en negativo. No los recalcula: la rectificativa tiene que anular lo que se cobró, no lo que saldría hoy.
La rectificativa nace como borrador, así que puedes quitar las líneas que no
toquen (una devolución parcial). Al emitirla recibe número de la serie R y
guarda a qué factura rectifica.
Desistimiento
El desistimiento es el derecho del comprador a echarse atrás en una compra a distancia. Cuántos días tiene, y si la tienda le da un botón para pedirlo, depende del perfil legal del país del pedido.
Qué perfil se aplica
Para el botón de cada pedido, la tienda mira el país de la dirección de envío (y si no hay, el de facturación). Para el resumen que ves en el panel, mira el país que elijas ahí o, si no eliges, el de los datos fiscales de la tienda.
| Perfil | Plazo | Días | Botón en la tienda |
|---|---|---|---|
| UE (los 27 más Noruega, Islandia y Liechtenstein) | 14 | naturales | sí |
| Reino Unido | 14 | naturales | no |
| Turquía | 14 | naturales | no |
| Brasil | 7 | naturales | no |
| México | 5 | hábiles | no |
| Estados Unidos, Canadá, Australia, India, resto | sin plazo legal | — | no |
Donde no hay botón, el cliente que quiere devolver te escribe. Donde no hay plazo legal, manda tu política de devoluciones.
El botón
En el perfil europeo, la página del pedido enseña cuántos días quedan y deja elegir qué artículos se devuelven. Al pedirlo:
- La solicitud queda guardada con la fecha, los artículos y el motivo, si lo da.
- El cliente recibe en el momento un correo, en su idioma, que confirma que la has recibido.
- Queda en el historial de auditoría del pedido.
- Queda en la lista de
/gestion/desistimientos, donde la marcas como atendida con una nota (POST /gestion/desistimientos/:id/atender).
Cómo se cuenta el plazo:
- Desde que se recibe, si el perfil del país lo dice y hay algo físico en el pedido; si llega en varias entregas, desde la última. Mientras no se ha entregado todo, el plazo no ha empezado y se puede desistir: por eso conviene marcar las entregas. Un pedido solo digital cuenta desde el pedido.
- En días naturales o hábiles, según el perfil (México: 5 hábiles).
- El día de la entrega no cuenta, el plazo acaba al final de su último día y, si ese día cae en sábado o domingo, pasa al lunes. Los festivos no se miran: el sistema no tiene el calendario de cada región.
Pasado el plazo, el botón ya no acepta la solicitud.
Lo que no entra
Hay artículos de los que no se puede desistir. La tienda los separa ella sola y el correo al cliente dice cuáles y por qué:
- Hechos a medida: los que llevan una personalización con datos del cliente. En la UE, el Reino Unido y Turquía se excluyen por defecto; en Brasil y México, solo si lo activas. Donde no hay plazo legal, no aplica.
- Contenido digital ya descargado: en cuanto el cliente empieza a descargarlo, esa línea sale del desistimiento.
Si todo lo que elige queda fuera, no se crea la solicitud y se le dice por qué.
Contenido digital
En los perfiles de la UE, el Reino Unido y Turquía, la caja pide al cliente que acepte recibir el contenido digital ya y perder el desistimiento de esa parte al empezar la descarga. El texto y si se exige se cambian en la misma tarjeta del panel.
Ver también
- Escribir un plugin: el filtro de impuestos y el evento de facturas.
- Rutas de la API: las rutas de
/gestion/impuestos,/gestion/facturas-manuales,/gestion/legaly/gestion/desistimientos.