Pulse/Facturas y pedidos en Salesforce con Visualforce e IA

Facturas y pedidos en Salesforce con Visualforce e IA

En una masterclass reciente, JuanMa, Josu, Fran y Esti mostraron cómo generar PDFs de facturas, pedidos y recibos en Salesforce con Visualforce e IA (Claude, ChatGPT, Gemini, Grok, Manus), más el camino LWC con jsPDF.

Resumí este artículo con

TL;DR

Salesforce aún no entrega un Flow nativo que diagrama PDFs de facturas o pedidos. En la masterclass, JuanMa guió un método reproducible: capturar la Lightning Record Page, refinar el prompt (Prompt Cowboy), comparar Claude/ChatGPT/Gemini/Grok/Manus, pegar Visualforce renderAs PDF y exponerlo con un Custom Action en el Lightning App Builder. Hablan compliance (mascarar campos, no filtrar data sensible). Esti muestra LWC + jsPDF vía static resources como camino más moderno a producción. Josu tipifica CSS viejo de Visualforce, paginación, headers dinámicos por marca y controllers Apex con estructura de objeto. Fran aporta Prompt Cowboy y experimentos con Antigravity/Cursor. Data ficticia; foco en gimnasia multi-LLM, no en un único modelo eterno.

Hace poco, Vantegrate grabó una masterclass de los jueves con un combo que duele en casi toda org. Facturas, pedidos y recibos en PDF todavía no salen nativos de un Flow con diseño visual listo.

La clase completa está en YouTube. Juan Manuel Garrido (JuanMa) la condujo con Josué Mendoza (Josu), Francisco Morales (Fran) y Esteban Morales (Esti) encima del caso.

El equipo de Vantegrate lo dejó claro de entrada. Hoy no es un tutorial de "aprieten acá y listo": es gimnasia con varios LLM para generar Visualforce (y también Lightning Web Components) que impriman documentos.

La excusa pedagógica es perfecta. Necesitan un PDF de factura, pedido o recibo desde un registro de Salesforce, y quieren que la IA les acerque el código sin inventar magia que la clase no mostró.

El problema: Salesforce no les regala el PDF diagramado

JuanMa abrió con el dolor real. Todavía no hay una funcionalidad nativa tipo Flow donde digan "agarren estos campos, diagramen y tiren un PDF hermoso".

Es raro en el ecosistema. Pero no es el fin del mundo: con Visualforce (renderAs PDF) se hace hace años, y hoy la IA acelera ese camino.

El objetivo de la masterclass no fue memorizar un snippet. Fue destrabar la cabeza para usar Claude, ChatGPT, Gemini, Grok, Manus y herramientas de IDE con criterio.

Josu sumó Cursor (su "nuevo amor" del momento, con guiño a Antigravity). Fran y Esti aportaron prompts, seguridad y el camino LWC.

Si viven en el día a día del CRM Salesforce, el patrón aplica a Opportunity, pedido custom, gasto, factura o casi cualquier objeto. La clase lo demostró con data ficticia de punta a punta.

También dejaron el marco de producto. Vantegrate trabaja IA dentro y fuera de Salesforce; esta clase fue del lado "cómo construyen ustedes el documento", no del brochure.

Qué van a ver en el mapa de la clase

Primero, el resultado final andando. Un botón en la Lightning Record Page que abre un PDF demo (y otra acción más potente que arma mail con el PDF incrustado).

Después, el método reproducible. Capturan la record page, la pasan a varios LLM con un prompt sólido, comparan outputs y meten el mejor en una página Visualforce.

Luego, el wiring en Setup. Action de tipo Custom Visualforce, botón en el Lightning App Builder, y cuidado con páginas viejas que piden Upgrade Now.

Esti mostró la alternativa moderna. PDF con Lightning Web Components más librería JavaScript (jsPDF) como static resource.

Josu cerró con tips de campo. CSS viejo de Visualforce, paginación en facturas largas, headers dinámicos por marca, y cómo darle al LLM la estructura del objeto para armar controller Apex.

En Pulse y en recursos encuentran el ciclo de estas masterclass. Acá el foco es facturas, pedidos y PDF con IA, no el deck eterno.

