Resumen ejecutivo
Lo esencial en dos minutos
en la plataforma
registradas
(2×/día; lookback prod ~2 días vía
etl_control)ARS · CLP · BOB · USD
✅ Qué sí tenemos hoy
- Ingresos por pasaje, agencia, canal y mes
- IVA embebido en el boleto (
ticket_taxes) - Impuesto RG3819 (internacional) como ítem separado
- Seguros de viaje y productos menores <3 años
- Cancelaciones, devoluciones y penalidades retenidas
- Ventas brutas, netas y montos reembolsados por transacción
- Alcance geográfico: nacional, internacional, línea provincial
⚠️ Qué aún no está en el tablero BI
- Desglose por medio de pago (efectivo vs tarjeta) — existe en base operativa, pendiente de modelar en BI
- Integración contable / facturación AFIP
- Costos operativos, combustible, nómina
- Conciliación bancaria automática
Estos temas pueden abordarse en fases posteriores según prioridad del área económico-financiera.
De dónde vienen los datos
El camino desde la venta hasta el reporte
Cada vez que se vende un pasaje en una agencia, web o terminal Betterez, el sistema emite un evento que llega a nuestra plataforma en Google Cloud. Allí se guarda la información completa (copia fiel del original) y, una vez al día, se reorganiza en tablas listas para consulta gerencial.
¿Por qué no usamos solo el reporte web de Betterez?
La web de Betterez muestra el estado en este momento de cada boleto. Nuestro modelo analítico responde preguntas distintas: “¿cuánto vendió la agencia X en marzo?”, “¿cuánto IVA hubo en pasajes internacionales?”, “¿cuántas cancelaciones parciales retuvieron penalidad?”. Para eso necesitamos historial consolidado, reglas de negocio acordadas y la posibilidad de cruzar ventas con manifiestos, rutas y agencias.
Preguntas de negocio que podemos responder
Mapeo directo: pregunta → dato disponible
El modelo en tres capas
Analogía: del recibo crudo al balance resumido
Capa operativa (OLTP) — “el recibo original”
Copia fiel de lo que Betterez envía: ventas, boletos, pagos, devoluciones, manifiestos. Sirve para auditoría técnica y reconciliación. No está pensada para reportes gerenciales directos.
publicCapa analítica (BI) — “el libro mayor preparado”
Tablas reorganizadas con reglas de negocio aplicadas: estados curados, montos validados, dimensiones (agencia, canal, fecha, ruta). Es lo que consumen los tableros MicroStrategy.
bi_rebuildTableros (MicroStrategy) — “la vista ejecutiva”
Dashboards con filtros, gráficos y exportaciones. Los números provienen de la capa BI; las reglas de filtro (pagado, moneda, etc.) están documentadas y acordadas.
Las piezas del modelo financiero
Tres tablas principales + dimensiones de contexto
Piense en una venta de pasaje como una “transacción” que puede incluir varias líneas. El modelo separa cada concepto en su propia tabla para evitar doble conteo.
ticket_amount + IVA: ticket_taxesitem_amountitem_amount (ítem aparte)item_amountfact_sale.total_amount junto con fact_sold_item.item_amount sin filtros — los ítems PI- ya están vinculados a la venta padre. Para revenue de pasajes usar fact_ticket; para ítems adicionales usar fact_sold_item; para venta transaccional usar v_fact_sale_parent_only.
Montos e impuestos
Dos impuestos distintos — no mezclarlos
IVA del pasaje
Impuesto incluido en el precio del boleto. Betterez lo expone como componente del ticket.
fact_ticket.ticket_taxesFuente validada desde Betterez (display_total_taxes). Es el IVA “embebido” — no aparece como línea separada en la factura al pasajero.
Impuesto RG3819 (internacional)
Tasa adicional para pasajes cross-border. Se factura como producto aparte.
fact_sold_item.item_amountproduct_category = 'tax_cross_border'Producto Betterez: “IMPUESTO NACIONAL ARGENTINO - RG3819”. Es un ítem PI- independiente del pasaje.
Ventas brutas, netas y devoluciones (fact_sale)
| Campo | Significado de negocio | Cómo se calcula (simplificado) |
|---|---|---|
gross_sale |
Venta bruta de la transacción | Total positivo de la venta |
cancellation_amount |
Monto asociado a cancelaciones | Según status de la transacción |
refounds_amount |
Monto reembolsado | Cuando status = refunded |
net_sale |
Venta neta (bruto − devoluciones) | gross_sale − refounds_amount |
WHERE currency = 'ARS'). Mezclar monedas sin conversión produce totales incorrectos.
Fecha de venta — zona horaria Argentina
Todas las fechas de corte mensual (sale_date) están en hora Argentina (America/Argentina/Buenos_Aires). Esto alinea los reportes con el calendario operativo de Andesmar, no con UTC ni con la hora del servidor.
Estados del boleto y revenue neto
Por qué “pagado” no es una sola definición
refund_details) y calcula estados curados para que los números del tablero sean consistentes.
Volúmenes de referencia (jun 2026)
effective_status = paid(penalidad retenida)
Cortes de análisis disponibles
Dimensiones para segmentar ingresos y volúmenes
Ejemplo de lectura mensual consolidada
Un reporte mensual típico para finanzas puede incluir, en una sola vista:
- Cantidad y monto de pasajes pagados (neto)
- IVA embebido en pasajes
- Recaudación de seguros “VIAJE PROTEGIDO”
- Ítems de impuesto RG3819
- Productos menores <3 años
- Devoluciones y transacciones R-
Todo filtrable por agencia, canal, moneda y mes — con las reglas de estado acordadas.
Cobertura y actualización
Qué tan completos y frescos están los datos
Cobertura histórica
- Datos desde la migración a Betterez en GCP (2025 en adelante como referencia principal)
- ~1,2 millones de boletos consolidados
- Backfill de webhooks ene–jun 2026 completado
- Reconciliación vs sistema Legacy: conteos alineados (<0,3% diferencia en meses cerrados)
Frecuencia de actualización
- Ingesta operativa: casi en tiempo real (webhooks Betterez → GCP)
- Tablero BI: proceso diario automatizado (Cloud Run Job)
- Ventana de reproceso: valor en
bi_rebuild.etl_control.lookback_interval(prod jun-2026: 2 días; default del script SQL: 14 días si no hay fila) - Red de seguridad: jobs diarios detectan transacciones faltantes y las reinyectan
bi_rebuild es la fuente recomendada — no el sistema Legacy histórico.
Límites actuales y conversación para la reunión
Qué podemos profundizar juntos
Disponible hoy
- Revenue por pasaje, agencia, canal, mes y moneda
- IVA pasaje + impuesto RG3819 separados
- Seguros, menores, tarifas niño
- Cancelaciones, devoluciones, penalidades
- Ventas brutas / netas por transacción
- Alcance geográfico (nacional / internacional)
- Cruce con manifiestos (operación del viaje)
Pendiente / a definir con ustedes
- Medios de pago (efectivo, tarjeta, MercadoPago) — dato existe, falta tablero
- Mapeo a plan de cuentas contable / ERP
- Conciliación con facturación electrónica AFIP
- Comisiones de agencia como métrica formal
- Tipo de cambio oficial para consolidación multi-moneda
- Reportes regulatorios específicos (si aplican)
Preguntas útiles para orientar la reunión
| ¿Qué reportes mensuales producen hoy manualmente? | Nos ayuda a priorizar qué automatizar primero |
| ¿Cuál es la definición de “venta” para contabilidad? | ¿Fecha de emisión, fecha de viaje, o fecha de cobro? |
| ¿Necesitan desglose por medio de pago? | Podemos modelarlo desde la base operativa (payments) |
| ¿Cómo consolidan monedas extranjeras? | Hoy el tablero filtra por moneda; conversión es decisión de negocio |
| ¿Qué diferencia vs Legacy les importa cerrar? | Tenemos auditorías documentadas para explicar gaps históricos |
Glosario rápido
Términos que pueden aparecer en la conversación
- Betterez
- Proveedor de software de venta de pasajes. Sistema fuente de ventas, boletos y devoluciones.
- BI / bi_rebuild
- Capa analítica en Google Cloud. Tablas preparadas para reportes de negocio.
- OLTP / public
- Base operativa con copia fiel de Betterez. Para auditoría técnica.
- Grano (grain)
- Qué representa una fila: 1 boleto, 1 transacción, o 1 ítem adicional.
- PI- (sold item)
- Transacción de ítem adicional: seguro, impuesto RG3819, boleto seguro menor.
- R- (refund)
- Transacción de devolución vinculada a una venta original.
- sale_date
- Fecha de venta en hora Argentina. Eje temporal estándar del tablero.
- travel_date
- Fecha del viaje (salida del bus). Distinta de la fecha de venta.
- is_paid
- Filtro oficial: boleto vendido neto, sin cancelación ni devolución.
- ETL
- Proceso diario que transforma datos operativos en tablas analíticas.
- MicroStrategy (MSTR)
- Herramienta de tableros que consume la capa BI.
- Legacy SAP
- Sistema histórico pre-GCP. Referencia para migración, no para KPIs actuales.