Practicar liquidaciones es una tarea artesanal que requiere mucho tiempo, involucra manejo de intereses, imputaciones y tediosos cálculos matemáticos con índices bancarios aplicados de acuerdo a la normativa vigente.

Esta plataforma propone una forma novedosa de realizar liquidaciones haciendo foco en el planteo del problema más que en su resolución. Mediante el uso de una interfase de línea de comandos, un concepto propio de la programación, veremos como se resuelven liquidaciones de forma rápida y sencilla.

Intérprete de comandos

Podemos imaginar un IC como una persona con quién podemos dialogar a través del teclado utilizando un lenguaje muy simple, el problema es que esta persona solo sabe hacer dos cosas. Interpretar y resolver. A simple vista estas habilidades no serían suficientes para abordar semejante desafío, la clave está en que estas dos cosas las sabe hacer muy bien. 😎

El primer encuentro con un IC puede ser extraño ya que solo veremos un cursor intermitente esperando instrucciones sobre un fondo en blanco, pero una vez superado este momento veremos que el diálogo se torna fluído e interesante a medida que comprendemos su lógica de funcionamiento.

Funcionamiento

El IC funciona en un ciclo en donde cada petición dispara los siguientes eventos en estricta secuencia para volver a su estado incial.

Cada una de estas etapas son administradas por módulos independientes que operan en entre sí en forma muy eficiente para entregar una respuesta al usuario. Esta respuesta tiene siempre la misma estructura:

  1. Secuencia de cálculos
  2. Resultado final
  3. Cálculos auxiliares

Comencemos con lo más básico, presionar OK sin escribir nada y ver lo que sucede para analizar la respuesta.

Fecha Descripción Capital Hasta Tasa % Interés Total
$0

El resultado es cero ya que no se ha ingresado nada todavía, por la misma causa la tabla de items también está sin datos pero ya podemos ver algo de su estructura. Todo item o rubro tiene sus atributos que son: fecha de origen, descripción, capital, fecha de corte, tasa en términos porcentuales, interés (o tasa aplicada al capital) y total (o subtotal según el caso). No hay cálculos auxiliares porque no fueron necesarios todavía.

Capital

Si hay un dato esencial que no puede faltar en una liquidación es el capital. Este dato, numérico siempre, si se encuentra en la petición será reconocido como tal. Probemos ingresar un número cualquiera, por ejemplo 1000 y presionemos OK o Ctrl-Enter.

1000

El IC ya tiene al menos un dato para trabajar. La respuesta no nos sorprenderá mucho en este caso pero es un buen momento para detenernos para analizar su respuesta y describir algunos eventos interesantes que se han producido.

Fecha Descripción Capital Hasta Tasa Interés Total
25/12/2023 1000 25/12/2023 0 0 1000
$1,000
Los datos ingresados no pueden contener puntos, comas ni signos $ o %. El valor obtenido como resultado, tiene una coma separadora de miles pero es al solo efecto de facilitar su lectura.
Descripción

Con el fin de mejorar la salida, el IC nos permite agregar una descripción al rubro que se desea liquidar. Este dato anexo, no aporta nada al resultado pero mejora mucho la presentación, en especial cuando tenemos más de un rubro. Esta descripción es libre y se puede agregar después de una coma.

1000, Camisa
Fecha Descripción Capital Hasta Tasa % Interés Total
25/12/2023 Camisa 1000 25/12/2023 0 0 1000
$1,000

Ahora la tabla de items está completa haciendo más comprensible su lectura y ligando el capital a una descripción.

La descripción no puede tener comas en su texto ya que las mismas se utilizan como separadores de información. El orden de los datos ingresados no afecta el resultado, en este caso particular da lo mismo escribir 1000, Camisa que Camisa, 1000.
Fecha de origen

Una vez definidos el capital y su descripción, solo queda ubicar en el tiempo estos datos proporcionando una fecha de origen. Como de costumbre, basta escribirla luego de una coma.

