El reto de facturar en un restaurante o cafetería
- Muchos comprobantes pequeños en pocas horas, con la fila esperando.
- El cliente no espera: la facturación no puede ser un cuello de botella en el cobro.
- Se factura a consumidor final y a empresas en el mismo turno.
- Si el SRI demora, la caja no puede quedarse detenida.
- Cada cuenta se factura al cobrar, directo desde tu sistema de caja.
- Tu sistema envía la cuenta por API y el comprobante se genera sin pasos manuales.
- Facturas a consumidor final o a empresa con los datos que envía tu sistema.
- Con una cola y reintentos en tu integración, la caja sigue cobrando aunque el SRI demore.
Cómo lo resuelve Flashpi
- PASO 01
Conecta tu sistema de caja
Usa tu API key desde el software que ya usas para cobrar.
sk_test_••••••••4f2a - PASO 02
Emite al cerrar la cuenta
El sistema envía los ítems consumidos y Flashpi genera y firma el comprobante.
POST /v1/facturas - PASO 03
Entrega el comprobante
Recibe la autorización y entrégalo impreso o por correo, según prefiera el cliente.
RIDE.pdf + factura.xml
Ejemplo: factura de una cuenta de almuerzo
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": "Almuerzo ejecutivo",
"cantidad": 2,
"precio_unitario": 4.5
},
{
"descripcion": "Jugo natural",
"cantidad": 2,
"precio_unitario": 1.5
}
]
}' 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": "Almuerzo ejecutivo",
"cantidad": 2,
"precio_unitario": 4.5
},
{
"descripcion": "Jugo natural",
"cantidad": 2,
"precio_unitario": 1.5
}
]
}),
});
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": "Almuerzo ejecutivo",
"cantidad": 2,
"precio_unitario": 4.5
},
{
"descripcion": "Jugo natural",
"cantidad": 2,
"precio_unitario": 1.5
}
]
},
)
comprobante = res.json() <?php
$payload = <<<'JSON'
{
"comprador": {
"tipo_identificacion": "cedula",
"identificacion": "0102030405",
"razon_social": "Cliente de ejemplo",
"email": "[email protected]"
},
"detalles": [
{
"descripcion": "Almuerzo ejecutivo",
"cantidad": 2,
"precio_unitario": 4.5
},
{
"descripcion": "Jugo natural",
"cantidad": 2,
"precio_unitario": 1.5
}
]
}
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 en tu restaurante?
Escríbenos¿Qué pasa si el SRI no responde en hora pico?
Te recomendamos diseñar la integración con una cola y reintentos para que la caja no dependa de la respuesta inmediata. Mira Cómo manejar colas de trabajo y reintentos.
¿Puedo facturar a una empresa y a consumidor final en el mismo turno?
Sí: cada cuenta se factura con los datos del comprador que corresponda. Para consumidor final, confirma las condiciones vigentes del SRI.
¿Funciona con mi sistema de caja?
Si tu sistema puede enviar solicitudes HTTP, o su proveedor puede integrarlo, sí. Revisa la integración para POS.
¿Puedo enviar la factura por correo en lugar de imprimirla?
Sí, puedes enviar el comprobante autorizado al correo del cliente.