# Facturación electrónica DIAN en WooCommerce: plugin gratis paso a paso

> Factura ante la DIAN cada pedido pagado de WooCommerce con el plugin gratis miPlata: instalación, cédula o NIT en el checkout, IVA, pasarelas y notas crédito.

Fuente: https://miplata.co/blog/facturacion-electronica-woocommerce · Publicado: 2026-10-10 · Actualizado: 2026-10-23 · Autor: Equipo miPlata · Categoría: Tiendas online
Producto: miPlata FACTURAR (https://facturar.miplata.co/tienda-online-gratis) · Contacto: hola@miplata.co

Video: [WooCommerce factura solo con miPlata: el pedido se paga, la factura DIAN sale sola y el reembolso genera su nota crédito (menos de 1 minuto).](https://facturar.miplata.co/video/miplata-woocommerce.mp4)
## Qué hace el plugin

<div class="grid">
<div class="box"><h3>Factura al pagar</h3><p>Cuando un pedido pasa a <b>Procesando</b> o <b>Completado</b>, el plugin lo envía a tu cuenta miPlata con líneas, cupones, envío, recargos, impuestos y datos del comprador. miPlata arma el XML UBL 2.1, lo firma con tu certificado y la DIAN lo valida.</p></div>
<div class="box"><h3>En tu propio correo</h3><p>El PDF y el XML firmado van adjuntos al correo que ya envía tu WooCommerce, con tu plantilla y tu logo. El comprador también los abre en <b>Mi cuenta → Ver factura</b> y en la página de pedido recibido.</p></div>
<div class="box"><h3>Reembolso = nota crédito</h3><p>Un reembolso total o parcial desde WooCommerce emite la nota crédito correspondiente ante la DIAN. Un pedido cancelado antes de facturarse simplemente no se factura.</p></div>
<div class="box"><h3>Pagos verificados</h3><p>Si cobras con el plugin oficial de WAVA (Nequi, tarjetas, PSE), la factura espera a que WAVA confirme el pago a miPlata: nunca se factura un pedido sin pago.</p></div>
<div class="box"><h3>Un solo campo nuevo</h3><p>Tipo y número de documento del comprador en el checkout, y solo si ningún otro plugin ya lo pide. Opcionalmente, ciudad como desplegable departamento → municipio (DANE).</p></div>
<div class="box"><h3>Otras monedas</h3><p>Pedidos en USD, EUR, GBP, CAD, CHF, MXN o JPY (por ejemplo con PayPal) se facturan en su moneda con la TRM oficial del día.</p></div>
</div>

Compatible con HPOS y con el checkout por bloques. Las pantallas del plugin están en español de Colombia.

<p class="note"><b>Publicado en WordPress.org.</b> El plugin está en el directorio oficial de plugins de WordPress como <a href="https://wordpress.org/plugins/miplata/">miPlata FACTURAR</a>: lo instalas y lo actualizas desde tu propio panel de WordPress, como cualquier otro plugin.</p>

## Lo que necesitas

<ul class="check">
<li>Una cuenta <a href="https://facturar.miplata.co">miPlata FACTURAR</a> habilitada ante la DIAN (en pruebas o en producción). La habilitación y el certificado digital van incluidos en el plan.</li>
<li>WordPress con <b>WooCommerce 7.9 o superior</b> y <b>PHP 7.4 o superior</b>. Se recomienda la extensión sodium de PHP (si no está, se usa la que trae WordPress).</li>
<li>La tienda accesible por <b>HTTPS en su dominio público</b>: miPlata lo verifica una vez al conectar.</li>
<li>Acceso de administrador en WordPress y en miPlata.</li>
</ul>

<p class="note">El plugin es gratis. Si prefieres que lo instalemos, configuremos tus impuestos y medios de pago y hagamos un pedido de prueba por ti, existe la <a href="https://facturar.miplata.co/integraciones">instalación asistida</a> por $230.000 COP.</p>

## Paso a paso: conectar WooCommerce con miPlata

### Instala el plugin en WordPress
En WordPress ve a **Plugins → Añadir nuevo**, busca **miPlata FACTURAR**, pulsa **Instalar ahora** y luego **Activar**. También puedes descargar el zip desde [wordpress.org/plugins/miplata](https://wordpress.org/plugins/miplata/) y subirlo en **Plugins → Añadir nuevo → Subir plugin**. Aparece el menú **WooCommerce → miPlata**. Recomendado: agrega a `wp-config.php` una llave `MIPLATA_ENCRYPTION_KEY` (64 caracteres hexadecimales aleatorios) para cifrar las llaves del plugin.
![WooCommerce → miPlata: pantalla de conexión con el campo para el código de un solo uso](/blog/app/woo-1.webp)

### Genera el código de conexión en miPlata
En miPlata, como administrador (también desde el celular), ve a **Configuración → Integraciones → Conexiones de tienda → Conectar tienda**, elige **WooCommerce**, escribe un nombre para la conexión y el **dominio** de tu tienda (sin https ni puerto). Deja el permiso **Solo facturar** si cobras con tu propia pasarela. Pulsa **Generar código de conexión**: obtienes un código `MPC-…` de un solo uso que vence en 10 minutos.
![Configuración → Conexiones de tienda: el formulario de conexión WooCommerce con nombre, dominio y permisos](/blog/app/real-tiendas-03-formulario.webp)

### Pega el código en el plugin
En WordPress, **WooCommerce → miPlata → Conectar**, pega el código y pulsa **Conectar tienda**. El plugin genera su propia llave de firma en tu servidor, miPlata verifica que tu dominio responde y guarda solo la llave pública. No compartes contraseñas ni claves API.
![Tienda conectada: cuenta, permisos, ambiente DIAN y la tabla de clases de impuesto → DIAN](/blog/app/woo-2.webp)

### Revisa impuestos y medios de pago
En **WooCommerce → Ajustes → Impuestos** asegúrate de tener la clase de IVA (19 %, 5 % o excluido) asignada a cada producto: el plugin usa las clases de impuesto nativas. En miPlata → conexión → **Métodos de pago** decide, por cada pasarela, si factura al pagar, deja la factura en borrador o no factura (por ejemplo, para transferencia manual hasta confirmar).
![Conexión → Métodos de pago: una regla por método (facturar al pagar, borrador, no facturar)](/blog/app/real-tiendas-05-metodos-de-pago.webp)

### Haz un pedido de prueba
Con tu cuenta miPlata en modo **Sandbox**, crea un pedido en la tienda, págalo (o márcalo como Completado) y revisa: en la lista de pedidos aparece la columna **miPlata** con el estado y en miPlata la factura con su CUFE de pruebas. El correo de pedido lleva el PDF y el XML. Cuando pases a producción, la misma conexión sigue funcionando.
![Checkout de la tienda: tipo y número de documento del comprador, el único campo nuevo](/blog/app/woo-3.webp)

### Pasa a producción
Cambia el entorno de tu cuenta miPlata a **Producción** cuando la DIAN te tenga habilitado. Desde ese momento cada pedido pagado genera una factura real con tu numeración. Si algo falla, la caja **miPlata · Factura electrónica** del pedido muestra el estado y el botón **Registrar / actualizar** para reintentar.
![Pedido en WooCommerce: número de factura, estado DIAN, CUFE, PDF/XML y la nota crédito del reembolso](/blog/app/woo-5.webp)

![Configuración → Conexiones de tienda: tus tiendas facturando con el mismo NIT, con el total del mes por tienda](https://miplata.co/blog/app/real-tiendas-01-conexiones.webp)
## Cómo se arma la factura

<div class="tw"><table><thead><tr><th>En WooCommerce</th><th>En la factura DIAN</th></tr></thead><tbody>
<tr><td>Productos y variaciones</td><td>Una línea por producto con cantidad, precio sin IVA, IVA según su clase de impuesto y SKU</td></tr>
<tr><td>Cupones y descuentos</td><td>Descuento por línea con el precio de referencia</td></tr>
<tr><td>Envío y recargos (fees)</td><td>Líneas de servicio con su IVA</td></tr>
<tr><td>Tipo y número de documento</td><td>Cédula o NIT del comprador; si no lo da, consumidor final o factura en espera, según tu regla</td></tr>
<tr><td>Dirección de facturación</td><td>Departamento y municipio con código DANE (de <code>CO-XX</code> o del desplegable opcional)</td></tr>
<tr><td>Pasarela de pago</td><td>Medio de pago DIAN y regla: facturar, borrador o no facturar</td></tr>
<tr><td>Reembolso</td><td>Nota crédito total (anulación) o parcial (devolución) con el CUFE de la factura</td></tr>
<tr><td>Moneda del pedido</td><td>COP, o la moneda del pedido con la TRM oficial y el total en pesos para la DIAN</td></tr>
</tbody></table></div>

## Seguridad: qué viaja y qué no

- La conexión se hace con un **código de un solo uso** generado por un administrador en miPlata y atado al dominio de la tienda. miPlata nunca lo pide por correo ni por teléfono.
- Cada petición va **firmada con Ed25519** desde tu servidor; miPlata solo guarda la llave pública. Las llaves se cifran en reposo con libsodium (`MIPLATA_ENCRYPTION_KEY` en `wp-config.php`) y se borran al desinstalar.
- La conexión **solo puede crear facturas para sus propios pedidos** y leer esas facturas. No ve otros clientes, nómina ni documentos de tu cuenta.
- Nada se envía antes de que conectes la tienda. Después, el plugin habla únicamente con tu propio host `https://<tu-cuenta>.miplata.co`.
- Una vez al día envía un diagnóstico sin datos personales (versiones de plugin, PHP y WooCommerce; si WP-Cron, SMTP y WAVA están activos).

## Preguntas frecuentes

#### ¿El plugin tiene costo?
No. Es gratis para cualquier cliente de miPlata y se actualiza desde el directorio de WordPress.org, como cualquier plugin. Pagas solo tu plan de miPlata FACTURAR (desde $29.900 COP al mes en el Plan 12 Meses). Las facturas de la tienda usan el cupo de documentos API del plan (1.000 en el Plan 12 Meses); un pedido pagado siempre se factura.

#### ¿Sirve con mi pasarela actual?
Sí. El plugin factura el pedido cuando WooCommerce lo marca pagado, sea con WAVA, Bold, ePayco, Mercado Pago, PayU, PayPal, transferencia o contra entrega. Para transferencia manual conviene la regla «factura en borrador» hasta confirmar el dinero.

#### ¿Y si el comprador no escribe su cédula?
Decides en la conexión: facturar a consumidor final (NIT 222222222222) o dejar la factura en espera hasta completar el dato. El campo del checkout es obligatorio u opcional según lo configures.

#### ¿Puedo usar el plugin solo para cobrar con Nequi o PayPal?
Sí. Las pasarelas opcionales «Pagar con WAVA (miPlata)» y «Pagar con PayPal (miPlata)» se activan desde la conexión; se ocultan automáticamente si ya tienes instalado el plugin oficial de WAVA.

#### ¿Qué pasa con los pedidos anteriores a la conexión?
No se facturan solos. Puedes facturarlos uno a uno desde la caja **miPlata · Factura electrónica** de cada pedido (botón **Registrar / actualizar**) o desde miPlata.

#### ¿Funciona con tiendas multi-moneda o multi-idioma?
Sí para moneda: cada pedido se factura en su moneda con la TRM del día. Los textos del plugin están en español de Colombia; la factura puede ir en español o inglés.

#### ¿Qué pasa si desinstalo el plugin?
La desinstalación revoca la conexión en miPlata y borra las llaves y ajustes de tu WordPress. Tus facturas siguen en tu cuenta miPlata y ante la DIAN.

#### ¿Y Tiendanube, Mercado Libre o Shopify?
Tiendanube tiene su propia app: [guía Tiendanube](/blog/facturacion-electronica-tiendanube). Mercado Libre llega próximamente. Shopify está en lista de espera; mientras tanto se integra por API ([opciones para Shopify](/blog/shopify-factura-electronica-colombia)).
