Guía de Fórmulas Avanzadas para Layouts Bancarios
💸

Guía de Fórmulas Avanzadas para Layouts Bancarios

Esta guía describe las funciones (métodos) avanzadas disponibles para construir el código JSON de tu Layout Bancario. Estas funciones te permiten manipular textos, fechas y números para cumplir con los requisitos específicos de cada banco.

Las funciones se dividen por el tipo de dato que manipulan: String (texto), Date (fechas) y Numeric (números).

Funciones de Manipulación de Texto (StringFormula)

Utilizadas para dar formato, extraer o modificar cadenas de texto (strings).

FunciónImplementaciónDescripción
SPLIT_PARTSPLIT_PART(value, sep, part)Divide un texto (value) usando un separador (sep) y devuelve la parte especificada por el índice (part).
MERGE_STRMERGE_STR(sep, arg1, arg2, ...)Une varios textos (arg1, arg2, etc.) utilizando un separador (sep).
SUBSTRSUBSTR(value, from, to)Extrae una porción de un texto (value) desde una posición inicial (from) hasta una posición final (to).
REPLACEREPLACE(value, pivot, to)Reemplaza todas las ocurrencias de un patrón (pivot) dentro de un texto (value) por un nuevo texto (to).
REPLACE_CHARREPLACE_CHAR(value, pos, char)Reemplaza el carácter en una posición específica (pos) de un texto (value) por un nuevo carácter (char).
UPPERCASEUPPERCASE(value)Convierte el texto (value) completamente a MAYÚSCULAS.
LOWERCASELOWERCASE(value)Convierte el texto (value) completamente a minúsculas.
UNACCENTUNACCENT(value)Elimina acentos y caracteres especiales del texto, dejando solo caracteres ASCII.
CLEAN_TEXTCLEAN_TEXT(value)Realiza una limpieza completa: elimina acentos, caracteres especiales y normaliza espacios en blanco.

Funciones de Manipulación de Fechas (DateFormula)

Utilizadas para obtener, formatear y calcular información relacionada con el tiempo.

FunciónImplementaciónDescripción
CURRENT_DATECURRENT_DATE(format)Retorna la fecha actual. Se puede especificar el formato de salida (por defecto es '%d-%m-%Y').
FORMAT_DATEFORMAT_DATE(value, format)Formatea una fecha (value) según el formato especificado (format).
PERIODICITYPERIODICITY(value)Convierte la periodicidad de pago de inglés ('monthly', 'weekly', etc.) a su equivalente en español.
PERIODICITY_MONTHPERIODICITY_MONTH(periodicity, date)Calcula el número de período (semana, quincena, etc.) dentro del mes según la periodicidad y fecha.
PERIODICITY_YEARPERIODICITY_YEAR(periodicity, date)Calcula el número de período (semana, quincena, etc.) dentro del año según la periodicidad y fecha.
DAYDAY(num)Retorna el nombre del día de la semana en español a partir de un número (1=lunes, 7=domingo).
MONTHMONTH(num)Retorna el nombre del mes en español a partir de un número (1=enero, 12=diciembre).

Funciones de Manipulación Numérica (NumericFormula)

Utilizadas para realizar cálculos y aplicar lógica a valores numéricos.

FunciónImplementaciónDescripción
INTERVALINTERVAL(value, inc)Multiplica un valor base (value) por un incremento (inc).
ABSABS(number)Retorna el valor absoluto de un número.
ROUNDROUND(value, num)Redondea un número (value) a la cantidad de decimales (num) especificada (por defecto 0).
DECIMALDECIMAL(value, num)Formatea un número (value) para que tenga una cantidad específica de decimales (num).
VALUEVALUE(column_type, type, value, char)Compara el tipo de columna actual con un tipo esperado. Si coinciden, retorna el value; si no, retorna char.
VALUE_ABSVALUE_ABS(column_type, type, value, char)Similar a VALUE, pero retorna el valor absoluto del value si los tipos coinciden.
VALUE_ROTATEVALUE_ROTATE(column_type, type, value, char)Función avanzada que maneja el retorno de valores o caracteres basándose en la coincidencia de tipos y el signo del value.

Ejemplos Prácticos: ¿Cómo uso una Fórmula?

Para que las fórmulas (como SUBSTR, REPLACE o CURRENT_DATE) funcionen, deben ser usadas en el campo value dentro de la configuración JSON, combinadas con sus parámetros.

1. Ejemplos de Fórmulas de Texto (String)

Objetivo: Obtener solo el dígito verificador del RUT (último carácter).

En lugar de usar la variable simple employee_identifier, usarás la fórmula SUBSTR.

{ "value": "SUBSTR(employee_identifier, -1, -1)" }

// Extrae el último carácter de la variable 'employee_identifier'

Objetivo: Unir el RUT de la empresa con su nombre, separados por un guion.

{ "value": "MERGE_STR('-', company_identifier, company_name)" }

// Resultado esperado: 76123456-5-Mi Empresa S.A.

Objetivo: Asegurar que el nombre de la empresa esté en mayúsculas.

{ "value": "UPPERCASE(company_name)" }

// Resultado esperado: MI EMPRESA S.A.

2. Ejemplos de Fórmulas de Fecha (Date)

Objetivo: Obtener la fecha de creación del archivo en formato YYYYMMDD.

Opción 1: Usando la fórmula CURRENT_DATE

{ "value": "CURRENT_DATE('%Y%m%d')" }

// Resultado esperado (ejemplo): 20251114

Opción 2: Usando el parámetro format (más común para variables existentes)

Esto aplica el formato a una variable que ya contiene una fecha (como file_creation_date).

{ "value": "file_creation_date", "format": "%Y%m%d" }

3. Ejemplos de Fórmulas Numéricas

Objetivo: Obtener el valor absoluto del monto a pagar (útil si el monto employee_amount puede ser negativo, pero el banco solo acepta positivos).

{ "value": "ABS(employee_amount)" }

Objetivo: Redondear el monto total a pagar sin decimales.

{ "value": "ROUND(total_records_amount, 0)" }