Guía

Cómo adaptar OpenCart 4 a VeriFactu, paso a paso

Adaptar OpenCart 4 a VeriFactu no consiste en instalar una extensión y olvidarse: consiste en tomar tres decisiones antes de tocar nada y en entender una particularidad de OpenCart que ninguna otra plataforma tiene, la de las devoluciones. Esta guía recorre el proceso completo en una tienda OpenCart 4 —versiones 4.0 y 4.1—, desde los requisitos previos hasta qué pasa el día que tu servidor pierde la conexión.

Los plazos, para situarte: VeriFactu será obligatorio desde el 01/01/2027 para los contribuyentes del Impuesto sobre Sociedades y desde el 01/07/2027 para el resto de obligados. La fuente oficial es la Agencia Tributaria.

Si aún no tienes claro el marco general —qué registro genera cada evento o qué límites tiene la factura simplificada—, empieza por la guía de VeriFactu para tiendas online y vuelve aquí. Y si tu tienda es OpenCart 3, el módulo también la cubre, con su propio paquete: tienes el detalle en la ficha de VeriFactu para OpenCart.

Qué necesitas antes de empezar

Tres cosas, y ninguna es especialmente exigente.

Una tienda OpenCart 4.0 o 4.1 con acceso al panel de administración. La instalación se hace con el instalador de extensiones de OpenCart, así que no necesitas tocar el servidor por FTP ni ejecutar comandos. La interfaz del módulo está disponible en español y en inglés.

Tus datos fiscales completos y correctos. Nombre o razón social, NIF y domicilio del emisor tal y como constan ante la Agencia Tributaria. Es la causa más frecuente de rechazos evitables en las primeras facturas.

El certificado electrónico o el apoderamiento correspondiente. Los registros se remiten a la Agencia Tributaria en nombre del obligado tributario, así que esa parte se resuelve antes de emitir. Se revisa contigo en el alta, junto con la serie y la fecha desde la que empiezas a facturar.

Qué tienes que decidir antes de instalar nada

Tres decisiones. Tomarlas antes evita rehacer trabajo, porque afectan a la numeración y la numeración no se reescribe.

La serie de facturación. Si ya facturas con otro programa —un TPV físico, tu gestoría, un ERP—, tu tienda OpenCart necesita una serie propia y distinta. Si dos sistemas emiten la misma combinación de serie y número bajo el mismo NIF, la Agencia Tributaria lo rechaza como duplicado. Reparte las series de una vez, por ejemplo TPV para la tienda física, WEB para otro canal online y OPE para tu OpenCart.

Qué estados de pedido facturan, cancelan y abonan. En OpenCart los estados de pedido son tuyos: puedes renombrarlos y crear los que quieras. Por eso la clasificación se hace en el panel de Factulit, estado a estado: cuál genera factura, cuál cancela y cuál abona. En OpenCart esta decisión pesa más que en otras plataformas, porque —como verás más abajo— el estado de devolución es también la vía por la que se factura una devolución.

Factura completa o simplificada. Si vendes a consumidores finales, es tentador emitirlo todo como simplificada, y por importe casi siempre cabe. El artículo 4.1 del Real Decreto 1619/2012 fija el límite general en 400 euros, pero el 4.2.a) lo sube a 3.000 para las ventas al por menor a consumidor final, que es donde encaja una tienda B2C. Lo que suele dejar fuera a la simplificada no es el importe: es que el comprador sea empresa, autónomo, persona jurídica no empresaria o Administración, o que la venta salga de España. Si vendes fuera de España, ese es el caso que hay que mirar con tu asesoría.

Cómo se instala el módulo, paso a paso

Cuatro pasos, todos desde el panel de administración de tu tienda.

  1. Descarga el módulo desde tu panel de Factulit. Cada variante tiene su propio paquete: el de OpenCart 4 y el de OpenCart 3 se descargan desde la ficha de tu conexión según tu plataforma.
  2. Instálalo con el instalador de extensiones. En el panel de administración de OpenCart, sube el paquete desde el instalador de extensiones y actívalo. No sustituye a nada de tu tienda ni cambia tu proceso de compra: se limita a sincronizar.
  3. Pega tu clave de API y prueba la conexión. En la configuración del módulo guardas la clave que te facilitamos al dar de alta la conexión y lanzas la prueba de conexión desde el propio panel de administración. Es una comprobación que no modifica nada en tu tienda ni en tu cuenta: si la clave es incorrecta, lo ves ahí mismo. La pantalla muestra la clave enmascarada y no la vuelve a imprimir.
  4. Programa la tarea de sincronización. OpenCart no trae un cron propio, así que el módulo expone una URL protegida con token para que la llame la tarea programada de tu servidor. Cada ejecución sincroniza estados, clientes y pedidos, en ese orden.

Queda un paso que no ocurre en OpenCart, sino en el panel de Factulit: clasificar los estados. Hasta que no digas qué estado factura, cuál cancela y cuál abona, no se emite nada. Es deliberado: preferimos que una tienda recién conectada no facture a que facture con el criterio equivocado.

Qué se sincroniza exactamente

Tres cosas viajan de tu tienda a Factulit, y ninguna incluye decisiones fiscales.

Pedidos, con desglose por línea y los descuentos repartidos. OpenCart guarda el cupón como un importe global del pedido, sin desglose por línea ni por tipo de IVA. El módulo lo reparte entre las líneas de forma proporcional, con absorción de los redondeos, para que las bases y las cuotas de la factura cuadren siempre. Los importes viajan en la moneda del pedido y el recargo de equivalencia se comunica desglosado del IVA cuando el tax class del producto lo incluye.

