Skip to content

Prevent duplicate mandatory payment rows - #305

Merged
alexeygrigorev merged 10 commits into
mainfrom
fix/mandatory-payments-successor-1b1d
Nov 3, 2026
Merged

alexeygrigorev merged 10 commits into
mainfrom
fix/mandatory-payments-successor-1b1d

Conversation

@alexeygrigorev

@alexeygrigorev alexeygrigorev commented Nov 3, 2026 •

Copy link
Copy Markdown
Member

Monthly bookkeeping can show the same mandatory payment in both the ledger and its separate section. This successor to #301 keeps bank-only rows in the ledger, removes only mandatory payments represented in the selected month section, and keeps package creation disabled outside a selected month.

Reconciliation and finance share stable bank-row identities and pairing decisions, including manual pairs and rejections. Overlapping statements are deduplicated while distinct repeated payments remain separate; invoice-only candidates do not hide a bank payment. Expense-encoded refunds do not count as paid debits.

Validation so far: focused finance API and summary tests (31 passed), bookkeeping ledger/report tests (25 passed), backend typecheck, and independent review of the preceding commit. A synthetic 1,200-bank-row/1,200-ledger-row pairing benchmark completed in 393 ms, excluding database/network reads. Full exact-head CI and review are required. A separate pre-existing equal-amount cross-tax matching issue is tracked in Hub intake f798503e.

@alexeygrigorev
alexeygrigorev marked this pull request as ready for review November 3, 2026 16:06
@alexeygrigorev
alexeygrigorev merged commit 993fd70 into main Nov 3, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant