El reto de facturar en un evento o espectáculo
- Picos enormes de ventas en poco tiempo, sobre todo al abrir la venta.
- Compradores que piden su factura después de adquirir la entrada.
- Reembolsos por cancelaciones o cambios de fecha.
- Eventos de duración limitada, donde no hay margen para errores.
- Cada venta se factura desde tu sistema de ticketing por API, también al abrir la venta.
- Si el comprador pide la factura después, la emites cuando envía sus datos.
- Los reembolsos se reflejan con una nota de crédito sobre la factura original.
- Con una cola y reintentos en tu integración, la venta no se frena aunque el SRI demore.
Cómo lo resuelve Flashpi
- PASO 01
Conecta tu plataforma de venta
Usa tu API key desde el backend de tu sistema de ticketing.
sk_test_••••••••4f2a - PASO 02
Emite al confirmar la compra o bajo demanda
La factura puede generarse al pagar o cuando el comprador la solicita.
POST /v1/facturas - PASO 03
Corrige con notas de crédito
Los reembolsos se reflejan con una nota de crédito sobre la factura original.
Nota de crédito → factura original
Ejemplo: factura de la venta de entradas
Una sola solicitud a la API. Flashpi construye el XML, lo firma con tu certificado y lo envía al SRI.
- Sin armar XML ni SOAP
- Firma con tu certificado .p12
- Estado y clave de acceso en la respuesta
curl -X POST https://api.flashpi.ec/v1/facturas \
-H "Authorization: Bearer TU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"comprador": {
"tipo_identificacion": "cedula",
"identificacion": "0102030405",
"razon_social": "Cliente de ejemplo",
"email": "[email protected]"
},
"detalles": [
{
"descripcion": "Entrada general",
"cantidad": 4,
"precio_unitario": 20.0
}
]
}' const res = await fetch("https://api.flashpi.ec/v1/facturas", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.FLASHPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"comprador": {
"tipo_identificacion": "cedula",
"identificacion": "0102030405",
"razon_social": "Cliente de ejemplo",
"email": "[email protected]"
},
"detalles": [
{
"descripcion": "Entrada general",
"cantidad": 4,
"precio_unitario": 20.0
}
]
}),
});
const comprobante = await res.json(); import os
import requests
res = requests.post(
"https://api.flashpi.ec/v1/facturas",
headers={"Authorization": f"Bearer {os.environ['FLASHPI_API_KEY']}"},
json={
"comprador": {
"tipo_identificacion": "cedula",
"identificacion": "0102030405",
"razon_social": "Cliente de ejemplo",
"email": "[email protected]"
},
"detalles": [
{
"descripcion": "Entrada general",
"cantidad": 4,
"precio_unitario": 20.0
}
]
},
)
comprobante = res.json() <?php
$payload = <<<'JSON'
{
"comprador": {
"tipo_identificacion": "cedula",
"identificacion": "0102030405",
"razon_social": "Cliente de ejemplo",
"email": "[email protected]"
},
"detalles": [
{
"descripcion": "Entrada general",
"cantidad": 4,
"precio_unitario": 20.0
}
]
}
JSON;
$ch = curl_init('https://api.flashpi.ec/v1/facturas');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('FLASHPI_API_KEY'),
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
]);
$comprobante = json_decode(curl_exec($ch), true); {
"estado": "AUTORIZADO",
"clave_acceso": "(49 dígitos)",
"numero_autorizacion": "(nº del SRI)",
"fecha_autorizacion": "(fecha y hora)"
} Comprobantes que más usarás
Compatible con tu software
Flashpi es una API REST: funciona con cualquier lenguaje o framework que pueda enviar solicitudes HTTP. Tenemos ejemplos por lenguaje para Java, Node, Python, Ruby, PHP, Go y C#.
Preguntas frecuentes
¿Tienes otra pregunta sobre cómo facturar tus entradas?
Escríbenos¿Cuántas facturas por minuto soporta?
Depende de tu volumen y de tu plan. Cuéntanos cuántas entradas esperas vender y en cuánto tiempo, y lo revisamos contigo.
¿Qué pasa si el SRI se demora durante la venta?
Te recomendamos desacoplar la venta de la emisión con una cola y reintentos, para no frenar la compra. Mira Cómo manejar colas de trabajo y reintentos.
¿Se puede emitir la factura horas después de la compra?
Sí, la API emite cuando tu sistema envía la solicitud. Confirma con tu contador los plazos de emisión aplicables.
¿Cómo se maneja un reembolso?
Con una nota de crédito que referencia la factura original.