Clientes, incluidas las ventas de invitado. Los clientes registrados se sincronizan con su ficha; los pedidos de invitado viajan con los datos del comprador embebidos en el propio pedido, así que ninguna venta se queda fuera por no tener cuenta. OpenCart no tiene un campo nativo para el NIF: el módulo lo busca en los campos personalizados de cuenta o de dirección de tu tienda y lo valida con el mismo algoritmo que usa el servidor. Validamos lo que tu tienda ya recoge; no añadimos campos a tu checkout.

El catálogo de estados de pedido, en crudo. Se envía tal cual, con sus nombres, sin interpretar. Los estados nuevos o renombrados llegan solos al panel y aparecen sin clasificar hasta que los clasificas tú.

La regla que gobierna todo lo anterior: el módulo envía hechos, la decisión fiscal la toma el servidor. El módulo no marca estados como finales, no decide si una venta es factura, anulación o abono, y no calcula claves fiscales de línea.

Cómo se factura una devolución en OpenCart

Aquí está la particularidad de OpenCart, y conviene contarla sin adornos: OpenCart no tiene abonos nativos. No existe el equivalente al reembolso de WooCommerce ni al credit memo de Magento; el sistema de devoluciones de OpenCart es logístico y no lleva importes fiscales fiables. El módulo, en coherencia, no envía reembolsos, porque no existen en la plataforma.

¿Cómo se factura entonces una devolución? Clasificando el estado. Cuando gestionas una devolución, cambias el pedido a tu estado de devolución —por ejemplo, «Refunded»— y ese cambio de estado viaja a Factulit como cualquier otro hecho. Como en el panel ese estado está clasificado como abono, el servidor genera la factura rectificativa que corresponde: una R1 si la factura original era completa, una R5 si era simplificada, en modo diferencias. Esa clasificación te la dejamos configurada al activar el servicio.

El límite honesto de este flujo: el estado es del pedido completo, así que la vía natural es rectificar la operación, no una línea suelta. Si las devoluciones parciales son frecuentes en tu tienda, cuéntanoslo en el alta y revisamos tu caso concreto; preferimos decírtelo antes que descubrirlo tú después.

Qué pasa si tu tienda pierde la conexión

Nada se pierde en silencio. El módulo guarda cada envío en una tabla local de tu propia base de datos, con su estado, sus intentos y su último error. Si un envío falla —tu servidor sin red, un pico de carga, la API que no responde—, queda pendiente y se reintenta más tarde.

Los reintentos se espacian de forma progresiva: cada fallo duplica la espera hasta un máximo de 24 horas entre intentos. Al octavo intento sin éxito, el registro deja de reintentarse automáticamente y queda marcado para revisión manual. Desde la administración del módulo ves cuántos registros están en ese estado y puedes devolverlos a la cola, una vez resuelto el problema de fondo. Cada envío lleva además una huella de su contenido, así que un reintento nunca duplica lo ya entregado.

Del lado de la Agencia Tributaria, cuando un registro se reenvía después de una incidencia, el reenvío se marca como tal, como exige la Orden HAC/1177/2024. La facturación no se detiene por una caída.

Preguntas frecuentes

Dudas habituales al conectar OpenCart. Hay más en las preguntas frecuentes sobre VeriFactu.

Contactar
Buscándolo en los campos personalizados de tu tienda. Si tu OpenCart ya pide el NIF en un campo personalizado de cuenta o de dirección, el módulo lo encuentra por su nombre, lo valida y clasifica la operación como B2B o B2C. Si todavía no lo pides, lo revisamos contigo en el alta.
De forma proporcional a la base de cada línea, respetando el tipo de IVA de cada una y absorbiendo los redondeos para que el total cuadre. OpenCart guarda el cupón como un importe global; el reparto por línea lo hace el módulo, porque una factura necesita bases y cuotas correctas por tipo.
La versión actual del módulo sincroniza la tienda principal. Si tienes varias tiendas en la misma instalación de OpenCart, cuéntanoslo al pedir el alta y revisamos tu caso antes de activar nada.
Sí, y es sencillo: una tarea programada que llame a la URL de sincronización del módulo, protegida con token. Es la vía que mantiene estados, clientes y pedidos al día. Si tu hosting no te deja crear tareas programadas, coméntanoslo y buscamos el encaje.

Conecta tu tienda OpenCart

Cuéntanos qué versión de OpenCart usas —4.0, 4.1 o 3.0— y cuántas facturas emites al mes. Te respondemos con los pasos concretos de tu tienda, el plan que te encaja por volumen y desde cuándo puedes empezar. Sin tarjeta.

Los flujos de alta de factura completa y simplificada, anulación, anulación sin registro previo, subsanación tras rechazo y rectificativa están probados en el entorno de pruebas de la AEAT (Preportal), con última ejecución el 27/07/2026.

¿Buscabas la ficha del conector en lugar de la guía? Está en módulo VeriFactu para OpenCart. Si vendes también en otra plataforma, míralo en todas las plataformas. Y si tu duda es de precios, en planes y límites.

Última actualización: 14/08/2026. Esta guía es informativa y no constituye asesoramiento fiscal ni jurídico. La normativa aplicable es el Real Decreto 1007/2023, la Orden HAC/1177/2024 y, para los requisitos de las facturas, el Real Decreto 1619/2012. Para tu caso concreto, consulta con un profesional o con la Agencia Tributaria.

¿Prefieres que preparemos el alta contigo?

Déjanos tu email y te acompañamos con la conexión, la serie, el certificado y, cuando abra Producción el 1 de enero de 2027, el paso seguro de Modo Pruebas a Producción.

Sin tarjeta · Primero configuramos en Modo Pruebas