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-31GET /api/reportes/inventario/?plaza=MTYGET /api/reportes/comisiones/?asesor_id=5