Presupuesto con conceptos, totales y notas, datos del cliente y validez. Pagina bien aunque crezca el detalle.

Guarda el JSON como presupuesto.json y, en local (gratis):
npx kove render presupuesto.json -o presupuesto.pdfO díselo a tu agente (Claude Code) con el MCP conectado:
claude mcp add kove -- npx @kove/mcp{
"page": {
"size": "A4",
"margin": "18mm"
},
"header": {
"repeat": true,
"text": "Estudio Creativo · presupuestos@estudio.com"
},
"footer": {
"repeat": true,
"pageNumbers": "Página {page} de {pages}"
},
"body": [
{
"type": "heading",
"text": "Presupuesto P-0042"
},
{
"type": "fields",
"items": [
{
"label": "Para",
"value": "Nordia Retail"
},
{
"label": "Fecha",
"value": "2026-06-28"
},
{
"label": "Validez",
"value": "30 días"
},
{
"label": "Contacto",
"value": "Ana Ruiz"
}
]
},
{
"type": "text",
"text": "Gracias por tu interés. A continuación el detalle de la propuesta para el proyecto de tienda online."
},
{
"type": "divider"
},
{
"type": "table",
"repeatHeader": true,
"keepRowTogether": true,
"columns": [
{
"key": "concept",
"label": "Concepto"
},
{
"key": "qty",
"label": "Uds",
"align": "right"
},
{
"key": "price",
"label": "Precio",
"align": "right"
},
{
"key": "total",
"label": "Total",
"align": "right"
}
],
"rows": [
{
"concept": "Auditoría y arquitectura de la tienda",
"qty": "1",
"price": "900,00 €",
"total": "900,00 €"
},
{
"concept": "Diseño UI (15 pantallas)",
"qty": "1",
"price": "3.000,00 €",
"total": "3.000,00 €"
},
{
"concept": "Desarrollo frontend",
"qty": "1",
"price": "4.500,00 €",
"total": "4.500,00 €"
},
{
"concept": "Integración pasarela de pago",
"qty": "1",
"price": "800,00 €",
"total": "800,00 €"
}
]
},
{
"type": "totals",
"keepWithPrevious": true,
"lines": [
{
"label": "Subtotal",
"value": "9.200,00 €"
},
{
"label": "IVA 21%",
"value": "1.932,00 €"
},
{
"label": "Total",
"value": "11.132,00 €",
"emphasis": true
}
]
},
{
"type": "spacer",
"size": "10mm"
},
{
"type": "section",
"keepTogether": true,
"title": "Notas",
"body": [
{
"type": "text",
"text": "Plazo estimado de entrega: 6 semanas desde la aceptación."
},
{
"type": "text",
"text": "Este presupuesto no incluye el coste de licencias de terceros ni hosting."
}
]
}
]
}