Skip to content

feat(ledger): statement cycle, outstanding lines and roll-forward on reconciliations - #248

Merged
jfrench9 merged 1 commit into
mainfrom
feature/reconciliation-statement-cycle
Oct 10, 2026
Merged

jfrench9 merged 1 commit into
mainfrom
feature/reconciliation-statement-cycle

Conversation

@jfrench9

Copy link
Copy Markdown
Member

Summary

Picks up bank reconciliation by statement cycle from robosystems #1771. A statement reconciliation now has a cycle (monthly, quarterly or annual). On an account a bank feed keeps, its components list the ledger lines the bank had not cleared. A statement that ends before the period's last day carries a roll-forward to that day.

This waits on robosystems #1771 (merged, not yet released). ListLedgerReconciliations selects statementCycle, rollForward and the new component fields, so it fails validation against a server without them. Release this once the next server release carrying #1771 is deployed, or together with it.

Changes

  • LedgerClient.set_reconciliation_policy takes statement_cycle (monthly, quarterly, annual).
  • ListLedgerReconciliations.graphql selects statementCycle, rollForward, and the component fields kind, postingDate and entryId. The typed models are regenerated (just generate-graphql).
  • schema.graphql refreshed, and the OpenAPI SDK regenerated, from a local stack serving #1771. The generated changes are only this feature:
    • statement_cycle on the policy request, the policy response and the mechanics;
    • ReconciliationRollForward;
    • the new component fields;
    • descriptions.
  • The write methods (record_statement_balance, refresh_reconciliations, set_reconciliation_policy) return the generated models, so they carry the new fields as regenerated.

Compatibility

Additive: one new keyword argument on a facade method, plus new optional fields on generated models. The integration template's emit path is untouched. Shipping as a patch on the 2.11 line.

Testing

  • New tests: a bank statement's outstanding line and roll-forward parse through list_reconciliations, and set_reconciliation_policy sends statement_cycle. The existing list fixture now carries the new fields.
  • just test-all: 675 passed, 17 skipped; lint and typecheck clean.

🤖 Generated with Claude Code

https://claude.ai/code/session_01AQkGGPDmpba9eBV9PkLTfv

…reconciliations

Regenerated against robosystems #1771. set_reconciliation_policy takes a
statement_cycle; list_reconciliations selects statementCycle, each
component's kind, postingDate and entryId, and a statement's rollForward.

Claude-Session: https://claude.ai/code/session_01AQkGGPDmpba9eBV9PkLTfv
@jfrench9
jfrench9 merged commit 3d0b358 into main Oct 10, 2026
4 checks passed
@jfrench9
jfrench9 deleted the feature/reconciliation-statement-cycle branch October 10, 2026 21:21
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