fix(sync): dashboard sync covers current year plus Nov-Dec of previous #47

Merged
kacerr merged 1 commits from fix/sync-window-prev-year-overlap into main 2026-10-08 12:05:16 +02:00
Owner

Why

  • The legacy Python /sync-bank synced a hardcoded 2026-01-01..2026-12-31 window and would have stopped picking up transactions on 2027-01-01.
  • Go synced the current calendar year only, so a payment dated in late December that had not been synced before New Year would be missed by the dashboard button in January.

Changes

  • Both dashboards now use one shared default window: 1 November of the previous year to 31 December of the current year (banksync.DefaultWindow in Go, default_sync_window in Python).
  • New make sync-year [YEAR=N] with the same window. make sync-2026 is kept.
  • Unchanged: the CLI default without flags (fuj sync, make sync) is still the last 30 days.
  • Tests for the window on both sides; CLAUDE.md, CHANGELOG and task list (T3) updated.

Testing

  • make go-test and make test (39 Python tests) pass.
  • Dry runs against Fio with the new window, both implementations: 145 transactions fetched (142 with the old current-year window), 1 new. Both accounts returned data for the 14-month range.
  • Not exercised: a real, non-dry-run sync from the dashboard.

🤖 Generated with Claude Code

## Why - The legacy Python `/sync-bank` synced a hardcoded `2026-01-01`..`2026-12-31` window and would have stopped picking up transactions on 2027-01-01. - Go synced the current calendar year only, so a payment dated in late December that had not been synced before New Year would be missed by the dashboard button in January. ## Changes - Both dashboards now use one shared default window: 1 November of the previous year to 31 December of the current year (`banksync.DefaultWindow` in Go, `default_sync_window` in Python). - New `make sync-year [YEAR=N]` with the same window. `make sync-2026` is kept. - Unchanged: the CLI default without flags (`fuj sync`, `make sync`) is still the last 30 days. - Tests for the window on both sides; CLAUDE.md, CHANGELOG and task list (T3) updated. ## Testing - `make go-test` and `make test` (39 Python tests) pass. - Dry runs against Fio with the new window, both implementations: 145 transactions fetched (142 with the old current-year window), 1 new. Both accounts returned data for the 14-month range. - Not exercised: a real, non-dry-run sync from the dashboard. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
kacerr added 1 commit 2026-10-08 12:05:00 +02:00
/sync-bank now uses one shared default window in both implementations:
1 November of the previous year to 31 December of the current year.
Payments dated around New Year are picked up in January; duplicates
are still filtered by Sync ID.

Python used a hardcoded 2026 window and would have stopped syncing on
2027-01-01; Go used the current calendar year only.

Adds make sync-year [YEAR=N] with the same window. The CLI default
without flags (last 30 days) is unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
kacerr merged commit 1d5a1c95d2 into main 2026-10-08 12:05:16 +02:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kacerr/fuj-management#47