La comunidad también escuchó un anuncio lateral. Fran habló de un portal de estudio (teoría, práctica, mocks) con OmniStudio como primer módulo; el nombre lo iba a votar la comunidad.

Del registro al PDF: el truco de la captura

JuanMa partió de un objeto de gastos (recibos) y mostró otra instancia con requerimientos al estilo Opportunity más productos. Misma idea: registro rico, botón, documento.

Todo ficticio. Lo remarcaron varias veces para que nadie confunda demo con datos reales de cliente.

El flujo mental es simple. Si pueden ver la información en la Lightning Record Page, un LLM puede extraerla de una captura y proponer el layout del recibo o factura.

Sirve para Opportunity, tarea, gasto, factura o un custom de reclutamiento con CVs. El PDF hermoso no es exclusivo de facturación.

La "película" final que mostraron incluye un botón demo para previsualizar. El otro botón genera el PDF, arma un correo y lo manda con el adjunto incrustado.

Eso es lo que muchas operaciones de pedidos necesitan. Menos captura de pantalla manual, más documento listo para el cliente.

Prompt corto, Prompt Cowboy y Whisper Flow

El primer prompt fue casi minimal. "Estoy adjuntando una captura de una Lightning Record Page de un gasto; construyan un recibo en formato PDF".

Ahí entra la magia de Prompt Cowboy. Metieron el prompt chico y pidieron mejorarlo.

Salió un prompt maestro mucho más completo.

Fran lo validó desde la práctica. El refinador les hace notar cosas que no definieron (permisos, campos faltantes) y a veces pregunta para cerrar huecos.

JuanMa dictó con Whisper Flow. Tip de productividad: dictar el prompt base y después pasarlo por el refinador ahorra fricción.

Cuanto más completo el prompt, menos inventa el modelo. Si no especifican, el LLM asume; y asumir es el atajo a basura elegante.

También probaron categorías dentro de Prompt Cowboy. No es lo mismo pedir Research que pedir Code: el tipo de prompt cambia la calidad del output.

Varios LLM, misma captura: la gimnasia que importa

La clase no coronó un único ganador eterno. Compararon ChatGPT, Claude, Grok, Manus y Gemini con la misma imagen y el mismo pedido.

¿Por qué tanta gimnasia? Porque el modelo que hoy les sale redondo puede no ser el de dentro de dos meses.

Necesitan el hábito de probar, no el fanatismo de marca. Eso fue el mensaje repetido.

JuanMa marcó a Claude como favorito para código prolijo y documentado. Fran coincidió: para generación de código, Claude suele llevar el puesto uno.

Grok apareció como complemento brutal de performance. Manus se destacó por trabajar con máquinas virtuales Linux visibles en la UI.

Gemini entró en el pack "picante" del momento. También comentaron que quien paga Google One a veces trae acceso a Gemini con límites menos obvios que en la API.

Sobre tokens, Fran y JuanMa contrastaron. Claude y Manus se sienten más restrictivos; ChatGPT, Gemini y Grok, más generosos en el uso diario.

El mensaje operativo es claro. Para un caso de uso puntual, un LLM gana; para el oficio, ustedes ganan si saben rotar.

Refinar hacia Visualforce (sin inventar campos)

El segundo paso fue pedir código de Visualforce puro, sin Apex, para entender el render PDF rápido.

Refinaron el prompt con el API name del objeto. Si viene de managed package, verán prefijo; si es custom clásico, el patrón cambia.

Otro tip de compliance en vivo. Le pidieron al modelo etiquetas placeholder en lugar de campos reales, para ver el layout y completar después a mano.

Eso conecta con la conversación de seguridad. Esti: muchas empresas restringen IA; lo ideal es mascarar datos y no filtrar confidenciales.

Fran matizó. Exponer solo API names no es lo mismo que mandar DNI reales; el riesgo crece cuando el LLM manipula data sensible.

JuanMa sumó el ángulo legal. Por seguridad y transparencia de datos, el compliance con el cliente manda aunque el hacker remoto sea improbable.

También asomó el riesgo de estructura. Conocer el modelo de objetos puede alimentar prompt injection en formularios externos; no es paranoia gratuita.

