Budget

Savings trajectory

Dashed line: Projected — the budget's own trajectory seeded once at "Project from" (defaults to the first date shown above), never re-snapped to later actuals. Solid line + dots: Actual, wherever you've entered a real balance.

Future snapshot

Pick a future date to see the expected status of every account and debt at that point — for planning ahead, not just watching the trend line.

Cash flow detail

Accounts and ledgers show actual reconciled amounts where you've entered them (carried forward as an estimate for weeks without one), then a real projection from that basis going forward. Debts are always projected -- they're never reconciled. Income/expense columns are always estimates, even in the past. One-time transactions get their own column since they're neither a recurring estimate nor an ongoing reconciled balance. Drag the chips below to reorder columns.

Pick a saved account group to auto-check its accounts/ledgers below, or "Custom" to pick individually (also lets you add Income/Expense/One-time columns, which groups don't cover).
Column order (drag to reorder):
Week

Account & ledger balances — week by week

Every tracked account and ledger, side by side, one row per week — real reconciled balances (same data as Weekly Entry and Cash flow detail), not a backward-projected estimate, so a week before an account's first-ever entry shows $0 rather than a guess. Click any Accounts/Ledgers cell to edit it — clicking away saves it as a real reconciliation entry for that week, visible on Weekly Entry and Cash flow detail too. Debt columns stay projected (amortization-driven, not manually reconciled).

Pick a saved account group to auto-check its accounts/ledgers/debts below, or "Custom" to pick individually.
Week

Planning

Income sits above expenses so the shape of your budget reads top to bottom. Chris's and Kenna's paychecks show here for context but are edited on the Pay milestones tab — this is a read-only reflection of that data, not a separate source of truth. "Changes" lets you add unlimited date/amount pairs — the latest one that's already happened is what applies. Drag expense items between categories to reorganize; category totals are normalized to a monthly figure so mixed weekly/biweekly/monthly items add up sensibly.

Defaults to today — set a future date to preview amounts, pay, and totals as they'll be on that date.

Income

Expenses

One-time transactions

A true one-time income or expense — set Type to Expense and it subtracts from cash flow instead of adding. Recurring non-paycheck income (child support, spousal support) lives on the Budget page instead, alongside expense Budget Items.

Debts

Set "Lump sum amount" + "Lump sum date" on any debt to model an extra payoff — the projection engine simulates the loan month-by-month and actually shortens the payoff, it's not just cosmetic.

NameCurrent balancePrincipal (original)Annual rateStart date Term (months)Lump sum amountLump sum date Payment budget itemMinimum payment

Pay milestones

Sourced exclusively from E&L — use "Use as basis" on the E&L tab to create one from a real or projected entry. Always shown in chronological order. Net pay, gross annual, TSP %, COLA %, and the note are read-only here, pulled straight from that E&L entry — edit them there, not here.

PersonEffective dateNet payGross annual TSP %COLA %E&L notePaid to

Kenna's GS pay profile

Computed from grade + step + locality, using the official 2026 OPM base table — not a flat entry. She's already at max step (GS-13/10), so growth only comes from the annual raise assumption or a hypothetical promotion below, both fully editable "what if" levers.

References: 2026 GS base pay table (OPM) · 2026 DC locality table — 33.94% (OPM) · Overseas Comparability Pay overview (AFSA)

Current position

Locality

Assumptions (what-if)

What-if: hypothetical promotion

What-if: switch to Overseas Comparability Pay

OCP is subject to periodic Congressional reauthorization — confirm current status before relying on this past any known expiration.

Withholding inputs

Plan settings

Key dates and a few remaining global rates/toggles that don't naturally belong on another tab. Child support, spousal support, interest rates, and starting balances now live as real Budget Items / Accounts instead — see the Budget items and Accounts tabs. COLA rate/household size and hardship pay now live on the E&L tab, dated per pay entry — a relocation or a rate change is just a normal E&L entry with updated values, not a setting here. Editing these affects the projection for the currently selected plan only.

KCCA contribution ratio

What % of the KCCA contribution each of you covers — the two must always add to 100%, so editing one recalculates the other. This ratio drives the Budget tab's auto-balance between the "Chris KCCA contribution" and "Kenna KCCA contribution" items: editing either item's amount there recalculates the other using this split.

Every field saves automatically the moment you leave it.

Social Security wage base (by year)

The Social Security taxable wage base cap changes every year — once someone's year-to-date gross crosses it, SS withholding stops for the rest of that year, so later paychecks get noticeably bigger. Not plan-specific — one real schedule shared across all plans. Add each year's real figure as the SSA announces them; any year you haven't entered falls back to the most recent year you have.

YearWage base

Retirement planning

Chris is FSPS: 1.7%/yr of high-3 for the first 20 years, a separate rate after that. Paige's pension portion is an ongoing court-ordered split — 50% of whatever pension percentage was earned specifically between your service start and a fixed cutoff date, not 50% of your whole pension, and not a death-contingent survivor benefit (it applies to Chris's actual monthly payment starting at retirement). Kenna is regular FERS: flat 1%/yr of high-3. Both pensions (and Paige's portion, proportionally) grow with the COLA rate below, compounding from each person's own retirement date. Social Security is a figure you enter directly (e.g. from ssa.gov), not calculated. TSP contribution % pulls from Chris's latest Pay Milestone automatically. Every number below is fillable — nothing is guessed at.

Income timeline (what-if)

Year-by-year projected household income once you've filled in the fields below and saved — each column only turns on once its own eligibility date is reached, so Chris and Kenna can retire and start drawing Social Security at completely different times. "Real SS" starts at each person's own draw age (from birth date); the "SS supplement" bridge is whatever you've entered directly for the gap before that.

TSP drawdown — will it run out?

Settable monthly income requirement; whatever pension + Social Security + supplement don't cover gets drawn from a combined TSP pool (Chris's + Kenna's), starting once you're both retired. Reports the year that pool runs dry, if it does.

Chris — FSPS

Only used if Retirement date above is left blank — derives one on the service-start anniversary once both minimums are met.

Paige's pension portion

Pension COLA

Kenna — FERS

Only used if Retirement date above is left blank.

TSP — Chris

TSP — Kenna

A separate account from Chris's TSP above. Her GS profile doesn't track a contribution % the way Chris's E&L does, so her monthly contribution is entered directly rather than derived.

TSP reconciliation (periodic real balance check)

Enter your real TSP statement balance every so often to true up the projected balance against reality — same idea as reconciling a ledger. Pick which of the two accounts each entry is for.

App settings

Global settings not tied to any one plan — currently defaults for date ranges and E&L's custom fields. More will land here over time.

Defaults

Manual overrides for default date ranges used across the app. Leave blank to fall back to the automatic default — for the Overview tab, that's 12 months starting from the current plan's PCS date.

Account groups

Dynamic sets of accounts/ledgers you want summed together — selectable as an "Account group" view on the Savings trajectory chart and as an alternative net worth figure on Weekly Entry, instead of the app's fixed Chris/Kenna/Joint split.

Time zone

Universal for the whole app — every "today"/"as of now" calculation (Weekly Entry, What-if helper text, budget/reconciliation defaults, etc.) uses this zone instead of whatever each device's browser happens to be set to, so you and Kenna always land on the same calendar day.

Pay categories (E&L)

The gross-pay and deduction line items that show up on every E&L entry — fully yours to add, rename, reorder, or archive. "% check" is what an entered $ amount gets compared against once you type it in (purely informational, never blocks saving). "Projected inherits" controls how a projected entry (no real paystub yet) derives this category from your latest real actual: flat carries the same $ forward unchanged, % of check basis carries the same percent forward and reapplies it to the new pay. Base/Hardship/COLA don't show an inherit option — Base is driven by the "Annual base salary" you enter on a projected entry, and Hardship/COLA are driven by the existing per-milestone rate/household-size settings on that entry instead.

Gross pay

Deductions

Archived categories stay out of new E&L entries but their historical values are kept — nothing is ever silently deleted.

Budget categories

Reorder categories and their subcategories with the ↑↓ buttons — faster and more precise than dragging on the Budget tab, especially with a lot of categories. Order here is the same order they show up in on Budget/Weekly updates.

Import

Bulk-import past balances from a CSV export. Two shapes are supported: a single-date "snapshot" export (an "As of: date" line, one row per account, "X - Total" rows used for accounts with sub-line-items, indented sub-rows skipped) — like a Quicken/Mint-style balances export — or a plain table with one row per date and one column per account. Match each account/column to a real account or ledger (or skip it), then import. Dates that aren't already a Saturday snap forward to the next one, matching how every week is labeled elsewhere in the app. Each column/account's mapping is remembered from your last import, so re-importing the same export shouldn't need re-matching. Select multiple snapshot files at once (e.g. a batch of weekly exports) to map every account just once and import all of them together.

Debug

Raw JSON from the app's own diagnostic endpoints — same data you'd get hitting these with curl, without needing the session cookie by hand. Read-only, nothing here writes to the database. Uses the currently selected plan.

Pick a diagnostic above and click Run.

Page load times

Times the actual data-fetching each page does (Overview, Balances, Cash flow detail, Budget, Weekly Entry) over a representative ~9-month window (90 days back, 180 days ahead), so you can tell whether a particular page is genuinely slow and worth optimizing, or things are fine. Doesn't touch the database.

Amortization

What-if

Try a hypothetical lump sum or recurring extra payment without saving it — updates live as you type. Click "Save this to the debt" (lump sum only) to actually apply it.

Full schedule

DatePaymentInterestPrincipalLump sumBalance

Ledger examiner

Pick a ledger to see every real Budget Item paying into or out of it, and whether it's projected to go negative in the next 12 months.

What-if: payoff & cash-building strategies

Enter an extra amount for any debt — cadence is shown on each field: biweekly (per paycheck) for TSP/Paige, monthly for Car Loan — and calculate. Compares every adjusted debt against its baseline at once, so you can test whole strategies, not just one debt at a time. Nothing is saved here unless you use the Amortization tab's "Save this to the debt."

Sequential strategy (avalanche-style)

Any lump sums entered on the debt cards above are included automatically, plus an optional flat "extra per pay period" pool below — both cascade through your priority order (↑↓ arrows above): once a debt is paid off, its own minimum payment rolls forward into whichever debt is active next, if "Roll freed minimum payments forward" is checked above.

With the ledger as funding source: TSP/Paige draw from it continuously every pay period; Car Loan lets it accumulate for a month, then sweeps the whole amount in as extra principal on the car payment.

E&L

"As of date" doubles as the pay date for this entry — change it any time to look up or start a different one.

Gross / Deductions / Net

Percent-of-salary items (ORE, etc.)

Items whose dollar amount is a percentage of Chris's current base salary, not a flat number — managed here since the percentage naturally belongs with pay, not the budget. The dollar amount is computed live for the projection and also carried over to the budget line for reference.

NamePercent≈ Monthly $

History & variance

Accounts

Liability balances should be entered as negative numbers in Weekly Entry — that convention is what makes the History tab's net worth math work.

NameTypeOwnerCurrencyReconciliationRateIn "Paid from"?In "Pay to"?

Net worth

Weekly reconciliation

Includes accounts due this week, every ledger (Payoffs, Travel, etc.), and Chris's/Kenna's real TSP balances — all in one pass instead of needing the Balances or Retirement tabs separately.

Drag a field by its ⠿ handle to reorder — only while "Allow reordering fields" is checked, so selecting text in an input the rest of the time isn't fighting drag-and-drop. Order is remembered.

Entry history

WeekNet worthCurrent accounts

Notes