1000, Camisa, 15/07/2022
Fecha Descripción Capital Hasta Tasa % Interés Total
2022-07-15 Camisa 1000 2023-12-25 240.78 2408 3408
$3,408
Indices UVA desde 2022-07-15
Valor a la fecha de origen: 132.34
Valor a la fecha de liquidación: 450.97
hasta 2023-12-25: ((450.97 / 132.34) - 1) x 100 = 240.77%
Tasa al día 2023-12-25 = 240.7662082515%
		

El IC resolverá la liquidación tomando esa fecha de origen. Si no se establece la fecha de liquidación el IC asumirá la fecha actual. El orden de los datos ingresados no afecta el resultado.

El intérprete de comandos es bastante flexible con el formato de las fechas ingresadas. Se obtiene el mismo resultado escribiendo 15/7/2022, 2022-07-15 o 15-7-2022.
Fecha de corte

En toda liquidación, cuando se omite la fecha de corte se asume la fecha actual. Cuando se requiere establecer una fecha específica se agrega a la instrucción luego de una coma.

1000, Camisa, 15/07/2022, 30/11/2023

El IC ha detectado dos fechas y asignado la primera como fecha de origen y la segunda como fecha de corte de liquidación. Es importante aclarar que estas fechas no necesariamente deben estar en ese orden.

Fecha Descripción Capital Hasta Tasa % Interés Total
2022-07-15 Camisa 1000 2023-11-30 217.82 2178 3178
$3,178
Indices UVA desde 2022-07-15
Valor a la fecha de origen: 132.34
Valor a la fecha de liquidación: 420.60
hasta 2023-11-30: ((420.60 / 132.34) - 1) x 100 = 217.82%
Tasa al día 2023-11-30 = 217.8177421792%
		

Cuando el IC detecta más de una fecha, interpreta la fecha más antigua como fecha de origen y la otra como fecha de corte de liquidación. Expresado en otras palabras, el IC resolverá en forma inteligente la interpretación de fechas haciendo que el orden de las mismas no altere el resultado.

Nótese que los cálculos intermedios de la tasa se presentan con 2 decimales pero internamente las operaciones se realizan en coma flotante con 10 decimales como se muestra en el resultado final.

Tasa automática

Hasta el momento, las liquidaciones de ejemplo realizadas tienen fecha de origen reciente y el cálculo de la tasa se ha basado en índices UVA. Este comportamiento no es casual, el IC tiene las habilidades suficientes para seleccionar la tasa de acuerdo a la fecha de origen. Probemos resolver la siguiente liquidación con una fecha del año 2016.

1000, Camisa, 15/07/2016, 08/12/2023
Fecha Descripción Capital Hasta Tasa % Interés Total
2016-07-15 Camisa 1000 2023-12-08 1970.35 19703 20703
$20,703
Tasa Activa BNA (plenario Aguirre) desde 2016-07-15
hasta 2016-10-11: (32.00% / 365) x 87 días = 7.63%
hasta 2016-12-26: (27.00% / 365) x 76 días = 5.62%
hasta 2017-01-27: (25.00% / 365) x 32 días = 2.19%
hasta 2017-10-29: (24.00% / 365) x 275 días = 18.08%
Tasa al día 2017-10-29 = 33.5232876712%

Tasa Libre 36 BNA (plenario Citibank) desde 2017-10-30
hasta 2018-01-01: (32.00% / 365) x 62 días = 5.44%
Tasa al día 2018-01-01 = 5.4356164384%

Indices UVA BCRA (Ley 9041) desde 2018-01-02
Valor a la fecha de origen: 21.15
Valor a la fecha de liquidación: 429.64
hasta 2023-12-08: ((429.64 / 21.15) - 1) x 100 = 1931.39%
Tasa al día 2023-12-08 = 1931.3947990544%