Si el documento vive cerca de procesos de lectura inteligente, productos como Arconte encajan en la conversación de captura y transformación. En esta clase el foco fue generar el PDF desde Salesforce con IA, no el OCR de punta a punta.

Wiring en la org: página, action y botón

Crearon una Visualforce page (en la demo, "Gasto Mágico"). Vaciaron el template y metieron el output del LLM.

El action del objeto apunta a Custom Visualforce. Si hay una sola page del objeto, aparece preseleccionada; si no, eligen en el picklist.

Después, Edit Page en la Lightning Record Page. Lightning App Builder, zona de actions, y el botón nuevo junto a Edit.

Cuidado con pages antiguas. Si la record page es vieja, Salesforce pide Upgrade Now / Migrate antes de administrar botones como hoy.

Limpien el quilombo de actions. Sacan lo que no usan (móvil vs desktop) y dejan el action de PDF visible donde el usuario lo encuentra en un clic.

Al hacer clic, el renderAs PDF muestra el documento en pantalla. Desde ahí pueden pensar Flow, descarga o envío por mail (la clase mostró el camino demo y el camino "mail con PDF" como película final).

Quick Save en Visualforce ayuda a ver errores de campo al instante. Si el LLM inventó API names, el quick save los delata.

Para quien construye el cableado fino, el mapa natural sigue en Salesforce developers. Acá el foco fue el método con IA, no el tratado de Apex.

Esti y el camino LWC + jsPDF

Esti (Bebé Corazón en la comunidad) mostró la vía más moderna. Lightning Web Component que descarga un PDF sin Visualforce.

Salesforce no trae eso de fábrica. Suben la librería JavaScript como static resource (en la demo, jsPDF; y otra para tablas si hace falta).

Setup, Static Resources, New. Bajan el JS desde un CDN confiable (jsDelivr), lo guardan como archivo, lo suben público o privado según criterio.

En el LWC importan los resources y cargan los scripts al iniciar. Después usan la API de la librería para armar el documento con campos del objeto que elijan.

¿Cómo pedírselo a un LLM o a un IDE con contexto? Esti lo resumió en tres pasos.

Traen los static resources al entorno (Antigravity u otro). Y piden: "con estas librerías, generen un LWC que arme un PDF con nombre, teléfono e industria".

Preguntaron por seguridad del JS de terceros. Esti: miren el CDN, vulnerabilidades cero publicadas, GitHub revisado; si quieren, VirusTotal y lectura línea a línea.

JuanMa fue explícito al cerrar el round. Si va a producción con muchos usuarios, el camino de Esti (LWC) es el que va; Visualforce más LLM sirve muy bien para aprender y para funcionalidad de uso no intenso.

Pidieron votos en el chat para una clase deep dive de LWC y PDF. Si la comunidad pide, el tema vuelve con más profundidad.

Tips de Josu para facturas que no se rompen

Josu se la pegó muchas veces con PDFs reales. Sus tips cortos valen oro cuando el LLM se pone creativo con HTML5.

Aclárenle al modelo que Visualforce usa CSS viejo. Si no, mete estilos modernos que la página PDF no banca.

Pidan paginación cuando hay muchos productos. En facturas largas, footers y cortes quedan mal si no lo dicen.

Si la empresa tiene varias marcas, pidan headers y footers dinámicos. Logos e IDs no pueden quedar hardcodeados a una sola brand.

Cuando el LLM no conoce el objeto, Josu (con cuidado) le pasa la estructura desde el IDE. Así arma mejor la Visualforce, el controller Apex y la clase de soporte.

Eso choca con la recomendación de no filtrar metadata sensible. El tip existe; el compliance de su cliente manda el límite.

También recomendó revisar a ojo los API names generados. El camino manual es Object Manager, copiar el API name real y corregir el markup.

Antigravity, Cursor y la cabeza de developer

Fran contó experimentos con Antigravity (y el combo con Gemini) fuera del núcleo Salesforce: portales MVP en pocos prompts, después refinados.

Josu venía de Cursor y miraba el salto. La clase no fue un bake-off de IDEs; fue recordar que el developer moderno orquesta modelos.

También hablaron de Wavebox (browser basado en Chromium que usa JuanMa) y de Arc (el de Esti). Detalle de tooling, no de producto Salesforce.

