La herramienta
Importar tus ventas de Stripe en Holded sin el NIF del cliente
Holded rechaza el archivo entero si una sola factura va sin CIF. Sus «tickets de venta» no piden NIF, pero viven en otro importador y con otra plantilla.
Comprobado el
Tienes delante la exportación de Stripe y ninguna venta trae el NIF del cliente. Es lo normal: Stripe no lo da en ninguna de las 77 columnas del informe detallado, ni marcando «All Columns». Los identificadores fiscales que recoge Checkout son solo de empresa, «business tax IDs only».
Lo subes a Holded igualmente, a ver qué pasa. Esto contestó el 9 de septiembre de 2026:
«Error validating file: Factura F0001 sin CIF.»
Y no entró ninguna factura. Tampoco las que sí llevaban NIF. Holded valida el archivo entero antes de importar nada, así que una sola fila coja lo tira todo. No existe «un archivo casi bien».
Hay dos importadores y solo uno pide el NIF
El de facturas está donde lo buscarías: en la lista de facturas, en «Acciones» › «Importar». Desde ahí solo se llega a ese, y ese exige el CIF.
El otro no se encuentra por casualidad: «Configuración» › «Más» › «Importar» › «Ventas» › «Tickets de venta».
Antes de dar con él probamos el atajo evidente: poner «Línea T» en la columna «Formato de numeración» de la plantilla de facturas, por si eso cambiaba el tipo de documento. No lo cambia. Las dos filas cayeron con el mismo error, «Factura X1 sin CIF».
El ticket de venta es la factura simplificada
Comprobado el 10 de septiembre de 2026 contra su panel, no contra su ayuda: un ticket creado a mano sin contacto se aprueba sin una queja, y el PDF que genera se titula literalmente «Factura Simplificada».
Eso importa porque ahí la ley no pide el NIF del destinatario. El artículo 4.1 del RD 1619/2012 permite expedir factura simplificada «cuando su importe no exceda de 400 euros, Impuesto sobre el Valor Añadido incluido»: el tope va sobre el total, no sobre la base. Y su artículo 4.4 no la admite en entregas intracomunitarias ni en operaciones que no se localizan en el territorio del impuesto, así que por esta puerta solo pasan clientes de España.
Dos filas subidas sin NIF, una de ellas sin nombre de contacto siquiera: entraron las dos, sin un solo error, como Ticket de venta y en estado Pagado.
Las plantillas no son la misma
Facturas trae 33 columnas. Tickets, 32. Y varias se llaman distinto:
| Facturas emitidas | Tickets de venta |
|---|---|
| «Num factura» | «Número de documento» |
| «NIF del contacto» | «NIF» |
| «Descripción» | «Añade una descripción interna» |
| «Formato de numeración» | no existe |
No sirve reaprovechar una para la otra. Las dos están descargadas de su propio panel, porque los nombres de su documentación no coinciden con los del archivo real: en la de facturas había seis mal. La fecha lleva el formato dentro del nombre («Fecha dd/mm/yyyy»), el IVA lleva un espacio antes del símbolo («IVA %») y las etiquetas son «Tags separados por -». Con los nombres de la ayuda la importación no habría cuadrado.
Del formato del archivo, lo mismo. Su cuadro de importación dice «El formato del archivo tiene que ser una de las siguientes: xls, xlsx, csv», y al subirlo de verdad el CSV lo rechaza y el XLSX lo acepta.
El número: uno lo respeta y el otro no
El importador de facturas exige el número —con la columna vacía responde «El número de factura no puede estar vacío»— y después lo sustituye: le pasamos «F0001» y la factura quedó con el número «0001». Aplica el formato de serie que tenga configurado y descarta el prefijo. Hay que escribir un número que Holded no va a usar.
El de tickets hace lo contrario: le subimos «TA1» y «TB1» y ahí siguen. Por esta vía el número que acaba en el documento fiscal es el que le pasas tú, así que mira en su panel el último ticket emitido, no la última factura. Son series distintas, «Línea T» frente a «Línea F», y los abonos llevan la suya. Tres numeraciones independientes.
Las devoluciones entran aquí también, en negativo
Holded tiene un importador aparte para los abonos, en «Configuración» › «Más» › «Importar» › «Ventas» › «Rectificativas». Pero exige el NIF igual que el de facturas: al subirle dos abonos sin él respondió «creditnote R0001 without contact fiscal code». La devolución de una venta sin NIF, que en Stripe es el caso normal, no cabe ahí.
Cabe en el de tickets. Subimos una fila con −100 de base y −121 de cobro: quedó en −121,00 €, en estado Pagado, y el total de la lista bajó exactamente esa cantidad. El signo de la «Cantidad cobrada» decide el estado: también en negativo, el documento queda en Pagado; a cero, en Vencido.
Queda un cabo suelto: la plantilla de rectificativas de Holded no tiene ninguna columna que apunte a la factura rectificada. Como el artículo 7.1.h del RD 1619/2012 pide «la referencia expresa e inequívoca de la factura rectificada», el conversor la escribe en la descripción del ticket —«Rectificativa de T0001» cuando la venta va en la misma tanda—, pero eso es lectura nuestra, no certeza: pregúntaselo a tu gestoría.
El céntimo que sale en rojo
Importadas las cuatro simplificadas que salen del conversor, entran las cuatro. Tres quedan en Pagado y la cuarta aparece en rojo. Es un micropago de 0,60 € al 21 %: la base son 0,50 €, y 0,50 × 1,21 = 0,605. Holded redondea el medio céntimo hacia arriba y muestra 0,61 de total. Como la «Cantidad cobrada» dice 0,60, que es lo que movió Stripe, el ticket queda VENCIDO por un céntimo.
Se cuadraría poniendo 0,61 cobrados, y no se hace: sería apuntar un cobro que Stripe nunca hizo. Antes un documento descuadrado que se ve en rojo que un apunte de dinero inventado que no se ve. Lo peligroso es que Holded lo importa sin dar ningún error, así que el problema se descubre mucho después; por eso el conversor te avisa en pantalla antes de descargar nada. No es un caso raro: al 21 %, algo menos de uno de cada cinco importes no se puede repartir en base y cuota con céntimos enteros.
Cómo queda el reparto
Con NIF, factura completa: identifica a tu cliente y le sirve para deducirse el IVA. Sin NIF, hasta 400 € con el IVA dentro y cliente en España, ticket de venta, con sus devoluciones dentro en negativo. Lo demás, a mano. Las disputas se quedan fuera de todos los archivos por defecto: pueden revertirse, y anular algo que puede volver atrás obliga después a deshacer la anulación.
Y un detalle que ahorra trabajo: con la «Cantidad cobrada» rellena, el documento entra ya en estado «Pagado» y no hay que ir a marcarlo a mano. El desglose importado salió 100,00 + 21,00 = 121,00, justo lo que cobró Stripe.