Autenticación
Los endpoints de bancos requieren autenticación mediante token Bearer y permisos de finanzas.
Endpoints de Bancos
Listar Bancos
GET /api/bancos
Retorna el catálogo de bancos disponibles.
Parámetros de Query
Filtrar solo bancos activos (true/false)
Buscar por nombre o código SUNAT
Respuesta
{
"success" : true ,
"data" : [
{
"id_banco" : 1 ,
"nombre" : "Banco de Crédito del Perú" ,
"codigo_sunat" : "002" ,
"activo" : true
},
{
"id_banco" : 2 ,
"nombre" : "BBVA Continental" ,
"codigo_sunat" : "011" ,
"activo" : true
},
{
"id_banco" : 3 ,
"nombre" : "Interbank" ,
"codigo_sunat" : "003" ,
"activo" : true
}
]
}
Crear Banco
POST /api/bancos - Requiere permiso finanzas.create
Parámetros del Body
Código de 3 dígitos asignado por SUNAT
Estado del banco (por defecto: true)
Actualizar Banco
PUT /api/bancos/{id} - Requiere permiso finanzas.edit
Eliminar Banco
DELETE /api/bancos/{id} - Requiere permiso finanzas.delete
No permite eliminar si existen cuentas bancarias asociadas.
Cuentas Bancarias
Listar Cuentas Bancarias
GET /api/cuentas-bancarias - Requiere permiso banco.view
Retorna todas las cuentas bancarias de la empresa.
Respuesta
Indica si la operación fue exitosa
Lista de cuentas bancarias con información del banco Show Objeto Cuenta Bancaria
Número de cuenta bancaria
Tipo: ‘Corriente’ o ‘Ahorros’
Moneda: ‘PEN’, ‘USD’, ‘EUR’
Saldo actual en el sistema
Último saldo reportado por el banco
Nombre del titular de la cuenta
Código de Cuenta Interbancario (17 dígitos)
Indica si la cuenta está activa
Información del banco asociado
{
"success" : true ,
"data" : [
{
"id_cuenta" : 1 ,
"id_banco" : 1 ,
"numero_cuenta" : "19412345678901" ,
"tipo_cuenta" : "Corriente" ,
"moneda" : "PEN" ,
"saldo_actual" : 15480.50 ,
"saldo_banco" : 15480.50 ,
"titular" : "SANTO DOMINGO S.A.C." ,
"cci" : "00219400123456789012" ,
"activa" : true ,
"banco" : {
"id_banco" : 1 ,
"nombre" : "Banco de Crédito del Perú" ,
"codigo_sunat" : "002"
}
}
]
}
Crear Cuenta Bancaria
POST /api/cuentas-bancarias - Requiere permiso banco.create
Parámetros del Body
ID del banco (debe existir en la tabla bancos)
Número de cuenta (máximo 50 caracteres, debe ser único)
Tipo de cuenta: ‘Corriente’ o ‘Ahorros’
Moneda: ‘PEN’, ‘USD’, o ‘EUR’
Saldo inicial de la cuenta (debe ser mayor o igual a 0)
Nombre del titular de la cuenta (máximo 255 caracteres)
Código de Cuenta Interbancario (debe tener exactamente 17 dígitos)
Ejemplo de Solicitud
curl -X POST \
https://tudominio.com/api/cuentas-bancarias \
-H 'Authorization: Bearer TU_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"id_banco": 1,
"numero_cuenta": "19412345678901",
"tipo_cuenta": "Corriente",
"moneda": "PEN",
"saldo_actual": 10000.00,
"titular": "SANTO DOMINGO S.A.C.",
"cci": "00219400123456789012"
}'
Actualizar Cuenta Bancaria
PUT /api/cuentas-bancarias/{id} - Requiere permiso banco.edit
Eliminar Cuenta Bancaria
DELETE /api/cuentas-bancarias/{id} - Requiere permiso banco.delete
Movimientos Bancarios
Listar Movimientos
GET /api/cuentas-bancarias/{id}/movimientos - Requiere permiso banco.view
Retorna todos los movimientos de la cuenta bancaria ordenados por fecha descendente.
{
"success" : true ,
"data" : [
{
"id_movimiento" : 1 ,
"tipo" : "Deposito" ,
"monto" : 5000.00 ,
"fecha_movimiento" : "2024-03-05" ,
"referencia" : "DEP-001234" ,
"descripcion" : "Depósito de clientes" ,
"conciliado" : true
},
{
"id_movimiento" : 2 ,
"tipo" : "Retiro" ,
"monto" : 1200.00 ,
"fecha_movimiento" : "2024-03-04" ,
"referencia" : "RET-005678" ,
"descripcion" : "Pago a proveedores" ,
"conciliado" : false
}
]
}
Registrar Movimiento
POST /api/cuentas-bancarias/{id}/movimientos - Requiere permiso banco.edit
Registra un movimiento bancario (depósito, retiro, transferencia, etc.).
Parámetros del Body
Tipo de movimiento: ‘Deposito’, ‘Retiro’, ‘Transferencia’, ‘Comision’, ‘Interes’
Monto del movimiento (debe ser mayor a 0.01)
Fecha del movimiento (formato: Y-m-d)
Número de referencia o comprobante (máximo 255 caracteres)
Descripción detallada del movimiento
Conciliación Bancaria
Listar Conciliaciones
GET /api/cuentas-bancarias/{id}/conciliaciones - Requiere permiso banco.view
Retorna el historial de conciliaciones bancarias.
{
"success" : true ,
"data" : [
{
"id_conciliacion" : 1 ,
"fecha_conciliacion" : "2024-03-01" ,
"saldo_empresa" : 15480.50 ,
"saldo_banco" : 15480.50 ,
"diferencia" : 0.00 ,
"estado" : "Conciliada" ,
"observaciones" : null
},
{
"id_conciliacion" : 2 ,
"fecha_conciliacion" : "2024-02-28" ,
"saldo_empresa" : 12350.00 ,
"saldo_banco" : 12400.00 ,
"diferencia" : 50.00 ,
"estado" : "Diferencia" ,
"observaciones" : "Cheque no cobrado aún"
}
]
}
Registrar Conciliación
POST /api/cuentas-bancarias/{id}/conciliaciones - Requiere permiso banco.edit
Registra una conciliación bancaria comparando saldo del sistema con saldo del banco.
Parámetros del Body
Saldo reportado por el banco
Observaciones sobre diferencias encontradas
El sistema automáticamente:
Obtiene el saldo_empresa actual de la cuenta
Calcula la diferencia = saldo_banco - saldo_empresa
Asigna estado = ‘Conciliada’ si diferencia = 0, sino ‘Diferencia’
Tipos de Movimiento Bancario
Deposito - Ingreso de dinero a la cuenta
Retiro - Salida de dinero de la cuenta
Transferencia - Transferencia hacia otra cuenta
Comision - Comisiones bancarias cobradas
Interes - Intereses generados por la cuenta
Códigos de Error
Cuenta bancaria no encontrada {
"success" : false ,
"message" : "Cuenta bancaria no encontrada"
}
No se puede eliminar banco con cuentas asociadas {
"success" : false ,
"message" : "No se puede eliminar el banco porque tiene cuentas bancarias asociadas."
}