BaristaFIRE Tracking in Beancount: I'm 73% FI and the Math Gets Weird

I quit my full-time tech job eight months ago at 73% financial independence. Not quite fully FI, but close enough to take the leap. Now I work 25 hours a week at REI—good people, decent pay, and most importantly: health insurance for my family.

This is what the FIRE community calls “BaristaFIRE,” and on paper it sounds perfect. Work less, stress less, let your portfolio do most of the heavy lifting while earning just enough to cover the gap.

But tracking this hybrid state in Beancount has broken my brain, and I need help from folks who actually understand accounting.

The Numbers (Because We’re All Nerds Here)

Here’s my situation:

  • Annual expenses: $60,000
  • Portfolio value: $1,300,000
  • Traditional FI calculation: $1,300k ÷ ($60k × 25) = 73% FI
  • Part-time income: $18,000/year (after tax)
  • Employer health insurance value: ~$14,400/year (family plan I’d otherwise pay out of pocket)

So… am I 73% financially independent? Or am I actually 100% FI for a $42k/year lifestyle (since I only need to withdraw $27,600 from the portfolio)? Or should I count the health insurance benefit as income, making me FI for a $56k lifestyle?

The math gets weird.

The Beancount Tracking Challenges

I’ve been using Beancount for five years to track my path to FIRE. Monthly net worth reports, investment performance, expense categorization—the whole obsessive tracking toolkit. But BaristaFIRE introduces complexity I haven’t figured out:

Challenge 1: What’s My Real Withdrawal Rate?

Traditional FIRE uses the 4% rule: withdraw 4% of your portfolio annually. Simple math.

But what’s my withdrawal rate? I’m pulling $27,600 from investments (2.1% of portfolio), BUT I’m also earning $18k from work and getting $14.4k in health benefits. If I lost the REI job tomorrow, I’d need to withdraw $46,800 (3.6% of portfolio) AND pay for my own insurance, pushing my real need to ~$61k (4.7%).

How do I model this in Beancount? Do I create separate forecasting scenarios? Track a “true withdrawal rate” that includes imputed income?

Challenge 2: Health Insurance as Invisible Income

My employer pays roughly $1,200/month for family health insurance. I pay maybe $150/month in premiums. That $1,050/month employer contribution is real economic value—if I quit, I’d be paying that out of pocket via ACA marketplace or COBRA.

But it doesn’t show up in my Beancount ledger as income. Should it? How do you track non-cash compensation in plain text accounting?

Challenge 3: The 2026 ACA Subsidy Cliff

Here’s the scary part: enhanced ACA subsidies are expiring in 2026. If I lose my employer coverage, I’d hit the marketplace. But there’s a subsidy cliff—if my MAGI exceeds 400% of Federal Poverty Level ($78,880 for a family of three), I lose ALL subsidies.

My part-time income ($18k) + portfolio withdrawals ($27.6k) + dividends (~$8k) = $53.6k MAGI. I’m currently safe. But if I withdrew more during a market downturn, or took on extra freelance work, I could accidentally blow past the cliff and owe thousands more for insurance.

How do people track MAGI thresholds in Beancount? Tag income sources by tax treatment? Build queries that project MAGI scenarios?

Challenge 4: Stress-Testing the Plan

The whole point of FIRE is “financial independence”—the ability to survive without earned income. But I’m not there yet. I’m 73% of the way there, which means I’m dependent on this part-time job.

What if REI cuts hours? What if I get sick and can’t work? What if there’s a recession and part-time jobs dry up while my portfolio drops 30%?

I want to model this in Beancount: create forecasting scenarios for “lose job in Year 2” or “market drops 30% while working” or “health insurance costs jump 10% annually.” But I’m not sure how to structure these scenario analyses in plain text accounting.

What I’m Looking For

I know there are folks here tracking complex situations—rental properties, multiple income streams, semi-retirement. How do you handle this in Beancount?

Specifically:

  1. FI percentage calculation: Do you calculate FI based on current expenses (73%) or required portfolio withdrawals ($42k lifestyle = 100% FI)?
  2. Health insurance tracking: Do you impute employer health benefits as income? If so, how?
  3. Withdrawal rate modeling: How do you track “true” withdrawal rate when mixing portfolio + earned income?
  4. Scenario planning: Any Beancount plugins or workflows for modeling “what if” scenarios (job loss, market crash, etc.)?
  5. ACA subsidy tracking: Anyone else tracking MAGI thresholds to avoid subsidy cliffs?

I’ve learned so much from this community over the years. Now I’m in this weird in-between state—not fully FI, not fully working—and I’d love to hear how others are tracking it.

