Saltar al contenido principal

Emitir tu Primera Factura

¡Felicidades por completar la configuración! Ahora vamos a emitir tu primera factura de ingreso paso a paso.


Tutorial Completo

Hemos preparado una guía detallada con ejemplos de código en 4 lenguajes (cURL, TypeScript, Python, PHP):

📖 Ver Tutorial Completo: Emitir una Factura de Ingreso →


Resumen Rápido

1. Endpoint

POST https://sandbox-api.lummy.com/invoices

2. Headers Requeridos

Content-Type: application/json
Authorization: Bearer {tu-access-token}
x-organization-id: {tu-organization-id}
x-idempotency: {uuid-único}

3. Body Mínimo (JSON)

{
"tipoDeComprobante": "I",
"receptor": {
"rfc": "XAXX010101000",
"nombre": "PUBLICO EN GENERAL",
"regimenFiscal": "616",
"domicilioFiscal": "06500"
},
"usoCFDI": "G03",
"metodoPago": "PUE",
"formaPago": "03",
"fecha": "2025-11-19T10:00:00",
"moneda": "MXN",
"exportacion": "01",
"lugarExpedicion": "06500",
"conceptos": [
{
"claveProdServ": "81111500",
"claveUnidad": "E48",
"descripcion": "Servicio de Consultoría",
"cantidad": 1,
"valorUnitario": 1000.00,
"objetoImp": "02",
"impuestos": {
"traslados": [
{
"base": 1000.00,
"impuesto": "002",
"tipoFactor": "Tasa",
"tasaOCuota": 0.16
}
]
}
}
]
}

4. Respuesta Exitosa (201 Created)

{
"invoiceId": "d290f1ee-6c54-4b01-90e6-d701748f0851",
"cfdiUuid": "cfa52b8b-93f2-4e6b-8c73-64ad88deb17c",
"verificationUrl": "https://verificacfdi.facturaelectronica.sat.gob.mx/...",
"xmlS3Url": "https://lummy-invoices.s3.amazonaws.com/.../factura.xml",
"pdfS3Url": "https://lummy-invoices.s3.amazonaws.com/.../factura.pdf"
}

Errores Comunes

❌ 400 Bad Request - RFC Inválido

{
"statusCode": 400,
"message": "RFC inválido: debe tener 12 o 13 caracteres"
}

Solución: Verifica que el RFC tenga el formato correcto (12 para personas morales, 13 para físicas).


❌ 404 Not Found - CSD No Encontrado

{
"statusCode": 404,
"message": "No se encontró CSD activo para la sucursal"
}

Solución: Verifica que hayas cargado tu CSD correctamente en el dashboard.


❌ 409 Conflict - Idempotencia Duplicada

{
"statusCode": 409,
"message": "La clave de idempotencia ya ha sido usada"
}

Solución: Genera un nuevo UUID para el header x-idempotency.


Próximos Pasos