Rodolfo Gaspary
Volver al índice

Mallas Trujillo

Una empresa de mallas de seguridad cotizaba a mano: medir en obra, calcular el área, aplicar el descuento que correspondía y armar el documento. El sistema convierte eso en un formulario y una proforma imprimible, y deja los precios en manos del dueño.

Rol
Diseño y desarrollo completo
Cliente
Mallas Trujillo
Stack
PHP, MySQL, PDO, Bootstrap
Alcance
Cotización, historial y precios
Código
Ver repositorio

El problema

El costo de una instalación depende del área total, y el área depende de cuántos paños se midieron en obra. A eso se suman descuentos por volumen, costos adicionales que varían según el acceso, y un mínimo de instalación por debajo del cual el trabajo no es rentable. Hecho a mano, cada cotización es una hoja de cálculo distinta, y cada error aritmético es dinero perdido o un cliente molesto.

Los precios viven en la base de datos

La decisión que define el sistema es que el precio por metro cuadrado y los tres tramos de descuento por área no están en el código: están en una tabla, editable desde una pantalla del sistema. Cuando sube el costo del material, el dueño cambia un número y todas las cotizaciones siguientes usan el valor nuevo. Nadie necesita llamar al desarrollador, y no hay una versión del precio en la app y otra en la cabeza del vendedor.

El servidor recalcula el total

El formulario calcula mientras el usuario escribe, para que vea el monto antes de guardar. Pero al guardar, el servidor vuelve a calcular todo desde los ítems almacenados — área, subtotal, descuento, adicionales y el mínimo de instalación — y escribe ese resultado. El navegador propone; la base de datos decide. Toda la operación va dentro de una transacción, así que una proforma nunca queda a medio guardar.

El PDF sin librería de PDF

La proforma se entrega como PDF, pero el sistema no genera PDFs. Renderiza una página con una hoja de estilos de impresión — tamaño A4, márgenes, colores forzados — y deja que el navegador la exporte. Cero dependencias que mantener, y funciona en el celular que el instalador lleva a la obra. La versión móvil muestra instrucciones en vez de lanzar el diálogo de impresión, porque el flujo de "guardar como PDF" en un teléfono no es evidente para quien no lo ha hecho antes.

El resto del sistema

El repositorio contiene la versión de desarrollo local. Esta página describe el enfoque y la arquitectura; el código está publicado tal cual quedó.