Tasa = 33.52% + 5.44% + 1931.39% = 1970.35%
Tasa al día 2023-12-08 = 1970.353703
		

Aquí el intérprete de comandos detectó que la fecha de origen es anterior al plenario Citibank es por ello que ahora la tasa aplicable se obtiene sumando los resultados de tres tramos parciales.

Desde el 15/07/2016 hasta el 29/10/2017 tasa activa (plenario Aguirre), desde el 30/10/2017 hasta el 01/01/2018 tasa libre 36 BNA (plenario Citibank) y a partir del 02/01/2018, fecha de publicación de la Ley 9041, utiliza los índices UVA provistos por el BCRA.

Cualquier combinación de fechas de origen y corte definidas en una liquidación, será resuelta por el IC respetando estrictamente este esquema. Probemos aplicar una fecha de origen inmediatamante después del plenario Citibank haciendo que desaparezca el tramo de tasa activa.

1000, Camisa, 11/11/2017, 08/12/2023
Fecha Descripción Capital Hasta Tasa % Interés Total
2017-11-11 Camisa 1000 2023-12-08 1935.78 19357 20357
$20,357
Tasa Libre 36 BNA (plenario Citibank) desde 2017-11-11
hasta 2018-01-01: (32.00% / 365) x 50 días = 4.38%
Tasa al día 2018-01-01 = 4.3835616438%

Indices UVA BCRA (Ley 9041) desde 2018-01-02
Valor a la fecha de origen: 21.15
Valor a la fecha de liquidación: 429.64
hasta 2023-12-08: ((429.64 / 21.15) - 1) x 100 = 1931.39%
Tasa al día 2023-12-08 = 1931.3947990544%

Tasa = 4.38% + 1931.39% = 1935.78%
Tasa al día 2023-12-08 = 1935.778361
		
Tasa activa

En términos de tasa aplicable, cuando no se especifica nada el IC asume la tasa automática resolviendo de acuerdo a la fecha de origen. En este caso particular forzaremos el procedimiento de cálculo para que utilice solo Tasa Activa del BNA. Para ello, basta agregar a nuestra instrucción la palabra activa como en el siguiente ejemplo.

1000, Camisa, 15/07/2022, 30/10/2023, activa
Fecha Descripción Capital Hasta Tasa % Interés Total
2022-07-15 Camisa 1000 2023-10-30 120.80 1207 2207
$2,207
Tasa Activa BNA (plenario Aguirre) desde 2022-07-15
hasta 2022-07-21: (55.95% / 365) x 5 días = 0.77%
hasta 2022-08-18: (61.20% / 365) x 28 días = 4.69%
hasta 2022-09-14: (67.42% / 365) x 27 días = 4.99%
hasta 2022-10-26: (76.57% / 365) x 42 días = 8.81%
hasta 2022-11-14: (82.42% / 365) x 19 días = 4.29%
hasta 2022-12-15: (83.32% / 365) x 31 días = 7.08%
hasta 2023-01-23: (82.95% / 365) x 39 días = 8.86%
hasta 2023-02-15: (84.00% / 365) x 23 días = 5.29%
hasta 2023-03-27: (83.40% / 365) x 40 días = 9.14%
hasta 2023-04-28: (86.25% / 365) x 32 días = 7.56%
hasta 2023-05-16: (88.57% / 365) x 18 días = 4.37%
hasta 2023-06-15: (103.27% / 365) x 30 días = 8.49%
hasta 2023-07-14: (110.32% / 365) x 29 días = 8.77%
hasta 2023-08-23: (111.22% / 365) x 40 días = 12.19%
hasta 2023-09-18: (136.05% / 365) x 26 días = 9.69%
hasta 2023-10-23: (137.55% / 365) x 35 días = 13.19%
hasta 2023-10-30: (136.87% / 365) x 7 días = 2.62%
Tasa al día 2023-10-30 = 120.7990684932%
		
Tasa pasiva

