Desconectar Banco
Exportar contenido
Elimina una conexión bancaria y opcionalmente sus transacciones.
- Haz clic en “Desconectar” en tarjeta de banco
- Confirma acción en diálogo:
- ⚠️ “Eliminar también transacciones importadas” (opcional)
- Conexión se marca como
disconnected
Qué ocurre
Sección titulada «Qué ocurre»- Conexión: Status cambia a
disconnected - Transacciones: Se eliminan si marcaste checkbox (⚠️ irreversible)
- Cuentas Open Banking: Se convierten a manuales si están en
business_bank_accounts - Tokens: Se eliminan de base de datos
⚠️ Si eliminas transacciones reconciliadas, perderás los matches con gastos ✅ Si solo desconectas (sin eliminar), puedes reconectar y recuperar acceso
Errores comunes
Sección titulada «Errores comunes»| Error | Causa | Solución |
|---|---|---|
| ”No puedes desconectar banco con transacciones reconciliadas” | Protección de datos | Marca “Eliminar transacciones” o exporta primero |
Notas técnicas
Sección titulada «Notas técnicas»Detalles de implementación
Desconexión suave (preservar datos):
async function disconnectBank(connectionId: string, deleteTransactions: boolean) { if (deleteTransactions) { // Eliminar transacciones await supabase .from('bank_transactions') .delete() .eq('connection_id', connectionId); }
// Convertir cuentas Open Banking a manuales await supabase .from('business_bank_accounts') .update({ source: 'manual', bank_connection_id: null, truelayer_account_id: null, }) .eq('bank_connection_id', connectionId);
// Marcar conexión como desconectada await supabase .from('bank_connections') .update({ status: 'disconnected', access_token_encrypted: null, // Eliminar tokens refresh_token_encrypted: null, }) .eq('id', connectionId);}Cascade delete alternativo (eliminar todo):
-- Si prefieres eliminar conexión completamente:DELETE FROM bank_connectionsWHERE id = '<connection_id>';
-- Gracias a ON DELETE CASCADE, se eliminan:-- - bank_accounts (FK: connection_id)-- - bank_transactions (FK via bank_account_id)-- - bank_sync_history (FK: connection_id)