Saltar a contenido

Módulo: Reportes

Generación de reportes en PDF, Excel y otros formatos con múltiples engines.

Engines de Generación

  • ReportLab: PDFs programáticos
  • WeasyPrint: HTML/CSS a PDF
  • XlsxWriter: Excel con formato
  • openpyxl: Lectura/escritura Excel

Tipos de Reportes

  • Reporte de ventas
  • Inventario disponible
  • Comisiones de asesores
  • Ausencias y puntualidad
  • Comprobaciones de gastos
  • Tickets y acuerdos
  • Rankings mensuales

Funcionalidades

  • Generación on-demand
  • Filtros por fecha, plaza, usuario
  • Export a PDF o Excel
  • Envío por email (opcional)
  • Caché de reportes frecuentes

Formato de Salida

def generar_reporte_ventas(fecha_inicio, fecha_fin, plaza=None):
    # Obtener datos
    apartados = Apartado.objects.filter(...)

    # Generar PDF
    buffer = BytesIO()
    pdf = canvas.Canvas(buffer)
    # ... renderizar
    pdf.save()

    return buffer

API

  • GET /api/reportes/ventas/?inicio=2024-01-01&fin=2024-12-31
  • GET /api/reportes/inventario/?plaza=MTY
  • GET /api/reportes/comisiones/?asesor_id=5