En este caso particular forzaremos el procedimiento de cálculo para que utilice solo Tasa Pasiva del BNA. Para ello, basta agregar a nuestra instrucción la palabra pasiva como en el siguiente ejemplo.

1000, Camisa, 15/07/2022, 30/10/2023, pasiva
Fecha Descripción Capital Hasta Tasa % Interés Total
2022-07-15 Camisa 1000 2023-10-30 110.55 1105 2105
$2,105
Tasa Pasiva BNA desde 2022-07-15
hasta 2022-07-21: (48.00% / 365) x 5 días = 0.66%
hasta 2022-08-12: (53.00% / 365) x 22 días = 3.19%
hasta 2022-09-16: (69.50% / 365) x 35 días = 6.66%
hasta 2023-03-17: (75.00% / 365) x 182 días = 37.40%
hasta 2023-04-28: (78.00% / 365) x 42 días = 8.98%
hasta 2023-05-17: (91.00% / 365) x 19 días = 4.74%
hasta 2023-08-16: (97.00% / 365) x 91 días = 24.18%
hasta 2023-10-18: (118.00% / 365) x 63 días = 20.37%
hasta 2023-10-30: (133.00% / 365) x 12 días = 4.37%
Tasa al día 2023-10-30 = 110.5493150685%
		
Tasa libre36

En este ejemplo vamos a forzar el procedimiento de cálculo para que utilice solo Tasa del BNA para préstamos de libre disponibilidad a 36 meses. Para ello, basta agregar a nuestra instrucción la palabra libre36 como en el siguiente ejemplo.

1000, Camisa, 15/07/2022, 30/10/2023, libre36
Fecha Descripción Capital Hasta Tasa % Interés Total
2022-07-15 Camisa 1000 2023-10-30 41.29 412 1412
$1,412
Tasa Libre 36 BNA (plenario Citibank) desde 2022-07-15
hasta 2023-10-30: (32.00% / 365) x 471 días = 41.29%
Tasa al día 2023-10-30 = 41.2931506849%
		
Tasa libre72

En este ejemplo vamos a forzar el procedimiento de cálculo para que utilice solo Tasa del BNA para préstamos de libre disponibilidad a 72 meses. Para ello, basta agregar a nuestra instrucción la palabra libre72 como en el siguiente ejemplo.

1000, Camisa, 15/07/2022, 30/10/2023, libre72
Fecha Descripción Capital Hasta Tasa % Interés Total
2022-07-15 Camisa 1000 2023-10-30 138.78 1387 2387
$2,387
Tasa Libre 72 BNA (Ley 9516) desde 2022-07-15
hasta 2022-08-05: (75.00% / 365) x 20 días = 4.11%
hasta 2022-09-01: (83.00% / 365) x 27 días = 6.14%
hasta 2022-11-01: (93.00% / 365) x 61 días = 15.54%
hasta 2023-04-28: (98.50% / 365) x 178 días = 48.04%
hasta 2023-05-03: (108.50% / 365) x 5 días = 1.49%
hasta 2023-05-18: (118.50% / 365) x 15 días = 4.87%
hasta 2023-09-12: (124.50% / 365) x 117 días = 39.91%
hasta 2023-10-18: (138.50% / 365) x 36 días = 13.66%
hasta 2023-10-30: (153.00% / 365) x 12 días = 5.03%
Tasa al día 2023-10-30 = 138.7821917808%
		
Tasa UVA

Para ser estrictos, el término "Tasa UVA" es incorrecto ya que la serie UVA no es una tasa bancaria, es un estimador de inflación provisto por el BCRA que está ligado directamante al IPC. Si bien mediante una sencilla fórmula se le da aspecto de tasa, el resultado del cálculo es una regla de tres simple aplicada al capital para hacerlo proporcional a la evolución del indice.

MUY IMPORTANTE:

