Inicio › Blog › Tiendas online
Guía · WooCommerce · Tiendas online · 7 min de lecturaFacturación electrónica DIAN en WooCommerce: plugin gratis paso a paso
Si vendes con WordPress y WooCommerce en Colombia y estás obligado a facturar, cada pedido pagado necesita su factura electrónica validada por la DIAN. El plugin miPlata FACTURAR para WooCommerce la emite sola cuando el pedido pasa a Procesando o Completado, la adjunta al correo de tu propia tienda y, si reembolsas, emite la nota crédito. Es gratis, está publicado en el directorio oficial de WordPress.org y se conecta con un código de un solo uso, sin claves API.
Qué hace el plugin
Factura al pagar
Cuando un pedido pasa a Procesando o Completado, 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.
En tu propio correo
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 Mi cuenta → Ver factura y en la página de pedido recibido.
Reembolso = nota crédito
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.
Pagos verificados
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.
Un solo campo nuevo
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).
Otras monedas
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.
Compatible con HPOS y con el checkout por bloques. Las pantallas del plugin están en español de Colombia.
Publicado en WordPress.org. El plugin está en el directorio oficial de plugins de WordPress como miPlata FACTURAR: lo instalas y lo actualizas desde tu propio panel de WordPress, como cualquier otro plugin.
Lo que necesitas
- Una cuenta miPlata FACTURAR habilitada ante la DIAN (en pruebas o en producción). La habilitación y el certificado digital van incluidos en el plan.
- WordPress con WooCommerce 7.9 o superior y PHP 7.4 o superior. Se recomienda la extensión sodium de PHP (si no está, se usa la que trae WordPress).
- La tienda accesible por HTTPS en su dominio público: miPlata lo verifica una vez al conectar.
- Acceso de administrador en WordPress y en miPlata.
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 instalación asistida por $230.000 COP.
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 y subirlo en Plugins → Añadir nuevo → Subir plugin. Aparece el menú WooCommerce → miPlata. Recomendado: agrega a
wp-config.phpuna llaveMIPLATA_ENCRYPTION_KEY(64 caracteres hexadecimales aleatorios) para cifrar las llaves del plugin.
Paso 1: WooCommerce → miPlata: pantalla de conexión con el campo para el código de un solo uso. Datos de ejemplo. 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.
Paso 2: Configuración → Conexiones de tienda: el formulario de conexión WooCommerce con nombre, dominio y permisos. Datos de ejemplo. 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.

Paso 3: Tienda conectada: cuenta, permisos, ambiente DIAN y la tabla de clases de impuesto → DIAN. Datos de ejemplo. 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).

Paso 4: Conexión → Métodos de pago: una regla por método (facturar al pagar, borrador, no facturar). Datos de ejemplo. 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.

Paso 5: Checkout de la tienda: tipo y número de documento del comprador, el único campo nuevo. Datos de ejemplo. 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.

Configuración → Conexiones de tienda: tus tiendas facturando con el mismo NIT, con el total del mes por tiendaAsí se ve en una cuenta real. Esta sección no aparece en la demo pública porque maneja credenciales y datos privados de la empresa. 
Paso 6: Pedido en WooCommerce: número de factura, estado DIAN, CUFE, PDF/XML y la nota crédito del reembolso. Datos de ejemplo.
Cómo se arma la factura
| En WooCommerce | En la factura DIAN |
|---|---|
| Productos y variaciones | Una línea por producto con cantidad, precio sin IVA, IVA según su clase de impuesto y SKU |
| Cupones y descuentos | Descuento por línea con el precio de referencia |
| Envío y recargos (fees) | Líneas de servicio con su IVA |
| Tipo y número de documento | Cédula o NIT del comprador; si no lo da, consumidor final o factura en espera, según tu regla |
| Dirección de facturación | Departamento y municipio con código DANE (de CO-XX o del desplegable opcional) |
| Pasarela de pago | Medio de pago DIAN y regla: facturar, borrador o no facturar |
| Reembolso | Nota crédito total (anulación) o parcial (devolución) con el CUFE de la factura |
| Moneda del pedido | COP, o la moneda del pedido con la TRM oficial y el total en pesos para la DIAN |
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_KEYenwp-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. Mercado Libre llega próximamente. Shopify está en lista de espera; mientras tanto se integra por API (opciones para Shopify).
Cada pedido de WooCommerce, facturado ante la DIAN
Plugin gratis, factura al pagar, nota crédito al reembolsar, PDF y XML en tu propio correo de tienda.