Skip to content

feat(budget): invoice-aware budget calculations and display#197

Merged
steilerDev merged 4 commits into
betafrom
feat/invoice-aware-budget
Feb 23, 2026
Merged

feat(budget): invoice-aware budget calculations and display#197
steilerDev merged 4 commits into
betafrom
feat/invoice-aware-budget

Conversation

@steilerDev
Copy link
Copy Markdown
Owner

Summary

  • Override minPlanned/maxPlanned with actual invoice cost when invoices exist (server-side calculation change)
  • Highlight actual cost in work item budget summary; show planned amount struck through
  • Display "Invoiced Amount" label on budget lines with invoices, with navigable link to vendor page
  • Remove redundant webpack production build from pre-commit hook to prevent OOM kills

Test plan

  • Verify budget overview values reflect invoice overrides for planned amounts
  • Verify work item detail page shows highlighted actual cost when invoices exist
  • Verify budget lines with invoices display "Invoiced Amount" with planned as secondary
  • Verify invoice count pill links to vendor page
  • Verify non-invoiced lines retain original confidence label display
  • Verify all unit tests pass (updated assertions for new calculation behavior)

🤖 Generated with Claude Code

When a budget line has actual costs from invoices, override minPlanned/
maxPlanned with the actual cost instead of showing confidence-margin-based
estimates. This makes projected values always equal planned values.

Frontend changes:
- Highlight actual cost in budget summary when invoices exist
- Show "Invoiced Amount" with planned as secondary on budget lines
- Add navigable link to vendor page from invoiced budget lines

Fixes #197

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ce labels

Rename "Claimed", "Paid", "Pending" segments to "Claimed Invoices",
"Paid Invoices", "Pending Invoices". Add totalValue field to
BudgetBarSegment so tooltips display the full cumulative amount
instead of just the incremental segment difference.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The typecheck step already builds shared and type-checks all packages,
making the full webpack production build redundant for pre-commit
validation. This eliminates OOM kills (exit code 137) in memory-
constrained environments. CI continues to verify production builds.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…planned values

The route integration test still expected minPlanned/maxPlanned to be
unaffected by invoices. Updated to match the new behavior where invoiced
lines override planned values with actual cost.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@steilerDev steilerDev merged commit ffe1b14 into beta Feb 23, 2026
5 checks passed
@github-actions
Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 1.9.0-beta.40 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

steilerDev pushed a commit that referenced this pull request Feb 23, 2026
EPIC-05 Stories 5.7, 5.8, 5.11, 5.12 (#148, #149, #185, #186, #195, #197).
Budget overview with hero summary bar, category breakdown with filter,
financing source summary, and subsidy impact. Blended projected model uses
actual costs for invoiced lines and confidence margins for estimates.
Four remaining-budget perspectives (vs min planned, max planned, actual cost,
actual paid). Budget sub-navigation with horizontal tabs and EUR formatting.
@steilerDev steilerDev deleted the feat/invoice-aware-budget branch March 7, 2026 07:44
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.

2 participants