REDA One Centro de ayuda
ES
Idioma
English EN Español ES Português PT Italiano próximamente Français FR Deutsch próximamente العربية próximamente
reda.one ↗
Inicio / REDA Financials AI / API e integración / Desarrollo personalizado / Integración con Salesforce Flows

Integración con Salesforce Flows

La mayoría de la automatización de REDA Financials no necesita código en absoluto: los Flows leen y escriben los objetos contables como cualquier registro, contabilizar es una actualización de campo, y el paquete aporta una acción lista para usar para generar PDF. Este es el conjunto de herramientas declarativas.

La acción empaquetada: "Generate PDF Document"

En el selector de acciones de Flow, bajo la categoría REDA Financials: entrégale un Source Record ID y el Source Object API Name (por ejemplo, refin__Sales_Invoice__c) y la acción genera el documento, lo adjunta y devuelve Success / Content Version ID / Content Document ID / Public URL / Error Message. Es segura para operaciones masivas dentro de bucles. Usos típicos: generar según una programación, adjuntar a tus propios flujos de correo, producir el documento en el momento en que se cumple una condición de un Flow disparado por registro.

El paquete distribuye dos acciones invocables: esta y Create E-Invoice Trail, en la categoría E-Invoicing (consulta Desarrollo con Apex). Una superficie pequeña y completamente documentada. Su autodescripción: "Generates a PDF for the given source transaction record and attaches it as a File."

EntradaObligatorioDescripción empaquetada (textual)
ID de registro de origenSí"The Id of the source transaction record (SI, CR, CD, CM, PO)."
Source Object API NameSí"Fully qualified API name of the source object (e.g. refin__Sales_Invoice__c)."
SalidaQué obtienes
SuccessVerdadero/falso por fila; revísalo antes de usar las demás salidas
Content Version ID / Content Document IDEl archivo generado, ya adjunto al registro de origen como un archivo (File) de Salesforce
Public URLSe completa solo "if the Entity has Auto Public URL enabled; null otherwise": el texto empaquetado dice Entidad, pero el campo que lee el código es refin__Auto_Public_URL__c ("Generate Public URL for PDFs") en el Territorio del documento, resuelto documento → Entidad → Territorio; construye tus enlaces de correo de forma condicional
Mensaje de errorEl motivo cuando Success es falso; si faltan entradas, devuelve textualmente "sourceRecordId and sourceObjectApiName are required."

Objetos de origen admitidos: exactamente cuatro, más un caso especial: refin__Sales_Invoice__c, refin__Cash_Receipt__c, refin__Cash_Disbursement__c, refin__Purchase_Order__c; las notas de crédito se manejan como un tipo de Sales Invoice (refin__Sales_Invoice_Type__c), así que para ellas pasa el nombre del objeto SI. Dentro de bucles la acción es realmente segura para operaciones masivas: las solicitudes se agrupan por objeto, se generan en lote y los resultados se devuelven en el orden de entrada; una fila con error falla sola, con su propio Error Message.

Puede que no necesites el Flow en absoluto. Cada Entidad tiene interruptores de autogeneración por tipo de documento: refin__Auto_Gen_PDF_Sales_Invoice__c, refin__Auto_Gen_PDF_Cash_Receipt__c, refin__Auto_Gen_PDF_Cash_Disbursement__c, refin__Auto_Gen_PDF_Purchase_Order__c, refin__Auto_Gen_PDF_Credit_Memo__c. Si el requisito completo es "que toda factura contabilizada tenga su PDF", activa el interruptor; reserva la acción de Flow para la generación condicional o programada.
Puede que se necesite acceso a la clase. Los diez conjuntos de permisos empaquetados ya otorgan acceso de clase Apex a refin.PDFGeneratorAPI (y a refin.EInvoiceTrailCreator), así que cualquier usuario con un conjunto de permisos de REDA Financials puede ejecutar la acción. Un usuario en ejecución sin ninguno de ellos — por ejemplo un Flow que corre como cuenta de servicio — sí necesita que le otorgues la clase explícitamente. Pruébalo en un sandbox con el usuario real de ejecución antes de publicar el Flow.

Contabilización (y más) desde Flow

Acción en FlowQué sucede
Crear refin__Sales_Invoice__c + líneas (Borrador)Un borrador real: numerado, con valores predeterminados y validado
Actualizar refin__Status__c → 'Posted'El motor de contabilización completo: impuesto, retenciones, tipos de cambio, todos los controles (un rechazo hace fallar el Flow con el mensaje textual: construye una ruta de falla)
Crear un registro de aplicaciónAplica un recibo o una nota de crédito con todas las reglas de coincidencia
Flow disparado por registro ante un cambio de estadoTu lógica de notificación/integración en el momento contable (se dispara tanto con cambios desde la interfaz como desde la API)
Establecer refin__Auto_Apply_Receipt__c = true en un recibo contabilizadoDispara la ejecución de aplicación automática para ese recibo; campos indicador como este son puntos de contacto diseñados para Flow