Real numbers appreciated. We’re all here because we like precision and transparency, right?


For those curious about BaristaFIRE logistics: REI has been great. 25 hours/week, flexible schedule, pro deals on gear, health insurance kicks in after 90 days at 20+ hrs/week. The work is physical (retail floor + inventory) but low-stress compared to tech. I’m spending more time with my kids, sleeping better, and actually using the camping gear I’ve been hoarding. The portfolio continues compounding while I live this hybrid life.

Still feels weird to not be “fully” FI though. Working on the mental shift from “I need this job” to “I choose this job… but could walk away if needed.” Beancount tracking helps me see the numbers clearly, even if I haven’t solved all the accounting puzzles yet.

@finance_fred - This is exactly the transition period that’s hardest to model, and I think you’re asking all the right questions. I went through something similar when I started tracking rental property income alongside my portfolio withdrawals. Let me share what worked for me.

Reframing the FI Percentage

Here’s the mindset shift that helped me: You’re not 73% FI. You’re 100% FI for a lifestyle that costs $42,000.

Think about it: Your portfolio ($1.3M) can sustain $52k/year at 4% withdrawal rate. You’re only drawing $27,600. That means you’re living below your FI threshold, not at 73% of it.

The part-time income isn’t filling a “gap” to full FI—it’s funding a lifestyle upgrade beyond what your portfolio alone could sustain. Subtle difference, but it changed how I thought about my situation.

In Beancount terms, I created separate equity tracking:

  • Equity:FI:Portfolio - What my investments can sustain (4% of portfolio)
  • Equity:FI:IncomeStreams - What my rental income provides
  • Equity:Lifestyle:Actual - What I actually spend

This let me see clearly: I was FI for my baseline needs, and additional income sources funded discretionary lifestyle.

Health Insurance as Real Income

YES, absolutely track the employer health benefit as imputed income. Here’s how I’d structure it in Beancount:

2026-03-28 * "REI" "Paycheck + health insurance benefit"
  Income:Salary:REI                          -1500.00 USD
  Income:Benefits:HealthInsurance            -1050.00 USD  ; Employer portion
  Expenses:HealthInsurance:Premiums            150.00 USD  ; Your portion
  Expenses:Taxes:FederalIncome                 280.00 USD
  Expenses:Taxes:FICA                          114.75 USD
  Assets:Checking:WellsFargo                  1205.25 USD

The employer contribution ($1,050/month) is real economic value. You’re receiving $2,550/month in total compensation, not $1,500. Tracking it this way shows your true cost structure if you left the job.

Scenario Planning Workflow

For stress-testing, I don’t use fancy Beancount plugins. I use something simpler: quarterly scenario reviews in a spreadsheet that pulls from Beancount queries.

Every quarter, I run three bean-query reports:

  1. Current portfolio value
  2. YTD expenses by category
  3. YTD income by source

Then I model three scenarios in a simple spreadsheet:

  • Optimistic: Keep current income, market returns 7% annually
  • Expected: Keep current income, market returns 5% annually
  • Pessimistic: Lose part-time income in Year 2, market drops 20% then recovers

The Beancount data feeds the starting conditions, but I do the “what if” modeling outside the ledger. Plain text accounting is for recording reality, not simulating futures.

You’re Not Failing at FIRE

One last thing: I see a lot of guilt in your post about “not being fully FI” and “still needing this job.”

Let me reframe: You left a full-time tech job in your 40s to work 25 hours a week at REI, spend more time with your kids, sleep better, and use your camping gear. That’s not partial success—that’s exactly what financial independence is supposed to enable.

The FIRE community gets obsessed with the “retire early” part and forgets the “financial independence” part. Independence means having choices. You chose to work part-time because it funds the lifestyle you want while keeping stress low. That’s not dependency—that’s optimization.

Keep tracking the numbers (because we’re all nerds here), but don’t lose sight of the fact that you’re already living the dream most people in this community are chasing.

Congrats on the leap. :tada:

This is a great discussion, and as a CPA who works with clients in similar situations, I want to flag a few tax and compliance considerations that directly impact your Beancount tracking.

Track Health Insurance as Imputed Income (For Your Own Records)

@helpful_veteran’s approach is exactly right from an economic perspective. The employer health insurance contribution IS real income—it’s just not taxable income under current IRS rules.

For your personal Beancount tracking, I’d absolutely record it as he suggested. But understand that this won’t match your W-2. Your W-2 will show $18,000 in wages, not $32,400 ($18k salary + $14.4k health benefit). The health insurance is a tax-free fringe benefit.

Why track it anyway? Because if you lose that job, you need to know your true cost structure. Your Beancount ledger should reflect economic reality, not just taxable events.