...A falta de acuerdo entre las partes o ausencia de otra ley especial aplicable al caso, las obligaciones de dar dinero tendrán una tasa de interés moratorio equivalente a la evolución de la serie de la Unidad de Valor Adquisitivo (U.V.A.) que publica el Banco Central de la República Argentina (BCRA)..

Así comienza el segundo párrafo del Artículo 1 de la Ley 9041. Sin precisar detalles, establece aplicar una de tasa de interés moratorio EQUIVALENTE a la evolución de la serie UVA. Dada esta condición y sin una interpretación explícita, la UNICA FORMA NATURAL de satisfacer el concepto de equivalencia es aplicar al capital la misma variación porcentual dada entre los índices, tal como se utiliza en la actualidad mediante la siguiente fórmula:

Tasa = ((i1 / i0) - 1) * 100

en donde

i0 = indice a la fecha de origen
i1 = indice a la fecha de liquidación

Habiéndo realizado esta aclaración, vamos a forzar el procedimiento de cálculo para que utilice índices UVA. Para ello, basta agregar a nuestra instrucción la palabra uva como en el siguiente ejemplo.

1000, Camisa, 15/07/2022, 30/10/2023, uva
Fecha Descripción Capital Hasta Tasa % Interés Total
2022-07-15 Camisa 1000 2023-10-30 184.57 1845 2845
$2,845
Indices UVA desde 2022-07-15
Valor a la fecha de origen: 132.34
Valor a la fecha de liquidación: 376.60
hasta 2023-10-30: ((376.60 / 132.34) - 1) x 100 = 184.57%
Tasa al día 2023-10-30 = 184.5700468490%
		

Es importante aclarar que si se declara una fecha de origen anterior a la entrada en vigencia de la ley 9041, la tasa resultante será cero ya que no habrá indices UVA definidos para realizar el cálculo.

Tasa BCRA

El Artículo 1 de la Ley 9516 establece que para el caso de que las sumas adeudadas fueran exclusivamente por el incumplimiento de las obligaciones establecidas en el Libro Segundo, Título IV, Capítulo Segundo, Sección Primera del Código Civil y Comercial de la Nación, se aplicará la tasa de interés por préstamos personales de moneda nacional al sector privado no financiero, a más de ciento ochenta (180) días de plazo, que informa el Banco Central de la República Argentina. El carácter alimentario de las sumas adeudadas no podrá extenderse más allá de lo establecido en las normas citadas anteriormente". En este ejemplo vamos a realizar un cálculo utilizando esta tasa Tasa del BCRA para préstamos de personales. Para ello, basta agregar a nuestra instrucción la palabra bcra como en el siguiente ejemplo.

1000, Cuota alimentaria, 15/07/2022, 30/10/2023, bcra
Fecha Descripción Capital Hasta Tasa % Interés Total
2022-07-15 Cuota alimentaria 1000 2023-10-30 110.59% 1105 2105
$2,105
Cuota alimentaria
Tasa Bcra desde 2022-07-15
hasta 2022-08-23: (66.32% / 365) x 39 días = 7.09%
hasta 2022-09-15: (80.46% / 365) x 23 días = 5.07%
hasta 2022-10-06: (78.03% / 365) x 21 días = 4.49%
hasta 2022-10-31: (84.51% / 365) x 25 días = 5.79%
hasta 2023-01-30: (79.82% / 365) x 91 días = 19.90%
hasta 2023-02-23: (76.65% / 365) x 24 días = 5.04%
hasta 2023-03-17: (81.95% / 365) x 22 días = 4.94%
hasta 2023-05-04: (79.39% / 365) x 48 días = 10.44%
hasta 2023-05-29: (90.99% / 365) x 25 días = 6.23%
hasta 2023-06-22: (103.60% / 365) x 24 días = 6.81%
hasta 2023-08-04: (101.34% / 365) x 43 días = 11.94%
hasta 2023-08-28: (94.74% / 365) x 24 días = 6.23%
hasta 2023-09-19: (124.87% / 365) x 22 días = 7.53%
hasta 2023-10-10: (84.97% / 365) x 21 días = 4.89%
hasta 2023-10-30: (107.16% / 365) x 20 días = 5.87%
Tasa al día 2023-10-30 = 112.2534794521%
		
