My Spending Data Revealed I'm Not Living My Values (And How I Fixed It)

I need to confess something uncomfortable: my spending data revealed I’m a hypocrite.

For the past three years, I’ve been tracking every transaction in Beancount, obsessively optimizing my path to FIRE. I considered myself a “conscious consumer”—someone who cares about sustainability, supports local businesses, and prioritizes experiences over stuff. But I’d never actually measured whether my money matched my mouth.

Last month, I built a simple Beancount query to audit my values alignment. The results were humbling.

The Uncomfortable Truth

Despite telling myself I “mostly shop local” and “avoid Amazon,” my transaction data told a different story:

  • 60% of purchases were from big-box retailers and Amazon
  • Only 23% of food spending went to local restaurants or farmers markets
  • 73% of discretionary spending went to material goods vs experiences
  • Less than 5% of purchases were from B-Corps or certified sustainable companies

The cognitive dissonance was painful. I believed I was living my values. The numbers said otherwise.

The Audit Process

Here’s how I structured my values audit using Beancount metadata:

Step 1: Define Value Categories

I identified four personal values that should drive spending decisions:

  • Environment: Sustainable, low-waste, eco-friendly
  • Community: Local businesses, small vendors, direct relationships
  • Health: Whole foods, quality ingredients, wellness
  • Experience: Travel, learning, activities vs material goods

Step 2: Add Metadata Tags

I went back through six months of transactions and added metadata tags:

2026-01-15 * "Whole Foods Market" "Weekly groceries"
  values: "local, sustainable, health"
  Expenses:Groceries           127.34 USD
  Liabilities:CreditCard

2026-01-15 * "Amazon" "Phone accessories"
  values: "convenience"
  Expenses:Electronics          34.99 USD
  Liabilities:CreditCard

Yes, it took a Saturday afternoon. No, I didn’t enjoy confronting my Amazon habit.

Step 3: Build Analysis Queries

I created custom Beancount queries to calculate my “values alignment score”:

SELECT 
  account,
  COUNT(*) as transactions,
  SUM(COST(position)) as total_spent,
  ANY_META('values') as values_tags
WHERE 
  account ~ 'Expenses:' 
  AND year = 2025
GROUP BY account, values_tags
ORDER BY total_spent DESC

This showed me spending by value category. The results were eye-opening.

The Intervention

I didn’t want this to be a one-time audit. I wanted ongoing accountability. So I implemented a monthly “Values Dashboard” in Fava:

  1. Monthly Values Score: Percentage of spending aligned with stated values
  2. Category Breakdown: Which expense categories drift furthest from values
  3. Trend Tracking: Am I improving or backsliding?
  4. Top Offenders: Merchants where I spend most with lowest values alignment

I set a goal: move from 40% values-aligned spending to 70%+ within six months.

Six Months Later

I’m now six months into this experiment. Current values alignment: 72%.

What Changed:

  • Amazon purchases down 81%: From $2,300/quarter to $430/quarter
  • Local food spending up 140%: Farmers market became weekly ritual
  • Experience spending up 200%: Prioritized concert tickets, hiking trips, cooking classes over gadgets
  • Community impact: Built relationships with local shop owners, discovered new favorite spots

What Didn’t Change (And That’s OK):

  • Still use Amazon for items truly unavailable locally (specialty tech gear)
  • Still shop at Costco for bulk staples (but reduced frequency)
  • Still prioritize cost for commodity items where values don’t differentiate

The Surprising Benefits

Beyond feeling better about my spending, I discovered unexpected advantages:

  1. Better purchasing decisions: The friction of considering values prevented impulse buys
  2. Deeper satisfaction: Buying from real people at local shops felt better than click-and-ship
  3. Natural spending reduction: Values-aligned purchases tend to be more intentional, reducing total spending
  4. Community connections: Regular interactions with local merchants built real relationships
  5. Data for optimization: Just like tracking macros or expenses, tracking values enables improvement

The Framework (For Anyone Wanting to Try)

Start Simple (Week 1):

  • Pick ONE value that matters to you
  • Add a simple tag to new transactions: #local or #sustainable in the payee field
  • Just observe for a month

Go Deeper (Month 2):

  • Add structured metadata to transactions
  • Create basic queries to calculate % values-aligned
  • Identify your biggest misalignment areas

Optimize (Month 3+):

  • Set specific values alignment targets
  • Track monthly progress
  • Adjust spending habits based on data
  • Celebrate improvements, stay honest about backsliding

The Real Lesson

The point isn’t perfection. I’m not trying to be 100% values-aligned (that’s probably impossible anyway). The point is awareness.

Before this audit, I had a story I told myself about my spending. After the audit, I had data. The data didn’t match the story.

Now I have a dashboard that holds me accountable. Every month, I see whether I’m living my values or just claiming to.

That’s the power of plain text accounting. It’s not just tracking dollars—it’s tracking integrity.

For anyone interested: I’m happy to share my metadata schema and queries. Would love to hear if others have done similar values audits, or if this resonates with anyone else’s experience.

Has anyone else discovered uncomfortable truths when analyzing their Beancount data? What did you do about it?

