feat(reports): show per-project estimated tax and take-home#8
Merged
Conversation
Reports now answer "what do I actually keep?" per project. When tax.set_aside_rate is configured, the TUI reports screen and the CLI report week/month/range project and client views gain est. tax and take-home columns next to billable value, and every report's totals line includes both figures. Rate 0 keeps reports exactly as before, matching the taxes dashboard's "unset means off" behavior. Amounts reuse the same cents-aligned set-aside math as the quarterly tax dashboard, and totals are summed from the displayed rows so the table always adds up. The TUI rebuilds its column set per render, since config reloads fresh — setting or clearing the rate mid-session updates the table on the next refresh.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Reports now show what you actually keep, not just what you billed. With
tax.set_aside_rateconfigured, the TUI reports screen and the CLIttd report week/month/rangeproject and client views gain est. tax and take-home columns next to billable value, and every report's totals line — including the day view — reports both figures. Without a rate, reports are unchanged: rate 0 means off, the same convention the quarterly tax dashboard uses.Demo
Design notes
compute_set_asidemath as the quarterly tax dashboard — no new tax primitives in core.—in the new columns and stay out of the tax totals, mirroring the existing Amount behavior.Tests
Three new CLI tests (columns with a rate, day-view summary, hidden without a rate) and a TUI pilot test that also covers clearing the rate mid-session. Full suite: 282 passed, coverage 87%, ruff/ty clean.