Tasa fija

En ocasiones será necesario aplicar una tasa fija durante un período determinado. La mecánica será la misma que en los ejemplos anteriores solo que en este caso se escribe la palabra interes, seguido de una coma y el interés anual sin el signo %. El mismo resultado se obtiene si se reemplaza la palabra interés por anual, fija o fijo.

1000, Camisa, 15/07/2022, 30/10/2023, interes, 5
Fecha Descripción Capital Hasta Tasa % Interés Total
2022-07-15 Camisa 1000 2023-10-30 6.47 64 1065
$1,065
Tasa del 5.00% anual desde 2022-07-15
hasta 2023-10-30: (5.00% / 365) x 472 días = 6.47
Tasa al día 2023-10-30 = 6.4657534247%
		
Selección de tasas

Cuando se desea practicar una liquidación utilizando una tasa específica, el IC nos da la libertad de utilizar distintas palabras para referirnos a ella haciendo que todas estas modalidades lleven al mismo resultado como lo muestra el siguiente esquema.

Tasa Referencia
Tasa Activa BNAactiva
Tasa Pasiva BNApasiva
Tasa Libre BNA 36 meseslibre, libre36, l36
Tasa Libre BNA 72 meseslibre72, l72
Tasa UVAuva, ley9041, l9041
Tasa BCRAbcra
Tasa fija o anualfija, fijo, anual, interes
Planteo flexible de comandos

El IC ha sido diseñado para que el usuario pueda plantear sus instrucciones sin necesidad de ajustarse a una sintaxis específica y nos da la libertad de cambiar el orden de los datos. El siguiente ejemplo muestra diez comandos diferentes que conducen al mismo resultado.

1000, Camisa, 15/07/2022, 30/11/2023, uva
Camisa, 1000, 15/07/2022, uva, 30/11/2023
30/11/2023, Camisa, 1000, 15/07/2022, uva
uva, 30/11/2023, Camisa, 1000, 15/07/2022
15/07/2022, uva, 30/11/2023, Camisa, 1000
1000, 15-07-2022, uva, 2023-11-30, Camisa
15/07/2022, 30/11/2023, 1000, Camisa, uva
Camisa, uva, 15-07-2022, 30/11/2023, 1000
2023-11-30, 15-07-2022, 1000, Camisa, uva
Camisa, uva, 2023/11/30, 15-07-2022, 1000

El ejemplo anterior es solo una demostración de que el intérprete de comandos es agnóstico al orden de entrada de los datos, de todos modos y en adelante, se tratará de normalizar el orden de la siguiente forma:

  1. Fecha de origen
  2. Descripción
  3. Capital
  4. Fecha de liquidación
  5. Resto de los modificadores

La idea es que el orden de los datos de entrada concuerde con el orden de los datos de la tabla de items del resultado, de esta manera lo que veníamos escribiendo como:

1000, Camisa, 15/07/2022, 30/11/2023

tendrá ahora el siguiente orden:

2022-07-15, Camisa, 1000, 2023-11-30

o lo que es lo mismo...

15/07/2022, Camisa, 1000, 30/11/2023

el formato de la fecha es irrelevante.

Instrucciones multiples

Hasta el momento, todas las instrucciones solicitadas al IC han sido simples, es decir una misma petición con distintos modificadores pero al final siempre ha sido una sola.

No obstante ello, el IC puede procesar más de una instrucción a la vez por ejemplo:

15/07/2022, Camisa, 1000, 30/10/2023
22/12/2022, Pantalón, 1700, 30/10/2023
Registros Acumulado
Fecha Descripción Capital Hasta Tasa % Interés Total Interés Capital Saldo
2022-07-15 Camisa 1000 2023-10-30 184.57 1845 2845 1845 1000 2845
2022-12-22 Pantalón 1700 2023-10-30 106.06 1803 3503 3648 2700 6348
$6,348
Camisa

