En esta página

Propuesta comercial

Una propuesta de varias hojas compuesta por bloques: portada con el cliente, alcance, planes, tarifas y cierre.

propuesta-comercial: el documento con el que se presenta un servicio, no el que pasa un precio. Para lo segundo está la cotización, que cabe en una hoja. Esta ocupa las que haga falta: una portada con el nombre de su cliente, las secciones que usted mande y un cierre con su contacto.

Es un documento por bloques. Usted arma la secuencia en secciones; aquí se dibuja cada una según su tipo y se pagina en orden. El vocabulario del negocio —«250 inmuebles», «Plan mensual», «24 horas hábiles»— llega en los datos, así que la misma propuesta sirve para una copropiedad, para una cadena de sedes o para cualquier otro servicio.

"issuer": { "name": "PIENSA IT", "nit": "902001989-5", "phone": "…", "email": "…", "web": "…", "logo": "https://…/logo.png" },
"portada": {
  "rotulo": "PROPUESTA 2026",
  "linea": "SERVICIOS PARA PROPIEDAD HORIZONTAL",
  "titulo": "Facturación clara.\nOperación tranquila.",
  "entrada": "Procesamos, verificamos y entregamos la facturación mensual…",
  "rotuloDelCliente": "PROPUESTA PREPARADA PARA",
  "cliente": { "nombre": "Conjunto Residencial Los Almendros", "magnitud": "250 inmuebles", "nota": "Plan propuesto" },
  "numero": "PC-2026-014", "version": "2", "fecha": "2026-09-29", "vigencia": "Vigencia 30 días"
},
"fondoTenue": "torres",
"secciones": [ /* ver abajo */ ],
"cierre": {
  "despedida": "Gracias por considerarnos",
  "titular": "Estamos listos para construir una operación clara y eficiente.",
  "rotuloDeContacto": "HABLEMOS",
  "contactos": ["3125655293", "[email protected]", "www.piensait.com"]
}
  • Obligatorios: portada.titulo, portada.cliente.nombre y secciones con al menos una. Si falta alguno, la respuesta es un 400 con faltan, que dice la ruta exacta —secciones[2].total.valor—, y no se compone nada.
  • El archivo se llama Propuesta_<portada.numero>_v<portada.version>.pdf, sin tildes ni espacios, con sin-numero si no llega el número y sin el _v… si no llega la versión.
  • portada.version sale además junto al número en la portada. Una propuesta se renegocia, y sin versión dos PDF del mismo cliente no se distinguen.
  • Las hojas son de 960 x 540 puntos (16:9), no A4: una propuesta se enseña en una pantalla y se pasa hoja a hoja.
  • fondoTenue pone una de las fotos muy clara detrás de las hojas de contenido, con velaDelFondoTenue entre 0.02 y 0.2 (por defecto 0.08).

Las secciones

Toda sección admite rotulo, titular, bajada, nota y nuevaHoja. Cada sección abre hoja salvo que traiga "nuevaHoja": false, que la junta con la anterior. Una sección que no cabe se parte sola.

tipo Qué dibuja Lo suyo
tarjetas Rejilla de tarjetas título + texto items[{titulo,texto}], columnas (1 a 3, 3 por defecto), numerar (true por defecto), franja, remate
lista Renglones de una línea items (textos), numerar
pasos Pasos numerados items[{titulo,texto}], destacado:{rotulo,texto}
tarifa Una modalidad de cobro cifra:{rotulo,valor}, filas[{concepto,valor}], total:{rotulo,valor}
comparativa Los planes uno al lado del otro planes[{nombre,distintivo}], filas[{caracteristica,valores[]}], precios[{rotulo,valores[]}]
texto Texto con formato cuerpo (HTML acotado con marcadores), valores, catalogo
separador Una banda de foto que encabeza el bloque siguiente fondo, velo

Los servicios opcionales son tarjetas con "columnas": 1 y "numerar": false. No hay un tipo aparte para eso.

Las fotos

La portada y las secciones separador admiten fondo: una foto a sangre con un velo del color del diseño encima, para que el texto se lea. Acepta una URL o un data: con la foto del inmueble —esa es la que manda— o el nombre de uno de los fondos que vienen de serie: torres, balcones y reticula. Tiene que ser PNG o JPEG; un SVG se dibuja a su tamaño original y sale recortado.

velo es la opacidad del color encima de la foto, de 0.55 a 1, y por defecto 0.78. Por debajo de 0.55 no se acepta: un cielo claro deja el titular blanco ilegible, y eso el motor no lo puede comprobar como comprueba el contraste de dos colores planos.

La separador es una hoja entera, como la portada y el cierre: la portadilla de un bloque. Sin foto queda del color del acento, que sigue sirviendo de respiro. La portada y el cierre también van del color de la marca, con el logo del emisor, y no llevan pie.

{ "tipo": "separador",
  "rotulo": "LO QUE CUESTA",
  "titular": "Dos modalidades, el mismo alcance",
  "bajada": "Elija cómo quiere pagarlo; lo que recibe no cambia.",
  "fondo": "reticula" }
{ "tipo": "tarifa",
  "rotulo": "Modalidad mensual",
  "titular": "Flexibilidad mes a mes",
  "cifra": { "rotulo": "TARIFA POR FACTURA GENERADA", "valor": "$1.770" },
  "filas": [ { "concepto": "Cantidad de inmuebles", "valor": "250" },
             { "concepto": "Valor mensual", "valor": "$442.500" } ],
  "total": { "rotulo": "TOTAL MENSUAL ANTES DE IVA", "valor": "$442.500" },
  "nota": "Mínimo comercial: 30 inmuebles. Valores antes de IVA." }

Las cifras llegan resueltas

Los valores son texto y se imprimen tal como llegan, con su moneda y su separador. Aquí no se multiplica la tarifa por la cantidad ni se suman las filas: por eso total.valor es obligatorio. Un total que no cuadre con sus filas sale impreso igual, porque quien responde por esa cifra es quien la manda.

El cuerpo de la sección texto admite el mismo HTML acotado que los contratos —h1 a h3, p, ul, ol, li, hr, table, strong, em, u, br— y los marcadores {"{{clave}}"}, que se rellenan con valores.

Diseños: violeta —el de defecto—, grafito, moderna, clasica y corporativa. Es la misma maquetación con otro color, y son estilizables.

Ejemplo completo: propuesta-comercial.json.