Para qué sirve este flujograma. Cada tab muestra un flujo operativo completo del módulo, desde su origen hasta su cierre. Los nodos azules son pantallas wireframe — click para abrirlas. Los nodos grises son módulos externos (Tesorería, Sección Pagos, Compras, Caja, Ahorros, Créditos, RRHH, Patrimonio, Cobranzas, Marangatú/SET, Cabal, Procard, INCOOP, Banco, Consejo, Auditoría externa). Use este mapa para detectar pasos o pantallas que pueda estar olvidando antes de la reunión de validación con la Contadora y el Gerente Financiero.
Módulo externo (no navegable)
Pantalla wireframe (clickable)
Decisión / disparador
Alerta / estado pendiente
Estado terminal
1. Asignación contable (no bloqueante)
2. Ciclo de vida del cheque
3. Reversa manual de asiento
4. Libro bancos + conciliación
5. Conciliación caja vs módulos (10)
6. Tarjetas (importación + inventario)
7. Libros IVA + Marangatú
8. Intereses devengados (cierre)
9. Cierre mensual + INCOOP
Flujo 1 — Asignación contable no bloqueante (factura de proveedor)

Es el patrón arquitectónico central del módulo. Sección Pagos carga la factura con una cuenta madre genérica (Proveedores a pagar / Honorarios a pagar / Sueldos a pagar). Tesorería emite el cheque sin esperar a que Contabilidad asigne cuentas específicas — el asiento queda como borrador con la cuenta madre. Contabilidad accede a la bandeja de facturas pendientes y, en paralelo, asigna las cuentas detalle (multi-cuenta, multi-monto, multi-centro de costos), edita la descripción para el libro mayor, y al guardar el sistema sustituye la cuenta madre por las cuentas específicas. El pago al proveedor procede independientemente; la asignación se realiza al día siguiente como máximo.

