Skip to content

DKB: verify & harden transaction sync via Enable Banking end-to-end #33

Description

@andregoepel

Goal

DKB transactions arrive reliably via the Enable Banking (PSD2) API sync — verified end-to-end with a real DKB consent, not just in code.

Current state

The plumbing already exists (Phase 3): EnableBankingConnector.Supports(Dkb), IEnableBankingClient.GetTransactionsAsync, consent flow (StartAuthorizationAsync/AuthorizeSessionAsync), and the Sync page lists non-Wise API accounts with "Sync now" / scheduled Quartz sync. What is missing is real-world verification and the fixes that usually fall out of it.

Scope

  • Create a real DKB connection under Settings → Connections; complete the consent redirect; link the bank account via identification_hash (account IDs are session-specific — never match by session account id).
  • Set a DKB account to SyncMethod.Api, link the connection, run "Sync now": transactions land, re-sync is idempotent (dedup hash), no silently dropped rows (parser/mapping failures surface with context).
  • Deep initial sync right after fresh consent (history window shrinks to ~90 days afterwards — PLAN/CLAUDE rule), overlap re-fetch on subsequent syncs.
  • Consent expiry surfaces on the Sync page (warning already exists — verify with a real expiring consent) and re-consent flow works.
  • Scheduled sync (Quartz) runs against the real connection without interactive input.
  • Fix whatever the live run uncovers (field mapping, pagination, error texts); add fixtures for any DKB-specific transaction JSON shapes encountered.

Done when

A DKB account syncs on schedule and manually for at least a week without duplicates, drops, or unexplained failures.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions