01. DATOS GENERALES


Producto

Línea de producto: 

Segmento:

Módulo:TOTVS Backoffice (Linha Protheus) - Contabilidade Gerencial (SIGACTB)
Función:
RutinaNombre técnico
FINA474

Conciliación Bancaria

País:PARAGUAY
Ticket:
Requisito/Story/Issue (informe el requisito vinculado):DMICAS-553


02. SITUACIÓN/REQUISITO

 Es necesario un estudio para desarrollar la conciliación bancaria en Paraguay. Caso sea necesario, hacer los ajustes.


03. SOLUCIÓN

Se ajusto la rutina para que que muestre los datos correctamente, y se pueda conciliar los extractos de diferentes bancos de Paraguay.


En catastro de bancos, validar que el valor en A6_NUMBCO, de acuerdo al banco:

Valor

Banco

FAM1

Familiar

ITAU1

Itaú

ATLA1

Atlas

SUD1

Sudameris

CONT1

Continental

🧩 Objetivo

Automatizar la lectura, clasificación y registro de movimientos bancarios provenientes del Banco Familiar, utilizando un archivo de extracto en formato de texto plano con posiciones fijas y un layout configurable (familiar.ret) que define las posiciones de cada campo.

Actualizar el valor campo A6_NUMBCO en el formulario de bancos con el valor FAM1

📁 Archivos involucrados

Archivo

Descripción

nombre_archivo

Archivo que contiene el extracto bancario con formato de texto plano con posiciones fijas.

familiar.ret

Archivo de configuración con índices de campos.

ImpExtFa()

Rutina ADVPL que procesa el extracto y realiza la inserción

SEJ, SIF, SIG


Tablas del sistema Protheus utilizadas para clasificación y registro.


📄 Estructura del archivo familiar.ret

Este archivo define los campos relevantes del extracto por nombre y rango de posiciones. Cada línea tiene el siguiente formato:

Nombre del Campo PPPFFF

  •  Identificador de bloque (líneas de movimiento)
  • PPP: Posición inicial (3 dígitos)
  • FFF: Posición final (3 dígitos)


Este archivo define los campos relevantes por nombre y su índice dentro del arreglo aValores, generado por SplitDep().

Campo

Valor

Fecha Movimiento

017027

descripción    

052074

Debito

097117

Credito   

117136

Documento

034051

Cod movimiento

170171


Ejemplo:

Campo

Posicion

Resultado

Fecha Movimiento

017027

02/08/2025

descripción    

052074

DBPP-DEB.PAGO PRESTAMO          

Debito

097117

1.234,56

Credito

117136

        0,00

Documento

034051

306714136        

Cod movimiento

170171

22


🧠 Validaciones implementadas

  • Verificación de existencia del archivo de configuración
  • La rutina ignora líneas hasta encontrar "SALDO ANTERIOR"
  • Validación de fecha y valor
  • Clasificación contable por contenido
  • Consulta de tipo contable en SEJ
  • Registro de errores por línea en aLog
  • Inserción controlada en SIF (solo en la primera línea)

📌 Recomendaciones importantes

  • Validar que el archivo con datos del extracto esté alineado con la estructura y validar que el archivo con datos del extracto no tenga líneas incompletas ni campos fuera de rango.
  • Mantener actualizada la tabla SEJ con los tipos de movimiento esperados
  • Si el layout cambia, actualizar únicamente el archivo de configuración
  • Registrar los errores en aLog para trazabilidad y auditoría


🧩 Objetivo

Implementar una rutina en ADVPL que procese extractos bancarios en formato de texto plano con posiciones fijas, provenientes del banco Itaú, y registre los movimientos contables en las tablas SIF y SIG del sistema Protheus. La rutina utiliza un archivo de configuración externo (itau.ret) para definir las posiciones de cada campo.

Actualizar el valor campo A6_NUMBCO en el formulario de bancos con el valor ITAU1

📁 Archivos involucrados

Archivo

Descripción

nombre_archivo

Archivo que contiene el extracto bancario con formato de texto plano con posiciones fijas.

itau.ret

Archivo de configuración con índices de campos.

ImpExtIt()

Rutina ADVPL que procesa el extracto y realiza la inserción

SEJ, SIF, SIG


Tablas del sistema Protheus utilizadas para clasificación y registro.


📄 Estructura del archivo itau.ret

Este archivo define los campos relevantes del extracto por nombre y rango de posiciones. Cada línea tiene el siguiente formato:

Nombre del Campo PPPFFF

  •  Identificador de bloque (líneas de movimiento)
  • PPP: Posición inicial (3 dígitos)
  • FFF: Posición final (3 dígitos)


Este archivo define los campos relevantes por nombre y su índice dentro del arreglo aValores, generado por SplitDep().

Campo

Valor

Fecha Movimiento

010017

descripción    

018048

Tipo Movimiento

051051

Valor   

052066

Documento

068074


Ejemplo:

Campo

Posicion

Resultado

Fecha Movimiento

010017

01082025

descripción    

023072

Transf.Credito SIPAP            

Tipo Movimiento      

051051

C

Valor

052066

000000000012300

Documento

068074

       3727372