Indices UVA desde 2022-07-15
Valor a la fecha de origen: 132.34
Valor a la fecha de liquidación: 376.60
hasta 2023-10-30: ((376.60 / 132.34) - 1) x 100 = 184.57%
Tasa al día 2023-10-30 = 184.5700468490%

Pantalón

Indices UVA desde 2022-12-22
Valor a la fecha de origen: 182.76
Valor a la fecha de liquidación: 376.60
hasta 2023-10-30: ((376.60 / 182.76) - 1) x 100 = 106.06%
Tasa al día 2023-10-30 = 106.0625957540%
		

Nótese ahora, cuando se ingresan instrucciones múltiples, entran en escena tres nuevas columnas de valores acumulativos, una para capital, otra para interés y la última denominada saldo que representa la suma de las anteriores. Se incluyen también los cálculos auxiliares de las tasas correspondientes para cada rubro en forma individual exponiendo todo el proceso de cálculo hasta alcanzar el resultado final.

15/07/2022, Camisa, 1000, 30/10/2023
22/12/2022, Pantalón, 1700, 30/10/2023

Dado que el sistema realiza liquidaciones llevando todos los items a una misma fecha de corte, ya no es necesario especificarla en cada item en particular, solo basta agregar esta fecha al final del planteo como se muestra a continuación:

15/07/2022, Camisa, 1000
22/12/2022, Pantalón, 1700
30/10/2023

De la misma manera que para las instrucciones simples, rigen las mismas reglas para las instrucciones múltiples y se pueden hacer combinaciones como las siguientes:

1000, Ejemplo A, 2014-04-11, 2015-04-11, fija, 5
1000, Ejemplo B, 2015-04-11, 2017-10-29, activa
1000, Ejemplo C, 2017-10-30, 2018-01-01, libre
1000, Ejemplo D, 2018-01-02, 2023-11-28, uva

El IC procesará cada una de las transacciones en forma independiente, ubicará cada rubro en la tabla de resultados en prolija secuencia y brindará al pie el detalle de cada uno de los cálculos realizados.

Pagos parciales

Habiendo comprendido los conceptos básicos de manejo del IC, y para acercar la teoría a la práctica, intentaremos envolver este apartado dentro de una pequeña historia.

Dos amigos, Juan y Damián deciden festejar el día del amigo del año 2021 en un bar. Luego de un par de horas de diversión llega el momento de pagar la cuenta, Juan intenta pagar su parte y advierte que olvidó su billetera. Damián tranquiliza a su amigo diciendo que se hará cargo de los gastos y acuerdan anotar en una servilleta el detalle para no olvidarse. Así las cosas, el papel de Damián tiene escrito mas o menos lo siguiente.

CONSUMOS DE JUAN
20-07-2021, Hamburguesa, 1000
20-07-2021, Gaseosa, 250

Un par de meses después, sucede algo similar. Luego de un partido de tenis hay que pagar el alquiler de la cancha, Juan no tiene dinero y Damián se hace cargo del costo, no sin antes sacar de su billetera aquella servilleta para actualizar su contenido.

CONSUMOS DE JUAN
20-07-2021, Hamburguesa, 1000
20-07-2021, Gaseosa, 250
21-09-2021, Tenis, 500

Un año después, y en el marco de los festejos de fin de año, Juan decide ponerse al día con su amigo quién le muestra la servilleta para informarle el estado de su cuenta. Rapidamente Juan suma los items que totalizan $1750, abre su billetera, toma $2000 pesos y Damián lo detiene diciendo que no se apresure mientras escribe al final de la servilleta la fecha actual a modo de cierre.

CONSUMOS DE JUAN
20-07-2021, Hamburguesa, 1000
20-07-2021, Gaseosa, 250
21-09-2021, Tenis, 500
31-12-2022

