# Shopify y factura electrónica DIAN en Colombia: opciones 2026

> Shopify no emite factura electrónica DIAN. Las tres opciones de una tienda Shopify en Colombia (app, proveedor, API con software propio), costos y cómo hacerlo por API.

Fuente: https://miplata.co/blog/shopify-factura-electronica-colombia · 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

## Lo que Shopify no hace

Shopify genera **órdenes**, no facturas electrónicas. Las «facturas» que puedes imprimir desde el panel o con apps de PDF no tienen CUFE, no van firmadas y no las valida la DIAN: fiscalmente no existen. Tampoco tiene campos nativos para tipo de documento del comprador (cédula, NIT, pasaporte), régimen ni responsabilidad fiscal, y su cálculo de impuestos trabaja por región, no por línea de producto con tarifas del 0 %, 5 % y 19 % como exige el XML colombiano.

Como vendedor, la obligación es tuya: cada venta a un comprador que la pida necesita factura electrónica de venta (tipo 01) y, cuando el comprador no se identifica, una factura a **consumidor final** (NIT 222222222222) o el documento equivalente que corresponda.

## Las tres opciones

| Opción | Cómo funciona | Costo típico | Límite |
| --- | --- | --- | --- |
| **App de facturación de terceros** (Shopify App Store) | La app lee los pedidos y los factura bajo el Software ID del desarrollador (proveedor tecnológico) | Suscripción por app + plan del facturador | Depende del proveedor; datos en su plataforma; cambiar de app implica cambiar de proveedor |
| **Software de facturación con integración Shopify** (Alegra Sync y similares) | El software contable se conecta a la tienda y crea la factura por pedido | Plan del software (tope de ingresos o documentos) | Mismos topes que el plan; facturación como proveedor tecnológico |
| **Integración por API con software propio** (miPlata FACTURAR) | Un webhook de pedido pagado llama a la API de tu instancia; la factura sale a nombre de tu NIT con tu Software ID y certificado | Plan fijo ($29.900/mes en el de 12 meses) con 1.000 documentos de API incluidos; recargas para más | Hay que configurar el webhook (10 líneas de código o una herramienta de automatización) |

Tiendanube y WooCommerce ya tienen conector propio ([guía Tiendanube](/blog/facturacion-electronica-tiendanube), [plugin WooCommerce](/blog/facturacion-electronica-woocommerce)). La app nativa de miPlata para Shopify está en lista de espera; mientras tanto, la vía es la API.

## Cómo facturar Shopify con la API de miPlata

1. **Pide los datos fiscales en el checkout.** En Shopify, añade campos de «cédula o NIT» y «tipo de documento» (por ejemplo con *Checkout Extensibility*, atributos del pedido o una app de campos adicionales). Si no los pides, facturarás a consumidor final: válido, pero el comprador que necesite factura a su nombre tendrá que pedírtela después.
2. **Crea un webhook `orders/paid`** en Shopify (Configuración → Notificaciones → Webhooks) hacia tu pequeño servicio (una función serverless, un Make/Zapier/n8n o un script en tu servidor).
3. **Traduce el pedido a la factura**: comprador (nombre, documento, correo, ciudad), líneas con precio sin IVA y `tax_percent` por producto, envío como línea, forma de pago contado, y el número de pedido como `order_reference` y `Idempotency-Key`.
4. **Llama a la API**: `POST https://tu-nit.miplata.co/api/external/invoices` con `X-API-Key`. La respuesta (`201`) trae número, CUFE y QR, ya enviada a la DIAN (`dian_status` `SENT` o `ACCEPTED`; `QUEUED` si la DIAN no responde y miPlata reintenta sola); si aún no estaba aceptada, el webhook `invoice.accepted` te avisa en segundos. Si Shopify reenvía el webhook con el mismo `Idempotency-Key` y el mismo cuerpo dentro de 24 horas, recibes `200` con el encabezado `Idempotent-Replayed: true` y la misma factura. Pasadas las 24 horas, el mismo `order_reference` responde `409` con los datos de la factura existente. En ningún caso se duplica.
5. **Entrega la factura** al comprador: miPlata la envía al correo del cliente (PDF + XML) con el QR, o tomas `GET /invoices/{id}/pdf` y la adjuntas a la notificación de Shopify.
6. **Devoluciones**: un reembolso en Shopify (`refunds/create`) se convierte en nota crédito (`invoice_type: "91"`) que referencia la factura; te avisa el webhook `credit_note.accepted`.

```bash
curl -sS -X POST https://TU-EMPRESA.miplata.co/api/external/invoices \
  -H "X-API-Key: TU_LLAVE" -H "Content-Type: application/json" \
  -H "Idempotency-Key: shopify-1001" \
  -d '{
  "order_reference": "shopify-1001",
  "is_consumidor_final": true,
  "customer_email": "comprador@correo.co",
  "customer_phone": "3001234567",
  "payment_means_code": "48",
  "items": [
    { "description": "Camiseta algodón talla M", "quantity": 2, "unit_price": 59000, "tax_percent": 19 },
    { "description": "Envío", "quantity": 1, "unit_price": 12000, "tax_percent": 19, "is_service": true }
  ]
}'
```

Todo esto funciona primero en **Sandbox** (sin consumir cupo ni validez fiscal) y pasa a Producción con un interruptor. Tutorial completo: [tu primera factura por API](/blog/primera-factura-por-api).

![Configuración → Claves API: la llave para la integración, con IP permitida y límite por minuto](https://miplata.co/blog/app/real-api-01-claves.webp)
## Preguntas frecuentes

#### ¿Puedo facturar a consumidor final todos los pedidos de Shopify?
Sí, cuando el comprador no se identifica. Es legal y muy común en comercio electrónico. Pero si el comprador pide factura a su nombre (es empresa, o quiere deducir), debes emitirla con sus datos; pedir cédula o NIT en el checkout evita reprocesos.

#### ¿Los precios de Shopify incluyen IVA?
Normalmente sí (precios al público). En la factura el precio unitario va **sin** IVA y el impuesto por línea; tu integración divide el precio por 1,19 (o la tarifa del producto) antes de enviarlo, o lo configuras en el mapeo.

#### ¿Y Shopify Payments, Wompi, Mercado Pago?
La pasarela no cambia nada: la factura se emite cuando el pedido está pagado, con la forma de pago contado y el medio que corresponda (tarjeta, transferencia, etc.).

#### ¿Cuántos documentos de API necesito?
Uno por factura y uno por nota crédito. El plan de 12 meses incluye 1.000; una tienda con 150 pedidos al mes necesita recargas, que se compran por bloques sin cambiar de plan.

#### ¿Cuándo habrá app nativa para Shopify?
Está en lista de espera; regístrate en [tiendas online](https://facturar.miplata.co/tiendas-online) para que te avisemos. La integración por API que hagas hoy sigue funcionando después.

#### ¿Necesito programador?
Para la API, alguien que pueda configurar un webhook y una llamada HTTP: un desarrollador freelance en unas horas, o una herramienta sin código (Make, n8n, Zapier) con el módulo HTTP.
