Skip to main content

Conceptos de Conciliación

La conciliación bancaria es el proceso de verificar que los registros del sistema coincidan con los extractos bancarios reales. Incluye:
  • Movimientos bancarios registrados en movimientos_bancarios
  • Cuentas bancarias de la empresa en cuentas_bancarias
  • Métodos de pago vinculados a bancos en metodos_pago
  • Comparación entre saldo del sistema vs. saldo del extracto bancario
La conciliación ayuda a detectar:
  • Transacciones no registradas en el sistema
  • Comisiones bancarias no contabilizadas
  • Errores de digitación en montos
  • Cheques/transferencias pendientes de acreditación
  • Movimientos duplicados

Estructura del Módulo de Bancos

Tablas Relacionadas

bancos
CREATE TABLE bancos (
    id_banco INT PRIMARY KEY,
    nombre VARCHAR(100),     -- Ej: BCP, BBVA, Interbank
    codigo_swift VARCHAR(20),
    pais VARCHAR(50)
);
cuentas_bancarias
CREATE TABLE cuentas_bancarias (
    id_cuenta_bancaria INT PRIMARY KEY,
    id_empresa INT,
    id_banco INT,
    numero_cuenta VARCHAR(50),
    tipo_cuenta VARCHAR(20),  -- Ahorros, Corriente, CTS
    moneda VARCHAR(3),         -- PEN, USD
    saldo_actual DECIMAL(10,2),
    estado VARCHAR(20),
    fecha_apertura DATE
);
movimientos_bancarios
CREATE TABLE movimientos_bancarios (
    id_movimiento INT PRIMARY KEY,
    id_cuenta_bancaria INT,
    id_empresa INT,
    fecha_movimiento DATE,
    tipo VARCHAR(20),          -- Ingreso, Egreso, Transferencia
    concepto VARCHAR(200),
    monto DECIMAL(10,2),
    referencia VARCHAR(100),   -- Número de operación bancaria
    saldo_despues DECIMAL(10,2),
    conciliado BOOLEAN DEFAULT false,
    fecha_conciliacion DATETIME
);

Proceso de Conciliación

1

Acceder al módulo de Bancos

Navegue a Finanzas → Bancos en el menú lateral.Verá la lista de cuentas bancarias registradas con:
  • Banco
  • Número de cuenta
  • Tipo de cuenta
  • Moneda
  • Saldo actual del sistema
  • Estado (Activa/Inactiva)
2

Seleccionar cuenta a conciliar

Haga clic en una cuenta bancaria para ver su detalle y movimientos.La vista mostrará:
  • Saldo según sistema: Calculado de movimientos registrados
  • Último saldo conciliado: Del extracto bancario anterior
  • Movimientos pendientes: No marcados como conciliados
3

Obtener el extracto bancario

Descargue el extracto bancario del período desde:
  • Banca por internet del banco
  • Estado de cuenta mensual (PDF/Excel)
Identifique:
  • Saldo inicial del período
  • Movimientos del período (ingresos y egresos)
  • Saldo final del período
  • Comisiones y cargos aplicados por el banco
4

Comparar movimientos

Para cada movimiento del extracto bancario:

Movimiento encontrado en el sistema

  1. Verifique que el monto coincida exactamente
  2. Compare la fecha (puede haber diferencia de 1-2 días por acreditación)
  3. Marque como conciliado haciendo clic en el checkbox

Movimiento NO encontrado en el sistema

Registre el movimiento faltante:Ejemplo: Comisión bancaria
Tipo: Egreso
Fecha: 2026-03-01
Concepto: Comisión mantenimiento de cuenta
Monto: 15.00
Referencia: COMISION-MAR2026
Ejemplo: Interés ganado
Tipo: Ingreso
Fecha: 2026-02-28
Concepto: Interés mensual cuenta de ahorros
Monto: 12.50
Referencia: INTERES-FEB2026
Movimientos comunes no registrados:
  • Comisiones por mantenimiento
  • ITF (Impuesto a las Transacciones Financieras)
  • Cargos por chequeras
  • Intereses ganados (cuentas de ahorro)
  • Transferencias automáticas (préstamos, seguros)
