📄 Vista previa del reporte
Haz clic en "Imprimir / Guardar PDF" para descargar
← Volver
Sistema de Gestión Integral
REPORTE DE VENTAS {{ locales[local_sel].icono }} {{ locales[local_sel].nombre }}
Período: {{ fecha_from }} al {{ fecha_to }}
Generado: {{ generado.strftime('%d/%m/%Y %H:%M') }}

{{ locales[local_sel].nombre }}

{{ fecha_from }} → {{ fecha_to }} · {{ stats.dias }} días
💰 Total del Período
${{ '{:,.0f}'.format(stats.total_monto) }}
{{ stats.total_ventas }} registros
📅 Promedio por Día
${{ '{:,.0f}'.format(stats.promedio_dia) }}
{{ stats.dias }} días del período
📊 Promedio por Registro
{% set prom_reg = (stats.total_monto / stats.total_ventas) if stats.total_ventas else 0 %}
${{ '{:,.0f}'.format(prom_reg) }}
por transacción
💳 Desglose por Medio de Pago
{% set medios_pago = [ ('💵', 'Efectivo', stats.efectivo, '#1e7a40', 'efectivo'), ('💳', 'Débito', stats.debito, '#1a6fbb', 'debito'), ('💳', 'Crédito', stats.credito, '#7b4fa6', 'credito'), ('🏦', 'Transferencia', stats.transferencia, '#c8930e', 'transferencia'), ('🔄', 'Otros', stats.otros, '#6c757d', 'otros'), ] %} {% for icono, nombre, monto, color, _ in medios_pago %}
{{ icono }} {{ nombre }}
${{ '{:,.0f}'.format(monto) }}
{{ '%.1f'|format((monto / stats.total_monto * 100) if stats.total_monto else 0) }}%
{% endfor %}
{% if stats.ventas %}
🕐 Ventas por Turno
{% set am_ventas = stats.ventas | selectattr('turno','equalto','AM') | list %} {% set pm_ventas = stats.ventas | selectattr('turno','equalto','PM') | list %} {% set am_total = am_ventas | sum(attribute='total') %} {% set pm_total = pm_ventas | sum(attribute='total') %}
☀️ Turno AM (mañana)
${{ '{:,.0f}'.format(am_total) }}
{{ am_ventas|length }} registros
🌙 Turno PM (tarde)
${{ '{:,.0f}'.format(pm_total) }}
{{ pm_ventas|length }} registros
📋 Detalle de Movimientos
{% for v in stats.ventas | sort(attribute='fecha') %} {% endfor %}
# Fecha Hora Turno Descripción Medio de Pago Responsable Monto
{{ loop.index }} {{ v.fecha.strftime('%d/%m/%Y') }} {{ v.creado.strftime('%H:%M') if v.creado else '—' }} {{ v.turno }} {{ v.producto }} {% if v.notas and '[CIERRE_TURNO]' in v.notas %} (cierre) {% endif %} {% if v.forma_pago == 'efectivo' %} 💵 Efectivo {% elif v.forma_pago == 'debito' %} 💳 Débito {% elif v.forma_pago == 'credito' %} 💳 Crédito {% elif v.forma_pago == 'transferencia' %} 🏦 Transfer. {% else %} 🔄 Otros {% endif %} {{ v.vendedor or '—' }} ${{ '{:,.0f}'.format(v.total) }}
TOTAL ${{ '{:,.0f}'.format(stats.total_monto) }}
{% else %}
Sin registros en el período seleccionado
{% endif %}