Damián hasta este momento, tenía en su servilleta no solo una lista de items, tenía allí planteado un problema que sabía que debía resolver tarde o temprano. Llegado ese día y con total seguridad, le dijo a su amigo que la deuda era de $3846.

Una sensación fría y destemplada atravesó a Juan quién sin salir de su asombro, entregó sus $2000 a cuenta. Damián actualizó su servilleta y le contestó que si bien la deuda se había reducido, su pago solo pudo cubrir parte de los intereses, el capital sigue intacto y todavía le queda por pagar $1846.

CONSUMOS DE JUAN
20-07-2021, Hamburguesa, 1000
20-07-2021, Gaseosa, 250
21-09-2021, Tenis, 500
31-12-2022, Pago, -2000
31-12-2022

Nunca se supo si la deuda fue cancelada, ni cómo Damián resolvió esos cálculos, lo cierto es que desde entonces a Juan y Damián no se los vió juntos nunca más. 😅

Fin.

Más allá de lo particular de nuestra historia, lo importante es que en todo momento lo que escribía Damián en su servilleta, era un problema expresado en forma minimalista que el intérprete de comandos SABE RESOLVER.

Pruebe copiar y pegar cualquiera de estos problemas para ver el resultado. Nótese que si no se especifica la fecha de cierre, el algoritmo asume la fecha actual. Con respecto a los pagos parciales, la única diferencia que tienen es que el capital es negativo. Pueden ingresarse todos los pagos que sean necesarios, el IC procesará cada instrucción hasta alcanzar el resultado final. No se requiere ordenar la información, el IC se encargará de hecerlo por Ud.

Notará que el IC al detectar un pago, liquida previamente los rubros anteriores y los lleva a esa fecha para hacer la quita siempre sobre intereses primero y luego sobre el capital. De la misma manera, todo saldo de capital acumula intereses hasta el próximo pago y así sucesivamente. El algoritmo mantiene siempre capital e intereses aislados para no caer en situaciones de anatosismo o capitalización de intereses.

Es importante destacar que cuando el algoritmo requiere intercalar intereses entre pagos o hasta alcanzar la fecha de liquidación, el cálculo se realiza utilizando la misma tasa fijada en el capital inmediato anterior.

Información extra

Hay información que se puede agregar a los comandos de instrucciones múltiples que no afectan al resultado pero que son de gran utilidad. Estos son el título y los comentarios.

Una línea sola con texto y sin instrucciones, se considera un título el cual aparecerá luego en el encabezado del resultado de la liquidación.

CONSUMOS DE JUAN
20-07-2021, Hamburguesa, 1000, 31/12/2022

Muy pronto no será necesario "guardar" el procedimiento de cálculo de una liquidación. Mucho más práctico será quedarse con el planteo del problema ya que es entendible para cualquiera y puede resolverse en todo momento.

Para estos casos, sería de gran ayuda la posibilidad de incluir en el planteo algunos comentarios que nos sirvan de aclaración a futuro y que el IC los ignore al momento de procesarlos. Esto se consigue agregando una linea que comience con # (numeral) y a partir de allí todo es un comentario. Es importante mencionar que las líneas en blanco son ignoradas también.

CONSUMOS DE JUAN
# Cervecería de calle Arístides
20-07-2021, Hamburguesa, 1000, 31/12/2022
# Oasis Tenis Club - hora de cancha
21-09-2021, Tenis, 500
Conclusión

Si ha llegado hasta este punto comprendiendo cada uno de los temas de este instructivo, en adelante solo queda practicar y analizar los resultados.

El desarrollo de este aplicativo ha tomado meses de ardua tarea de programación y diseño, si bien está en funcionamiento, se encuentra todavía en fase de prueba. Si advierte alguna inconsistencia o considera que podría mejorarse, le agradeceríamos mucho nos lo haga saber.