5

Verificar diferencias

Después de marcar todos los movimientos:
Saldo según extracto:     S/. 45,320.50
Saldo según sistema:       S/. 45,320.50
─────────────────────────────────────
Diferencia:                 S/.      0.00  ✅ CONCILIADO
Si hay diferencia, revise:
  1. Cheques emitidos no cobrados: Registrados en sistema pero no en extracto
  2. Depósitos en tránsito: Registrados en sistema pero no acreditados aún
  3. Errores de digitación: Montos incorrectos en el sistema
  4. Movimientos duplicados: Revisar IDs y referencias
6

Confirmar conciliación

Una vez cuadrados los saldos:
  1. Marque todos los movimientos como conciliados
  2. Actualice el saldo_actual de la cuenta si hubo ajustes
  3. Registre la fecha_conciliacion en cada movimiento
  4. Genere el reporte de conciliación para archivo

Endpoints API

Listar cuentas bancarias

GET /api/bancos/cuentas
Authorization: Bearer {token}
Respuesta:
{
  "success": true,
  "data": [
    {
      "id_cuenta_bancaria": 5,
      "numero_cuenta": "194-1234567-0-89",
      "tipo_cuenta": "Corriente",
      "moneda": "PEN",
      "saldo_actual": "45320.50",
      "estado": "Activa",
      "banco": {
        "id_banco": 2,
        "nombre": "BCP",
        "codigo_swift": "BCPLPEPL"
      }
    }
  ]
}

Listar movimientos de una cuenta

GET /api/bancos/cuentas/{id_cuenta_bancaria}/movimientos?fecha_desde=2026-03-01&fecha_hasta=2026-03-31
Authorization: Bearer {token}
Respuesta:
{
  "success": true,
  "data": [
    {
      "id_movimiento": 234,
      "fecha_movimiento": "2026-03-05",
      "tipo": "Ingreso",
      "concepto": "Transferencia desde cliente - Factura F001-00045",
      "monto": "2500.00",
      "referencia": "TRF-20260305-001234",
      "saldo_despues": "45320.50",
      "conciliado": false,
      "fecha_conciliacion": null
    }
  ],
  "resumen": {
    "saldo_inicial": "42820.50",
    "total_ingresos": "5200.00",
    "total_egresos": "2700.00",
    "saldo_final": "45320.50",
    "pendientes_conciliar": 12
  }
}

Registrar movimiento bancario

POST /api/bancos/cuentas/{id_cuenta_bancaria}/movimientos
Authorization: Bearer {token}
Content-Type: application/json

{
  "fecha_movimiento": "2026-03-01",
  "tipo": "Egreso",
  "concepto": "Comisión mantenimiento de cuenta",
  "monto": 15.00,
  "referencia": "COMISION-MAR2026"
}

Marcar movimiento como conciliado

PATCH /api/bancos/movimientos/{id_movimiento}/conciliar
Authorization: Bearer {token}
Content-Type: application/json

{
  "conciliado": true,
  "fecha_conciliacion": "2026-03-06T14:30:00"
}

Integración con Métodos de Pago

Las cuentas bancarias se vinculan a métodos de pago para ventas:
{
  "id_metodo_pago": 3,
  "nombre": "Transferencia BCP",
  "tipo": "transferencia",
  "id_cuenta_bancaria": 5,
  "activo": true,
  "cuenta_bancaria": {
    "numero_cuenta": "194-1234567-0-89",
    "banco": {
      "nombre": "BCP"
    }
  }
}
Cuando se registra una venta con este método:
  1. Se crea el MovimientoCaja vinculado a la venta
  2. Opcionalmente se crea un MovimientoBancario automático si está configurado
  3. El saldo_actual de la cuenta se actualiza

