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

/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>
This commit is contained in:
2026-10-08 12:04:59 +02:00
co-authored by Claude Opus 5.5
parent 23633f8cb2
commit 62c6dc2ca0
11 changed files with 91 additions and 12 deletions
+6 -5
View File
@@ -30,7 +30,7 @@ from views import (
adapt_junior_members,
)
from cache_utils import get_sheet_modified_time, read_cache, write_cache, _LAST_CHECKED, flush_cache
from sync_fio_to_sheets import sync_to_sheets
from sync_fio_to_sheets import sync_to_sheets, default_sync_window
from infer_payments import infer_payments
def get_cached_data(cache_key, sheet_id, fetch_func, *args, serialize=None, deserialize=None, **kwargs):
@@ -128,13 +128,14 @@ def sync_bank():
success = True
try:
with contextlib.redirect_stdout(output), contextlib.redirect_stderr(output):
# sync_to_sheets: equivalent of make sync-2026
output.write("=== Syncing Fio transactions (2026) ===\n")
# sync_to_sheets: equivalent of make sync-year (same default window as Go)
date_from, date_to = default_sync_window()
output.write(f"=== Syncing Fio transactions ({date_from} to {date_to}) ===\n")
sync_to_sheets(
spreadsheet_id=PAYMENTS_SHEET_ID,
credentials_path=CREDENTIALS_PATH,
date_from_str="2026-01-01",
date_to_str="2026-12-31",
date_from_str=date_from,
date_to_str=date_to,
sort_by_date=True,
)
output.write("\n=== Inferring payment details ===\n")