Saltar al contenido principal

Archivo de Saldos

La Wallet debe generar el archivo de saldos en un horario acordado de cierre, después de obtener los rendimientos diarios.

Este archivo debe contener todos los saldos disponibles de inversión de todas las cuentas. Para cada cuenta, se incluirá el monto ya invertido, el disponible de inversión y el último rendimiento, todo en un único saldo final.

El archivo generado será un CSV con un nombre y formato específico que facilite la gestión de la información y garantice la unicidad e identificación de cada archivo.

Nombre del archivo

Con el nombre del archivo podemos identificar el tipo de archivo o reporte y en qué fecha fue generado, esto para no tener que pasar esa información en cada fila del mismo.

El nombre del archivo será entonces de la forma: <DATE>_<NAMETYPE>[_<BALANCETYPE>].csv

  • DATE: Fecha del día en formato YYYY-MM-DD
  • NAMETYPE: Nombre que la billetera le dé al archivo (no puede tener “_”)
  • BALANCETYPE: Tipo de operaciones a procesar sobre el archivo. Valores posibles: SUS | RES | "". Indica qué tipos de operaciones procesar para todas las cuentas de acuerdo a la diferencia encontrada con el saldo anterior.
    • SUS: Solo procesa las cuentas que contienen saldos positivos en la equiparación (cuentas que sumaron saldo y harán suscripciones).
    • RES: Solo procesa las cuentas con saldos negativos (cuentas que restaron saldos y harán rescates).
    • "" (string vacío, o sin el último guion bajo): se procesarán todas las operaciones que resulten de las diferencias de saldos (suscripciones y rescates).

Formato del archivo

Para cada saldo se cuenta con la siguiente información que puede ser definida y ordenada en los headers (1º a fila del archivo) con el siguiente detalle para cada cuenta:

account_id, balance, currency, fund_id

  • account_id: ID de la cuenta en InvWallet a la cual se le suma este saldo diario.
  • balance: Monto del saldo usando punto decimal y 2 decimales como máximo.
  • currency: Sigla de la moneda usada (en estandar ISO).
  • fund_id: ID en InvWallet del fondo a invertir.

Ejemplo:

balance,currency,account_id,fund_id
500,ARS,acc_9123981278,fund_1209312389