As an Enrolled Agent, I help a lot of families navigate 529 plans. Here’s how to set up Beancount to capture all the tax benefits and stay compliant with the new 2026 rules.
What’s New for 2026
The One Big Beautiful Bill Act brought significant changes:
- K-12 withdrawal limit doubled - Now $20,000/year per student (was $10,000)
- New qualified expenses - Tutoring, standardized test fees, vocational training, educational therapies
- 529-to-Roth IRA rollover - Up to $35,000 lifetime (account must be 15+ years old)
The Basic 529 Account Structure
; One account per child, per plan
2020-09-01 open Assets:Investments:529:Emma:StatePlan USD, 529.EMMA.STATE
2022-03-15 open Assets:Investments:529:Jack:StatePlan USD, 529.JACK.STATE
; For tracking contributions vs growth
2020-09-01 open Equity:Opening-Balances:529
Tracking Contributions for State Tax Deductions
This is the critical piece. Most states cap how much you can deduct:
| State | 2026 Limit | Notes |
|---|---|---|
| Iowa | $6,100/beneficiary | In-state plans only |
| Wisconsin | $5,280/beneficiary | In-state plans only |
| New York | $5,000 single / $10,000 joint | In-state plans only |
| Pennsylvania | Unlimited | Any plan qualifies! |
I use metadata to track deduction eligibility:
2026-01-15 * "Monthly 529 contribution"
state-deductible: TRUE
tax-year: 2026
beneficiary: "Emma"
Assets:Investments:529:Emma:StatePlan 500.00 USD
Assets:Bank:Checking -500.00 USD
Year-end query to pull deductible contributions:
SELECT
META('beneficiary') as child,
SUM(CONVERT(position, 'USD')) as total
WHERE
META('state-deductible') = TRUE
AND META('tax-year') = 2026
AND account ~ '529'
GROUP BY META('beneficiary')
Tracking Distributions (Withdrawals)
When you use 529 funds, you need to document the qualified expense:
2026-08-15 * "University of State - Fall tuition"
expense-type: "qualified-higher-ed"
qualified-529: TRUE
Expenses:Kids:Emma:Education:Tuition 15000.00 USD
Assets:Investments:529:Emma:StatePlan -15000.00 USD
2026-09-01 * "Tutoring Center - Math help"
expense-type: "qualified-k12" ; New for 2026!
qualified-529: TRUE
Expenses:Kids:Jack:Education:Tutoring 200.00 USD
Assets:Investments:529:Jack:StatePlan -200.00 USD
The Superfunding Strategy
You can contribute 5 years of gift tax exclusion in one year:
- 2026 limit: $95,000 individual / $190,000 joint
- Must file Form 709 to elect the 5-year averaging
2026-01-02 * "529 Superfunding - 5-year election"
superfunding: TRUE
gift-tax-form: "709"
election-years: "2026-2030"
Assets:Investments:529:Emma:StatePlan 95000.00 USD
Assets:Bank:Checking -95000.00 USD
Warning: No additional gifts to that beneficiary for 5 years without exceeding the annual exclusion.
The New 529-to-Roth Rollover
Starting in 2024, you can roll 529 funds into a Roth IRA for the beneficiary:
Rules:
- Account must be open 15+ years
- Contributions from last 5 years can’t be rolled
- $35,000 lifetime limit
- Subject to annual Roth contribution limits ($7,000 in 2026)
2026-01-15 * "529 to Roth IRA rollover - Emma"
rollover-type: "529-to-roth"
529-account-age: 16 ; years
lifetime-rolled: 7000.00 ; cumulative
Assets:Investments:Roth:Emma 7000.00 USD
Assets:Investments:529:Emma:StatePlan -7000.00 USD
Common Mistakes to Avoid
- Not tracking cost basis separately from gains - You need this for non-qualified withdrawals
- Missing the state deduction limit - Contributing more than deductible is fine, just know the limit
- Same-year contribution/distribution netting - Some states reduce your deduction by withdrawals
- Forgetting to track qualified vs non-qualified - Non-qualified distributions have penalties
Year-End Checklist
- Review total contributions per beneficiary vs state limit
- Verify all distributions were for qualified expenses
- Check if superfunding election affects gift exclusion
- Export data for state tax return
- Update price directives for year-end values
Questions? The 529 rules are complex, but proper Beancount tracking makes tax time much easier.