Flujos Operativo de Sistema de Cajas

Documento descriptivo de los flujos de órdenes de pago y de balanceo de cuentas propuestos por Legendsoft C.A.

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.
El monto recibido puede ser menor al enviado debido a comisiones de bancos intermediarios.
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