El reto de facturar en un hotel o alojamiento
- La factura suele emitirse al hacer el check-out, con la fila esperando en recepción.
- Los cargos de varias áreas (habitación, restaurante, servicios) caen en una sola cuenta.
- Hay huéspedes nacionales, extranjeros y empresas con datos de facturación distintos.
- Las reservas de agencias requieren facturar a un tercero.
- La factura se emite al cerrar la cuenta, desde tu sistema de reservas.
- Habitación, restaurante y servicios van como ítems de un solo comprobante.
- Cada factura sale con los datos del comprador que corresponda: huésped o empresa.
- Si la reserva viene de una agencia, facturas a quien debe constar como comprador.
Cómo lo resuelve Flashpi
- PASO 01
Conecta tu sistema de reservas
Usa tu API key desde el software que gestiona las estadías.
sk_test_••••••••4f2a - PASO 02
Emite al cerrar la cuenta
Envía los cargos consolidados y Flashpi genera y firma el comprobante.
POST /v1/facturas - PASO 03
Entrega el comprobante
Recibe la autorización y entrégalo al huésped o a la empresa.
RIDE.pdf + factura.xml
Ejemplo: factura de una estadía de dos noches
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": "Alojamiento habitación doble (2 noches)",
"cantidad": 2,
"precio_unitario": 60.0
},
{
"descripcion": "Desayuno buffet",
"cantidad": 2,
"precio_unitario": 8.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": "Alojamiento habitación doble (2 noches)",
"cantidad": 2,
"precio_unitario": 60.0
},
{
"descripcion": "Desayuno buffet",
"cantidad": 2,
"precio_unitario": 8.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": "Alojamiento habitación doble (2 noches)",
"cantidad": 2,
"precio_unitario": 60.0
},
{
"descripcion": "Desayuno buffet",
"cantidad": 2,
"precio_unitario": 8.0
}
]
},
)
comprobante = res.json() <?php
$payload = <<<'JSON'
{
"comprador": {
"tipo_identificacion": "cedula",
"identificacion": "0102030405",
"razon_social": "Cliente de ejemplo",
"email": "[email protected]"
},
"detalles": [
{
"descripcion": "Alojamiento habitación doble (2 noches)",
"cantidad": 2,
"precio_unitario": 60.0
},
{
"descripcion": "Desayuno buffet",
"cantidad": 2,
"precio_unitario": 8.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 en tu hotel?
Escríbenos¿Se puede facturar a un huésped extranjero?
Sí, usando el tipo de identificación que corresponda. Confirma los tipos válidos y los requisitos vigentes del SRI.
¿Cómo se factura una reserva hecha por una agencia?
Se factura con los datos de quien debe constar como comprador, según el acuerdo comercial. Confirma con tu contador el tratamiento.
¿Se emite al hacer check-in o check-out?
Depende de tu proceso. La API permite emitir en cualquiera de los dos momentos, cuando tu sistema envía la solicitud.
¿Funciona con mi sistema de reservas?
Si tu sistema puede enviar solicitudes HTTP, o su proveedor puede integrarlo, sí. Revisa la integración para PMS.