Descripción General
El sistema utiliza PhpSpreadsheet para generar exportaciones en formato Excel (.xlsx) con estilos profesionales, incluyendo encabezados formateados, bordes, colores alternados en filas y fórmulas para totales.Controladores de Exportación
ProductoExportController
Maneja la exportación e importación de productos. Ubicación:app/Http/Controllers/Exports/ProductoExportController.php
Métodos Disponibles
descargarPlantilla(Request $request)- Descarga plantilla Excel para importar productosdescargarExcel(Request $request)- Exporta productos a Excel con filtros
VentaExportController
Genera múltiples tipos de reportes de ventas en Excel, TXT y PDF. Ubicación:app/Http/Controllers/Exports/VentaExportController.php
Métodos Disponibles
exportarTxt(Request $request)- Exporta registro de ventas en formato PLE 14.1 (SUNAT)exportarExcel(Request $request)- Exporta ventas en formato Excel simplereporteRVTA(Request $request)- Registro de Ventas formato SUNAT en ExcelreporteVentasProducto(Request $request)- Reporte de ventas agrupadas por productoreporteGanancias(Request $request)- Reporte de ganancias por ventaexportarPdf(Request $request)- Exporta reporte de ventas en PDF
Rutas de Exportación
Rutas API (requieren autenticación)
Configuradas enroutes/api.php:
Uso de PhpSpreadsheet
Importaciones Necesarias
Crear un Nuevo Spreadsheet
Configurar Encabezados
Aplicar Estilos a Encabezados
Filas con Colores Alternados
Plantilla de Importación de Productos
Características
- 11 columnas: Código, Producto, Detalle, Categoría, Unidad, Moneda, Costo, Stock, Precio Venta, Precio Distribuidor, Precio Mayorista
- Fila de ejemplo con formato destacado y comentario
- Anchos de columna predefinidos para mejor legibilidad
- Validación visual con colores diferenciados
Estructura de la Plantilla
Fila de Ejemplo
Comentario en Celda
Descargar Plantilla
Exportación de Productos
Con Filtros de Búsqueda
Título y Metadata
Totales con Fórmulas
Exportación de Ventas
Registro de Ventas Simple
Registro de Ventas SUNAT (RVTA)
Formato oficial para presentación a SUNAT:- CUO (Código Único de Operación)
- Fecha Emisión
- Tipo Doc / Serie / Número
- Tipo Doc Cliente / Nro Doc Cliente / Razón Social
- Base Imponible / IGV / Exonerado / Inafecto
- ISC / ICBPER / Otros
- Total / Moneda / Estado
Reporte de Ventas por Producto
Agrupa y suma ventas por producto:- Código
- Producto
- Unidad
- Cantidad Vendida
- Número de Ventas
- Subtotal / IGV / Total
Reporte de Ganancias
Calcula ganancia = Precio Venta - Costo:- Documento / Fecha / Cliente
- Producto / Cantidad
- Precio Venta / Costo
- Total Venta / Ganancia
- Ganancias positivas en verde (
059669) - Ganancias negativas en rojo (
DC2626) - Cálculo de margen de ganancia en porcentaje
Exportación TXT (Formato PLE SUNAT)
Registro de Ventas PLE 14.1
Formato texto con 35 campos separados por pipe (|):
Nombre de Archivo PLE
Descargar TXT
Configuración de Anchos de Columna
Formato de Números
Generar y Descargar Archivo
Método 1: Headers y Output Directo
Método 2: Archivo Temporal
Importación de Productos
VerProductoImportController para la lectura e importación de archivos Excel:
Rutas disponibles:
Mejores Prácticas
- Usar estilos consistentes - Define arrays de estilos reutilizables
- Colores alternados - Mejora legibilidad con filas de color alternado
- Formato de números - Aplica formato numérico apropiado (decimales, moneda)
- Anchos de columna - Configura anchos adecuados o usa autoSize
- Fórmulas para totales - Usa fórmulas Excel en lugar de valores estáticos
- Headers de descarga - Configura correctamente Content-Type y Content-Disposition
- Archivos temporales - Limpia archivos temporales después de descargar
- Validación de datos - Valida datos antes de exportar para evitar errores
- Manejo de errores - Captura excepciones y registra en logs
- Permisos - Verifica permisos del usuario antes de exportar datos sensibles