0. Actores que participan en los flujos
Origen de la orden
Solicitante
Quien genera la orden de pago. Puede ser un cliente, un operador u otro canal autorizado.
Pagador
Cliente
Realiza el pago según el método acordado (efectivo, USDT, Zelle, tarjeta o transferencia bancaria).
Punto físico
Sucursal
Recibe efectivo del cliente y registra los seriales con el QR de la orden.
Operación interna
Mesa
Interviene únicamente en el flujo USDT: al confirmarse los USDT, genera la orden de efectivo USD hacia Tesorería.
Back-office
Administración / Tesorería
Cuenta los billetes, concilia seriales y completa las órdenes.
Procesador externo
Pasarela de pagos
Procesa los pagos con tarjeta y notifica el resultado de la transacción (aprobado / rechazado).
Banco
Banco receptor
Banco que recibe la transferencia (nacional VEF o internacional USD) y notifica el ingreso por correo o extracto.
Custodia de cuenta
Responsable de la cuenta
Persona o equipo a cargo de una cuenta. En cajas físicas es el operador; en cuentas bancarias el custodio; en billeteras cripto el firmante.
Realiza la apertura, registra movimientos y ejecuta la verificación al cierre.
EFECTIVO USD 1. Pago en efectivo
El cliente paga en efectivo en una sucursal. Cada billete queda registrado por su número de serie, lo que permite conciliar de forma exacta el dinero
recibido en sucursal con el dinero contado en tesorería.
Pasos del flujo
1
Creación de las órdenes de pago
Se generan las órdenes de pago en efectivo (por ejemplo 5 órdenes que en conjunto suman $22.000). Cada orden recibe su propio código QR,
que el cliente presentará en la sucursal. El origen de la orden puede ser un cliente, un operador u otro canal autorizado.
2
Entrega del efectivo en sucursal
El cliente acude a una sucursal con el efectivo. La sucursal escanea el QR de cada orden y registra los números de serie de
los billetes recibidos para esa orden.
3
Envío del efectivo a Tesorería
El efectivo recolectado por la sucursal se traslada físicamente a
Administración / Tesorería junto con el detalle de las órdenes asociadas.
4
Conteo y validación en Tesorería
Tesorería cuenta los billetes (debe sumar los $22.000) y registra los
números de serie de cada billete. Luego compara los seriales contados con los registrados en sucursal en el paso 2.
5
Conciliación y cierre
Si los seriales de una orden quedan conciliados (todos coinciden), la orden se marca como completada. Si hay diferencias, la orden
queda en disputa hasta su revisión.
Diagrama del flujo
sequenceDiagram
autonumber
actor Origen as Solicitante
(cliente / operador)
actor Cliente
actor Sucursal
actor Tesoreria as Tesorería
Note over Origen: Fase 1 · Creación de órdenes
Origen->>Origen: Se generan 5 órdenes con QR (Σ = $22.000)
Origen-->>Cliente: Recibe los QR de las órdenes
Note over Cliente,Sucursal: Fase 2 · Entrega del efectivo
Cliente->>Sucursal: Lleva el efectivo ($22.000)
loop Por cada una de las 5 órdenes
Sucursal->>Sucursal: Escanea QR de la orden
Sucursal->>Sucursal: Registra seriales de los billetes
end
Note over Sucursal,Tesoreria: Fase 3 · Traslado físico
Sucursal->>Tesoreria: Envía efectivo + detalle de órdenes
Note over Tesoreria: Fase 4 · Conteo y validación
Tesoreria->>Tesoreria: Cuenta billetes (debe sumar $22.000)
Tesoreria->>Tesoreria: Registra seriales contados
Note over Tesoreria: Fase 5 · Conciliación
alt Seriales coinciden con sucursal
Tesoreria->>Tesoreria: Orden COMPLETADA
else Hay diferencias
Tesoreria->>Tesoreria: Orden EN DISPUTA · revisión manual
end
Estados que puede tener una orden
stateDiagram-v2
[*] --> Creada
Creada --> EsperandoEntrega : QR generado
EsperandoEntrega --> SerialesEnSucursal : sucursal escanea QR y registra seriales
SerialesEnSucursal --> EnTraslado : efectivo enviado a tesorería
EnTraslado --> EnConciliacion : tesorería cuenta y registra seriales
EnConciliacion --> Completada : seriales conciliados
EnConciliacion --> EnDisputa : diferencia de seriales
Creada --> Expirada : sin pago dentro del plazo
EsperandoEntrega --> Expirada : sin pago dentro del plazo
EnDisputa --> Completada : resolución manual aprobada
EnDisputa --> Cancelada : resolución manual rechazada
Completada --> [*]
Cancelada --> [*]
Expirada --> [*]
Cómo se concilia cada orden
flowchart TD
A[Seriales registrados
en Sucursal] --> C{Comparación}
B[Seriales contados
en Tesorería] --> C
C -->|Coinciden exactamente| D[Orden COMPLETADA]
C -->|Faltan seriales| E[Orden EN DISPUTA
faltante]
C -->|Seriales no esperados| F[Orden EN DISPUTA
sobrante]
C -->|Total no coincide con monto| G[Remesa EN DISPUTA]
E --> H[Revisión y ajuste manual]
F --> H
G --> H
H --> D
H --> I[Orden CANCELADA]
style D fill:#e8f4ea,stroke:#2e7d32
style I fill:#fde8e8,stroke:#b42318
USDT 2. Pago en USDT
El cliente paga en USDT (criptomoneda). Una vez confirmada la transacción en la blockchain, la Mesa interviene generando una orden de efectivo
USD por el monto de la operación, que se entrega a Tesorería para cerrar la operación.
Pasos del flujo
1
Creación de la orden en USDT
Se genera la orden de pago en USDT, con la dirección de depósito y el monto a transferir que recibirá el cliente.
El origen de la orden puede ser un cliente, un operador u otro canal autorizado.
2
Validación de la transacción en blockchain
El sistema verifica en Tronscan (blockchain de Tron) que la transacción exista, que el monto sea correcto y que tenga las
confirmaciones necesarias.
3
La Mesa genera la orden de efectivo a Tesorería
Una vez recibidos y confirmados los USDT, la Mesa interviene generando una orden de efectivo USD por el monto equivalente a la
operación USDT. Esa orden viaja desde la Mesa hacia Administración / Tesorería.
4
Conteo de seriales y cierre
Tesorería cuenta los seriales de los billetes recibidos de la Mesa. Cuando todo coincide, la orden se marca como completada.
Diagrama del flujo
sequenceDiagram
autonumber
actor Origen as Solicitante
(cliente / operador)
actor Cliente
actor Mesa
actor Tesoreria as Tesorería
participant Tron as Blockchain
(Tronscan)
Note over Origen,Cliente: Fase 1 · Creación de la orden USDT
Origen->>Origen: Se genera orden USDT
Origen-->>Cliente: Recibe dirección de depósito y monto
Note over Cliente,Tron: Fase 2 · Pago en blockchain
Cliente->>Tron: Envía USDT a la dirección indicada
Note over Tron: Fase 3 · Validación on-chain
loop Hasta confirmar
Tron-->>Tron: Acumula confirmaciones
end
Tron-->>Mesa: USDT recibidos y confirmados ✅
Note over Mesa,Tesoreria: Fase 4 · La Mesa interviene
Mesa->>Mesa: Genera orden de efectivo USD por el monto de la operación
Mesa->>Tesoreria: Entrega billetes equivalentes al monto USDT
Note over Tesoreria: Fase 5 · Conteo y cierre
Tesoreria->>Tesoreria: Cuenta y registra seriales
alt Seriales correctos
Tesoreria->>Tesoreria: Orden COMPLETADA
else Diferencia
Tesoreria->>Tesoreria: Orden EN DISPUTA
end
Estados que puede tener una orden
stateDiagram-v2
[*] --> Creada
Creada --> EsperandoPagoOnChain : dirección de depósito entregada
EsperandoPagoOnChain --> TransaccionDetectada : pago visto en blockchain
TransaccionDetectada --> USDTConfirmado : confirmaciones suficientes
USDTConfirmado --> EntregaEfectivoPendiente : la Mesa genera la orden de efectivo
EntregaEfectivoPendiente --> EnConciliacion : tesorería cuenta seriales
EnConciliacion --> Completada : seriales conciliados
EnConciliacion --> EnDisputa : diferencia de seriales
EsperandoPagoOnChain --> Expirada : sin pago dentro del plazo
TransaccionDetectada --> Rechazada : monto o red incorrectos
EnDisputa --> Completada : resolución manual aprobada
EnDisputa --> Cancelada : resolución manual rechazada
Completada --> [*]
Expirada --> [*]
Rechazada --> [*]
Cancelada --> [*]
Cómo se valida la transacción on-chain
flowchart TD
A[Orden USDT creada] --> B[Consulta a Tronscan]
B --> C{¿Existe la transacción?}
C -->|No| D{¿Plazo vencido?}
D -->|No| B
D -->|Sí| E[Orden EXPIRADA]
C -->|Sí| F{¿Monto correcto?}
F -->|No| G[Orden RECHAZADA
monto inválido]
F -->|Sí| H{¿Suficientes confirmaciones?}
H -->|No| B
H -->|Sí| I[USDT CONFIRMADO]
I --> J[La Mesa genera orden de efectivo USD
y entrega billetes a Tesorería]
J --> K[Tesorería cuenta seriales]
style E fill:#fde8e8,stroke:#b42318
style G fill:#fde8e8,stroke:#b42318
style I fill:#e8f4ea,stroke:#2e7d32
ZELLE 3. Pago por Zelle
El cliente paga por Zelle. La validación se realiza leyendo el correo electrónico de notificación enviado por el banco, lo que permite confirmar la
orden de forma automática.
Pasos del flujo
1
Creación de la orden en Zelle
Se genera la orden de pago en Zelle, indicando el correo Zelle de destino y el monto a transferir que recibirá el cliente.
El origen de la orden puede ser un cliente, un operador u otro canal autorizado.
2
Validación por correo electrónico
Cuando el banco envía el correo de confirmación de la transferencia Zelle, el sistema lo lee, extrae el monto, el remitente y la
fecha, y los compara contra las órdenes pendientes.
3
Confirmación de la orden
Si los datos coinciden con una orden pendiente, ésta se marca como
confirmada. Si no hay coincidencia o hay varias posibles, queda pendiente para revisión manual.
Diagrama del flujo
sequenceDiagram
autonumber
actor Origen as Solicitante
(cliente / operador)
actor Cliente
participant Sistema
participant Banco as Banco
(correo Zelle)
Note over Origen,Cliente: Fase 1 · Creación de la orden
Origen->>Origen: Se genera orden Zelle
Origen-->>Cliente: Recibe correo Zelle de destino y monto
Note over Cliente,Banco: Fase 2 · Pago por Zelle
Cliente->>Banco: Envía Zelle desde su banco
Banco-->>Sistema: Correo de notificación recibido
Note over Sistema: Fase 3 · Validación automática
Sistema->>Sistema: Lee correo y extrae monto, remitente y fecha
Sistema->>Sistema: Busca orden pendiente que coincida
alt Coincidencia única
Sistema-->>Cliente: Orden CONFIRMADA
else No hay coincidencia
Sistema->>Sistema: Pendiente revisión manual
else Varias coincidencias
Sistema->>Sistema: Operador desambigua manualmente
end
Estados que puede tener una orden
stateDiagram-v2
[*] --> Creada
Creada --> CorreoRecibido : email Zelle entrante detectado
CorreoRecibido --> Confirmada : coincidencia única
CorreoRecibido --> Ambigua : varias órdenes posibles
CorreoRecibido --> SinCoincidencia : ninguna orden coincide
Ambigua --> Confirmada : operador asigna manualmente
SinCoincidencia --> Confirmada : operador asigna manualmente
Creada --> Expirada : sin pago dentro del plazo
Confirmada --> Completada : reconciliación bancaria final
Confirmada --> [*]
Completada --> [*]
Expirada --> [*]
Cómo se hace el match del correo con la orden
flowchart TD
A[Correo Zelle recibido] --> B[Lectura del correo]
B --> C{¿Se puede leer?}
C -->|No| Z[Descartado]
C -->|Sí| D[Extracción de monto,
remitente y fecha]
D --> E[Búsqueda de órdenes pendientes
con monto y correo coincidentes]
E --> F{¿Cuántas coinciden?}
F -->|Ninguna| G[Pendiente · revisión manual]
F -->|Una| H[Orden CONFIRMADA]
F -->|Varias| I[Pendiente · operador desambigua]
G --> J[Operador asigna manualmente]
I --> J
J --> H
style H fill:#e8f4ea,stroke:#2e7d32
TARJETA 4. Pago con tarjeta
El cliente paga con tarjeta de crédito o débito por sus propios medios (externo al sistema). El sistema no genera ningún enlace de pago:
simplemente recibe el reporte del pago y lo concilia contra la orden pendiente. El reporte puede llegar de forma automática (notificación de la
pasarela / banco adquirente) o de forma manual.
Pasos del flujo
1
Creación de la orden con tarjeta
Se genera la orden de pago indicando el monto y la moneda.
El origen de la orden puede ser un cliente, un operador u otro canal autorizado.
2
Cliente paga con su tarjeta (por sus propios medios)
El cliente ejecuta el pago con su tarjeta a través del canal acordado (POS, terminal virtual, comercio externo, etc.). Esta operación ocurre
fuera del sistema; el sistema no genera ni gestiona ningún enlace de pago.
3
Reporte del pago al sistema
El sistema recibe el reporte del pago. Puede llegar de dos formas:
- Automático: notificación o correo de la pasarela / banco adquirente.
- Manual: reporte cargado por el cliente o el operador con la referencia de autorización.
4
Validación y match contra la orden
El sistema extrae monto, referencia de autorización y fecha del reporte y busca la orden pendiente que coincida.
5
Confirmación de la orden
Si los datos coinciden con una orden pendiente, ésta se marca como
confirmada. Si no hay coincidencia o hay varias posibles, queda pendiente para revisión manual.
Diagrama del flujo
sequenceDiagram
autonumber
actor Origen as Solicitante
(cliente / operador)
actor Cliente
participant Sistema
participant Pasarela as Pasarela /
banco adquirente
Note over Origen,Sistema: Fase 1 · Creación de la orden
Origen->>Sistema: Se genera orden con tarjeta (monto)
Note over Cliente,Pasarela: Fase 2 · Pago externo (fuera del sistema)
Cliente->>Pasarela: Paga con su tarjeta por sus propios medios
Pasarela-->>Cliente: Comprobante / referencia de autorización
Note over Pasarela,Sistema: Fase 3 · Reporte al sistema
alt Reporte automático
Pasarela-->>Sistema: Notificación / correo de aprobación
else Reporte manual
Cliente-->>Sistema: Carga referencia de autorización
end
Note over Sistema: Fase 4 · Validación y match
Sistema->>Sistema: Extrae monto, referencia y fecha
Sistema->>Sistema: Busca orden pendiente que coincida
alt Coincidencia única
Sistema->>Sistema: Orden CONFIRMADA
Sistema-->>Cliente: Comprobante
else No hay coincidencia
Sistema->>Sistema: Pendiente revisión manual
else Varias coincidencias
Sistema->>Sistema: Operador desambigua manualmente
end
Estados que puede tener una orden
stateDiagram-v2
[*] --> Creada
Creada --> EsperandoReporte : a la espera del reporte de pago
EsperandoReporte --> ReporteRecibido : llega notificación o reporte manual
ReporteRecibido --> Confirmada : coincidencia única
ReporteRecibido --> Ambigua : varias órdenes posibles
ReporteRecibido --> SinCoincidencia : ninguna orden coincide
Ambigua --> Confirmada : operador desambigua
SinCoincidencia --> Confirmada : operador asigna manualmente
EsperandoReporte --> Expirada : sin reporte dentro del plazo
Creada --> Expirada : sin reporte dentro del plazo
Confirmada --> Reembolsada : reembolso solicitado
Confirmada --> EnDisputa : contracargo (chargeback)
EnDisputa --> Confirmada : disputa resuelta a favor
EnDisputa --> Reembolsada : disputa perdida
Confirmada --> [*]
Expirada --> [*]
Reembolsada --> [*]
Cómo se valida el reporte
flowchart TD
A[Reporte de pago recibido] --> B{¿Origen del reporte?}
B -->|Automático
pasarela / banco| C[Lectura de la notificación]
B -->|Manual
cliente / operador| D[Carga del comprobante /
referencia de autorización]
C --> E[Extracción de monto,
autorización y fecha]
D --> E
E --> F[Búsqueda de órdenes pendientes
con monto y referencia coincidentes]
F --> G{¿Cuántas coinciden?}
G -->|Ninguna| H[Pendiente · revisión manual]
G -->|Una| I[Orden CONFIRMADA]
G -->|Varias| J[Pendiente · operador desambigua]
H --> K[Operador asigna manualmente]
J --> K
K --> I
I --> L{¿Reembolso o
contracargo posterior?}
L -->|No| M[Cierre definitivo]
L -->|Reembolso| N[Orden REEMBOLSADA]
L -->|Contracargo| O[EN DISPUTA]
O --> P{Resolución}
P -->|A favor| I
P -->|En contra| N
style I fill:#e8f4ea,stroke:#2e7d32
style N fill:#fff8e1,stroke:#a16207
CUENTA NACIONAL VEF 5. Pago a cuenta bancaria nacional (VEF)
El cliente paga en bolívares (VEF) mediante transferencia bancaria o pago móvil por sus propios medios. El sistema
no participa en la ejecución del pago: simplemente recibe el reporte del pago y lo concilia contra la orden pendiente cruzando
monto, referencia y fecha. El reporte puede llegar de forma automática (correo del banco / extracto) o manual.
Pasos del flujo
1
Creación de la orden en VEF
Se genera la orden de pago en VEF indicando el monto.
El origen de la orden puede ser un cliente, un operador u otro canal autorizado.
2
Cliente realiza la transferencia o pago móvil (por sus propios medios)
El cliente, desde su banco, ejecuta la transferencia o el pago móvil por el monto acordado y obtiene una
referencia bancaria única. Esta operación ocurre fuera del sistema.
3
Reporte del pago al sistema
El sistema recibe el reporte del pago. Puede llegar de dos formas:
- Automático: correo de notificación bancaria o actualización del extracto del banco receptor.
- Manual: reporte cargado por el cliente o el operador con la referencia bancaria.
4
Validación y match contra la orden
El sistema extrae monto, referencia y fecha y busca la orden pendiente que coincida. Si los datos coinciden, la orden se marca como
confirmada; si no hay coincidencia o hay varias posibles, queda pendiente para revisión manual.
Diagrama del flujo
sequenceDiagram
autonumber
actor Origen as Solicitante
(cliente / operador)
actor Cliente
participant Sistema
participant BancoCli as Banco
del cliente
participant Banco as Banco receptor
(cuenta nacional VEF)
Note over Origen,Sistema: Fase 1 · Creación de la orden
Origen->>Sistema: Se genera orden VEF (monto)
Note over Cliente,BancoCli: Fase 2 · Pago externo (fuera del sistema)
Cliente->>BancoCli: Ejecuta transferencia / pago móvil por sus propios medios
BancoCli-->>Cliente: Devuelve referencia bancaria
BancoCli->>Banco: Acredita el monto en la cuenta receptora
Note over Banco,Sistema: Fase 3 · Reporte al sistema
alt Reporte automático
Banco-->>Sistema: Correo de notificación / actualización del extracto
else Reporte manual
Cliente-->>Sistema: Carga referencia bancaria
end
Note over Sistema: Fase 4 · Validación y match
Sistema->>Sistema: Extrae monto, referencia y fecha
Sistema->>Sistema: Busca orden pendiente que coincida
alt Coincidencia única
Sistema-->>Cliente: Orden CONFIRMADA
else No hay coincidencia
Sistema->>Sistema: Pendiente revisión manual
else Varias coincidencias
Sistema->>Sistema: Operador desambigua manualmente
end
Estados que puede tener una orden
stateDiagram-v2
[*] --> Creada
Creada --> EsperandoReporte : a la espera del reporte de pago
EsperandoReporte --> ReporteRecibido : llega notificación o reporte manual
ReporteRecibido --> Confirmada : coincidencia única (monto + referencia)
ReporteRecibido --> Ambigua : varias órdenes posibles
ReporteRecibido --> SinCoincidencia : ninguna orden coincide
Ambigua --> Confirmada : operador asigna manualmente
SinCoincidencia --> Confirmada : operador asigna manualmente
EsperandoReporte --> Expirada : sin reporte dentro del plazo
Creada --> Expirada : sin reporte dentro del plazo
Confirmada --> [*]
Expirada --> [*]
Cómo se valida el reporte
flowchart TD
A[Reporte de pago recibido] --> B{¿Origen del reporte?}
B -->|Automático
correo / extracto del banco| C[Lectura de la notificación]
B -->|Manual
cliente / operador| D[Carga de la referencia bancaria]
C --> E[Extracción de monto,
referencia y fecha]
D --> E
E --> F[Búsqueda de órdenes pendientes
con monto y referencia coincidentes]
F --> G{¿Cuántas coinciden?}
G -->|Ninguna| H[Pendiente · revisión manual]
G -->|Una| I[Orden CONFIRMADA]
G -->|Varias| J[Pendiente · operador desambigua]
H --> K[Operador asigna manualmente]
J --> K
K --> I
style I fill:#e8f4ea,stroke:#2e7d32
CUENTA INTERNACIONAL USD 6. Pago a cuenta bancaria internacional (USD)
El cliente paga en dólares (USD) por transferencia internacional (wire / SWIFT / ACH) por sus propios medios. El sistema
no participa en la ejecución del pago: simplemente recibe el reporte del pago y lo concilia. Al ser internacional, la operación tarda
más en acreditarse y puede llegar con diferencias de monto por comisiones de bancos intermediarios. El reporte puede llegar de forma automática
(notificación del banco receptor) o manual.
Pasos del flujo
1
Creación de la orden en USD
Se genera la orden indicando el monto en USD. El origen de la orden puede ser un cliente, un operador u otro canal autorizado.
2
Cliente ejecuta la transferencia internacional (por sus propios medios)
El cliente, desde su banco, ordena la transferencia internacional. La operación pasa por la red SWIFT / ACH y posibles
bancos intermediarios antes de acreditarse en la cuenta receptora (suele tardar entre 1 y 5 días hábiles). Esta operación ocurre
fuera del sistema.
3
Reporte del pago al sistema
Una vez acreditado el ingreso, el sistema recibe el reporte del pago. Puede llegar de dos formas:
- Automático: notificación o actualización del extracto del banco receptor.
- Manual: reporte cargado por el cliente o el operador con la referencia de la transferencia.
4
Validación y conciliación
El sistema concilia el ingreso contra la orden pendiente cruzando
monto, remitente, referencia y fecha. Si el monto recibido difiere del esperado dentro de una tolerancia configurada, la orden se
confirma; si la diferencia excede la tolerancia, la orden queda en revisión manual.
5
Cierre de la orden
La orden se marca como confirmada. Si la transferencia es devuelta por el banco intermediario o el receptor, la orden queda como
devuelta y el monto retornado al ordenante.
Diagrama del flujo
sequenceDiagram
autonumber
actor Origen as Solicitante
(cliente / operador)
actor Cliente
participant Sistema
participant BancoCli as Banco emisor
(internacional)
participant SWIFT as Red SWIFT /
banco intermediario
participant Banco as Banco receptor
(cuenta USD)
Note over Origen,Sistema: Fase 1 · Creación de la orden
Origen->>Sistema: Se genera orden USD internacional (monto)
Note over Cliente,BancoCli: Fase 2 · Pago externo (fuera del sistema)
Cliente->>BancoCli: Ordena transferencia internacional por sus propios medios
BancoCli->>SWIFT: Envía la operación
Note over SWIFT,Banco: Fase 3 · Tránsito y acreditación (1–5 días)
SWIFT->>Banco: Acredita el monto (posibles comisiones intermedias)
Note over Banco,Sistema: Fase 4 · Reporte al sistema
alt Reporte automático
Banco-->>Sistema: Notificación / actualización del extracto
else Reporte manual
Cliente-->>Sistema: Carga referencia de la transferencia
end
Note over Sistema: Fase 5 · Validación y conciliación
Sistema->>Sistema: Extrae monto, remitente y referencia
Sistema->>Sistema: Busca orden pendiente que coincida
alt Monto exacto o dentro de tolerancia
Sistema->>Sistema: Orden CONFIRMADA
Sistema-->>Cliente: Comprobante
else Diferencia fuera de tolerancia
Sistema->>Sistema: Pendiente revisión manual
else Sin coincidencia
Sistema->>Sistema: Pendiente revisión manual
end
Note over BancoCli,Banco: Caso excepcional · devolución
opt Transferencia devuelta
Banco-->>Sistema: Aviso de devolución
Sistema->>Sistema: Orden DEVUELTA
end
Estados que puede tener una orden
stateDiagram-v2
[*] --> Creada
Creada --> EsperandoReporte : a la espera del reporte de pago
EsperandoReporte --> ReporteRecibido : llega notificación o reporte manual
ReporteRecibido --> Confirmada : monto dentro de tolerancia
ReporteRecibido --> EnRevision : diferencia fuera de tolerancia
ReporteRecibido --> SinCoincidencia : ninguna orden coincide
EnRevision --> Confirmada : aprobación manual
EnRevision --> Cancelada : rechazo manual
SinCoincidencia --> Confirmada : operador asigna manualmente
EsperandoReporte --> Devuelta : aviso de devolución del banco
EsperandoReporte --> Expirada : sin reporte dentro del plazo
Creada --> Expirada : sin reporte dentro del plazo
Confirmada --> [*]
Devuelta --> [*]
Cancelada --> [*]
Expirada --> [*]
Cómo se concilia el reporte
flowchart TD
A[Reporte de pago recibido] --> B{¿Origen del reporte?}
B -->|Automático
banco receptor| C[Lectura de la notificación]
B -->|Manual
cliente / operador| D[Carga de la referencia
de la transferencia]
C --> E[Extracción de monto recibido,
remitente y referencia]
D --> E
E --> F[Búsqueda de órdenes pendientes
por remitente y referencia]
F --> G{¿Match encontrado?}
G -->|No| H[Pendiente · revisión manual]
G -->|Sí| I{¿Monto recibido =
monto esperado?}
I -->|Sí| J[Orden CONFIRMADA]
I -->|Diferencia
dentro de tolerancia| K[Orden CONFIRMADA
diferencia registrada]
I -->|Diferencia
fuera de tolerancia| L[EN REVISIÓN
aprobación manual]
H --> M[Operador asigna o rechaza]
L --> M
M --> J
M --> N[Orden CANCELADA]
style J fill:#e8f4ea,stroke:#2e7d32
style K fill:#e8f4ea,stroke:#2e7d32
style N fill:#fde8e8,stroke:#b42318
BALANCEO 7. Balanceo de cuentas
Flujo operativo independiente de las órdenes de pago. Permite conciliar el saldo de cualquier tipo de cuenta — efectivo, cuenta bancaria
nacional o internacional, billetera cripto, Zelle, etc. — comparando el saldo esperado según los movimientos registrados en el sistema contra
una verificación externa propia de cada tipo de cuenta. El objetivo es detectar diferencias antes de cerrar el período.
La verificación externa varía según el tipo de cuenta
Cuenta tipo
Efectivo
Conteo físico de billetes (con número de serie cuando aplica).
Cuenta tipo
Cuenta bancaria
Extracto bancario o consulta de saldo en el banco.
Cuenta tipo
Billetera cripto
Consulta del saldo on-chain (ej. Tronscan para USDT).
Cuenta tipo
Zelle u otros
Estado de cuenta del proveedor o del banco asociado.
Pasos del flujo
1
Apertura del período
Al inicio del período (turno, día o ciclo de cierre), el responsable de la cuenta abre el período registrando el saldo inicial. Para
efectivo, esto incluye los seriales de los billetes presentes; para otros tipos de cuenta, el saldo numérico de apertura.
2
Movimientos durante el período
Cada ingreso y egreso de la cuenta se registra en el sistema. El sistema mantiene actualizado el saldo esperado (saldo
inicial + ingresos − egresos) en tiempo real.
3
Verificación externa
Al cierre, el responsable obtiene el saldo verificado desde la fuente externa propia de cada tipo de cuenta:
- Efectivo: conteo físico de billetes (con seriales si aplica).
- Cuenta bancaria: extracto o consulta de saldo en el banco.
- Billetera cripto: consulta del saldo on-chain.
- Zelle u otros: estado de cuenta del proveedor.
4
Conciliación esperado vs verificado
El sistema compara el saldo esperado contra el saldo verificado. Si todo coincide, la cuenta queda cuadrada. Si hay
diferencias, queda descuadrada con el detalle: faltante, sobrante o movimientos no registrados (ingresos/egresos vistos en la fuente
externa pero no asentados en el sistema).
5
Cierre o revisión
Si la cuenta está cuadrada, se cierra automáticamente. Si está descuadrada, se reporta a un supervisor / Tesorería: el
supervisor puede aprobar un ajuste o cerrar la cuenta con discrepancia pendiente de investigación.
Diagrama del flujo
sequenceDiagram
autonumber
actor Responsable as Responsable
de la cuenta
participant Sistema
participant Externo as Fuente externa
(según tipo de cuenta)
actor Supervisor as Supervisor /
Tesorería
Note over Responsable,Sistema: Fase 1 · Apertura del período
Responsable->>Sistema: Apertura con saldo inicial
Sistema->>Sistema: Saldo inicial registrado
Note over Responsable,Sistema: Fase 2 · Operación durante el período
loop Cada movimiento
Responsable->>Sistema: Registra ingreso o egreso
Sistema->>Sistema: Actualiza saldo esperado
end
Note over Responsable,Externo: Fase 3 · Verificación externa
Note right of Externo: Efectivo · conteo físico con seriales
Banco · extracto / consulta de saldo
Cripto · consulta on-chain
Zelle u otros · estado de cuenta
Responsable->>Externo: Obtiene saldo / movimientos verificados
Externo-->>Sistema: Saldo verificado
Note over Sistema: Fase 4 · Conciliación
Sistema->>Sistema: Compara saldo esperado vs verificado
alt Cuenta cuadrada
Sistema-->>Responsable: Cuenta CUADRADA · cierre exitoso
else Cuenta descuadrada
Sistema-->>Responsable: Cuenta DESCUADRADA · diferencia detectada
Responsable->>Supervisor: Reporta discrepancia
Supervisor->>Sistema: Revisa y resuelve
alt Ajuste aprobado
Sistema-->>Responsable: CERRADA con ajuste
else Sin resolución
Sistema-->>Responsable: CERRADA con discrepancia
(pendiente investigación)
end
end
Estados que puede tener una cuenta en cierre
stateDiagram-v2
[*] --> Abierta : apertura con saldo inicial
Abierta --> EnOperacion : primer movimiento del período
EnOperacion --> EnOperacion : nuevo ingreso / egreso
EnOperacion --> Verificacion : inicio del cierre / arqueo
Verificacion --> Cuadrada : esperado = verificado
Verificacion --> Descuadrada : diferencia detectada
Cuadrada --> Cerrada : cierre exitoso
Descuadrada --> EnRevision : se reporta a supervisor
EnRevision --> CerradaConAjuste : ajuste aprobado
EnRevision --> CerradaConDiscrepancia : sin resolución
Cerrada --> [*]
CerradaConAjuste --> [*]
CerradaConDiscrepancia --> [*]
Cómo se concilia el cierre
flowchart TD
A[Inicio del cierre] --> B[Verificación externa
según tipo de cuenta]
B --> B1[Efectivo · conteo físico
con seriales]
B --> B2[Cuenta bancaria · extracto /
consulta de saldo]
B --> B3[Billetera cripto · consulta
on-chain]
B --> B4[Zelle u otros · estado
de cuenta]
B1 --> C[Comparar saldo esperado
vs saldo verificado]
B2 --> C
B3 --> C
B4 --> C
C --> D{¿Coinciden?}
D -->|Sí| E[Cuenta CUADRADA]
D -->|No| F[Cuenta DESCUADRADA]
F --> G{Tipo de diferencia}
G -->|Faltante| H[Faltante]
G -->|Sobrante| I[Sobrante]
G -->|Movimientos no
registrados| J[Ingresos / egresos
vistos solo en la
fuente externa]
H --> K[Reporte al supervisor]
I --> K
J --> K
K --> L{Resolución}
L -->|Ajuste aprobado| M[CERRADA con ajuste]
L -->|Sin resolución| N[CERRADA con discrepancia
pendiente investigación]
E --> O[CERRADA]
style E fill:#e8f4ea,stroke:#2e7d32
style O fill:#e8f4ea,stroke:#2e7d32
style F fill:#fde8e8,stroke:#b42318
style M fill:#fff8e1,stroke:#a16207
style N fill:#fff8e1,stroke:#a16207