Si quieren ver agentes y copilots en el stack Vantegrate, el mapa está en agentes de IA. Esta masterclass fue más "LLM externo genera Visualforce/LWC" que Agentforce adentro de la org.

Para arquitectura y demos de producto, pueden pedir una demo o mirar precios cuando toque conversación comercial. El aprendizaje de la clase es el método, no el precio del token.

Fran dejó una provocación controlada. En algunos portales livianos, un MVP con IA podría cubrir el 90% de lo que antes pedían a una Experience cara; amamos Salesforce, y igual miramos el bolsillo del cliente.

Cierre operativo (sin sermón)

Quedaron tres caminos claros. Uno: Visualforce renderAs PDF generado con IA y botón en la record page.

Dos: LWC más jsPDF para un PDF más moderno y mantenible. Tres: la gimnasia de prompts (Cowboy más captura más varios LLM) que aplica a cualquier documento desde un registro.

La comunidad y el ritmo semanal de Vantegrate siguen: un jueves masterclass, el otro inglés para Salesforce. Si se perdieron el vivo, el recording en YouTube cubre el hilo principal (la antesala, como siempre, queda en la antesala).

Prueben el método con un objeto chico y data ficticia. Cuando el PDF de factura o pedido les salga redondo en sandbox, recién ahí piensen producción, Flow y gobernanza.

Y si el documento es el cuello de botella de su operación comercial, lleven el aprendizaje a diseño de proceso. El botón bonito no reemplaza reglas de negocio, approvals ni el cuidado de quién ve qué.

Preguntas frecuentes

Por qué usar Visualforce para facturas y pedidos?

Porque Salesforce no ofrece (aún) un diseñador nativo tipo Flow para armar PDFs diagramados. Visualforce con renderAs PDF es el camino clásico; la IA acelera el código.

Cómo generaron el PDF con inteligencia artificial?

Capturaron la Lightning Record Page, refinaron el prompt, lo pasaron a varios LLM y pegaron el mejor output en una página Visualforce vinculada a un action en la record page.

Visualforce o Lightning Web Components?

Visualforce + LLM sirve para aprender y para usos no intensos. Para producción con muchos usuarios, Esti mostró LWC con jsPDF como static resource: más moderno y mantenible.

Qué cuidados de seguridad mencionaron?

Mascarar datos, evitar filtrar información confidencial al LLM, y preferir placeholders de etiquetas frente a API names sensibles cuando el compliance del cliente lo exige.

Qué tips dio Josu para facturas largas?

Avisarle al modelo que Visualforce usa CSS viejo, pedir paginación cuando hay muchos productos, headers y footers dinámicos por marca, y (con cuidado) pasar la estructura del objeto para armar el controller Apex.

Juan Manuel Garrido

Escrito por

Juan Manuel Garrido

Co-founder, Vantegrate

Co-fundador de Vantegrate y fundador de EGA Futura (1994). Lleva más de 30 años creando software empresarial para América Latina y es partner de Salesforce desde 2009. Escribe sobre CRM, procesos de negocio y los ecosistemas Salesforce y Oracle.

Más de 35 integraciones directas

SalesforceMercado PagoOpenpayPaywayOracleServiceNowSlackSAPStripeFiservSalesforce Marketing CloudMicrosoft Dynamics 365HubSpotWhatsApp BusinessSalesforceMercado PagoOpenpayPaywayOracleServiceNowSlackSAPStripeFiservSalesforce Marketing CloudMicrosoft Dynamics 365HubSpotWhatsApp Business

¿Cuántas ventas se perdieron mientras leías esto?

Cada minuto sin responder un mensaje de WhatsApp es una oportunidad que se va a tu competencia. Agendá una demo y descubrí cuánto puede vender Sellium por tu empresa.

Agendar demo
Equipo en oficina al atardecer
Equipo en pasillo de oficina
Equipo trabajando con laptops
Equipo trabajando junto al puerto
Equipo en sala de reuniones
Equipo trabajando con vista al río
Salesforce
ISV Partner
AppExchange Partner
Salesforce · Desde 2009
Oracle
OCI Partner
Marketplace & OCI Partner
Oracle Cloud Infrastructure
Compartir