The 2026 ACA Subsidy Cliff Is Critical

You mentioned the subsidy cliff, and I’m glad you’re thinking about this, because it’s a minefield for BaristaFIRE planning.

Here’s the math:

  • 400% Federal Poverty Level (2026): $78,880 for a family of 3
  • Your current MAGI: ~$53,600 (safe zone)
  • If you lose REI job: MAGI could be $35,600 (portfolio withdrawals + dividends)

If your MAGI is under $78,880, you qualify for ACA premium tax credits. But here’s the scary part: If you accidentally go even $1 over that threshold—say, you take a one-time portfolio withdrawal to buy a car, or you pick up extra freelance work—you lose ALL subsidies and owe the full premium ($1,500-2,000/month for family coverage in most states).

Beancount MAGI Tracking

I recommend tagging all income sources by tax treatment:

2026-03-28 * "Vanguard" "Dividend payment"
  Income:Investment:Dividends:Qualified   -500.00 USD
    magi: "qualified-dividend"
  Assets:Checking                          500.00 USD

2026-03-28 * "Vanguard" "Capital gains distribution"
  Income:Investment:CapitalGains:LongTerm  -200.00 USD
    magi: "long-term-gain"
  Assets:Checking                           200.00 USD

2026-03-28 * "REI" "Salary"
  Income:Salary:REI                        -1500.00 USD
    magi: "ordinary-income"
  ; ... rest of paycheck transaction

Then you can run a bean-query to project your MAGI:

SELECT SUM(position) AS "Projected MAGI"
WHERE account ~ 'Income:' AND 'magi' IN tags

This lets you monitor whether you’re approaching the subsidy cliff throughout the year, not just at tax time.

Roth Conversion Opportunity Window

Here’s the silver lining: Your BaristaFIRE years are a golden opportunity for Roth conversions.

Right now your MAGI is ~$53,600. The 12% federal tax bracket for married filing jointly tops out at $94,300 in 2026. That means you have roughly $40,000 of room to do Roth conversions at just 12% tax rate.

In traditional FIRE, people do Roth conversions in their early retirement years when income is low. But you’re in an even better position: You have part-time income covering living expenses, so you don’t need to withdraw from the portfolio. This gives you flexibility to convert traditional IRA/401(k) funds to Roth at historically low tax rates.

Example strategy:

  • Convert $30,000 from Traditional IRA to Roth in 2026
  • MAGI increases to ~$83,600 (still under ACA subsidy cliff)
  • Pay 12% federal tax on conversion (~$3,600)
  • That $30k now grows tax-free in Roth forever

Run this strategy for 3-5 years during your BaristaFIRE phase, and you’ll have a massive Roth balance by the time you fully retire. When you’re 65+ and on Medicare (no more ACA subsidy cliff concerns), you can withdraw from Roth tax-free instead of paying ordinary income tax on Traditional IRA withdrawals.

Track This in Beancount

2026-04-15 * "Roth Conversion"
  Assets:Retirement:TraditionalIRA:Vanguard  -30000.00 USD
  Assets:Retirement:RothIRA:Vanguard          30000.00 USD

2026-04-15 * "Taxes on Roth Conversion"
  Expenses:Taxes:FederalIncome:RothConversion  3600.00 USD
  Assets:Checking                             -3600.00 USD

Don’t Forget About HSA If Available

You mentioned REI provides health insurance. Ask if they offer a High Deductible Health Plan (HDHP) option with an HSA. If you’re young and healthy, the HDHP might have lower premiums AND give you access to an HSA.

HSAs are the best retirement account in the tax code:

  • Tax-deductible contributions
  • Tax-free growth
  • Tax-free withdrawals for medical expenses (now or in retirement)
  • After age 65, you can withdraw for non-medical expenses (taxed as ordinary income, like a Traditional IRA)

For 2026, you can contribute $8,300 for family coverage. That’s another $8,300/year in tax-deferred savings during your BaristaFIRE phase.

Bottom Line for Beancount Tracking

Your Beancount ledger should track:

  1. Economic reality: Include employer health benefit as imputed income
  2. Tax planning: Tag all income by MAGI treatment
  3. Strategic opportunities: Track Roth conversions and HSA contributions
  4. Scenario modeling: Use bean-query to project different MAGI scenarios (extra freelance work, one-time portfolio withdrawals, etc.)

The goal isn’t just to record transactions—it’s to give yourself the data you need to make smart tax and financial decisions during this transition period.

You’re in a great position. Use these BaristaFIRE years wisely for tax optimization, and your fully-retired self will thank you.