Actores
Sección Pagos · Tesorería · Asistente de Contabilidad · Contadora · Compras (externo, en facturas centralizadas)
Pantallas tocadas
Disparadores
Sección Pagos carga factura con cuenta madre · Compras envía factura para asignación · Tesorería emite cheque pendiente de asignación
Regla de negocio clave
El pago NUNCA se bloquea esperando a Contabilidad. Tres cuentas madre canónicas: Proveedores a pagar / Honorarios a pagar / Sueldos a pagar. Un detalle de factura puede afectar múltiples cuentas contables con diferentes montos y centros de costos. La descripción del asiento es editable por Contabilidad. Asignación máximo al día siguiente.
flowchart TD
  HOME["CON-01
Home (KPIs + alertas)"]:::wireframe PAGOS["Sección Pagos
carga factura"]:::external TESO["Tesorería emite cheque
con cuenta madre"]:::external BAND["CON-02 Bandeja
facturas pendientes"]:::wireframe ASIG["CON-03 Asignación contable
(wizard multi-cuenta)"]:::wireframe VALID{"¿Cuadra
la sumatoria?"}:::decision ERR["Reabrir wizard
sin guardar"]:::alert GUARDAR["CON-03 paso final
guarda + sustituye cuenta madre"]:::wireframe ASIENTO["CON-07 Detalle de asiento
(definitivo generado)"]:::wireframe FICHA["CON-04 Detalle de factura
+ asiento + retención IVA"]:::wireframe MAYOR{"¿Mayor cuenta madre
queda en cero al cierre?"}:::decision PEND["Facturas pendientes
visibles en CON-02"]:::alert CIERRE["Asiento contabilizado
en ejercicio vigente"]:::terminal HOME --> BAND PAGOS --> BAND TESO --> BAND BAND --> ASIG ASIG --> VALID VALID -->|No| ERR ERR -.-> ASIG VALID -->|Sí| GUARDAR GUARDAR --> ASIENTO GUARDAR --> FICHA FICHA --> MAYOR MAYOR -->|Sí| CIERRE MAYOR -->|No| PEND PEND -.->|día siguiente| BAND click HOME "CON-01-Home.html" "Home del módulo" click BAND "CON-02-BandejaFacturas.html" "Bandeja de facturas pendientes" click ASIG "CON-03-AsignacionContable.html" "Asignación contable (wizard)" click GUARDAR "CON-03-AsignacionContable.html" "Paso final del wizard" click ASIENTO "CON-07-DetalleAsiento.html" "Detalle de asiento generado" click FICHA "CON-04-DetalleFactura.html" "Detalle de factura" classDef external fill:#f5f5f5,stroke:#999,color:#333 classDef wireframe fill:#e3f2fd,stroke:#0066cc,color:#003366 classDef terminal fill:#e8f5e9,stroke:#28a745,color:#155724 classDef alert fill:#ffebee,stroke:#dc3545,color:#721c24 classDef decision fill:#fff3cd,stroke:#ffc107,color:#856404
Flujo 2 — Ciclo de vida del cheque: emisión → cobro / endoso / anulación con ONP

El cheque tiene 9 estados posibles a lo largo de su vida, con reglas contables distintas para cada uno. La anulación con orden de no pago (ONP) es el caso más complejo: Tesorería gestiona la orden con el banco y el sistema genera automáticamente 2 asientos (reversa del original + asiento a "Proveedores a pagar"). El endoso, en cambio, NO genera asiento (solo extiende la vigencia, una sola vez). La anulación por error de impresión tiene dos sub-casos: mismo día (sin contra-asiento) vs. día posterior (con asiento de anulación). Contabilidad pasa de ejecutor a auditor: verifica que las reversas automáticas sean correctas.

Actores
Tesorería · Banco (externo) · Proveedor / Beneficiario · Asistente de Contabilidad (auditor) · Consejo de Administración (anulaciones definitivas tras 45 días)
Pantallas tocadas
Disparadores
Tesorería emite cheque (resultado del Flujo 1) · Proveedor no se presenta a cobrar · Cheque vence (~26-28 días) · Error de impresión detectado · Banco rechaza el cheque · Nota de débito bancaria recibida
Regla de negocio clave
Endoso: solo una vez, sin asiento. Anulación con ONP: genera 2 asientos automáticos (reversa + cuenta transitoria). Anulación mismo día: sin contra-asiento. Plazo máximo 45 días desde vencimiento del endoso para resolver con ONP. Pasado eso, decide el Consejo.
flowchart TD
  EMIT["CON-09 Libro bancos
(cheque emitido)"]:::wireframe FICHA["CON-10 Ficha de cheque
(estado: Emitido)"]:::wireframe ENTREG["Proveedor retira
el cheque"]:::external ESTADO{"¿Estado del
cheque?"}:::decision COBRO["CON-12 Carga nota
débito bancaria"]:::wireframe COBRADO["CON-10 Estado:
Cobrado"]:::terminal VENCE["CON-10 Próximo
a vencer (5d antes)"]:::alert GESTION{"¿Gestión
con proveedor?"}:::decision ENDOSO["CON-11 tab Endoso
(extiende vigencia)"]:::wireframe REENDOS["CON-10 Estado:
Endosado (1 sola vez)"]:::alert ONP["CON-11 tab Anulación con ONP
(comprobante banco)"]:::wireframe ASIENT2["CON-07 2 asientos automáticos:
reversa + Proveedores a pagar"]:::wireframe PROV2["Proveedor se comunica
para cobrar"]:::external NUEVO["Volver a Flujo 1:
nuevo CDI + nuevo cheque"]:::wireframe CONSEJO["Consejo autoriza
anulación definitiva tras 45 días"]:::external ERR_IMP{"¿Error de
impresión?"}:::decision ANUL_MD["CON-10 Anulado mismo día
(sin contra-asiento)"]:::terminal ANUL_DP["CON-09 Anulado posterior
(contra-asiento generado)"]:::terminal EMIT --> FICHA FICHA --> ERR_IMP ERR_IMP -->|Mismo día| ANUL_MD ERR_IMP -->|Día posterior| ANUL_DP ERR_IMP -->|Sin error| ENTREG ENTREG --> ESTADO ESTADO -->|Cobrado a tiempo| COBRO COBRO --> COBRADO ESTADO -->|Cerca del vencimiento| VENCE VENCE --> GESTION GESTION -->|Endosa| ENDOSO ENDOSO --> REENDOS REENDOS -.->|nuevo vencimiento| VENCE GESTION -->|Anula con ONP| ONP ONP --> ASIENT2 ASIENT2 --> PROV2 PROV2 -->|Sí| NUEVO PROV2 -->|Tras 45 dias sin reclamo| CONSEJO click EMIT "CON-09-LibroBancos.html" "Libro bancos" click FICHA "CON-10-FichaCheque.html" "Ficha de cheque" click COBRO "CON-12-NotasBancarias.html" "Carga notas débito/crédito" click VENCE "CON-10-FichaCheque.html" "Cheque próximo a vencer" click ENDOSO "CON-11-EndosoAnulacion.html" "Tab Endoso" click REENDOS "CON-10-FichaCheque.html" "Estado endosado" click ONP "CON-11-EndosoAnulacion.html" "Tab Anulación con ONP" click ASIENT2 "CON-07-DetalleAsiento.html" "Asientos automáticos" click NUEVO "CON-02-BandejaFacturas.html" "Vuelta al Flujo 1" click ANUL_MD "CON-10-FichaCheque.html" "Anulado mismo día" click ANUL_DP "CON-09-LibroBancos.html" "Anulado día posterior" classDef external fill:#f5f5f5,stroke:#999,color:#333 classDef wireframe fill:#e3f2fd,stroke:#0066cc,color:#003366 classDef terminal fill:#e8f5e9,stroke:#28a745,color:#155724 classDef alert fill:#ffebee,stroke:#dc3545,color:#721c24 classDef decision fill:#fff3cd,stroke:#ffc107,color:#856404
Flujo 3 — Reversa manual de asiento contable (dentro del ejercicio vigente)

La reversa manual aplica cuando Contabilidad detecta un asiento erróneo (imputación o monto incorrecto, descripción equivocada) o cuando un evento operativo obliga a anular un asiento (cheque no cobrado pero registrado, devolución de mercadería, factura anulada). El sistema valida que el asiento esté dentro del ejercicio contable vigente — el cierre mensual NO bloquea las reversas, solo el cierre del ejercicio anual. La justificación es obligatoria (mínimo 20 caracteres) y queda vinculada al par asiento original ↔ asiento reversa para trazabilidad permanente.

Actores
Asistente de Contabilidad · Contadora (validación) · Auditoría interna/externa (revisión a posteriori)
Pantallas tocadas
Disparadores
Error de imputación detectado · Devolución de mercadería · Factura anulada · Nota de crédito · Cheque extraviado · Cliente no se acercó a cobrar · Reclamo del proveedor
Regla de negocio clave
Alcance: solo dentro del ejercicio vigente. El cierre mensual NO bloquea reversas. La justificación es obligatoria (mínimo 20 caracteres). El asiento original NO se elimina; queda con badge "Reversado" y referencia al asiento reversa. Reversas automáticas por ONP no requieren justificación manual.
flowchart TD
  DETECT["Detección de
error / evento operativo"]:::external LIST["CON-05 Listado
de asientos"]:::wireframe DET["CON-07 Detalle
de asiento"]:::wireframe REV_BTN["CON-07 botón
Reversar"]:::wireframe WIZ["CON-08 Reversa
(wizard con justificación)"]:::wireframe VALID_EJ{"¿Asiento dentro
del ejercicio vigente?"}:::decision BLOQ["Reversa bloqueada:
ejercicio cerrado"]:::alert VALID_JUST{"¿Justificación
≥ 20 caracteres?"}:::decision REINGRESO["Reingresar
justificación"]:::alert GEN["Sistema genera asiento
reversa (débito/crédito invertidos)"]:::wireframe VINC["Vinculación asiento original
↔ asiento reversa"]:::wireframe ORIG["CON-07 asiento original
badge: Reversado"]:::wireframe NEW["CON-07 asiento reversa
(estado: De reversa)"]:::wireframe DOC["Adjuntar documentación
de respaldo al legajo"]:::wireframe AUD["Auditoría revisa
a posteriori"]:::external CIERRE["Reversa completada
+ trazabilidad permanente"]:::terminal DETECT --> LIST LIST --> DET DET --> REV_BTN REV_BTN --> WIZ WIZ --> VALID_EJ VALID_EJ -->|No| BLOQ VALID_EJ -->|Sí| VALID_JUST VALID_JUST -->|No| REINGRESO REINGRESO -.-> WIZ VALID_JUST -->|Sí| GEN GEN --> VINC VINC --> ORIG VINC --> NEW NEW --> DOC DOC --> AUD AUD --> CIERRE click LIST "CON-05-ListadoAsientos.html" "Listado de asientos" click DET "CON-07-DetalleAsiento.html" "Detalle del asiento original" click REV_BTN "CON-07-DetalleAsiento.html" "Botón Reversar" click WIZ "CON-08-ReversaAsiento.html" "Wizard de reversa" click GEN "CON-08-ReversaAsiento.html" "Generación del asiento reversa" click VINC "CON-07-DetalleAsiento.html" "Vinculación" click ORIG "CON-07-DetalleAsiento.html" "Asiento original reversado" click NEW "CON-07-DetalleAsiento.html" "Asiento de reversa" click DOC "CON-07-DetalleAsiento.html" "Documentación adjunta" classDef external fill:#f5f5f5,stroke:#999,color:#333 classDef wireframe fill:#e3f2fd,stroke:#0066cc,color:#003366 classDef terminal fill:#e8f5e9,stroke:#28a745,color:#155724 classDef alert fill:#ffebee,stroke:#dc3545,color:#721c24 classDef decision fill:#fff3cd,stroke:#ffc107,color:#856404
Flujo 4 — Libro bancos y conciliación bancaria (10 bancos)

La cooperativa maneja 10 bancos diferentes, cada uno con su propia cuenta corriente, su propia chequera y su propio libro bancos. El libro bancos se alimenta automáticamente: emisión de cheques (Tesorería), cobros (notas de débito bancarias), depósitos (sucursales + casa central), débitos automáticos (comisiones, mantenimiento) y notas de crédito (intereses a favor). La conciliación bancaria compara el extracto del banco contra el mayor contable de la cuenta corriente; las diferencias típicas son cheques emitidos no cobrados (no son error — son pendientes) y débitos bancarios no registrados (generan asiento de ajuste). Fase inicial: mensual. Fase objetivo: diaria automatizada.

Actores
Banco (extractos) · Tesorería (libro bancos operativo) · Asistente de Contabilidad · Contadora (cierre conciliación)
Pantallas tocadas
Disparadores
Cierre del mes · Banco envía extracto · Detección de débito bancario no registrado · Conciliación periódica programada · Próxima fase: alerta automática diaria de diferencias
Regla de negocio clave
10 bancos × 10 conciliaciones independientes. Cheques no cobrados: permanecen como "pendientes" (NO son error, NO generan ajuste). Débitos bancarios no registrados: generan asiento de ajuste. Saldo extracto = saldo mayor ± cheques en tránsito ± depósitos pendientes documentados.
flowchart TD
  BCO["Banco envía
extracto mensual"]:::external LIBRO["CON-09 Libro bancos
(tabs por banco)"]:::wireframe NOTAS["CON-12 Carga notas
débito/crédito bancarias"]:::wireframe CONCILIA["CON-14 Conciliación bancaria
(por banco)"]:::wireframe COMP{"Comparación
extracto vs mayor"}:::decision CUADRA["Conciliación cuadra
marcado verde"]:::terminal PEND["Cheques emitidos
no cobrados"]:::alert DOC_PEND["Pendientes documentados
(no son error)"]:::wireframe DEB_BCO["Débitos bancarios
no registrados"]:::alert AJUSTE["CON-06 Nuevo asiento
manual de ajuste"]:::wireframe RECHECK["CON-14 re-validar
cuadre"]:::wireframe CIERRA["CON-14 Contadora
cierra conciliación"]:::wireframe PRINT["Reporte impreso
al legajo mensual"]:::terminal BCO --> LIBRO LIBRO --> NOTAS NOTAS --> CONCILIA CONCILIA --> COMP COMP -->|Cuadra exacto| CUADRA COMP -->|Cheques no cobrados| PEND PEND --> DOC_PEND DOC_PEND --> RECHECK COMP -->|Débitos no registrados| DEB_BCO DEB_BCO --> AJUSTE AJUSTE --> RECHECK RECHECK --> CIERRA CUADRA --> CIERRA CIERRA --> PRINT click LIBRO "CON-09-LibroBancos.html" "Libro bancos por banco" click NOTAS "CON-12-NotasBancarias.html" "Carga notas débito/crédito" click CONCILIA "CON-14-ConciliacionBancaria.html" "Conciliación bancaria" click DOC_PEND "CON-09-LibroBancos.html" "Cheques pendientes documentados" click AJUSTE "CON-06-NuevoAsiento.html" "Nuevo asiento de ajuste" click RECHECK "CON-14-ConciliacionBancaria.html" "Re-validación de cuadre" click CIERRA "CON-14-ConciliacionBancaria.html" "Cierre de conciliación" classDef external fill:#f5f5f5,stroke:#999,color:#333 classDef wireframe fill:#e3f2fd,stroke:#0066cc,color:#003366 classDef terminal fill:#e8f5e9,stroke:#28a745,color:#155724 classDef alert fill:#ffebee,stroke:#dc3545,color:#721c24 classDef decision fill:#fff3cd,stroke:#ffc107,color:#856404
Flujo 5 — Conciliación de caja contra módulos operativos (10 conciliaciones)

Es la conciliación más extensa e importante del módulo. El módulo de Caja genera el comprobante de mutación diario consolidado de todas las cajas; cada módulo operativo (Ahorros, Préstamos, Servicios Públicos, Cuentas a Cobrar, Solidaridad, Fondo Cobertura, Sostenimiento, Aportes, Tarjetas, Capital) envía su resumen de débitos y créditos diarios afectados a caja. La pantalla CON-13 presenta los 10 tabs y muestra para cada uno si los totales cuadran o si hay diferencias. Caso histórico del relevamiento: Gs. 17.000.000 depositados en caja pero no impactados en módulo de ahorros — se detectó recién al mes siguiente. El sistema nuevo debe alertar en el día.

Actores
Módulo Caja · cada módulo operativo (10) · Asistente de Contabilidad · Contadora (cierre conciliación)
Pantallas tocadas
Disparadores
Cierre diario de todas las cajas (Caja envía CDI consolidado) · Cierre semanal/mensual · Alerta automática por diferencia detectada · Reclamo de socio por movimiento no impactado
Regla de negocio clave
10 conciliaciones: Ahorros, Préstamos, Servicios Públicos, Cuentas a Cobrar, Solidaridad, Fondo Cobertura, Sostenimiento, Aportes, Tarjetas, Capital. Fase inicial mensual → intermedia semanal → objetivo diaria automatizada. Las diferencias se investigan antes del cierre.
flowchart TD
  CAJA["Módulo Caja envía
comprobante mutación diario"]:::external M_AHO["Ahorros envía
débitos/créditos del día"]:::external M_PRE["Préstamos envía
cobros del día"]:::external M_SER["Servicios Públicos
envía pagos"]:::external M_OTROS["Resto: Cuentas a Cobrar,
Solidaridad, Aportes, etc."]:::external CON13["CON-13 Conciliación caja
vs módulos (10 tabs)"]:::wireframe TABS{"¿Estado de
cada tab?"}:::decision VERDE["Tab verde:
totales coinciden"]:::wireframe ROJO["Tab rojo:
diferencia detectada"]:::alert INVEST["Investigación
de la diferencia"]:::wireframe TIPO{"¿Causa de
la diferencia?"}:::decision AJUSTE["CON-06 Nuevo asiento
de ajuste contable"]:::wireframe CORR["Solicitar al módulo
operativo que corrija"]:::external RECHECK["CON-13 re-validar tab"]:::wireframe TODOSOK{"¿Los 10 tabs
en verde?"}:::decision CIERRA["Contadora cierra
conciliación del período"]:::terminal ALERTA_RECURR["Alerta recurrente:
diferencia no resuelta"]:::alert CAJA --> CON13 M_AHO --> CON13 M_PRE --> CON13 M_SER --> CON13 M_OTROS --> CON13 CON13 --> TABS TABS -->|Cuadra| VERDE TABS -->|No cuadra| ROJO ROJO --> INVEST INVEST --> TIPO TIPO -->|Error en mayor| AJUSTE TIPO -->|Error en módulo origen| CORR AJUSTE --> RECHECK CORR --> RECHECK RECHECK --> TODOSOK VERDE --> TODOSOK TODOSOK -->|Sí| CIERRA TODOSOK -->|No| ALERTA_RECURR ALERTA_RECURR -.-> INVEST click CON13 "CON-13-ConciliacionCajaModulos.html" "Conciliación caja vs 10 módulos" click VERDE "CON-13-ConciliacionCajaModulos.html" "Tab con cuadre" click ROJO "CON-13-ConciliacionCajaModulos.html" "Tab con diferencia" click INVEST "CON-13-ConciliacionCajaModulos.html" "Investigación de diferencia" click AJUSTE "CON-06-NuevoAsiento.html" "Asiento de ajuste" click RECHECK "CON-13-ConciliacionCajaModulos.html" "Re-validación" click CIERRA "CON-13-ConciliacionCajaModulos.html" "Cierre de conciliación" classDef external fill:#f5f5f5,stroke:#999,color:#333 classDef wireframe fill:#e3f2fd,stroke:#0066cc,color:#003366 classDef terminal fill:#e8f5e9,stroke:#28a745,color:#155724 classDef alert fill:#ffebee,stroke:#dc3545,color:#721c24 classDef decision fill:#fff3cd,stroke:#ffc107,color:#856404
Flujo 6 — Tarjetas: importación diaria + inventario propio + conciliación mensual

Cabal Paraguay y Procard / Bancard depositan archivos diarios en una carpeta compartida (~20:00 hs del día siguiente al cierre diario de la procesadora). El sistema importa automáticamente movimientos diarios + deudores/cartera + franqueo; actualiza el inventario propio de cartera de tarjetas (que actualmente la cooperativa NO tiene — es observación del INCOOP y de auditoría externa); genera asientos por lotes (totales por tipo de operación, no detalle por socio). La conciliación mensual compara la cartera según la procesadora contra el mayor contable de deudores por tarjeta. Desfases esperados: Cabal cierra el último viernes del mes; el cierre contable es día 30/31 (diferencia de 5-6 días).

Actores
Cabal Paraguay · Procard / Bancard · AquiPago · DIMO (futuro) · Sistema (importación automática) · Asistente de Contabilidad · Auditoría externa (revisa cartera anual) · INCOOP (observa inventario)
Pantallas tocadas
Disparadores
Cabal deposita archivos diarios ~20:00 · Procard envía archivos de movimientos Visa · AquiPago acredita pagos automáticos · Cierre mensual de Cabal (último viernes) · Consulta de saldo real de un socio
Regla de negocio clave
El inventario propio responde a observación del INCOOP y de auditoría externa. Saldo del inventario = mayor contable de deudores por tarjeta. Desfases: refinanciaciones 1d, renuncias 24h, comisiones diferidas hasta cierre mensual. Cabal cierra el último viernes del mes (5-6 días de diferencia con cierre contable). Asientos por lote, NO detalle por socio.
flowchart TD
  CABAL["Cabal Paraguay deposita
archivos diarios ~20:00"]:::external PROC["Procard / Bancard
envía archivos Visa"]:::external AQP["AquiPago acredita
pagos automáticos"]:::external BAND["CON-16 Bandeja
importación de archivos"]:::wireframe PROC_AUTO{"¿Procesa
correctamente?"}:::decision ERR["Registros con error
requieren intervención"]:::alert LOTE["Sistema genera
asientos por lote"]:::wireframe ASIENTO["CON-05 Listado
de asientos por lote"]:::wireframe INV["CON-17 Inventario
propio de tarjetas"]:::wireframe CONSULTA["Consulta saldo
real por socio"]:::wireframe CIERRE_M["Cierre mensual
de Cabal (último viernes)"]:::external CONCILIA["CON-15 Conciliación
cartera vs mayor"]:::wireframe DESFASE{"¿Diferencia por
desfase de fechas?"}:::decision ESPERA["Esperar siguiente ciclo
(5-6 días)"]:::alert CUADRA["Conciliación cuadra
al cierre del ciclo"]:::terminal AUD["Auditoría / INCOOP
consume inventario"]:::external CABAL --> BAND PROC --> BAND AQP --> BAND BAND --> PROC_AUTO PROC_AUTO -->|No| ERR ERR -.->|corrección| BAND PROC_AUTO -->|Sí| LOTE LOTE --> ASIENTO LOTE --> INV INV --> CONSULTA CIERRE_M --> CONCILIA INV --> CONCILIA CONCILIA --> DESFASE DESFASE -->|Si esperado| ESPERA ESPERA -.->|siguiente ciclo| CONCILIA DESFASE -->|No cuadra| CUADRA CUADRA --> AUD click BAND "CON-16-ImportacionTarjetas.html" "Bandeja importación" click ERR "CON-16-ImportacionTarjetas.html" "Registros con error" click LOTE "CON-16-ImportacionTarjetas.html" "Asientos por lote" click ASIENTO "CON-05-ListadoAsientos.html" "Listado asientos por lote" click INV "CON-17-InventarioTarjetas.html" "Inventario propio" click CONSULTA "CON-17-InventarioTarjetas.html" "Consulta saldo" click CONCILIA "CON-15-ConciliacionTarjetas.html" "Conciliación tarjetas" classDef external fill:#f5f5f5,stroke:#999,color:#333 classDef wireframe fill:#e3f2fd,stroke:#0066cc,color:#003366 classDef terminal fill:#e8f5e9,stroke:#28a745,color:#155724 classDef alert fill:#ffebee,stroke:#dc3545,color:#721c24 classDef decision fill:#fff3cd,stroke:#ffc107,color:#856404
Flujo 7 — Libros IVA y facturación electrónica (Marangatú / SET)

La cooperativa emite 46.000 a 53.000 facturas electrónicas por mes a través de Marangatú. El sistema importa automáticamente las facturas emitidas (libro IVA Ventas) y las facturas de compras electrónicas recibidas (libro IVA Compras, formato RG 90). Las facturas manuales (no electrónicas) las registra Contabilidad directamente. El sistema genera automáticamente la retención IVA del 30% al momento del pago al proveedor y la descuenta del pago. Las facturas rechazadas/pendientes tienen plazo día 13 del mes siguiente para resolverse. La liquidación mensual de IVA (débito − crédito) se presenta a la SET.

Actores
Marangatú / SET · Sistema (importación automática) · Sección Pagos (genera retenciones al pagar) · Asistente de Contabilidad · Proveedores (reciben retenciones) · Contadora (cierra liquidación)
Pantallas tocadas
Disparadores
Marangatú importa facturas emitidas/recibidas · Sección Pagos paga al proveedor (genera retención) · Cierre del mes (liquidación mensual) · Alerta de facturas rechazadas/pendientes · Volumen anómalo (<80% del habitual)
Regla de negocio clave
Retención IVA estándar: 30% del IVA del proveedor. Plazo SET para facturas rechazadas/pendientes: día 13. Libro IVA Compras formato RG 90. Alerta si volumen mensual emitido es <80% del habitual. Liquidación mensual: IVA débito − IVA crédito.
flowchart TD
  MAR["Marangatú / SET
(facturación electrónica)"]:::external IMP["Importación automática
facturas emitidas + recibidas"]:::wireframe VENTAS["CON-19 Libro IVA
Ventas (46K-53K/mes)"]:::wireframe COMPRAS["CON-18 Libro IVA
Compras (formato RG 90)"]:::wireframe MANUAL["Carga manual de facturas
(no electrónicas)"]:::wireframe PAGO["Sección Pagos paga
al proveedor"]:::external RETEN["Sistema calcula retención
30% IVA + comprobante Marangatú"]:::wireframe CONCILIA["CON-20 Conciliación
con Marangatú"]:::wireframe ESTADO{"¿Estado
facturas SET?"}:::decision APROB["Aprobadas
(importadas OK)"]:::wireframe RECH["Rechazadas (alerta
vence día 13)"]:::alert PEND_F["Pendientes
de aprobación"]:::alert VOL_OK{"¿Volumen
≥ 80% habitual?"}:::decision ALERT_VOL["Alerta:
volumen anómalo"]:::alert LIQ["CON-21 Liquidación
mensual IVA"]:::wireframe CALC{"IVA débito −
IVA crédito"}:::decision PAGAR["A pagar a SET"]:::terminal FAVOR["Saldo a favor
(arrastre próximo mes)"]:::terminal MAR --> IMP IMP --> VENTAS IMP --> COMPRAS MANUAL --> COMPRAS PAGO --> RETEN RETEN --> COMPRAS VENTAS --> VOL_OK VOL_OK -->|No| ALERT_VOL VOL_OK -->|Sí| CONCILIA COMPRAS --> CONCILIA CONCILIA --> ESTADO ESTADO --> APROB ESTADO --> RECH ESTADO --> PEND_F RECH -.->|resolver antes día 13| MAR PEND_F -.->|seguimiento| MAR APROB --> LIQ ALERT_VOL -.-> LIQ LIQ --> CALC CALC -->|Positivo| PAGAR CALC -->|Negativo| FAVOR click IMP "CON-19-LibroIVAVentas.html" "Importación automática" click VENTAS "CON-19-LibroIVAVentas.html" "Libro IVA Ventas" click COMPRAS "CON-18-LibroIVACompras.html" "Libro IVA Compras" click MANUAL "CON-18-LibroIVACompras.html" "Carga manual de facturas" click RETEN "CON-21-LiquidacionIVA.html" "Generación de retención" click CONCILIA "CON-20-ConciliacionMarangatu.html" "Conciliación Marangatú" click APROB "CON-20-ConciliacionMarangatu.html" "Tab Aprobadas" click RECH "CON-20-ConciliacionMarangatu.html" "Tab Rechazadas" click PEND_F "CON-20-ConciliacionMarangatu.html" "Tab Pendientes" click LIQ "CON-21-LiquidacionIVA.html" "Liquidación mensual IVA" classDef external fill:#f5f5f5,stroke:#999,color:#333 classDef wireframe fill:#e3f2fd,stroke:#0066cc,color:#003366 classDef terminal fill:#e8f5e9,stroke:#28a745,color:#155724 classDef alert fill:#ffebee,stroke:#dc3545,color:#721c24 classDef decision fill:#fff3cd,stroke:#ffc107,color:#856404
Flujo 8 — Intereses devengados (cierre mensual, inventario detallado)

Los intereses devengados representan los ingresos por intereses de préstamos que la cooperativa tiene derecho a cobrar. El módulo de Créditos genera el cálculo por préstamo (sistema francés y alemán). El sistema clasifica automáticamente: Reconocidos (hasta 60 días de mora, impactan en el resultado) y Suspendidos (≥ 60 días de mora, NO impactan en el resultado, visibles solo en el extracto del socio). El devengamiento se realiza al cierre del mes, NO diariamente, para evitar diferencias de redondeo (~Gs. 600-1.000 que se acumulan si se hiciera diariamente). El inventario detallado por préstamo es requerido anualmente por la auditoría externa — actualmente la cooperativa NO lo tiene.

Actores
Módulo Créditos (cálculo por préstamo) · Sistema (clasificación automática Reconocido/Suspendido) · Asistente de Contabilidad · Contadora (validación) · Auditoría externa (consume anualmente)
Pantallas tocadas
Disparadores
Cierre del mes calendario · Préstamo cruza 60 días de mora (cambio automático Reconocido → Suspendido) · Auditoría externa anual solicita inventario detallado · INCOOP solicita reporte
Regla de negocio clave
Devengamiento mensual (NO diario) para evitar diferencias de redondeo. Umbral suspensión: 60 días de mora. Diferencias típicas con mayor: Gs. 600-1.000 (redondeos, notas de crédito, créditos anulados). Inventario detallado por préstamo: requerido anualmente por auditoría externa.
flowchart TD
  CRED["Módulo Créditos
cálculo intereses por préstamo"]:::external CIE_MES["Disparador: cierre
del mes calendario"]:::external GEN["Sistema genera
inventario detallado"]:::wireframe INV["CON-22 Inventario
intereses devengados"]:::wireframe MORA{"¿Préstamo
≥ 60 días mora?"}:::decision RECON["Estado: Reconocido
(impacta resultado)"]:::wireframe SUSP["Estado: Suspendido
(no impacta resultado)"]:::alert VALID["Contadora valida
inventario detallado"]:::wireframe WIZ["CON-23 Generación
devengamiento mensual"]:::wireframe PREV["Previsualización
asiento total"]:::wireframe COINC{"¿Asiento total =
sumatoria inventario?"}:::decision DIFF["Diferencia > Gs. 1.000
requiere investigación"]:::alert ASIENTO["CON-07 Asiento mensual
de devengamiento generado"]:::wireframe CIE_PROC["Proceso de cierre
continúa (Flujo 9)"]:::wireframe AUD_ANUAL["Auditoría externa
(anual): inventario detallado"]:::external CRED --> CIE_MES CIE_MES --> GEN GEN --> INV INV --> MORA MORA -->|No| RECON MORA -->|Sí| SUSP RECON --> VALID SUSP --> VALID VALID --> WIZ WIZ --> PREV PREV --> COINC COINC -->|No - diferencia menor| ASIENTO COINC -->|No - diferencia mayor| DIFF DIFF -.->|investigar y reintentar| GEN COINC -->|Sí| ASIENTO ASIENTO --> CIE_PROC INV --> AUD_ANUAL click GEN "CON-22-InventarioIntereses.html" "Generación inventario" click INV "CON-22-InventarioIntereses.html" "Inventario intereses" click RECON "CON-22-InventarioIntereses.html" "Estado Reconocido" click SUSP "CON-22-InventarioIntereses.html" "Estado Suspendido" click VALID "CON-22-InventarioIntereses.html" "Validación Contadora" click WIZ "CON-23-DevengamientoMensual.html" "Wizard devengamiento" click PREV "CON-23-DevengamientoMensual.html" "Previsualización asiento" click ASIENTO "CON-07-DetalleAsiento.html" "Asiento mensual generado" click CIE_PROC "CON-24-CierreMensual.html" "Continúa cierre mensual" classDef external fill:#f5f5f5,stroke:#999,color:#333 classDef wireframe fill:#e3f2fd,stroke:#0066cc,color:#003366 classDef terminal fill:#e8f5e9,stroke:#28a745,color:#155724 classDef alert fill:#ffebee,stroke:#dc3545,color:#721c24 classDef decision fill:#fff3cd,stroke:#ffc107,color:#856404
Flujo 9 — Cierre mensual + reportes regulatorios (Consejo + INCOOP)

Es el flujo terminal de cada mes contable. Contabilidad dispone de 15 días hábiles desde el cierre del mes para presentar los informes al Consejo de Administración, con tope formal al día 19 del mes siguiente. El wizard CON-24 ejecuta validaciones automáticas en orden (conciliaciones cuadradas, facturas pendientes resueltas, Marangatú resuelta, intereses devengados generados, sumas y saldos cuadradas, todas las cajas cerradas) y bloquea el cierre si alguna falla. Tras el cierre, se generan los libros contables (Diario, Mayor, Balance General en niveles 1-3 / 6 / 8, Sumas y Saldos) y los reportes regulatorios al INCOOP (Informes Complementarios, Alerta Temprana, Tasas Activas/Pasivas). El Gerente Financiero carga los reportes a la plataforma online del INCOOP.

Actores
Contadora · Gerente Financiero (responsable INCOOP) · Consejo de Administración (recibe informes) · INCOOP (plataforma online + Alerta Temprana) · Auditoría externa (anual)
Pantallas tocadas
Disparadores
Fin del mes calendario · Todas las cajas cerradas · Calendario INCOOP · Solicitud del Consejo · Cierre del ejercicio anual (31 de diciembre)
Regla de negocio clave
15 días hábiles desde cierre / tope día 19 del mes siguiente. El comprobante de mutación no se genera hasta que todas las cajas estén cerradas. Cierre mensual NO bloquea reversas; solo el cierre del ejercicio anual lo hace. Niveles de balance: 1-3 ejecutivo / 6 INCOOP / 8 analítico.
flowchart TD
  FIN["Fin del mes calendario
(disparador)"]:::external WIZ["CON-24 Cierre mensual
(wizard con validaciones)"]:::wireframe VAL1{"¿Todas las facturas
pendientes resueltas?"}:::decision VAL2{"¿Marangatú
(rechazadas) resueltas?"}:::decision VAL3{"¿10 conciliaciones
en estado Cuadra?"}:::decision VAL4{"¿Intereses
devengados generados?"}:::decision VAL5{"¿Sumas y saldos
cuadran?"}:::decision VAL6{"¿Todas las cajas
cerradas?"}:::decision BLOQ["Cierre bloqueado
+ detalle de pendientes"]:::alert CMU["Comprobante mutación
diario consolidado"]:::wireframe LIBROS["CON-25 Libros consolidados
(Diario/Mayor/Balance/SyS)"]:::wireframe NIVELES{"Selector de
nivel"}:::decision N13["Nivel 1-3
(resumido / ejecutivo)"]:::wireframe N6["Nivel 6
(intermedio / INCOOP)"]:::wireframe N8["Nivel 8
(analítico / detallado)"]:::wireframe CONSEJO["Presentación al Consejo
(día 19 tope)"]:::external INCOOP_REP["CON-26 Reportes INCOOP
(Informes / Alerta / Tasas)"]:::wireframe PLATAFORMA["Gerente Financiero carga
a plataforma INCOOP"]:::external CIE_TERM["Mes cerrado
(reversas dentro del ejercicio aún OK)"]:::terminal EJ_ANUAL{"¿Cierre del
ejercicio anual?"}:::decision EJ_LOCK["Ejercicio cerrado
(reversas bloqueadas)"]:::terminal FIN --> WIZ WIZ --> VAL1 VAL1 -->|No| BLOQ BLOQ -.->|resolver| WIZ VAL1 -->|Sí| VAL2 VAL2 -->|No| BLOQ VAL2 -->|Sí| VAL3 VAL3 -->|No| BLOQ VAL3 -->|Sí| VAL4 VAL4 -->|No| BLOQ VAL4 -->|Sí| VAL5 VAL5 -->|No| BLOQ VAL5 -->|Sí| VAL6 VAL6 -->|No| BLOQ VAL6 -->|Sí| CMU CMU --> LIBROS LIBROS --> NIVELES NIVELES --> N13 NIVELES --> N6 NIVELES --> N8 N13 --> CONSEJO N6 --> INCOOP_REP N8 --> CONSEJO INCOOP_REP --> PLATAFORMA CONSEJO --> CIE_TERM PLATAFORMA --> CIE_TERM CIE_TERM --> EJ_ANUAL EJ_ANUAL -->|No| CIE_TERM EJ_ANUAL -->|Sí| EJ_LOCK click WIZ "CON-24-CierreMensual.html" "Cierre mensual (wizard)" click BLOQ "CON-24-CierreMensual.html" "Cierre bloqueado" click CMU "CON-24-CierreMensual.html" "Comprobante mutación diario" click LIBROS "CON-25-LibrosConsolidados.html" "Libros consolidados" click N13 "CON-25-LibrosConsolidados.html" "Balance Nivel 1-3" click N6 "CON-25-LibrosConsolidados.html" "Balance Nivel 6 INCOOP" click N8 "CON-25-LibrosConsolidados.html" "Balance Nivel 8 analítico" click INCOOP_REP "CON-26-ReportesINCOOP.html" "Reportes regulatorios" classDef external fill:#f5f5f5,stroke:#999,color:#333 classDef wireframe fill:#e3f2fd,stroke:#0066cc,color:#003366 classDef terminal fill:#e8f5e9,stroke:#28a745,color:#155724 classDef alert fill:#ffebee,stroke:#dc3545,color:#721c24 classDef decision fill:#fff3cd,stroke:#ffc107,color:#856404