1. 🧩 Descripción General
El módulo de Bancos permite controlar las cuentas bancarias de la empresa, registrar movimientos reales y conciliar transacciones con las operaciones internas del ERP. Se conecta con el módulo de Finanzas para reflejar los pagos y cobros realizados a través de medios bancarios.
2. 🧱 Modelos del Módulo
a. BankAccount
id: integer (PK)
bank_name: string
account_number: string
clabe: string (México)
currency: string
type: enum (cheques, ahorro, inversión)
balance: decimal (actualizado por sistema)
b. BankTransaction
id: integer (PK)
bank_account_id: FK → BankAccount
date: date
description: string
reference: string
amount: decimal
type: enum (ingreso, egreso)
source: enum (manual, conciliación)
related_payment_id: FK → Payment (opcional)
3. 🔁 Funciones del Controlador
indexAccounts(): Listar cuentas bancarias.
storeAccount(): Registrar nueva cuenta.
showAccount($id): Ver detalle de cuenta y movimientos.
updateAccount($id): Editar cuenta.
destroyAccount($id): Desactivar.
indexTransactions(): Ver movimientos bancarios.
storeTransaction(): Agregar movimiento manual.
reconcileTransaction(): Asociar movimiento a pago.
4. 🌐 Endpoints detallados y justificados
| Método | Ruta | Descripción | Justificación |
|---|
| GET | /api/banks/accounts | Listar cuentas | Ver saldos disponibles |
| POST | /api/banks/accounts | Crear cuenta | Registro de nueva cuenta bancaria |
| GET | /api/banks/accounts/{id} | Detalle de cuenta | Movimientos históricos |
| PUT | /api/banks/accounts/{id} | Editar cuenta | Correcciones |
| DELETE | /api/banks/accounts/{id} | Desactivar | Limpieza de cuentas inactivas |
| GET | /api/banks/transactions | Ver movimientos | Seguimiento de entradas/salidas |
| POST | /api/banks/transactions | Movimiento manual | Ajustes o cargos no registrados |
| POST | /api/banks/transactions/{id}/reconcile | Conciliación | Asociación con pago registrado |
5. 🖥️ Diseño UX sugerido (flujo de usuario)
Página: "Cuentas Bancarias"
- Tabla con nombre, número, saldo
- Acciones: Ver, Editar, Eliminar
Página: "Movimientos Bancarios"
- Filtros: cuenta, tipo, fecha, referencia
- Tabla con descripción, tipo, monto
- Botón: Conciliar con pago
6. 📄 Vistas sugeridas (tipo wireframe)
| Vista | Campos sugeridos | Acciones |
|---|
| Cuentas | Banco, número, tipo, saldo, moneda | Ver, Editar, Desactivar |
| Formulario cuenta | Banco, número, CLABE, tipo, moneda | Guardar |
| Movimientos | Fecha, descripción, tipo, referencia, monto | Conciliar, Agregar |
7. 🔗 Conexión Frontend ↔ API JSON:API
| Acción en Frontend | Método/API | Resultado esperado |
|---|
| Ver cuentas | GET /api/banks/accounts | Tabla con saldos |
| Crear cuenta | POST /api/banks/accounts | Alta nueva |
| Ver movimientos | GET /api/banks/transactions | Mostrar tabla filtrable |
| Crear movimiento | POST /api/banks/transactions | Registrar ingreso o egreso |
| Conciliar | POST /api/banks/transactions/{id}/reconcile | Relacionar con pago del ERP |
🏦 Este módulo permite integrar el ERP con los registros bancarios reales de la empresa, garantizando una visión financiera unificada y alineada con la realidad operativa.