🧠 Validaciones implementadas

  • Verificación de existencia del archivo de configuración
  • Validación de fecha y valor
  • Clasificación del contenido
  • Consulta de tipo movimiento en SEJ
  • Registro de errores por línea en aLog
  • Inserción controlada en SIF (solo en la primera línea)

📌 Recomendaciones importantes

  • Validar que el archivo con datos del extracto esté alineado con la estructura.
  • Mantener actualizada la tabla SEJ con los tipos de movimiento esperados.
  • Si el layout cambia, actualizar únicamente el archivo de configuración.
  • Registrar los errores en aLog para trazabilidad y auditoría.

🧩 Objetivo

Implementar una rutina en ADVPL que permita importar extractos bancarios en formato de texto plano con posiciones fijas, provenientes del banco ATLAS, y registrar los movimientos contables en las tablas SIF y SIG del sistema Protheus.

Actualizar el valor campo A6_NUMBCO en el formulario de bancos con el valor ATLA1

📁 Archivos involucrados

Archivo

Descripción

nombre_archivo

Archivo que contiene el extracto bancario con formato de texto plano con posiciones fijas.

atlas.ret

Archivo de configuración con índices de campos.

ImpExtAt()

Rutina ADVPL que procesa el extracto y realiza la inserción

SEJ, SIF, SIG


Tablas del sistema Protheus utilizadas para clasificación y registro.


 📄 Estructura del archivo atlas.ret

Este archivo define los campos relevantes por nombre y su índice dentro del arreglo aValores, generado por SplitDep().

Campo

Valor

Fecha Movimiento

001008

descripción    

023072

Documento      

073092

Valor Débito   

088104

Valor Crédito  

108123


📄 Estructura del archivo atlas.ret

Este archivo define los campos relevantes del extracto por nombre y rango de posiciones. Cada línea tiene el siguiente formato: Nombre del Campo PPPFFF

  • Nombre del Campo: Etiqueta descriptiva del dato
  • PPP: Posición inicial (3 dígitos)
  • FFF: Posición final (3 dígitos)

Ejemplo:

Campo

Posicion

Resultado

Fecha Movimiento

001008

02092024

descripción    

023072

TRANSFERENCIAS ENTRE CUENTAS

Documento      

073092

33671630

Valor Débito   

088104

               0

Valor Crédito  

108123

       7904000


🧠 Validaciones implementadas

  • Verificación de existencia del archivo
  • Validación de fecha y valor
  • Consulta de tipo movimiento en SEJ
  • Registro de errores por línea en aLog
  • Inserción controlada en SIF (solo en la primera línea)

📌 Requisitos técnicos

  • El archivo atlas.ret debe estar accesible desde la ruta definida.
  • Las posiciones deben estar correctamente alineadas y sin solapamientos
  • La tabla SEJ debe estar actualizada con los tipos de movimiento esperados.
  • La rutina debe ejecutarse en un ambiente con acceso a las áreas SIF, SIG, SEJ.


🧩 Objetivo

Procesar únicamente extractos bancarios en formato csv separados por punto y coma (;), provenientes del banco SUDAMERIS, y registrar los movimientos bancarios en las tablas SIF y SIG del sistema Protheus. La rutina utiliza un archivo de configuración externo (sudameris.ret) para definir los índices de cada campo relevante.

Actualizar el valor campo A6_NUMBCO en el formulario de bancos con el valor SUDA1

Archivos involucrados:

Archivo

Descripción

nombre_archivo

Archivo que contiene el extracto bancario con datos separados por ;

sudameris.ret

Archivo de configuración con índices de campos.

ImpExtSuda()

Rutina ADVPL que procesa el extracto y realiza la inserción

SEJ, SIF, SIG


Tablas del sistema Protheus utilizadas para clasificación y registro.


 📄 Estructura del archivo sudameris.ret

Este archivo define los campos relevantes por nombre y su índice dentro del arreglo aValores, generado por SplitDep().

Campo

Valor

Fecha Movimiento

4

descripción         

6

Documento       

10

Valor               

11

Tipo Movimiento

17


Ejemplo:

Campo

Posicion

Resultado

Fecha Movimiento

4

30.04.24

descripción    

6

Serv. de Pago a proveedores

Documento      

10

286928

Valor               

11

96500,37

Tipo Movimiento

17

       MSC


🧠 Validaciones implementadas

  • Verificación de existencia de sudameris.ret
  • Validación de fecha y valor
  • Consulta de tipo de movimiento en SEJ
  • Registro de errores por línea en aLog
  • Inserción controlada en SIF (solo en la primera línea)

✅ Beneficios de esta implementación

  • Evita hardcodeo de índices
  • Permite trazabilidad completa de cada movimiento
  • Facilita mantenimiento y adaptación a nuevos layouts
  • Compatible con lógica modular por configuración externa

📌 Recomendaciones inportantes

  • Validar que el archivo con datos del extracto esté alineado con sudameris.ret
  • Mantener actualizada la tabla SEJ con los tipos de movimiento esperados
  • Si las posiciones de los campos en el archivo con datos del extracto cambian, actualizar únicamente el archivo de configuración sudameris.ret.


04. INFORMACIÓN ADICIONAL

Otras acciones/acciones relacionadas 



05. ASUNTOS RELACIONADOS