This post really resonates with me. Thank you for being vulnerable enough to share this, and for doing the hard work of actually looking at the data honestly.

I went through a similar values audit about two years ago using Beancount. My discovery? I was spending more on “stuff” than the experiences I claimed to prioritize. It was uncomfortable to face.

The Power of Awareness

What I love about your approach is how you’ve systematized it. When I first started tracking values alignment, I kept it much simpler—maybe too simple at first, but that was okay for getting started.

My initial approach: I just added #local or #amazon tags to the payee field. Nothing fancy, just:

2024-03-10 * "Pike Street Market #local" "Fresh vegetables"
  Expenses:Groceries    45.00 USD
  Assets:Checking

2024-03-11 * "Amazon #bigbox" "Kitchen gadget"
  Expenses:Home    29.99 USD
  Liabilities:CreditCard

Even that simple tagging revealed patterns I didn’t want to see.

The Weird Thing That Happened

Here’s what surprised me: awareness alone changed my behavior, even before I set any goals or built fancy dashboards.

Just the act of typing #amazon on yet another impulse purchase made me pause. It created friction. Sometimes I’d close the browser tab instead of completing the order.

It’s like when people start tracking calories for the first time—suddenly they’re making different choices just because they have to write it down.

Start Simple (Really)

For anyone reading this who feels inspired but overwhelmed: you don’t need Fred’s full metadata schema and query system to start. That can come later.

Week 1: Pick ONE value. Just one. Add a simple tag. Observe.

Week 2-4: Keep observing. Don’t change anything yet. Just get honest about the baseline.

Month 2: Then decide if you want to add more structure.

I spent three months with my simple #local and #bigbox tags before I added anything more sophisticated. That foundation taught me the most important lesson: the hardest part isn’t the system—it’s looking honestly at what the data reveals.

Question for Fred

How did you handle going back through six months of existing transactions to add metadata? Did you do it all at once, or gradually? I’m curious about the process—that must have taken some real commitment.

And yes, I’d absolutely love to see your metadata schema and queries if you’re willing to share!

Thanks for starting this conversation. It’s a good reminder that Beancount isn’t just a tool for tracking money—it’s a tool for examining whether our actions match our intentions.

This discussion hits close to home—both personally and professionally.

I help 20+ small business clients with their bookkeeping, and I see this values misalignment issue constantly. Business owners will tell me they “support local suppliers” or “prioritize sustainable vendors,” but when I pull their vendor reports, the numbers tell a different story.

A Client Story

Last year, I had a restaurant client who was very vocal about “buying local ingredients” and used it heavily in their marketing. They genuinely believed they were walking the talk.

When I started tracking their purchases in Beancount with vendor metadata, we discovered they were sourcing only about 15% local when they thought it was closer to 50%.

The breakdown:

  • 15% from local farms and suppliers
  • 60% from national food service distributors
  • 25% from bulk wholesale suppliers

Ouch.

The Business Impact

Here’s where it gets interesting: once they knew the real number, they made intentional changes. Over six months, they shifted to:

  • 45% local sourcing
  • 40% national distributors (for items not available locally)
  • 15% bulk wholesale

The result? It became a legitimate marketing advantage. They could confidently tell customers “nearly half our ingredients come from farms within 50 miles.” That authenticity resonated with their target market and actually drove business.

The extra cost of local sourcing (about 8% higher) was more than offset by increased customer loyalty and higher average tickets from diners who valued local food.

The Personal Side

I’m not immune to this either. I talk about supporting local small businesses (ironic, since I am a local small business), but my transaction data showed I was buying too much from Amazon and big-box stores out of pure convenience.

Using the same approach I recommend to clients, I started tagging personal purchases:

2026-01-20 * "Local hardware store #local" "Tools"
  Expenses:Home    67.50 USD
  Liabilities:CreditCard

2026-01-22 * "Home Depot #bigbox" "Paint supplies"
  Expenses:Home    89.99 USD
  Liabilities:CreditCard

Just having to write #bigbox made me think twice. Do I really need it today, or can I wait and support the local hardware store tomorrow?

Practical Advice: Start With One Category

For anyone wanting to try this—whether business or personal—here’s my recommendation:

Start by tagging just ONE value category. Don’t try to track everything at once.

  • If you care about local business: tag #local vs #national
  • If you care about sustainability: tag #sustainable vs #conventional
  • If you care about experiences: tag #experience vs #stuff

Pick one. Track it for a month. Get the baseline. Then decide what to do about it.

Question for the Group

Has anyone applied this to business expenses, not just personal spending? I’m curious if other professional bookkeepers are using Beancount metadata to help clients track values alignment, or if I’m the only one nerdy enough to do this.

Great post—thanks for starting this conversation!

This is exactly why I wanted to learn Beancount!

I’m pretty new to plain text accounting (just a few weeks in), but this idea of tracking values alongside dollars really resonates with me. As a recent accounting grad, I want to build my career around work that aligns with my values, and it makes sense to apply that same lens to personal spending.

My Concerns (Honest Newbie Questions)

Reading through this thread, I’m feeling both inspired and a little overwhelmed. A few questions:

1. How technical do you need to be?

I can handle basic Beancount syntax and read the documentation, but building custom queries and metadata schemas feels pretty advanced. Is this something a beginner can realistically do, or should I wait until I’m more comfortable with the basics?

2. The retroactive tagging challenge

Going back through six months of transactions sounds… daunting? How long did that actually take? And if you’re just starting now, is it better to:

  • Start with new transactions going forward (and never look back)?
  • Tag just the last month or two?
  • Bite the bullet and do the full six months?

3. Starting simple vs doing it “right”

I keep hearing “start simple” but I also don’t want to build something that I’ll have to completely redo later. Is there a “simple but extensible” approach that won’t paint me into a corner?

What Drew Me Here

Honestly, this transparency and control is exactly what drew me to Beancount over traditional accounting software in the first place.

In my accounting courses, everything was about GAAP compliance and financial reporting. Nobody talked about using accounting as a tool for living intentionally or making sure your money reflects your priorities. This community seems to get that in a way traditional accounting doesn’t.

A Request

Would any of you be willing to share a simple starter template? Like, the absolute minimal version of this that a beginner could copy and adapt?

I’m thinking:

  • 2-3 basic metadata fields
  • One simple query to get started
  • Maybe an example of 10-15 tagged transactions

I learn best by example, and I think having a concrete starting point would make this feel less intimidating.

Thanks for sharing your experiences—this thread has me excited to dig deeper into what Beancount can do beyond just tracking dollars and cents!

Wow, I’m blown away by the thoughtful responses here! This community is amazing.

Let me try to address some of the great questions and share a bit more about my process.

Response to @finance_fred

How did you handle going back through six months of existing transactions to add metadata?

Honestly? I did it all in one Saturday—took about 4 hours with coffee and music. But here’s the key: I didn’t overthink it.

For each transaction, I asked one question: “Does this purchase reflect my stated values?” If yes, I added a values tag. If no, I tagged it convenience or just left it blank. I didn’t stress about perfect categorization.

The goal wasn’t perfection; it was establishing a baseline. You can always refine tags later—plain text makes it trivial to search-and-replace.

Response to @bookkeeper_bob

Has anyone applied this to business expenses?

I love your restaurant client story! That 15% → 45% shift turning into a marketing advantage is brilliant. It demonstrates that values alignment isn’t just feel-good stuff—it can be a legitimate business strategy.

Your point about the 8% cost increase being offset by customer loyalty is exactly the kind of insight that comes from measuring rather than guessing.

Response to @newbie_accountant

Great questions! Let me give you the “simple but extensible” approach you asked for.

The Minimalist Starter Kit

Metadata Schema (Start Here):

2026-03-15 * "Local coffee shop" "Morning coffee"
  values: "local"
  Expenses:Food:Coffee    5.50 USD
  Assets:Checking

2026-03-15 * "Starbucks" "Afternoon coffee"
  values: "convenience"
  Expenses:Food:Coffee    6.25 USD
  Assets:Checking

That’s it. Just add values: "tag" to each transaction. Pick 2-3 tags:

  • local = local/small business
  • sustainable = eco-friendly choice
  • experience = activity/learning vs stuff
  • convenience = default/easy option
  • intentional = deliberate purchase aligned with priorities

Simple Query (Copy This):

SELECT 
  ANY_META('values') as value_type,
  COUNT(*) as num_transactions,
  SUM(COST(position)) as total_spent
WHERE 
  account ~ 'Expenses:' 
  AND year = 2026
  AND ANY_META('values') IS NOT NULL
GROUP BY value_type
ORDER BY total_spent DESC

Run this in Fava’s query interface. It shows spending by value category.

Pro Tip: Start tagging ONLY new transactions going forward. Don’t worry about historical data unless you’re curious. One month of forward-looking data will teach you everything you need to know.

Answering Your Specific Questions

1. How technical? You just need to:

  • Add one line of metadata per transaction
  • Copy-paste a query into Fava
    That’s it. You’re already technical enough.

2. Retroactive tagging? Start fresh today. Tag new transactions going forward for a month. If you’re still interested after 30 days, then consider going back. Most people find that one month of data is plenty to see patterns.

3. Simple vs “right”? The beauty of plain text: nothing you do now can “paint you into a corner.” You can always:

  • Search and replace to change tag names
  • Add more detailed metadata later
  • Keep it simple forever if simple works

The Bigger Picture

What I love about this discussion is that we’re all discovering the same truth: Beancount is more than an accounting tool—it’s a mirror.

It shows us what we actually do, not what we think we do. That awareness is uncomfortable but powerful.

@newbie_accountant, I think you’re going to love this journey. The fact that you’re thinking about values alignment as a recent grad puts you way ahead of where most of us were at that stage.

My Challenge to Everyone Reading This

Pick ONE value that matters to you. Just one.

For the next 30 days, add a simple tag to every transaction:

  • Does it align with that value? Tag it.
  • Does it not align? Tag it differently.

One month. One value. See what you learn.

Then come back and share what you discovered. I bet you’ll be surprised.

Thanks again for all the thoughtful engagement. This is exactly the kind of conversation that makes this community special.