Las facturas son documentos legalmente vinculantes. A diferencia de una página de producto o un flujo de checkout donde tienes libertad creativa, las facturas deben cumplir con requisitos legales específicos que varían según el país. Equivocarse en esto no solo queda poco profesional: puede resultar en fallos en auditorías fiscales, sanciones y deducciones de facturas rechazadas por los contables de tus clientes. PrestaShop genera facturas automáticamente, pero las plantillas predeterminadas rara vez cumplen los requisitos específicos de cada jurisdicción europea. Esta guía cubre cómo personalizar las facturas de PrestaShop para el cumplimiento legal en los principales mercados europeos, y cómo modificar las plantillas PDF sin perder tus cambios en las actualizaciones.
Requisitos legales por país
Francia (Facture)
La legislación francesa de facturación (Code de commerce, artículo L441-9) es de las más estrictas de Europa. Cada factura debe incluir:
- Fecha de la factura y número de factura secuencial (no se permiten huecos en la secuencia)
- Identificación del vendedor: Nombre de la empresa, dirección, número SIREN/SIRET, registro RCS, forma jurídica (SARL, SAS, etc.) y capital social
- Identificación del comprador: Nombre de la empresa y dirección (para B2B). Para B2C, el nombre y la dirección del cliente
- Números de identificación IVA (tanto del vendedor como del comprador para transacciones B2B intra-UE)
- Descripción de los bienes o servicios con cantidad y precio unitario sin impuestos
- Total sin impuestos, tipo de IVA, importe del IVA y total con impuestos incluidos
- Condiciones de pago: Fecha de vencimiento, penalizaciones por pago tardío e indemnización fija por costes de recobro (40 EUR)
- Detalles de descuento si aplica
Desde enero de 2018, las empresas francesas de comercio electrónico también deben usar software de facturación certificado que impida la modificación o eliminación de facturas (certificación NF 525 o atestación equivalente). El sistema de facturación de PrestaShop generalmente cumple con este requisito ya que las facturas se almacenan en la base de datos y se aplican números secuenciales, pero consúltalo con tu contable.
Alemania (Rechnung)
Los requisitos de facturación alemanes están definidos por la UStG (Umsatzsteuergesetz) Sección 14. Elementos obligatorios:
- Nombre completo y dirección del vendedor y del comprador
- Número fiscal (Steuernummer) o número de IVA (USt-IdNr.)
- Fecha de la factura y número de factura secuencial
- Descripción de bienes/servicios con cantidad
- Fecha de entrega (o período de servicio): esto se omite con frecuencia y es diferente a la fecha de la factura
- Importe neto, tipo de IVA (19% general, 7% reducido), importe del IVA y total bruto
- Cláusula Kleinunternehmer si el vendedor está exento de IVA ("Kein Ausweis von Umsatzsteuer, da Kleinunternehmer gemaess Section 19 UStG")
Alemania requiere que las facturas se conserven durante 10 años. El requisito de la fecha de entrega es particularmente importante: PrestaShop no la incluye por defecto en las facturas. Necesitas personalizar la plantilla para añadirla.
Italia (Fattura)
Italia ha pasado a la facturación electrónica obligatoria (fatturazione elettronica) a través del sistema SDI (Sistema di Interscambio). Para las transacciones B2B dentro de Italia, las facturas en papel ya no son válidas: debes enviar facturas electrónicas en formato XML a través del SDI.
- Codice Fiscale o Partita IVA de ambas partes
- Codice Destinatario (código de destinatario SDI) para la facturación electrónica B2B
- Número de factura progresivo (secuencial dentro del año natural)
- Naturaleza, calidad y cantidad de los bienes/servicios
- Tipos de IVA estándar: 22% general, 10% reducido, 4% super-reducido
Para las tiendas de comercio electrónico italianas que venden B2C, las facturas en papel todavía se aceptan, pero la factura debe incluir el Codice Fiscale del cliente si lo solicita.
España (Factura)
- NIF/CIF del vendedor
- Numeración secuencial de facturas dentro de la serie
- Tipos de IVA: 21% general, 10% reducido, 4% super-reducido
- Recargo de equivalencia si aplica (para vendedores minoristas bajo el régimen de recargo de equivalencia)
Polonia (Faktura)
- NIP (número de identificación fiscal) de ambas partes para B2B
- Numeración secuencial que permita la identificación de la factura
- Tipos de IVA: 23% general, 8% reducido, 5% super-reducido, 0% para ciertas exportaciones
- "Mechanizm podzielonej platnosci" (mecanismo de pago fraccionado): nota requerida para facturas superiores a 15.000 PLN con ciertos bienes/servicios
Configuración de la numeración de facturas
La numeración de facturas de PrestaShop se configura en Pedidos > Facturas. Puedes establecer:
- Prefijo de factura: Un prefijo de texto para los números de factura (por ejemplo, "IN" para INV-0001, o "FA" para facturas francesas)
- Número de factura actual: El próximo número que se usará. No lo cambies después de empezar a emitir facturas, ya que crea huecos.
- Texto legal libre: Texto que aparece en cada factura (útil para condiciones de pago, avisos legales)
- Texto del pie de página: Se muestra en la parte inferior de la factura
Para el cumplimiento de la numeración secuencial, PrestaShop incrementa automáticamente el número de factura con cada nueva factura. Sin embargo, si reinicias el número al comienzo de cada año (una práctica común en muchos países), necesitas hacerlo manualmente en la configuración el 1 de enero. Algunos países (como Francia) requieren que la numeración sea continua y nunca se reinicie: comprueba tus requisitos locales.
El módulo mprinvoicenumber de mypresta.rocks amplía las capacidades de numeración de facturas de PrestaShop con funcionalidades como reinicios anuales automáticos, soporte de múltiples series (diferentes series de numeración para diferentes tipos de documentos) y formatos de número personalizados incluyendo año, mes y números de secuencia con ceros a la izquierda (por ejemplo, "FA-2029-0001").
Modificar la plantilla PDF
PrestaShop genera facturas PDF usando una combinación de plantillas Smarty y la librería TCPDF. Los archivos de la plantilla de factura se encuentran en:
/classes/pdf/HTMLTemplateInvoice.php (la clase PHP que prepara los datos)
/pdf/invoice.tpl (la plantilla Smarty para el diseño de la factura)
/pdf/invoice.style-tab.tpl (estilos CSS para la factura)
Enfoque seguro de personalización
Nunca edites los archivos del núcleo directamente. En su lugar, usa el sistema de overrides de PrestaShop:
- Copia
/classes/pdf/HTMLTemplateInvoice.phpa/override/classes/pdf/HTMLTemplateInvoice.php - Para los archivos de plantilla, crea copias en el directorio
pdf/de tu tema:/themes/tu-tema/pdf/invoice.tpl - Después de añadir overrides, elimina la caché del índice de clases:
/var/cache/prod/class_index.php(o/cache/class_index.phpen versiones anteriores)
Añadir campos personalizados
Para añadir campos que PrestaShop no incluye por defecto (como la fecha de entrega, avisos legales o datos bancarios), modifica el override de HTMLTemplateInvoice.php para pasar datos adicionales a la plantilla, y luego muéstralos en tu invoice.tpl personalizado.
Adiciones comunes:
- Fecha de entrega: Obtener del historial de entregas del pedido
- Datos bancarios: IBAN y BIC para pagos por transferencia bancaria
- Número de IVA del cliente: Almacenado en la dirección del cliente
- Referencia del pedido: El número de orden de compra del cliente para B2B
- Condiciones de pago: Pago a 30 días, 60 días, etc.
Notas de crédito
Al procesar reembolsos, PrestaShop genera notas de crédito (abonos / Gutschriften / avoirs). Estos también son documentos legales y deben incluir:
- Referencia al número de factura original
- Numeración secuencial propia (separada de los números de factura)
- Los importes reembolsados con el desglose de IVA
- Motivo del crédito (recomendado pero no siempre legalmente obligatorio)
Las plantillas de notas de crédito siguen el mismo patrón que las facturas y se pueden personalizar de la misma manera en /pdf/credit-slip.tpl.
Facturación multi-tienda
Si gestionas múltiples tiendas PrestaShop en una configuración multi-tienda, cada tienda puede tener sus propios ajustes de facturación:
- Diferentes prefijos de factura por tienda
- Diferentes textos legales por tienda
- Diferente información de la empresa por tienda
- Secuencias de numeración de facturas independientes por tienda
Configura esto cambiando al contexto de la tienda específica en el back office antes de modificar los ajustes de facturación. Ten cuidado: en el contexto "Todas las tiendas", los cambios se aplican a todas las tiendas.
Albaranes de entrega
Los albaranes de entrega (bons de livraison) son documentos separados de las facturas y no necesitan incluir información de precios. Son útiles para las operaciones de almacén y para los clientes que necesitan prueba de entrega. PrestaShop los genera automáticamente y se pueden personalizar en /pdf/delivery-slip.tpl.
Requisitos de archivo digital
Las regulaciones de la UE exigen cada vez más el archivo digital de facturas. Francia requiere que las facturas se almacenen en un formato inalterable durante al menos 10 años. Alemania tiene el mismo período de retención de 10 años bajo la GoBD (Grundsaetze zur ordnungsmaessigen Fuehrung und Aufbewahrung von Buechern). El sistema SDI de Italia gestiona el archivo automáticamente para las facturas electrónicas, pero las facturas en papel todavía necesitan ser digitalizadas y archivadas.
PrestaShop almacena las facturas como archivos PDF generados bajo demanda desde la base de datos. Esto significa que la factura no se "almacena" realmente como archivo: se regenera cada vez que la descargas. Si modificas la plantilla de factura o los datos del pedido subyacente cambian, la factura regenerada puede diferir de la emitida originalmente. Para el cumplimiento legal, muchos comerciantes generan y archivan una copia PDF estática de cada factura en el momento de la creación. Esto puede automatizarse con un módulo que se enganche al proceso de generación de facturas y guarde una copia permanente en una ubicación de almacenamiento designada.
Considera usar almacenamiento en la nube (AWS S3, Google Cloud Storage) con políticas de escritura única y lectura múltiple (WORM) para el archivo de facturas. Esto proporciona tanto durabilidad como la inmutabilidad requerida por regulaciones como la GoBD.
Problemas comunes con las facturas y soluciones
- La factura muestra la dirección de la empresa incorrecta: La dirección en las facturas viene de Parámetros de la tienda > Contacto > Tiendas. Actualiza la dirección de tu tienda ahí.
- Falta el número de IVA en las facturas: El número de IVA de tu empresa se configura en Internacional > Impuestos en los detalles de la tienda. El número de IVA del cliente aparece si lo introdujo en su dirección.
- Huecos en la numeración de facturas: Normalmente causados por pedidos cancelados que generaron una factura antes de la cancelación, o por cambiar manualmente el contador de facturas. Algunos países toleran pequeños huecos; Francia no. Usa flujos de estados de pedido que generen facturas solo después de la confirmación del pago.
- La generación del PDF falla: Normalmente un problema de memoria. Las facturas grandes con muchos productos pueden exceder el límite de memoria de PHP. Aumenta
memory_limita 256M o más. - Caracteres especiales rotos en el PDF: La librería TCPDF necesita las fuentes correctas instaladas. Para caracteres fuera del juego de caracteres latino (polaco, checo, etc.), asegúrate de que los archivos de fuente apropiados estén disponibles.
Mejores prácticas
- Haz que tu contable revise tu plantilla de factura antes de lanzar la tienda
- Prueba la generación de facturas con pedidos de diferentes tipos (B2B con IVA, B2C, intra-UE, exportación)
- Mantén una copia de seguridad de tus plantillas personalizadas: pueden ser sobrescritas por actualizaciones de módulos
- Revisa los requisitos legales de facturación anualmente ya que la legislación cambia
- Usa un módulo como mprinvoicenumber para numeración avanzada si tu país requiere formatos específicos
La facturación es una de esas áreas donde hacerlo bien es invisible, pero hacerlo mal crea problemas legales y financieros reales. Invierte el tiempo por adelantado para personalizar correctamente tus facturas de PrestaShop para tu jurisdicción. Para numeración avanzada de facturas, campos personalizados y soporte de múltiples series, explora los módulos de facturación en mypresta.rocks.
Artículos Relacionados
- Facturación electrónica en Europa: qué países la exigen y cómo prepararse
- Configuración fiscal en PrestaShop: las reglas del IVA en la UE explicadas
- IVA en la UE: OSS, IOSS y Lo Que Tu Tienda PrestaShop Debe Gestionar
Comentarios
Aún no hay comentarios. ¡Sé el primero!
Sé el primero en hacer una pregunta o compartir una opinión útil.
Dejar un comentario
Comparte una pregunta, un detalle de instalación o una opinión que pueda ayudar a otro lector.