Skip to content

feat: suggest subscriptions from a bank statement - #50

Merged
AmrMsCLL merged 1 commit into
mainfrom
feat/statement-import
Oct 5, 2026
Merged

AmrMsCLL merged 1 commit into
mainfrom
feat/statement-import

Conversation

@AmrMsCLL

@AmrMsCLL AmrMsCLL commented Oct 5, 2026

Copy link
Copy Markdown
Member

Stacked on #49. This is 11g of as2026-10-05-strata-phase-11-next-batch-2.md.

What changes

  • Recurring gains Import a statement. You pick a CSV export from a bank or card, and it is read in the browser. The file is never uploaded, and the server is unchanged.
  • The parser handles quoted cells, comma, semicolon or tab delimiters, day-first, month-first or year-first dates, and both decimal styles (1.234,56 and 1,234.56). Columns are found by name in several languages, or by what they hold, and can be changed by hand.
  • Only money going out counts. Charges are grouped by a cleaned description, with card noise, references and numbers removed. A group is suggested when it repeats weekly, monthly, quarterly or yearly with amounts within 25%: at least three charges, or two for yearly.
  • Known services from the catalogue fill in the name, category and cancel link. A suggestion already tracked in the chosen space is shown but can't be selected.
  • The chosen suggestions are added through the existing POST /spaces/:id/subscriptions, starting from the last charge's date.

Verification

  • Frontend: test/statement.spec.tsx (4 passed: parsing, dates, amounts, columns and suggestions) and test/subscriptions.spec.tsx (5 passed, including the import flow).
  • Lint and build pass.
  • Not checked against real exports from specific banks.

@github-actions github-actions Bot added the size/l 201-600 changed lines, excluding lockfiles label Oct 5, 2026
Base automatically changed from feat/habits to main October 5, 2026 19:06
@AmrMsCLL
AmrMsCLL force-pushed the feat/statement-import branch from 89733f8 to c73bc5a Compare October 5, 2026 19:06
@AmrMsCLL
AmrMsCLL merged commit 7e59916 into main Oct 5, 2026
6 checks passed
@AmrMsCLL
AmrMsCLL deleted the feat/statement-import branch October 5, 2026 19:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/l 201-600 changed lines, excluding lockfiles

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant