Solicitud de especificación de la lógica de decisión.
Importar Archivos de Conciliación
Nota
Para ejecutar el proceso de conciliación, la aplicación necesita nutrirse de datos. Estos datos se importan a través de archivos o por procesos automáticos. El proceso de import automático está parametrizado que se ejecute todos los días a las 04:00am. Por recomendación de nuestro DBA, para no cargar las BBDD durante los procesos de la diaria. Desde la Aplicación, el usuario puede ejecutar los imports manualmente también.
Transacciones del Pronet: Se importa desde el portal de Gestión Externa de Pronet, se descarga el Archivo "Detalle de transacciones (Fecha Proceso)" para importar los pagos hechos por medio de esta Boca de Cobranza.
Transacciones de Bancard/Infonet: Se importa el archivo "EXTRACTO" que proporciona Bancard para importar los pagos hechos por la Boca de Cobranza de Infonet, las transferencias Bancarias y las compras con QR de Infonet.
Transacciones del Sicoop: Se importa automáticamente desde las tablas del Sicoop Server.
Transacciones de Ceibo: Se importa automáticamente desde las tablas del autorizador. (tanto desde el LOG_TRANSACC_CR y desde el LOG_TRANSACC_CR_HIST para fechas anteriores)
Transacciones de Ceibo-Pagos: Se importa automáticamente desde las tablas del autorizador.(tanto desde el LOG_TRANSACC_CR y desde el LOG_TRANSACC_CR_HIST para fechas anteriores)
Transacciones de Atlas: Se importa automáticamente desde el servicio proveído por Atlas.
Transacciones de Pisp/Spi: Se importa automáticamente desde el servicio proveído por Fic.
Transacciones de Fic: Se importa automáticamente desde el servicio proveído por Fic.
Transacciones de Interfisa: Se importa automáticamente desde el servicio proveído por Interfisa.
Una vez cargado todos esos archivos, el usuario puede seguir con el proceso de conciliación.
Proceso de Conciliación
Nota
El proceso de Conciliación está dividido en 12 Procesos y cada uno de estos procesos contienen otros subprocesos. A continuación se describirán los procesos ejecutados.
1- Manejo de Reversos:
En este subproceso, se recorren todas las transacciones del sicoop donde el idSesion contenga el string "REVERSA". Dependiendo si el estado de la transacción en el Sicoop es 'ACEP', entonces marca el ESTADO_CONCI = 'REVERSA_ACEP' cualquier estado distinto, marca como 'REVERSA_RECH'.
Este proceso lo que permite es no controlar 2 veces la misma transacción de reverso, puesto que se controlan en procesos posteriores, cuando se concilia la transacción original.
2- Proceso de Conciliación Sicoop - Ceibo.
2.1- Entran las transacciones del Sicoop que cumplen estos requisitos:
- El Participante Origen es uno de estos valores: 1600, 3601.
- El Participante Destino es uno de estos valores: 1600, 3601, 4003, 4004, 4005, 4006.
- El idSesion no contiene el texto "REVERSA".
En este subproceso, se recorren todas las transacciones del Sicoop que cumplan los requisitos mencionados anteriormente y se divide la búsqueda entre transacciones con estado 'ACEP' en el Sicoop y estados distintos a 'ACEP'.
Transacciones Aceptadas en el Sicoop:
Para cada transacción, se divide la búsqueda por los datos del origen y destino de la transacción.
Transacciones Aceptadas en el Sicoop:
Para el origen:
Busca entre las transacciones importadas de Ceibo cruzando el idTxOriginante por el nroBoleta siempre y cuando el tipo de movimiento en ceibo sea 'DB'.
- Si encuentra, marca como &ExisteOrigen = true
- Revisa la columna RESULTADO y DESC_RECHAZO que deben estar 'A' y 'Transacción OK' en ceibo
- Si está con el estado que corresponde:
- Revisa si el estado en Ceibo es 'Cuponado':
- Si está cuponado, entonces &CuponadoOrigen = true, &EstadoOrigen = 'TRX VALIDA ORIGEN - Estado ACEP en el Sicoop, y Existe en Ceibo, estado valido y Cuponado.'
- Si no está cuponado, entonces &CuponadoOrigen = false, &EstadoOrigen = 'TRX NO VALIDA ORIGEN - Estado ACEP en el Sicoop, y Existe en Ceibo, estado valido pero no cuponado.'
- Revisa si el estado en Ceibo es 'Cuponado':
- Si no está con el estado que corresponde, &ExisteOrigen = false, &CuponadoOrigen = false, &EstadoOrigen = 'TRX NO VALIDA ORIGEN - Estado ACEP en el Sicoop, y Existe en Ceibo pero con estado no valido.'
- Si está con el estado que corresponde:
- Revisa la columna RESULTADO y DESC_RECHAZO que deben estar 'A' y 'Transacción OK' en ceibo
- Si no encuentra queda &ExisteOrigen = false, &EstadoOrigen = 'TRX NO VALIDA ORIGEN - Estado ACEP en el Sicoop, y NO Existe en Ceibo'
Si el participante destino es alguno de estos participantes: (4003, 4004, 4005, 4006). Vuelve a validar la transacción con los datos de Bepsa, por lo tanto. Busca en la tabla del MDW (LOG_TRANSACCION) cruzando la columna ID_OPERACION_ORIGINANTE = idTxOriginante del Sicoop, recuperando el ID_OPERACION_PARTICIPANTE. y vuelve a hacer el mismo control anterior donde cruza contra el nroBoleta.
- Si encuentra, marca como &ExisteOrigen = true
- Revisa la columna RESULTADO y DESC_RECHAZO que deben estar 'A' y 'Transacción OK' en ceibo
- Si está con el estado que corresponde:
- Revisa si el estado en Ceibo es 'Cuponado':
- Si está cuponado, entonces &CuponadoOrigen = true, &EstadoOrigen = 'TRX VALIDA ORIGEN - Estado ACEP en el Sicoop, y Existe en Ceibo, estado valido y Cuponado (con el Id de Bepsa).'
- Si no está cuponado, entonces &CuponadoOrigen = false, &EstadoOrigen = 'TRX NO VALIDA ORIGEN - Estado ACEP en el Sicoop, y Existe en Ceibo, estado valido pero no cuponado (con el Id de Bepsa).'
- Revisa si el estado en Ceibo es 'Cuponado':
- Si no está con el estado que corresponde, &ExisteOrigen = false, &CuponadoOrigen = false, &EstadoOrigen = 'TRX NO VALIDA ORIGEN - Estado ACEP en el Sicoop, y Existe en Ceibo pero con estado no valido (con el Id de Bepsa).'
- Si está con el estado que corresponde:
- Revisa la columna RESULTADO y DESC_RECHAZO que deben estar 'A' y 'Transacción OK' en ceibo
- Si no encuentra queda &ExisteOrigen = false, &EstadoOrigen = 'TRX NO VALIDA ORIGEN - Estado ACEP en el Sicoop, y NO Existe en Ceibo (con el Id de Bepsa).'
Para el destino:
Controla que el tipo de Operación no sea una Compra o Adelanto de efectivo (TipoTrx= 'COMP', 'AVAN')
- Si no es, entonces busca entre las transacciones importadas de ceibo cruzando el idTxDestinatario por el nroBoleta y teniendo en cuenta que el tipo de movimiento en ceibo sea 'CR' y la Glosa sea 'PAGO'.
- Si encuentra, marca como &ExisteDestino = true
- Revisa la columna RESULTADO y DESC_RECHAZO que deben estar 'A' y 'Transacción OK' en ceibo
- Si está con el estado que corresponde:
- Revisa si el estado en Ceibo es 'Cuponado':
- Si está cuponado, entonces &CuponadoDestino = true, &EstadoDestino = 'TRX VALIDA DESTINO - Estado Aceptado en el Sicoop, existe en Ceibo, tiene un estado valido y está Cuponado'
- Si no está cuponado, entonces &CuponadoDestino = false, &EstadoDestino = 'TRX NO VALIDA DESTINO - Estado Aceptado en el Sicoop, existe en Ceibo, tiene un estado valido y NO está Cuponado'
- Revisa si el estado en Ceibo es 'Cuponado':
- Si no está con el estado que corresponde, &ExisteDestino= true, &CuponadoDestino = false, &EstadoDestino = 'TRX NO VALIDA DESTINO - Estado Aceptado en el Sicoop, existe en Ceibo pero con estado no valido'
- Si está con el estado que corresponde:
- Revisa la columna RESULTADO y DESC_RECHAZO que deben estar 'A' y 'Transacción OK' en ceibo
- Si no encuentra queda &ExisteDestino= false, &EstadoDestino = 'TRX NO VALIDA DESTINO - Estado ACEP en el Sicoop, y NO Existe en Ceibo'
- Si el resultado de la primera búsqueda es &CuponadoDestino = false entonces busca entre las transacciones de Ceibo importadas como Pagos. Cruzando el idTxDestinatario por NroTicket teniendo en cuenta el tipo Operacion = 'CR'
- Si existe, entonces &ExisteDestino = true
- Revisa el estado del cupón. Si está cuponado entonces &CuponadoDestino = true, &EstadoDestino = 'TRX VALIDA DESTINO - Estado Aceptado en el Sicoop, y Existe en Ceibo Pagos y está Cuponado'
- Si no está cuponado &CuponadoDestino = false, &EstadoDestino = 'TRX NO VALIDA DESTINO - Estado Aceptado en el Sicoop, y Existe en Ceibo Pagos y no está Cuponado'
- Si no existe, entonces &ExisteDestino = false, 'TRX NO VALIDA DESTINO - Estado Aceptado en el Sicoop, y No Existe en Ceibo Pagos'
- Si existe, entonces &ExisteDestino = true
- Si encuentra, marca como &ExisteDestino = true
- Si el tipo de Operación es una compra o Adelanto, entonces primeramente busca entre las transacciones importadas de ceibo cruzando el idTxDestinatario por el nroBoleta y teniendo en cuenta que el tipo de movimiento en ceibo sea 'CR' y la Glosa sea 'COMPRA'.
- Si encuentra, marca como &ExisteDestino = true
- Revisa la columna RESULTADO y DESC_RECHAZO que deben estar 'A' y 'Transacción OK' en ceibo
- Si está con el estado que corresponde:
- Revisa si el estado en Ceibo es 'Cuponado':
- Si está cuponado, entonces &CuponadoDestino = true, &EstadoDestino = 'TRX VALIDA DESTINO - Estado Aceptado en el Sicoop, existe en Ceibo, tiene un estado valido y está procesado la compra'
- Si no está cuponado, entonces &CuponadoDestino = false, &EstadoDestino = 'TRX NO VALIDA DESTINO - Estado Aceptado en el Sicoop, existe en Ceibo, tiene un estado valido y NO está procesado la compra'
- Revisa si el estado en Ceibo es 'Cuponado':
- Si no está con el estado que corresponde, &ExisteDestino= true, &CuponadoDestino = false, &EstadoDestino = 'TRX NO VALIDA DESTINO - Estado Aceptado en el Sicoop, existe en Ceibo pero con estado no valido'
- Si está con el estado que corresponde:
- Revisa la columna RESULTADO y DESC_RECHAZO que deben estar 'A' y 'Transacción OK' en ceibo
- Si no encuentra queda &ExisteDestino= false, &CuponadoDestino = false, &EstadoDestino = 'TRX NO VALIDA DESTINO - Estado Aceptado en el Sicoop, y no existe en Ceibo''
- Si el participante destino de la transacción es uno de estos participantes (4003, 4004, 4005, 4006). Vuelve a validar la transacción con los datos de Bepsa, por lo tanto. Busca en la tabla del MDW (LOG_TRANSACCION) cruzando la columna ID_OPERACION_ORIGINANTE = idTxDestinatario del Sicoop, recuperando el ID_OPERACION_PARTICIPANTE. y vuelve a hacer el mismo control anterior donde cruza contra el nroBoleta y teniendo en cuenta que el tipo de movimiento en ceibo sea 'CR' y la Glosa sea 'COMPRA'.
- Si encuentra, marca como &ExisteDestino = true
- Revisa la columna RESULTADO y DESC_RECHAZO que deben estar 'A' y 'Transacción OK' en ceibo
- Si está con el estado que corresponde:
- Revisa si el estado en Ceibo es 'Cuponado':
- Si está cuponado, entonces &CuponadoDestino = true, &EstadoDestino = 'TRX VALIDA DESTINO - Estado Aceptado en el Sicoop, existe en Ceibo, tiene un estado valido y está Cuponado (con el Id de Bepsa).'
- Si no está cuponado, entonces &CuponadoDestino = false, &EstadoDestino = 'TRX NO VALIDA DESTINO - Estado Aceptado en el Sicoop, existe en Ceibo, tiene un estado valido y NO está Cuponado (con el Id de Bepsa).'
- Revisa si el estado en Ceibo es 'Cuponado':
- Si no está con el estado que corresponde, &ExisteDestino= true, &CuponadoDestino = false, &EstadoDestino = 'TRX NO VALIDA DESTINO - Estado Aceptado en el Sicoop, existe en Ceibo pero con estado no valido (con el Id de Bepsa).'
- Si está con el estado que corresponde:
- Revisa la columna RESULTADO y DESC_RECHAZO que deben estar 'A' y 'Transacción OK' en ceibo
- Si no encuentra queda &ExisteDestino= false, &CuponadoDestino = false, &EstadoDestino = "TRX NO VALIDA DESTINO - Estado Aceptado en el Sicoop, no existe en Ceibo (con el Id de Bepsa)"
- Si encuentra, marca como &ExisteDestino = true
- Si encuentra, marca como &ExisteDestino = true