Tres Flows que vale la pena copiar

  • El puente de aprobación: tu proceso de aprobación personalizado termina estableciendo Approval Status en 'Approved' y el estado en 'Posted'; el documento fluye de la solicitud a los libros contables, sin clics.
  • La alerta de factura grande: disparado por registro en Sales Invoice, condición de entrada Status = Posted AND Total > 50,000, acción = notificar al canal del contralor.
  • La cacería del documento: un Flow programado busca facturas contabilizadas sin PDF (Generated At nulo) y las recorre a través de Generate PDF Document.
Un Flow externo que conviene conocer: las organizaciones multimoneda que usan la sincronización de tipos de cambio (FX Rate Sync) instalan un pequeño Flow complementario ("Create Dated Conversion Rate") que escribe los tipos diarios; se distribuye por separado porque los tipos con fecha solo existen cuando la Gestión Avanzada de Divisas está activada. La tarjeta de Operaciones te indica claramente si falta.

Un Flow real en Meridian: el paquete de bienvenida del inquilino

Meridian Properties Group envía cada primera factura recién contabilizada con su PDF adjunto. Un solo Flow disparado por registro sobre refin__Sales_Invoice__c: condición de entrada Status changed to Posted; una decisión verifica que sea la primera factura contabilizada del cliente; la acción Generate PDF Document se ejecuta con el Id del registro y refin__Sales_Invoice__c; una decisión tolerante a fallas sobre Success se ramifica: verdadero continúa hacia la acción de correo con el Content Document adjunto, falso registra el Error Message en un caso para cuentas por pagar. Tiempo total de construcción: una tarde, sin Apex, seguro ante actualizaciones por construcción.

Errores comunes que debes evitar

ErrorPor qué afectaHaz esto en su lugar
No tener una ruta de falla en la actualización de contabilizaciónUn período cerrado hace fallar toda la ejecución del Flow, y todo lo demás que estuviera a mitad de caminoCada elemento de actualización de estado debe tener un conector de falla que dirija el mensaje textual a un lugar donde una persona lo lea
Usar la salida Public URL sin condiciónEs nula a menos que el Territorio del documento tenga Generate Public URL for PDFs habilitado; tu plantilla de correo envía un enlace vacíoRamifica según la salida, o usa en su lugar el archivo adjunto Content Document
Pasar una factura de compra a Generate PDF DocumentLas PI no están en el conjunto admitido (SI, CR, CD, PO, CM a través de SI); la fila fallaRevisa la lista de objetos admitidos; las facturas a proveedores no necesitan PDF de cara al cliente
Editar registros contabilizados desde un Flow before-saveLos documentos contabilizados están bloqueados para todos; el Flow falla en los campos fuera del conjunto de flujo de trabajo permitidoRestringe las ediciones del mismo registro a los Borradores; reacciona ante los registros contabilizados, no los reescribas
Duplicar la automatización del paquete en tus propios FlowsLa generación recurrente, la aplicación automática y las instantáneas de antigüedad ya se ejecutan en el programador de Operaciones; un Flow paralelo compite con ellasRevisa las doce tarjetas de la pestaña Operaciones antes de construir; extiende, no dupliques

Qué sigue

  1. Streaming API: las contrapartes basadas en eventos.
  2. Desarrollo con Apex en REDA: cuando Flow se queda sin margen.
  3. Programador de operaciones: la automatización que el paquete ya ejecuta por ti.
Documentación oficial de Salesforce Flow Builder es una herramienta estándar de automatización de Salesforce; para todo lo relacionado con la construcción de los flows en sí, consulta Automatizar tareas con Flows. Los enlaces se abren en una pestaña nueva.

Preguntas frecuentes

Funciona como está diseñado: un control de contabilización rechazó la operación (período cerrado, aprobación pendiente, descuadre…). El mensaje de falla es el motivo exacto; envíalo a una persona o corrige el dato de origen. Nunca reintentes a ciegas: el control se mantendrá firme.

Aplica la guía estándar: before-save para ajustes de campos del mismo registro en borradores (los registros contabilizados ya están bloqueados de todos modos), after-save para reacciones (notificaciones, registros relacionados). No compitas con la automatización propia del paquete: reacciona a los estados finales.

El servicio de cálculo es una superficie de Apex; desde Flow, la vía práctica es crear el documento en borrador (el impuesto se previsualiza en el formulario y los montos se finalizan al contabilizar). Si realmente necesitas el cálculo bruto desde Flow, un wrapper invocable delgado alrededor de GlobalTaxService es una clase Apex de diez líneas; consulta Desarrollo con Apex.

Porque los objetos son la API: crear, actualizar y cambiar el estado de los registros cubre contabilizar, aplicar y reaccionar sin acciones a medida. La generación de PDF y la creación de un rastro de factura electrónica son las dos tareas que realmente necesitaban empaquetarse; todo lo demás es Flow estándar sobre registros estándar.

Solo si usas la sincronización de tipos de cambio (FX Rate Sync) en una organización multimoneda: el paquete escribe los tipos diarios a través de ese Flow instalado por separado, porque los tipos de cambio con fecha solo existen cuando la Gestión Avanzada de Divisas está habilitada. Si falta, la sincronización te lo indica textualmente: "The \"Create_Dated_Conversion_Rate\" Flow is not installed. FX Rate Sync requires this Flow to write DatedConversionRate records. Please install the REDA FX Rate Sync component."

¿Te resultó útil?