Reporte de Conciliación

El reporte de conciliación debe incluir:

Sección 1: Información de la Cuenta

================================================================
              REPORTE DE CONCILIACIÓN BANCARIA
================================================================
Banco:           BCP
Cuenta:          194-1234567-0-89 (Corriente)
Moneda:          PEN (Soles)
Período:         01/03/2026 - 31/03/2026
Fecha Reporte:   06/03/2026 14:45
================================================================

Sección 2: Saldos

Saldo inicial (01/03/2026)               S/. 42,820.50
(+) Total ingresos del período           S/.  5,200.00
(-) Total egresos del período            S/.  2,700.00
──────────────────────────────────────────
Saldo final según sistema (31/03/2026)  S/. 45,320.50
Saldo según extracto bancario          S/. 45,320.50
──────────────────────────────────────────
Diferencia:                             S/.      0.00 ✅

Sección 3: Movimientos Pendientes de Acreditación

DEPÓSITOS EN TRÁNSITO (registrados pero no acreditados):

Fecha       Concepto                           Monto
05/03/2026  Depósito efectivo sucursal       S/. 500.00

Total depósitos en tránsito:              S/. 500.00

Sección 4: Movimientos Registrados por el Banco

MOVIMIENTOS DEL BANCO NO REGISTRADOS:

Fecha       Concepto                           Monto
01/03/2026  Comisión mantenimiento            S/.  15.00 (Egreso)
28/02/2026  Interés mensual                   S/.  12.50 (Ingreso)

Total ajustes:                                 S/.  -2.50

Solución de Problemas

Pasos de diagnóstico:
  1. Verifique el saldo inicial del período (debe coincidir con el saldo final del período anterior)
  2. Sume manualmente todos los ingresos del extracto
  3. Sume manualmente todos los egresos del extracto
  4. Calcule: saldo_inicial + ingresos - egresos
  5. Compare con el saldo final del extracto
Si los cálculos manuales coinciden con el extracto pero no con el sistema, busque:
  • Movimientos duplicados en la base de datos
  • Movimientos con monto incorrecto (punto decimal mal ubicado)
  • Movimientos de períodos anteriores no conciliados
Debe registrar dos movimientos:Cuenta Origen (egreso):
Tipo: Transferencia
Concepto: Transferencia a cuenta BCP *7890
Monto: 5000.00
Referencia: TRF-INT-20260306-001
Cuenta Destino (ingreso):
Tipo: Transferencia
Concepto: Transferencia desde cuenta Interbank *1234
Monto: 5000.00
Referencia: TRF-INT-20260306-001
Use la misma referencia para vincularlas.
Posibles causas:
  1. Movimiento en tránsito: Aún no acreditado (espere 1-2 días hábiles)
  2. Registrado en período incorrecto: Verifique extractos de meses anteriores/posteriores
  3. Error de registro: El movimiento se registró en el sistema pero nunca se ejecutó realmente
  4. Movimiento rechazado: Verifique notificaciones del banco
Si confirma que no fue ejecutado, elimine o anule el movimiento en el sistema.
Si marcó por error un movimiento como conciliado:
PATCH /api/bancos/movimientos/{id_movimiento}/conciliar
Content-Type: application/json

{
  "conciliado": false,
  "fecha_conciliacion": null
}
El movimiento volverá a la lista de pendientes.

Mejores Prácticas

Recomendaciones para conciliación efectiva:
  1. Frecuencia: Concilie semanalmente (mensual mínimo)
  2. Responsable: Asigne una persona específica para conciliar
  3. Documentación: Archive los extractos bancarios físicos/digitales
  4. Segregación: La persona que concilia NO debe ser quien registra movimientos
  5. Autorización: Movimientos mayores a un umbral requieren aprobación dual
  6. Alertas: Configure alertas para movimientos no conciliados > 7 días

Próximos Pasos

Build docs developers (and LLMs) love