I ran a Beancount query this morning to calculate my credit card debt, and the number staring back at me was uncomfortable: $8,247.
Then I looked up the national statistics and realized: I’m part of the $1.23 trillion problem.
According to the Federal Reserve, Americans now carry $1.233 trillion in credit card debt—the highest balance since tracking began in 1999. The average balance per cardholder is $6,523, with household averages reaching $11,019.
So my $8,247 is above the individual average but below the household average. Does that make it better or worse? I don’t know.
But here’s what I do know: Tracking my credit card debt in Beancount gives me clarity that most people don’t have. And that clarity is the first step to fixing the problem.
The National Credit Card Debt Crisis
Let me put my $8,247 in context with the national data:
The numbers are staggering:
- Total US credit card debt: $1.233 trillion (Q3 2025)
- Average per cardholder: $6,523
- Average per household: $11,019
- Average APR: 20.97% (Q4 2025)
- Average APR for cards accruing interest: 22.30%
What’s driving it:
73% of credit card balances stem from emergency or day-to-day expenses—car repairs, medical bills, home repairs, routine living costs.
Translation: Most people aren’t racking up debt from luxury purchases. They’re using credit cards to survive.
How I Track Credit Card Debt in Beancount
Here’s my setup:
; Credit card liability accounts
open Liabilities:CreditCard:Chase
open Liabilities:CreditCard:Discover
open Liabilities:CreditCard:Amex
; Track interest separately
open Expenses:Interest:CreditCard
; Track debt reduction separately from normal payments
open Expenses:DebtReduction:CreditCard
Key insight: I track debt reduction separately from interest charges to see my actual progress.
My Monthly Credit Card Debt Snapshot
First day of every month, I run this query:
SELECT
account,
SUM(position) as balance
FROM CLOSE
WHERE account ~ 'Liabilities:CreditCard'
GROUP BY account
ORDER BY balance DESC
Output (February 2026):
Account Balance
Liabilities:CreditCard:Chase $4,892
Liabilities:CreditCard:Discover $2,140
Liabilities:CreditCard:Amex $1,215
────────────────────────────────────
Total $8,247
Then I add a monthly note with context:
2026-02-01 note Liabilities:CreditCard \"
=== CREDIT CARD DEBT SNAPSHOT (Feb 2026) ===
Total balance: $8,247
National avg (individual): $6,523
My position: +26% above average (NOT GOOD)
Monthly minimum payments: $247
Monthly interest charges (est): $159 (@23% APR avg)
Monthly principal reduction (if paying minimums only): $88
Time to payoff (minimum payments only): 94 months (~8 years!)
Total interest paid (minimum payments): $14,981
My actual payment plan:
- Chase: $300/month
- Discover: $150/month
- Amex: $100/month
Total: $550/month
Estimated payoff timeline: 18 months
Estimated interest: $1,247
Status: ABOVE TARGET (want to be debt-free by August 2027)
\"
This monthly note keeps the full picture visible:
- Where I stand vs national averages
- Cost of minimum payments (devastating)
- My actual payment plan
- Progress toward debt freedom
Tracking Interest Charges vs Principal Reduction
Every month, I categorize my credit card payments:
; Chase payment breakdown
2026-02-15 * "Chase Credit Card" "Monthly payment"
Liabilities:CreditCard:Chase 300.00 USD
Expenses:Interest:CreditCard -94.20 USD ; Interest charged
Assets:Checking -300.00 USD
; Record the principal reduction separately for tracking
2026-02-15 * "Chase Credit Card" "Principal reduction"
Expenses:DebtReduction:CreditCard 205.80 USD ; $300 - $94.20 interest
Liabilities:CreditCard:Chase -205.80 USD
Wait, that doesn’t balance! Let me fix that:
Actually, the better way to track this:
; Record credit card payment (all goes to liability)
2026-02-15 * "Chase Credit Card" "Monthly payment"
Liabilities:CreditCard:Chase 300.00 USD
Assets:Checking -300.00 USD
; Record interest charge (increases liability)
2026-02-15 * "Chase Credit Card" "Interest charged on balance"
Expenses:Interest:CreditCard 94.20 USD
Liabilities:CreditCard:Chase -94.20 USD
note: "Effective principal reduction this month: $205.80"
Now I can query:
- Total paid: All payments to
Liabilities:CreditCard - Total interest:
Expenses:Interest:CreditCard - Net debt reduction: Payments minus interest charges
The “Debt Payoff Progress” Query
I run this quarterly to track progress:
SELECT
QUARTER(date) as quarter,
SUM(CASE WHEN account ~ 'Liabilities:CreditCard' AND position > 0 THEN position ELSE 0 END) as total_paid,
SUM(CASE WHEN account = 'Expenses:Interest:CreditCard' THEN position ELSE 0 END) as total_interest,
(total_paid - total_interest) as principal_reduction,
(total_interest / total_paid) * 100 as interest_rate_pct
FROM CLOSE
WHERE date >= 2026-01-01
GROUP BY QUARTER(date)
ORDER BY quarter
Q1 2026 results:
Quarter Total Paid Interest Principal Interest %
Q1 2026 $1,650 $412 $1,238 25.0%
Translation: Of the $1,650 I paid toward credit cards in Q1, $412 went to interest (25%). Only $1,238 actually reduced my debt.
This is brutal to see, but it’s necessary.
Comparing My Debt to National Averages
I track my position relative to national benchmarks:
2026-02-01 note Liabilities:CreditCard \"
=== NATIONAL COMPARISON ===
My balance: $8,247
National avg (individual): $6,523
Difference: +$1,724 (+26% above average)
My interest rate (weighted avg): 23.1%
National avg APR: 20.97%
Difference: +2.13 percentage points (WORSE)
My monthly payment: $550
My balance: $8,247
Payment ratio: 6.7% of balance
National context:
- I'm in the top 40% of credit card debt holders (bad)
- My APR is higher than average (worse)
- My payment rate is better than average (good)
Goal: Get below national average by Q4 2026
\"
Seeing this comparison monthly keeps me motivated to pay down faster.
The “True Cost of Debt” Calculator
I built a note to calculate what my debt is really costing me:
2026-02-01 note Expenses:Interest:CreditCard \"
=== TRUE COST OF $8,247 DEBT ===
Option 1: Minimum payments only ($247/month)
Monthly payment: $247
Interest charges: $159/month (avg)
Principal reduction: $88/month
Time to payoff: 94 months (~8 years)
Total paid: $23,228
Total interest: $14,981
COST: $14,981 wasted on interest
Option 2: My plan ($550/month)
Monthly payment: $550
Time to payoff: 18 months
Total paid: $9,494
Total interest: $1,247
COST: $1,247 in interest
Option 3: Aggressive payoff ($1,000/month)
Monthly payment: $1,000
Time to payoff: 9 months
Total paid: $8,840
Total interest: $593
COST: $593 in interest
Savings from my plan vs minimum:
Interest saved: $13,734
Time saved: 76 months (6.3 years)
This is why I track this obsessively.
\"
Seeing $14,981 in interest if I only pay minimums is terrifying. And motivating.
What I’m Doing About It
1. Debt avalanche method (highest APR first)
My cards ranked by APR:
- Chase: 24.99% APR → $300/month
- Discover: 21.49% APR → $150/month (after Chase is paid off)
- Amex: 19.99% APR → $100/month (after Discover is paid off)
2. No new charges (frozen cards)
I physically froze my credit cards in a block of ice. Sounds stupid, but it works.
New expenses go on debit only. If I can’t afford it in cash, I can’t afford it.
3. Monthly progress tracking
Every month, I calculate:
- Total debt reduction (principal paid)
- Interest charges
- Months remaining to debt freedom
- Progress toward goal
4. Celebrating milestones
- $8,000 → $7,000: Dinner out ($30 budget)
- $7,000 → $6,000: National average! (milestone photo)
- $6,000 → $5,000: Halfway there (buy a book I’ve wanted)
- $5,000 → $0: DEBT FREE (real celebration)
Tracking the wins in Beancount keeps me going.
The National Problem
Here’s what bothers me about the $1.23 trillion number:
Most people don’t track their debt the way Beancount users do. They see:
- A “balance” on their statement (but not the breakdown)
- A “minimum payment” (but not the interest vs principal split)
- An “APR” (but not the total cost over time)
Beancount users have an unfair advantage: We can see the full picture. We can calculate true cost. We can track progress.
But 73% of that $1.23 trillion is from emergencies and necessities, not frivolous spending. People aren’t choosing debt—they’re surviving.
My $8,247 includes:
- $2,400 medical bills (ER visit, no insurance at the time)
- $1,800 car repairs (transmission)
- $1,200 moving expenses (job relocation)
- $2,847 in “life happened” expenses
Only ~$1,000 was truly discretionary spending I regret.
Questions for the Community
-
How do you track credit card debt in Beancount?
- Separate accounts per card?
- How do you categorize interest vs principal?
-
Do you compare yourself to national averages?
- Does it help or hurt to know where you stand?
-
What’s your payoff strategy?
- Debt avalanche (highest APR first)?
- Debt snowball (smallest balance first)?
- Hybrid approach?
-
How do you track interest charges?
- Separate expense account?
- Metadata tags?
- Notes?
-
Have you paid off credit card debt using Beancount tracking?
- How long did it take?
- What motivated you to stay disciplined?
I’m $8,247 into the $1.23 trillion national problem. But I have a plan, and I’m tracking progress.
By August 2027, I’ll be debt-free.
How are you tracking your piece of the problem?
Sources: