Skip to main content

14 posts tagged with "finance"

View all tags

S-Corp Election, Explained for Beancount Users

· 15 min read
Mike Thrift
Mike Thrift
Marketing Manager

What it is, when it pays off, and how to model it cleanly in your ledger (with examples).

⚠️ This guide is U.S.-specific and for education only. Talk to a tax pro for your situation.

TL;DR

  • An S-corp is a tax status you choose with the IRS (via Form 2553) so that business profits pass through to the owners' personal tax returns. A key requirement is that you must pay owner-operators a reasonable W-2 salary before taking any profit as dividends or distributions.
  • Deadlines matter: For an existing business, you must file no later than the 15th day of the 3rd month of the tax year you want the S-corp status to begin. For a calendar-year 2025 election, March 15, 2025, falls on a Saturday, so the practical deadline is the next business day, Monday, March 17, 2025.
  • Why do this? The main attraction is potential self-employment tax savings. While your W-2 salary is subject to FICA taxes, distributions are not. However, this benefit comes with added costs for payroll, compliance, and, in some states, extra entity-level taxes.
  • In Beancount, it's critical to separate wages from distributions. You'll need to track payroll liabilities, handle the special accounting for health insurance for shareholders owning more than 2% of the company, and record distributions explicitly through equity accounts.

2025-08-08-s-corp-election

What is an S-corp election?

At its core, an S-corp election is a request you make to the IRS to change how your business is taxed. By filing Form 2553, you ask the IRS to tax your corporation or LLC under Subchapter S of the Internal Revenue Code. This makes your business a "pass-through" entity, meaning its income, losses, deductions, and credits are passed directly to the shareholders' personal tax returns. It’s purely a tax classification, not a different type of legal business entity.

Key effects for an owner-operator

Once the election is active, your role fundamentally splits in two: you are now both a shareholder and an employee of your company.

This distinction is crucial. The compensation you receive for your labor must be paid as W-2 wages, which are subject to standard payroll taxes (Social Security and Medicare). Any remaining profit can then be paid out as distributions, which are generally not subject to self-employment taxes. The IRS insists that you pay yourself a reasonable salary for your work before you take any distributions.

Should you elect S-corp status?

The S-corp election is often worth evaluating once your business generates steady and meaningful profit. A common rule of thumb is to consider it when your ongoing business profit can comfortably support a market-rate salary for your role, with enough left over to make distributions worthwhile after covering all the new administrative costs.

The exact break-even point is unique to your situation and depends on several factors:

  • Your "Reasonable Salary": What would a business pay for someone with your skills and responsibilities in your industry? This figure is the baseline for your W-2 wages and is subject to IRS scrutiny.
  • State Taxes and Fees: Some states have their own rules. California, for example, imposes a 1.5% tax on an S-corp's net income, plus a minimum annual franchise tax of $800.
  • Added Costs: You'll need a payroll service, and you'll be paying for unemployment insurance. Your bookkeeping and tax preparation fees will also likely increase due to the added complexity.
  • QBI Deduction (Section 199A): The S-corp election can impact your Qualified Business Income deduction. The W-2 wages you pay yourself can either help you qualify for the full deduction or, at higher income levels, become a limiting factor.

Eligibility & Timing

Not every business can become an S-corp. Here are the high-level requirements:

  • It must be a domestic corporation or an eligible LLC.
  • It can have no more than 100 shareholders.
  • It can only have one class of stock.
  • Shareholders must be individuals, certain trusts, or estates (i.e., no partnerships, corporations, or non-resident alien shareholders).

When to file Form 2553

Timing is critical, and the rules differ slightly for new versus existing businesses.

  • For a new business: You must file within 2 months and 15 days after the first day of your first tax year. For example, if your business's tax year begins on January 7, your deadline is March 21.
  • For an existing C-corp (or an LLC taxed as a C-corp): You can file at any time during the preceding tax year or by the 15th day of the 3rd month of the year you want the election to take effect. If this date falls on a weekend or holiday, the deadline shifts to the next business day, a provision granted under IRC Section 7503.

What if you missed the deadline? Don't panic. The IRS provides a path for late-election relief under Revenue Procedure 2013-30. You can often file for this relief within 3 years and 75 days of the intended effective date, provided you have a reasonable cause for the late filing.

Reasonable Salary: The Part That Trips People Up

This is the most scrutinized aspect of the S-corp structure. The IRS is very clear: shareholder-employees must be paid reasonable compensation for the services they provide before any profits are taken as distributions.

What does "reasonable" mean? There's no single dollar amount. The IRS and courts look at a variety of factors to determine if your salary is appropriate, including your duties and responsibilities, the time you spend working, your level of experience, and what comparable businesses would pay for similar services. Expect the IRS to take a close look if you pay yourself a very low W-2 salary while taking large distributions. This is often seen as a red flag for attempting to evade payroll taxes.

Health Insurance & Fringe Benefits for >2% Shareholders

There's a special rule for how S-corps handle health insurance for shareholders who own more than 2% of the company. If the S-corp pays or reimburses these health insurance premiums, the cost is deductible by the S-corp.

However, the value of those premiums must also be included in the shareholder-employee's W-2 wages. While this amount is subject to federal income tax withholding, it is exempt from Social Security and Medicare (FICA) taxes as long as it's handled correctly. You must coordinate with your payroll provider to ensure these amounts are reported properly on your W-2.

State-Level Gotchas (Examples)

Federal S-corp status doesn't always translate directly at the state level. Always check your state's specific rules.

  • California: S-corps are subject to a 1.5% tax on their California-source net income. Additionally, most corporations must pay an $800 minimum franchise tax each year (though some exceptions apply for the first year).
  • New York: Making a federal S-corp election is not enough. You must also file a separate state-level election, Form CT-6, to be treated as a New York S-corporation. Failure to do so means you'll be taxed as a standard C-corp at the state level.

How to Model an S-corp Cleanly in Beancount

Plain text accounting is perfect for managing the added complexity of an S-corp. Here’s how to structure your ledger.

Suggested Chart of Accounts (Starter)

This basic structure separates your payroll expenses from distributions and creates liability accounts to track taxes you owe.

; Core bank & income
1970-01-01 open Assets:Bank:Checking USD
1970-01-01 open Income:Sales USD
1970-01-01 open Income:Other USD

; Payroll expenses & liabilities
1970-01-01 open Expenses:Payroll:Wages USD
1970-01-01 open Expenses:Payroll:EmployerTaxes USD
1970-01-01 open Expenses:Benefits:HealthInsurance USD
1970-01-01 open Liabilities:Payroll:Federal:FIT USD
1970-01-01 open Liabilities:Payroll:FICA USD
1970-01-01 open Liabilities:Payroll:Medicare USD
1970-01-01 open Liabilities:Payroll:State:Withholding USD

; Equity
1970-01-01 open Equity:ContributedCapital USD
1970-01-01 open Equity:Distributions USD
1970-01-01 open Equity:RetainedEarnings USD

Typical Payroll Run (Simplified)

Your payroll provider (e.g., Gusto, ADP) will debit your bank account for your net pay and the total tax liability. Your Beancount transaction should break this down into the gross wages, employer taxes, and the corresponding liabilities.

; This transaction records a $100k annual salary, paid monthly.
2025-01-31 * "Gusto" "Jan payroll — shareholder-employee"
Expenses:Payroll:Wages 8,333.33 USD ; Gross wages
Expenses:Payroll:EmployerTaxes 637.50 USD ; Employer-side FICA/Medicare
Liabilities:Payroll:Federal:FIT -1,200.00 USD ; Employee withholding
Liabilities:Payroll:FICA -516.67 USD ; Employee withholding
Liabilities:Payroll:Medicare -120.83 USD ; Employee withholding
Assets:Bank:Checking -7,133.33 USD ; Net pay debited from bank

When your payroll provider remits those taxes to the government on your behalf, you'll record another transaction to clear out the liabilities.

; This represents the tax payment made by your payroll provider.
2025-02-15 * "EFTPS" "Federal payroll tax deposit"
Liabilities:Payroll:Federal:FIT 1,200.00 USD
Liabilities:Payroll:FICA 516.67 USD
Liabilities:Payroll:Medicare 120.83 USD
Assets:Bank:Checking -1,837.50 USD ; This amount matches the tax portion of the Gusto debit.

Health Insurance for a >2% Shareholder

Record the premium payment as a business expense. You can use metadata to remind yourself that this needs to be reported on the W-2.

2025-02-01 * "BlueCross" "Shareholder health insurance (report on W-2)"
Expenses:Benefits:HealthInsurance 600.00 USD ; w2: "true"
Assets:Bank:Checking -600.00 USD

Owner Distributions (Not Wages)

Distributions are a reduction of equity, not a business expense. Record them separately from payroll.

2025-03-31 * "Owner Distribution" "Q1 distribution"
Equity:Distributions 20,000.00 USD
Assets:Bank:Checking -20,000.00 USD

Your shareholder basis determines whether distributions are tax-free and whether you can deduct business losses on your personal return. While the official calculation is done on your tax return, you can track an estimate in Beancount using a dedicated equity subaccount or metadata. You'll reconcile this to the Schedule K-1 you receive from the S-corp annually.

A Note on the QBI Deduction (Section 199A)

Owners of pass-through businesses, including S-corps, may be eligible for up to a 20% deduction on their qualified business income (QBI). However, for taxpayers with income above a certain threshold, this deduction can be limited by the amount of W-2 wages the business pays. This creates a complex interplay: paying a reasonable salary is required for an S-corp, and those same wages can impact your QBI deduction—sometimes helping it, sometimes limiting it. This is a key area to model with your tax professional.

What Changes Operationally After You Elect?

Switching to an S-corp adds a few administrative layers:

  • Run Payroll: You must formally run payroll, complete with tax withholdings, employer tax payments, quarterly filings, and year-end W-2s.
  • File Form 1120-S: This is the annual S-corporation tax return. You'll also issue a Schedule K-1 to each shareholder detailing their share of the company's financial results.
  • Handle Shareholder Health Insurance Correctly: Ensure premiums for >2% owners are included in their W-2 wages.
  • Mind State Rules: Stay on top of any required state-level S-corp elections or entity taxes (like in CA and NY).

Common Pitfalls to Avoid

  • Late or Invalid Election: Double-check deadlines and ensure all required shareholders sign Form 2553. If you miss it, investigate relief under Rev. Proc. 2013-30.
  • Unreasonable Salary: Don't be tempted to pay yourself an artificially low salary. Document why your compensation is reasonable based on your role and market data.
  • Mixing Wages and Distributions: Keep these transactions clean and separate in your books. Distributions are not payroll.
  • Ignoring State Requirements: Forgetting a state election or failing to pay an entity-level tax can lead to penalties and compliance headaches.

Quick Checklist

  • Confirm you are eligible and that the potential tax savings outweigh the new costs.
  • Calendar the Form 2553 filing deadline (and remember the weekend/holiday rule).
  • Set up a payroll service and determine a well-documented, reasonable salary.
  • Plan to take distributions only after salary and business expenses are paid.
  • Investigate and comply with your state's specific S-corp filing requirements and taxes.
  • Update your Beancount ledger with the necessary accounts for payroll, liabilities, and shareholder equity.

Beancount S‑Corp Starter (neutral template)

;
; Beancount S‑Corp Starter (neutral template)
; Generated: 2025-08-09
; ---
; How to use this:
; 1) Search for "TODO" and fill in your state(s), payroll provider, EIN, and bank names.
; 2) Keep wages and owner distributions separate.
; 3) Coordinate with your payroll provider to report >2% shareholder health insurance on the W‑2 (Box 1).
; 4) Delete or adapt the CA/NY examples if you’re in a different state.
;
; Notes:
; - This is a bookkeeping template, not tax advice.
; - Operating currency assumed USD. Change as needed.
;

option "title" "S‑Corp Ledger"
option "operating_currency" "USD"
commodity USD

; === Accounts (open as of 2025-01-01; adjust dates as needed) ==================
2025-01-01 open Assets:Bank:Checking USD ; TODO: Rename to your bank (e.g., Assets:Bank:Chase:Operating)
2025-01-01 open Assets:Bank:Savings USD
2025-01-01 open Assets:AccountsReceivable USD
2025-01-01 open Assets:PrepaidExpenses USD

2025-01-01 open Liabilities:CreditCard:Corporate USD
2025-01-01 open Liabilities:Payroll:Federal:FIT USD
2025-01-01 open Liabilities:Payroll:Federal:FICA USD
2025-01-01 open Liabilities:Payroll:Federal:Medicare USD
2025-01-01 open Liabilities:Payroll:Federal:FUTA USD
2025-01-01 open Liabilities:Payroll:State:Withholding USD ; TODO: Rename state (e.g., CA, NY)
2025-01-01 open Liabilities:Payroll:State:Unemployment USD
2025-01-01 open Liabilities:Payroll:Local USD

2025-01-01 open Equity:ContributedCapital USD
2025-01-01 open Equity:Distributions USD
2025-01-01 open Equity:RetainedEarnings USD
2025-01-01 open Equity:OpeningBalances USD

2025-01-01 open Income:Sales USD
2025-01-01 open Income:Other USD

2025-01-01 open Expenses:COGS USD
2025-01-01 open Expenses:Payroll:Wages USD
2025-01-01 open Expenses:Payroll:EmployerTaxes:FICA USD
2025-01-01 open Expenses:Payroll:EmployerTaxes:Medicare USD
2025-01-01 open Expenses:Payroll:EmployerTaxes:FUTA USD
2025-01-01 open Expenses:Payroll:EmployerTaxes:State USD
2025-01-01 open Expenses:Benefits:HealthInsurance USD
2025-01-01 open Expenses:Benefits:HSA USD
2025-01-01 open Expenses:Benefits:Retirement:Match USD
2025-01-01 open Expenses:Taxes:State:S‑Corp USD ; e.g., CA 1.5% entity‑level tax
2025-01-01 open Expenses:Taxes:State:Franchise USD ; e.g., CA $800 minimum franchise tax
2025-01-01 open Expenses:Professional:Payroll USD
2025-01-01 open Expenses:Professional:Accounting USD
2025-01-01 open Expenses:Professional:Legal USD
2025-01-01 open Expenses:BankFees USD
2025-01-01 open Expenses:Software USD
2025-01-01 open Expenses:Office USD
2025-01-01 open Expenses:Meals USD
2025-01-01 open Expenses:Travel USD
2025-01-01 open Expenses:Insurance:GeneralLiability USD

; === Example: Owner capitalization =================================================
2025-01-02 * "Owner" "Initial capital contribution"
Assets:Bank:Checking 25,000.00 USD
Equity:ContributedCapital -25,000.00 USD

; === Example: Customer payment =====================================================
2025-01-15 * "Stripe" "January subscription receipts"
Assets:Bank:Checking 12,000.00 USD
Income:Sales -12,000.00 USD

; === Example: Monthly payroll (single shareholder‑employee) ========================
; Numbers chosen to balance perfectly. Adapt FIT/State numbers to your reality.
; Gross wages: 8,333.33 | Employee FIT: 1,200.00 | State Withholding: 300.00
; Employee FICA (6.2%): 516.67 | Employee Medicare (1.45%): 120.83
; Employer FICA: 516.67 | Employer Medicare: 120.83
; Net pay: 6,195.83
2025-01-31 * "Gusto" "Jan payroll — shareholder‑employee"
Expenses:Payroll:Wages 8,333.33 USD
Expenses:Payroll:EmployerTaxes:FICA 516.67 USD
Expenses:Payroll:EmployerTaxes:Medicare 120.83 USD
Liabilities:Payroll:Federal:FIT -1,200.00 USD
Liabilities:Payroll:Federal:FICA -1,033.34 USD ; employee + employer
Liabilities:Payroll:Federal:Medicare -241.66 USD ; employee + employer
Liabilities:Payroll:State:Withholding -300.00 USD
Assets:Bank:Checking -6,195.83 USD

; === Example: Payroll tax deposits (EFTPS & State) =================================
2025-02-15 * "EFTPS" "Federal payroll deposit (FIT, FICA, Medicare)"
Liabilities:Payroll:Federal:FIT 1,200.00 USD
Liabilities:Payroll:Federal:FICA 1,033.34 USD
Liabilities:Payroll:Federal:Medicare 241.66 USD
Assets:Bank:Checking -2,475.00 USD

2025-02-16 * "STATE DOR" "State payroll withholding"
Liabilities:Payroll:State:Withholding 300.00 USD
Assets:Bank:Checking -300.00 USD

; === Example: Health insurance for >2% shareholder =================================
; Coordinate with payroll so the annual premium total is included in W‑2 Box 1.
; The premium itself is deductible here; do NOT withhold SS/Medicare on it when handled properly.
2025-02-01 * "BlueCross" "Shareholder health insurance (W‑2 inclusion handled by payroll)"
Expenses:Benefits:HealthInsurance 600.00 USD ; w2: "true"
Assets:Bank:Checking -600.00 USD

; === Example: Owner distribution (not wages) =======================================
2025-03-31 * "Owner Distribution" "Q1 distribution"
Equity:Distributions 20,000.00 USD
Assets:Bank:Checking -20,000.00 USD

; === State examples (delete/edit if not applicable) =================================
; California minimum franchise tax (not always first year; check rules)
2025-04-15 * "California FTB" "Annual franchise tax"
Expenses:Taxes:State:Franchise 800.00 USD
Assets:Bank:Checking -800.00 USD

; California S‑Corp 1.5% entity‑level tax (example estimate payment)
2025-06-15 * "California FTB" "S‑Corp tax estimate"
Expenses:Taxes:State:S‑Corp 1,500.00 USD
Assets:Bank:Checking -1,500.00 USD

; New York separate S election (CT‑6) has no direct ledger impact; placeholder note.
2025-01-05 note Equity:RetainedEarnings "NY S‑election (CT‑6) filed — bookkeeping note only (no entry)"

; === Basis tracking (optional — off‑book memo) =====================================
2025-12-31 note Equity:RetainedEarnings "Basis rollforward: +Capital 25,000 +Income 60,000 −Distributions 20,000 = End basis 65,000 (reconcile to K‑1)"

; === Import hints (CSV from Gusto/ADP) =============================================
; - For Gusto payroll register CSVs, map columns:
; Gross Pay -> Expenses:Payroll:Wages
; Employee FIT/FICA/Medicare -> Liabilities:Payroll:Federal:FIT/FICA/Medicare (negative)
; State Withholding -> Liabilities:Payroll:State:Withholding (negative)
; Employer FICA/Medicare/FUTA/SUTA -> Expenses:Payroll:EmployerTaxes:* (positive) AND
; if your CSV lists employer taxes as amounts owed, mirror them as Liabilities:* (negative),
; then clear with your EFTPS/state payments.
; Net Pay -> Assets:Bank:Checking (negative, matches pay date)
; - Health insurance paid by company:
; Vendor payment -> Expenses:Benefits:HealthInsurance (positive) / Bank (negative);
; ensure payroll includes the annual premium in W‑2 Box 1 for >2% shareholder.
;
; Tips:
; - Keep distributions out of payroll accounts.
; - Use tags like #payroll #distribution to filter in Fava.
; - Consider separate bank subaccounts for tax set‑asides (federal/state).

Introducing BeFreed.ai – Learn Anything, Joyfully

· 4 min read
Mike Thrift
Mike Thrift
Marketing Manager

At Beancount.io, we believe knowledge and numbers share a fundamental principle: when well-structured, they empower better decisions. Today, we’re excited to highlight BeFreed.ai, a San Francisco-based startup on a mission to make learning “simple and joyful in the age of AI.” For a community that appreciates turning complexity into clarity, BeFreed.ai offers a compelling new way to grow your knowledge base, especially in the realm of finance.

Why BeFreed.ai Caught Our Eye

2025-07-11-introducing-befreed-ai

In a world of information overload, BeFreed.ai stands out by offering a powerful and efficient approach to learning. Here’s what impressed us:

  • Minutes, not hours. The home page greets you with the promise to “Learn Anything, Joyfully, from the world’s best sources—in minutes.” For time-pressed founders, investors, and the finance-savvy individuals in our community, this is a game-changer. The platform distills dense content into actionable insights, respecting your most valuable asset: your time.

  • Five Versatile Learning Modes. BeFreed.ai understands that learning is not a one-size-fits-all process. It offers five distinct modes to cater to your preferences and needs:

    • Quick Summary: Get the core ideas of a book or topic in a concise format.
    • Flashcards: Reinforce key concepts and test your knowledge through active recall.
    • Deep Dives: Immerse yourself in a comprehensive exploration of a subject.
    • Podcast Episodes: Learn on the go with engaging audio summaries.
    • Interactive Chat: Engage in a dialogue with the AI to clarify concepts and explore ideas as you learn.
  • A Personal Knowledge Agent. BeFreed.ai’s intelligence goes beyond simple summarization. The platform’s AI acts as a personal knowledge agent, tailoring recommendations based on your interests and learning history. It doesn’t just suggest new content; it explains why a particular book or podcast is relevant to you, turning passive consumption into an active and personalized feedback loop.

  • Cross-Device Freedom. Your learning journey shouldn't be confined to a single device. BeFreed.ai offers a native iOS app for a seamless mobile experience and an installable Progressive Web App (PWA) for Android and desktop users. While the outline mentioned CarPlay and Android Auto, current information primarily points to a strong mobile and web presence, perfect for learning during your commute or at your desk.

  • A Growing and Expansive Library. While the initial outline mentioned over 10,000 summaries, recent reports indicate that BeFreed.ai now boasts a library of over 50,000 premium summaries. This vast collection spans critical topics for our community, including management, investing, mindset, and more, with new titles being added on a weekly basis.

Where It Helps Beancount Users

The practical applications for the Beancount community are numerous and immediately apparent:

  • Level-up Financial Literacy. Imagine finally tackling dense but crucial financial texts. From The Psychology of Money to Capital in the Twenty-First Century, BeFreed.ai transforms these tomes into bite-sized, digestible lessons that you can review and internalize before your next ledger-balancing session.

  • Stay Curious While Reconciling. The often-quiet time spent running bean-doctor or reconciling accounts can now be a period of productive learning. Listening to a 20-minute BeFreed.ai deep-dive on behavioral economics or investment strategies is a surprisingly pleasant and enriching pairing.

  • Team Knowledge Sharing. The platform’s features can foster a culture of learning within your team. Use flashcards as prompts for finance-team lunch-and-learns. Export key highlights and insights into your team’s documentation repository, much like you would export Beancount reports, to build a shared knowledge base.

Getting Started is Simple

Ready to give it a try? Here are the first steps:

  1. Visit befreed.ai and create a free account to explore the platform.
  2. Dive in by searching for "personal finance" or "behavioral economics" and bookmark three titles that catch your eye.
  3. After a week, test your retention with the flashcard review feature—you might be surprised at how much you remember.
  4. For the full experience, consider the Premium plan, which unlocks the entire library and the full power of the personalized agent. Pricing is competitive, with a monthly plan at approximately $12.99 and more cost-effective quarterly and annual options available.

Closing Thoughts

The greatest enemies of both effective money management and continuous learning are friction and complexity. BeFreed.ai is dedicated to removing the friction from learning, just as Beancount strives to remove the friction from bookkeeping—through clear, elegant structure and intelligent automation.

We encourage you to explore BeFreed.ai and see how it can complement your financial journey. Let us know what finance-oriented summaries you’d find most valuable. We’re already in conversation with their team, suggesting future additions like Accounting Made Simple and The Intelligent Investor.

Happy bean-counting—and happy learning!

The Evolution of Finance “Jobs-to-Be-Done”

· 3 min read
Mike Thrift
Mike Thrift
Marketing Manager

Why the humble budget morphs into multi-currency treasury as an organisation grows

Personal-finance apps promise seven core jobs: seeing everything in one place, budgeting, tracking income and spend, paying debt, saving for big purchases, managing money with a partner and monitoring investments. The same needs re-appear in business—then multiply as head-count, regulators and investors enter the picture.

2025-06-01-comparison-of-personal-finance-to-business-finance

Micro & small businesses (solo-founder → ±50 employees)

Personal-finance jobClosest small-business analogueWhy it matters
View all finances in one placeReal-time cash-flow dashboard pulling bank, POS and loan feeds60 % of SMBs cite cash-flow pain as their top challenge ([pymnts.com][1])
Manage my plan / budgetRolling 12-month operating budget with variance alertsPrevents overspending and highlights seasonality
Track income & spendingAutomated invoicing (AR) and bill-pay (AP)Late collections are the biggest cash-flow killer ([preferredcfo.com][2])
Pay down my debtOptimise credit-card float and working-capital linesInterest erodes thin margins
Save for a large purchaseCap-ex planning – lease vs. buy analysisA poor equipment deal can starve operations
Manage money with a partnerShared cloud book-keeping with co-founders & accountantKeeps audit trail, simplifies taxes
Track my investmentsSeparate owner equity and retained earningsClarifies personal vs. corporate wealth

Extra jobs unique to small firms

  • Payroll & benefits compliance (accurate, on-time filings).
  • Sales-tax / VAT collection & remittance across states or countries.
  • Basic risk cover (liability, cyber, key-person insurance).

Lower- & mid-market companies (≈ 50 – 500 employees, often multi-entity)

  • Department-level budgets plus rolling forecasts for FP&A.
  • 13-week and 12-month cash-flow forecasting to protect covenant headroom ([eventusag.com][3]).
  • Debt & equity portfolio management (term loans, venture debt, cap-table dilution).
  • Multi-entity consolidation—inter-company eliminations and live FX re-measurement ([picus-capital.medium.com][4]).
  • Internal controls & audit readiness (segregation of duties, SOX-lite).
  • Vendor procurement & contract lifecycle monitoring.
  • KPI dashboards for investors and lenders (EBITDA, ARR, DSO, working-capital days).

Large enterprise & global groups (500 + employees)

Enterprise-specific jobTypical activitiesPurpose
Global treasury & liquidityIn-house bank, cash pooling, daily sweepsMinimise idle cash, cut bank fees
Capital-markets & hedgingBond issues, interest-rate & FX swapsReduce funding cost & volatility
Regulatory & statutory reportingMulti-GAAP close, ESG/CSRD disclosuresAvoid fines, enable listings
Tax strategy & transfer pricingInter-company agreements, BEPS 2.0 complianceLower effective tax rate
Cyber-fraud preventionPayment-approval hierarchies, anomaly alertsFinance is a prime fraud target
M&A integration / carve-out accountingDay-one ledger cut-over, PPAAcquisition-driven growth
Strategic capital allocationRank global cap-ex, hurdle-rate analysisDeploy capital to highest ROI

Key take-aways for product builders

  • Same instincts, bigger stage – “show me everything” grows from a Mint-style dashboard into multi-ledger consolidation and treasury views.
  • Cash is king at every tier – but the tooling jumps from spreadsheets to dedicated forecasting engines.
  • Compliance balloons – payroll, tax, audit and ESG appear only in business contexts and dominate enterprise workloads.
  • Stakeholders multiply – individuals coordinate with a partner; businesses juggle employees, suppliers, bankers, investors and regulators.

Understanding where a customer sits on this growth curve lets you prioritise features that move the needle—whether that’s instant cash-flow visibility for a café owner or cross-border liquidity pooling for a multinational.

AI-Powered Plain Text Accounting Transforms Reconciliation Time

· 5 min read
Mike Thrift
Mike Thrift
Marketing Manager

Modern finance teams typically dedicate 65% of their time to manual reconciliation and data validation, according to McKinsey's 2023 research. At Beancount.io, we're witnessing teams slash their weekly review time from 5 hours to just 1 hour through AI-assisted workflows, while maintaining rigorous accuracy standards.

Plain text accounting already offers transparency and version control. By integrating advanced AI capabilities, we're eliminating tedious transaction matching, discrepancy hunting, and manual categorization that traditionally burden reconciliation processes.

2025-05-24-how-ai-powered-reconciliation-in-plain-text-accounting-reduces-manual-review-time-by-80

Let's explore how organizations achieve substantial time savings through AI-powered reconciliation, examining technical foundations, real implementation stories, and practical guidance for transitioning to automated workflows.

The Hidden Cost of Manual Reconciliation

Manual reconciliation resembles solving a puzzle with scattered pieces. Each transaction demands attention, discrepancies require investigation, and the process consumes valuable time. The Institute of Financial Operations and Leadership reports that 60% of accounting professionals spend over half their week on manual reconciliation.

This creates a cascade of challenges beyond just lost time. Teams face mental fatigue from repetitive tasks, increasing error risks under pressure. Even minor mistakes can propagate through financial reports. Additionally, outdated processes hamper collaboration as teams struggle to maintain consistent records across departments.

Consider a mid-sized tech firm whose monthly close dragged on for weeks due to manual reconciliation. Their finance team was perpetually verifying transactions across platforms, leaving minimal bandwidth for strategic work. After adopting automation, we saw reconciliation time drop by roughly 70%, allowing more focus on growth initiatives.

How AI + Plain Text Transform Bank Statement Matching

AI algorithms analyze transaction patterns within plain text accounting systems, automatically proposing matches between bank statements and accounting records. Natural language processing enables AI to interpret unstructured bank statement data - for example, recognizing "AMZN Mktp US" as an Amazon Marketplace purchase.

Here's a real-world example of how AI assists with bank statement matching in Beancount:

# Original bank statement entry:
# "AMZN Mktp US*IF8QX0QS3" -29.99 USD

# AI-suggested Beancount transaction:
2025-05-20 * "Amazon" "Office supplies - keyboard wrist rest"
Expenses:Office:Supplies 29.99 USD
Assets:Bank:Checking -29.99 USD

# Original bank statement entry:
# "UBER *TRIP HELP.UBER.COM" -24.50 USD

# AI-suggested Beancount transaction:
2025-05-21 * "Uber" "Client meeting transportation"
Expenses:Transportation:Taxi 24.50 USD
Assets:Bank:Checking -24.50 USD

The AI system:

  1. Recognizes common merchant patterns (e.g., "AMZN Mktp US*" → "Amazon")
  2. Suggests appropriate account categories based on transaction history
  3. Extracts meaningful descriptions from transaction data
  4. Maintains proper double-entry format
  5. Tags business-related expenses automatically

For more complex scenarios, like split payments or recurring transactions, the AI excels at pattern recognition:

# Original bank statement entries:
# "POPEYES #1234" -80.00 USD
# "ALICE SMITH" +20.00 USD
# "BOB JONES" +20.00 USD
# "CHARLIE BROWN" +20.00 USD

# AI-suggested Beancount transaction with split payments:
2025-05-22 * "Popeyes" "Team lunch - split with Alice, Bob, and Charlie"
Expenses:Food 20.00 USD
Assets:Receivables:Alice 20.00 USD
Assets:Receivables:Bob 20.00 USD
Assets:Receivables:Charlie 20.00 USD
Liabilities:CreditCard -80.00 USD

# AI automatically reconciles repayments:
2025-05-23 * "Alice Smith" "Team lunch repayment"
Assets:Bank:Checking 20.00 USD
Assets:Receivables:Alice -20.00 USD

2025-05-23 * "Bob Jones" "Team lunch repayment"
Assets:Bank:Checking 20.00 USD
Assets:Receivables:Bob -20.00 USD

2025-05-23 * "Charlie Brown" "Team lunch repayment"
Assets:Bank:Checking 20.00 USD
Assets:Receivables:Charlie -20.00 USD

FinTech Insights reports that 70% of finance professionals experienced significant error reduction using AI-driven tools. The plain text format enhances this efficiency by enabling easy version control and auditing while remaining highly compatible with AI processing.

Real-World Results from Beancount.io Teams

A mid-sized accounting firm previously spent five hours reconciling each client account manually. After implementing AI-powered plain text accounting, they completed the same work in one hour. Their financial controller noted, "The system catches discrepancies we might have missed while freeing us to focus on analysis."

A fast-growing tech startup faced mounting transaction volumes that threatened to overwhelm their finance team. After adopting AI reconciliation, processing time fell by around 75%, allowing resources to be redirected toward strategic planning.

From our firsthand experience, AI-driven accounting solutions lead to significantly fewer errors, thanks to robust automated detection and correction features.

Implementation Guide for Automated Reconciliation

Start by selecting AI tools that integrate smoothly with Beancount.io, such as OpenAI's GPT models or Google's BERT. Prepare your data by standardizing transaction formats and categories – in our experience, proper data standardization greatly improves AI performance.

Develop automation scripts leveraging Beancount's flexibility to identify discrepancies and cross-reference data. Train AI models specifically for anomaly detection to catch subtle patterns human reviewers might miss, like recurring late payments that could indicate systemic issues.

Establish regular performance reviews and feedback loops with your team. This iterative approach helps the AI system learn from experience while building trust in the automated process.

Beyond Time Savings: Enhanced Accuracy and Audit-Readiness

AI reconciliation minimizes human error through automated cross-verification. Deloitte's research shows companies using AI for financial processes achieve 70% fewer accounting discrepancies. The system maintains detailed audit trails, making it easier for auditors to verify transactions.

A technology company struggling with frequent reconciliation errors saw audit costs decrease after implementing AI tools. The system's continuous learning capabilities meant accuracy improved over time as it processed more transactions.

Conclusion

AI-powered reconciliation fundamentally transforms financial operations, offering both efficiency gains and enhanced accuracy. Organizations using Beancount.io demonstrate that automated workflows reduce reconciliation time while strengthening data integrity.

As financial complexity increases, manual reconciliation becomes increasingly unsustainable. Organizations that embrace AI-powered plain text accounting gain advantages in speed, accuracy, and strategic capability.

Consider starting with a single account in Beancount.io to experience how modern tooling can enhance your financial workflows.

Plain-Text Revolution: How Modern Finance Teams Are 10x-ing Their Tech ROI with Code-Based Accounting

· 5 min read
Mike Thrift
Mike Thrift
Marketing Manager

In a recent McKinsey survey, 78% of CFOs reported that their legacy financial systems were holding them back from digital transformation. Rather than adding more complex software solutions, forward-thinking finance teams are finding success by treating their books like code through plain-text accounting.

Organizations ranging from nimble startups to established enterprises are discovering that text-based financial management can dramatically reduce technology costs while improving accuracy and automation capabilities. By embracing version-controlled, programmable financial records, these teams are building resilient systems that scale effectively.

2025-05-19-maximizing-technology-roi-in-financial-management-a-plain-text-accounting-approach

The Hidden Costs of Traditional Financial Software: Breaking Down the TCO

Beyond the obvious licensing fees, traditional financial software carries substantial hidden costs. Updates and maintenance often come with unexpected expenses - a 2022 Fintech Magazine survey found 64% of finance teams faced higher-than-anticipated costs in these areas.

The inflexibility of conventional systems creates its own expenses. Simple customizations can take weeks or months, leading to lost productivity as teams work around software limitations rather than having software work for them. Training requirements add another layer of cost, with companies typically spending up to 20% of the initial software investment just on employee onboarding.

Security presents additional challenges. As cyber threats evolve, organizations must continually invest in new protective measures. From our firsthand experience, outdated financial software often exposes companies to greater security risks.

Plain-Text Accounting: Where Version Control Meets Financial Precision

Plain-text accounting combines the transparency of text files with the rigor of double-entry bookkeeping. Using version control tools like Git, finance teams can track changes with the same precision as software developers tracking code changes.

This approach transforms auditing from a dreaded task into a straightforward review. Teams can instantly see when and why specific transactions were modified. A recent case study showed how one startup used Beancount to identify a long-running billing error, trace it to its source, and implement preventive measures.

The flexibility enables experimentation with different reporting structures without risking data integrity. In our own work, startups have reduced monthly closing time by around 40% through streamlined data management and enhanced collaboration.

Automating the Money Trail: Building Scalable Financial Workflows with Code

Code-based automation is transforming routine financial tasks into streamlined workflows. Rather than late nights checking spreadsheets, teams can automate reconciliations and focus on strategic analysis.

We've seen mid-sized tech companies create custom scripts for expense reports and invoice processing, cutting closing time by around 40%. This not only accelerates reporting but also improves team morale by enabling focus on high-value activities like forecasting.

The scalability of code-based systems provides a crucial advantage as organizations grow. While traditional spreadsheets become unwieldy with scale, programmatic workflows can elegantly handle increasing complexity through thoughtful automation.

Integration Intelligence: Connecting Your Financial Stack Through Plain-Text Systems

The true power of plain-text accounting lies in its ability to connect disparate financial systems. Using human and machine-readable formats, it serves as a universal translator between different tools and platforms.

We've observed that unifying systems through plain-text accounting can reduce manual entry errors by roughly 25%. The programmable nature allows for custom integrations that precisely match organizational needs.

However, successful integration requires careful planning. Teams must balance automation opportunities with maintaining appropriate controls and oversight. The goal is to create a responsive financial ecosystem while ensuring accuracy and compliance.

Measuring Success: Real-World ROI Metrics from Teams Using Plain-Text Accounting

Early adopters report compelling results across multiple metrics. Beyond direct cost savings, teams see improvements in accuracy, efficiency, and strategic capability.

We've seen organizations cut quarterly reporting time significantly—sometimes by around 50%—through automated data processing. We've also observed audit preparation time reduced by about 25% with better transaction tracking and version control.

The most significant gains often come from freed capacity for strategic work. Teams spend less time on manual reconciliation and more time analyzing data to drive business decisions.

Conclusion

The shift to plain-text accounting represents a fundamental evolution in financial management. In our firsthand experience, it can lead to 40-60% reductions in processing time and dramatically fewer reconciliation errors.

However, success requires more than just implementing new tools. Organizations must invest in training, carefully design workflows, and maintain robust controls. When done thoughtfully, the transition can transform finance from a cost center into a strategic driver of business value.

The question isn't whether plain-text accounting will become standard practice, but rather who will gain early-mover advantages in their industry. The tools and practices are mature enough for practical implementation, while still offering significant competitive benefits to organizations willing to lead the way.

Bookkeeping Basics for Amazon Sellers with Beancount

· 8 min read
Mike Thrift
Mike Thrift
Marketing Manager

When your margins live on pennies, precision beats guesswork.

Selling on Amazon is a game of volume and velocity. But behind the rush of sales and shipments lies a complex web of fees, returns, inventory movements, and tax obligations. Standard bookkeeping software often struggles to capture this nuance, leaving sellers with a fuzzy picture of their true profitability.

2024-07-16-bookkeeping-basics-for-amazon-sellers-with-beancount

This is where a plain-text accounting system like Beancount shines. By giving you total control over how you record transactions, you can build a financial source of truth that perfectly models the unique challenges of the Amazon marketplace. This guide provides a step-by-step workflow to keep you ahead of fees, taxes, and inventory headaches.

Why Amazon Bookkeeping Is Different

If you’ve tried to reconcile an Amazon payout with your bank statement, you already know it's not straightforward. The financial reality of an Amazon business is hidden behind layers of abstraction.

  • Bi-weekly lump-sum payouts: Amazon doesn't send you the revenue from each sale. Instead, it sends a single deposit every two weeks. This lump sum is a net figure, with gross sales reduced by referral fees, FBA fees, advertising costs, returns, and other withholdings. To understand your business, you must break this single number back into its constituent parts. (doola: A Business-in-a-Box™)
  • Inventory everywhere: Your inventory is constantly in motion—from your supplier, to a prep center, to various FBA fulfillment centers across the country, and finally to the customer. Accurately tracking your Cost of Goods Sold (COGS) requires knowing which batch of inventory (at which cost) was used for each sale. (Bean Ninjas)
  • Marketplace fees & promos: A significant portion of your revenue is immediately consumed by fees: referral fees, FBA pick-and-pack fees, monthly storage fees, and advertising costs. Tracking each of these expense categories separately is the only way to calculate your true gross margin and determine a product's real profitability. (Profitwise Accounting)
  • Sales-tax patchwork: While Amazon's Marketplace Facilitator laws handle sales tax collection and remittance in most states, it's not a complete solution. Storing inventory in FBA warehouses can create "nexus" (a business presence), potentially requiring you to register and file in those states, even if no tax is due. This is a complex compliance area that demands careful tracking. (TaxDo)
  • Lower 1099-K thresholds: With the reporting threshold for Form 1099-K dropping from 20,000to20,000 to 5,000 in 2024 (and set to fall to just $600 from 2026), nearly every serious seller will receive a form from Amazon reporting their gross transaction volume to the IRS. Your books must be able to reconcile perfectly with this number. (IRS)

Seven-Step Beancount Blueprint

This blueprint leverages Beancount's precision to tackle Amazon's complexity head-on.

1. Separate Channels Early

If you sell on multiple platforms, keep your accounting for each one separate. Within a single Beancount file for your legal entity, create dedicated, hierarchical accounts for each marketplace. This structure simplifies analytics and makes generating tax schedules trivial.

2025-07-22 open Income:Amazon               USD
2025-07-22 open Expenses:Amazon:FBAFee USD
2025-07-22 open Assets:Amazon:Payouts USD

2. Decompose Every Payout

This is the most critical habit. Never book an Amazon deposit as a single line of income. Instead, download the "All Transactions" settlement report from Seller Central for the corresponding period. Use this report to create a single Beancount transaction that breaks the payout into its components.

The deposit you receive in the bank is the balancing entry. The gross sales are credited to Income, while all fees and refunds are debited from their respective Expenses accounts.

; bi-weekly payout from settlement report
2025-07-14 * "Amazon Settlement #4361"
Assets:Bank:Operating 8432.17 USD
Income:Amazon:Sales -12274.50 USD
Expenses:Amazon:FBAFee 2454.80 USD
Expenses:Amazon:Adverts 1012.06 USD
Expenses:Amazon:Refunds 375.47 USD
Assets:Amazon:Reserve -100.00 USD

3. Track Inventory & COGS with Lots

Beancount has a first-class system for tracking inventory called "lots." When you purchase inventory, you record the number of units and their specific cost. When a unit is sold, you can expense that exact cost, giving you a perfect calculation for Cost of Goods Sold (COGS).

; Purchase 1,000 units from a supplier
2025-07-01 * "Supplier PO-7421"
Assets:Inventory:WidgetA 1000 WidgetA {@ 4.20 USD}
Assets:Bank:Operating

; Later, record the cost of a single sale
2025-07-16 * "FBA sale WidgetA | COGS"
Expenses:COGS 1 WidgetA {4.20 USD}
Assets:Inventory:WidgetA

4. Choose Accrual for Clarity

For any inventory-based business, the accrual method is superior. A cash-basis approach would show a massive expense in the month you buy inventory and artificially high profits in the months you sell it, distorting your performance. Accrual accounting correctly matches the cost of the goods sold (COGS) to the revenue from that sale in the same period, providing a much clearer picture of your gross profit. (Bean Ninjas)

5. Automate Imports

Manually entering settlement reports is educational at first, but it doesn't scale. The plain-text ecosystem excels at automation:

  • Use bean-extract to pull data from formatted CSVs exported by services like A2X.
  • Write simple Python scripts to pull data directly from Amazon's SP-API.
  • Use existing importers to pull bank CSV files to reconcile deposits and fees charged directly to credit cards.

6. Reconcile Weekly

Make it a habit to check your numbers. Use Beancount's powerful command-line tools to quickly validate balances and review performance.

# Check your current inventory counts and value
bean-balance books.bean "Assets:Inventory" "2025-07-21"

# Generate an income statement for the last period
bean-report books.bean income_statement -e 2025-07-21

7. Archive Source Docs

For every major transaction, link to the source document. Attach the official Amazon settlement PDF, the supplier invoice for an inventory purchase, or a shipping receipt using Beancount's metadata syntax (document:). This creates a self-contained, audit-ready financial record.

Sales-Tax & Compliance Checklist

  • Marketplace Facilitator Laws: Understand that while Amazon remits sales tax on your behalf in most states, storing inventory in states like California, Texas, or Pennsylvania can still create economic nexus, potentially requiring you to register your business there. (TaxGPT)
  • 1099-K Reconciliation: Ensure that the total you record in Income:Amazon:Sales for the year matches the gross amount reported on your Form 1099-K to the cent. Any discrepancy is an audit flag. (IRS)
  • Direct Sales Tax: If you sell through other channels not covered by a facilitator, maintain a Liabilities:SalesTaxPayable:State account subtree to track taxes you owe directly.

Common Pitfalls (and Fixes)

  • Pitfall: Recording only the net deposit from Amazon.
    • Fix: Always decompose payouts using the full settlement report.
  • Pitfall: Ignoring reimbursed returns or damaged goods.
    • Fix: Log both the initial refund expense and the subsequent reimbursement from Amazon as a separate credit.
  • Pitfall: Forgetting about rolling reserves.
    • Fix: Amazon often withholds a "reserve" balance from payouts, especially for new accounts. Track this money you're owed in a dedicated Assets:Amazon:Reserve account.
  • Pitfall: Mismatching SKU aliases between your system and Amazon's.
    • Fix: Normalize all SKU codes in your import scripts to ensure COGS lookups don't fail.

Quick-Start To-Do

  • Enable and download your first settlement report in Seller Central.
  • Clone a Beancount starter repository and build a chart of accounts specific to Amazon.
  • Write a small importer script that converts a settlement CSV into a Beancount transaction (.txn file).
  • Schedule a weekly reminder to pull new reports and run bean-check to ensure your files are valid.
  • Review your income statement monthly to make data-driven decisions on ad spend, pricing, and inventory.

Further Reading

Ship more, fret less—keep your beans balanced. Happy selling!

Modeling Real Estate Transactions in Beancount

· 7 min read
Mike Thrift
Mike Thrift
Marketing Manager

Real estate transactions may constitute the largest financial activity in a family's lifetime. This article explains how to model real estate in Beancount. I treat real estate as an asset and the appreciation of the house as unrealized gain. Additionally, the mortgage is modeled as a liability, and the interest is considered an expense.

Let's assume that Mr. A purchased a luxury home located at 123 ABC Street, XYZ City, CA, 12345 on January 1, 2020, for a price of 1 million. The interest rate is 3.0%, the down payment is 20%, and the loan amount is 800,000.

ItemAmount
Mortgage Amount800,000
Interest Rate3%
Mortgage Period30 years
Total Cost of Mortgage1,478,219.62
Monthly Payments4,106.17
Home Insurance1,300 per year (39,000 total)
Property Tax7,500 per year (225,000 total)
Loan Payoff2049 Dec
Total Interest Paid414,219.62

2023-06-09-tracking-real-estate

Mortgage detail screenshot

Create Accounts

Firstly, we treat the house as an Asset. Since the house is being listed as an Asset, it needs to be given a unit. In this case, the unit quantity is only one, it's unlikely there will be multiple, and even if it's the nth house, we would want to record it in a separate Asset. That is to say, one house corresponds to one Asset, and this Asset has a special unit, its value can only possibly be 1.

2019-12-31 commodity HOUSE.ABC
name: "123 ABC Street, XYZ City, CA, 12345"

2019-12-31 open Assets:Property:US:CA:123ABC HOUSE.ABC
2019-12-31 open Liabilities:Bank:US:SomeBank:Mortgage:Loan USD

In the first line here, we defined a commodity unit representing the house. In the fourth line, we defined an Asset account, which holds the commodity unit previously defined as the house. In the fifth line, we defined an account for the lending bank. As it's a liability, it falls under the Liabilities category.

Purchase

With the accounts set up as above, the act of buying a house is equivalent to

borrowing money (debt) + spending money (down payment) = 1 house in asset

The most important reference when buying a property is likely the Buyer’s Settlement Statement, which clearly outlines the flow of money.

2020-01-01 * "Buying the house"
Assets:Property:US:CA:123ABC 1 HOUSE.ABC {1,000,000 USD}
Assets:Bank:US:SomeBankA -100,000 USD
Assets:Bank:US:SomeBankB -101,000 USD
Liabilities:Bank:US:SomeBank:Mortgage:Loan -800,000.00 USD
Expenses:Home:Insurance 1,000 USD
Expenses:Home:Mortgage:Loan:ClosingCost

Here, we're detailing the transaction of buying the house, where money flows out from some banks (used for down payment and other expenses), a loan is taken (adding to liabilities), and a house is gained (added to assets).

Pay back mortgages

Based on the above purchase record, we currently owe 800,000 USD. Due to the interest, and considering that all loans in the US are amortized equally in terms of principal and interest, the monthly payment includes a portion for interest and a portion for principal. In the early stages, the interest constitutes the majority.

To record the loan repayment, all you need to do is check your loan bank's statement. You just need to know how much of the principal you are repaying each month, and the rest is interest. The interest is counted as an Expense.

2020-02-01 * "Mortgage payment"
Assets:Bank:US:SomeBank:Saving:Joint -3,372.83 USD
Liabilities:Bank:US:SomeBank:Mortgage:Loan 1,376.26 USD
Expenses:Home:Mortgage:Loan:Interest

This entry details the monthly mortgage payment which is subtracted from your joint savings account. The repayment of principal reduces the liability, while the interest part is treated as an expense.

Appreciation

If you want to record the appreciation of the property, some people create a separate account[, only recording the appreciation of the current property. Considering that the value of the house may increase or decrease, this appreciation may be negative. The advantage of this is that in the summary of your total assets, these two accounts will be included, one for the value of the house at the time of the transaction, and the other for the current appreciation of the house, thus reflecting the real-time price of the house.

I did not adopt this method, mainly for the following reasons:

  1. The current value of the house can only be an estimate, for reference only, without practical value. Usually, I can only get the evaluation of the property on websites like Redfin or Zillow, and I personally don't think it has high reference value. I also did not consider incorporating these appreciations into total assets in real time.
  2. Personally, I think before the mortgage is paid off, if the cash flow of the house is negative, to some extent, the property is still a liability. Therefore, incorporating it into assets prematurely will give you an illusion of enriched assets and appreciation, and I personally want to avoid this illusion.

The method I use to record property appreciation, which will also be discussed later on how to model RSUs. This method is to use a virtual currency unit. Assuming your base currency is USD, we can use USD.UNVEST (it seems that there is no need to create a new Commodity for this) to indicate that this asset is calculated in a special currency. The growth or reduction of this asset will not be recorded in USD. This way, I can achieve my original goal, that is, to record the appreciation of the house, and this appreciation will not be included in the final balance sheet (Balance Sheet).

2020-01-01 price HOUSE.ABC                          1,000,000 USD
2025-01-01 price HOUSE.ABC 1,400,000 USD.UNVEST

You only need to price your property to USD.UNVEST regularly.

So, on Fava's Commodity page, you can track the trend of the reference price of the house. But on the Balance Sheet page, the price of the house is still the price of the house at the time of the transaction. That is to say, your total assets are still your down payment money at that time, plus the principal you keep paying off. The final change of this asset should only occur when you buy a house.

Property price chart screenshot

Sell

Because no property has been sold yet and the various miscellaneous fees in the middle are unclear, this is a hypothetical scenario.

Suppose, on January 1, 2025, the property has appreciated to $1,400,000, and some reference data are as follows:

ItemAmount
Balance709,656.20
Agent fee (6%)72,000
Other Closing Fee10,000

Person A decides to sell the property, and the final selling price of the house is $1,300,000.

2025-01-01 * "Selling the house"
Assets:Property:US:CA:123ABC -1 HOUSE.ABC {1,300,000 USD}
Liabilities:Bank:US:SomeBank:Mortgage:Loan 709,656.20 USD
Expenses:Home:Agent:Fee 72,000 USD
Expenses:Home:ClosingCost 10,000 USD
Expenses:Home:Tax 90,000 USD
Assets:Bank:US:SomeBankA

Here it is assumed that 2 out of 5 years are self-occupied, so the appreciation of 500,000 does not need to be taxed. I randomly calculated a number here. In the end, the money that enters Person A's account is $418,343.8, of which 200,000 is the down payment at that time, and about 100,000 in interest has been paid. So, in the end, the book profit for Person A is around 100,000. It is worth noting that my calculation is not fair, after all, Person A has saved rent for these 5 years, and there may be other expenses on the house, such as maintenance, decoration, and so on.

To reflect this in the balance sheet, you can add this pricing.

2025-01-01 price HOUSE.ABC                          1,300,000 USD

Understanding Receivables and Payables in Beancount

· 3 min read
Mike Thrift
Mike Thrift
Marketing Manager

Hello everyone! In today's blog post, we're diving into the world of Beancount, a double-entry accounting tool that's loved by many for its simplicity and power. More specifically, we're going to talk about two key concepts: Receivables and Payables.

Understanding these terms is crucial to using Beancount (or any double-entry accounting system) effectively. But don't worry if you're a beginner - we're going to break it all down, step by step!

Receivables and Payables: The Basics

2023-05-30-receiveable-and-payable

In accounting, "receivables" and "payables" are terms used to track money that is owed. "Receivables" refers to money that others owe to you, while "payables" refers to money that you owe to others.

Let's take an example:

  1. Accounts Receivable (A/R): Suppose you own a bookstore and a customer buys a book on credit. The money they owe you for the book is an account receivable.

  2. Accounts Payable (A/P): On the flip side, imagine you order a new set of books from a publisher, but you don't pay for them upfront. The money you owe the publisher is an account payable.

In Beancount, these are typically tracked through corresponding accounts. The main benefit here is that it provides you with a clear and accurate picture of your financial position at any point in time.

Setting Up Receivables and Payables in Beancount

The structure of your Beancount file can be as simple or as complex as you need it to be. For receivables and payables, you'll likely want to create separate accounts under your Assets and Liabilities sections.

Here is a simple example:

1970-01-01 open Assets:AccountsReceivable
1970-01-01 open Liabilities:AccountsPayable

Tracking Transactions

Payee side

After setting up your accounts, you can track transactions that involve receivables and payables. Let's look at an example:

2023-05-29 * "Sold books to customer on credit"
Assets:AccountsReceivable 100 USD
Income:BookSales -100 USD

Here, you're adding $100 to your receivables because a customer owes you this amount. Simultaneously, you're reducing your income by the same amount to maintain the balance (since you haven't actually received the money yet).

When the customer eventually pays, you'll record it like this:

2023-06-01 * "Received payment from customer"
Assets:Bank:Savings 100 USD
Assets:AccountsReceivable -100 USD

Payer side

The same principle applies for payables, but with reversed signs:

2023-05-30 * "Bought books from publisher on credit"
Liabilities:AccountsPayable 200 USD
Expenses:BookPurchases -200 USD

And when you pay off your debt:

2023-06-02 * "Paid off debt to publisher"
Liabilities:AccountsPayable -200 USD
Assets:Bank:Checking 200 USD

Wrapping Up

Receivables and payables are at the heart of any accounting system. By accurately tracking these, you gain a comprehensive understanding of your financial health.

This is just a starting point, and Beancount is capable of much more. I hope this blog post helps clarify these important concepts. As always, happy accounting!

Beancount Cheat Sheet

· 2 min read
Mike Thrift
Mike Thrift
Marketing Manager

Example Account Name

Assets:US:BofA:Checking

cheatsheet-en

Account Types

Assets          +
Liabilities -
Income -
Expenses +
Equity -

Commodities

CNY, EUR, CAD, AUD
GOOG, AAPL, RBF1005
HOME_MAYST, AIRMILES
HOURS

Directives

General syntax

YYYY-MM-DD <Directive> <Parameters...>

Opening & Closing Accounts

2001-05-29 open Expenses:Restaurant
2001-05-29 open Assets:Checking USD,EUR ; Currency constraints

2015-04-23 close Assets:Checking

Declaring Commodities (Optional)

1998-07-22 commodity AAPL
name: "Apple Computer Inc."

Prices

2015-04-30 price AAPL   125.15 CNY
2015-05-30 price AAPL 130.28 CNY

Notes

2013-03-20 note Assets:Checking "Called to ask about rebate"

Documents

2013-03-20 document Assets:Checking "path/to/statement.pdf"

Transactions

2015-05-30 * "Some narration about this transaction"
Liabilities:CreditCard -101.23 CNY
Expenses:Restaurant 101.23 CNY

2015-05-30 ! "Cable Co" "Phone Bill" #tag ˆlink
id: "TW378743437" ; Meta-data
Expenses:Home:Phone 87.45 CNY
Assets:Checking ; You may leave one amount out

Postings

  ...    123.45 USD                             Simple
... 10 GOOG {502.12 USD} With per-unit cost
... 10 GOOG {{5021.20 USD}} With total cost
... 10 GOOG {502.12 # 9.95 USD} With both costs
... 1000.00 USD @ 1.10 CAD With per-unit price
... 10 GOOG {502.12 USD} @ 1.10 CAD With cost & price
... 10 GOOG {502.12 USD, 2014-05-12} With date
! ... 123.45 USD ... With flag

Balance Assertions and Padding

; Asserts the amount for only the given currency:
2015-06-01 balance Liabilities:CreditCard -634.30 CNY

; Automatic insertion of transaction to fulfill the following assertion:
2015-06-01pad Assets:Checking Equity:Opening-Balances

Events

2015-06-01 event "location" "New York, USA"
2015-06-30 event "address" "123 May Street"

Options

option "title" "My Personal Ledger"

Other

pushtag #trip-to-peru
...
poptag #trip-to-peru
; Comments begin with a semi-colon

The Magic of Plain Text Accounting with Beancount

· 5 min read
Mike Thrift
Mike Thrift
Marketing Manager

Discover the Magic of Plain Text Accounting with Beancount

Beancount.io banner

Introduction

2023-04-18-introduction-to-beancount

Welcome to a world where accounting is no longer a daunting task. Today, we introduce you to Beancount, a powerful, flexible, and intuitive plain text accounting tool. Beancount empowers you to take control of your finances by providing a transparent and straightforward approach to managing your money.

In this comprehensive guide, we will delve into the basics of Beancount, explain its core concepts, and walk you through its simple yet powerful features. By the end of this blog, you'll have a solid understanding of Beancount and be ready to start using it to organize and analyze your financial life.

What is Beancount?

Beancount is an open-source, plain text accounting system created by Martin Blais. Inspired by John Wiegley's Ledger system, Beancount aims to provide a robust and reliable method to manage personal and small business finances using plain text files. With Beancount, you can track your income, expenses, investments, and much more with ease.

Why Beancount?

Plain text accounting offers several advantages over traditional spreadsheet-based or software-based accounting systems:

  • Transparency: Beancount files are human-readable, making it easy to understand and audit your financial data.
  • Flexibility: Beancount can be easily customized to fit your specific needs, and you can use your favorite text editor and version control system to manage your financial data.
  • Portability: Your financial data can be accessed on any device, and it's easy to transfer between systems or share with others.
  • Future-proof: Plain text files are universally compatible, ensuring that your financial data will remain accessible, even as technology evolves.

Beancount's Core Concepts

To use Beancount effectively, it's crucial to understand its core concepts:

  • Transactions: Financial events, such as income, expenses, or transfers between accounts, are recorded as transactions.
  • Accounts: Transactions involve one or more accounts, such as assets, liabilities, income, or expenses.
  • Double-entry bookkeeping: Beancount enforces double-entry bookkeeping, ensuring that every transaction has balanced debits and credits.
  • Directives: Beancount uses a set of directives to define transactions, account openings, and other financial events.

Getting Started with Beancount

To start using Beancount, follow these simple steps:

  • Install Beancount: Install Beancount on your system using the provided installation instructions for your operating system.
  • Create your Beancount file: Create a new plain text file with the .beancount extension (e.g., my_finances.beancount).
  • Define your accounts: Use the "open" directive to define the accounts you'll use in your transactions.
  • Record transactions: Use the "txn" directive to record your financial transactions.

Or simply sign up at https://beancount.io. Here are some plain text accounting examples -

Example 1: Basic Transaction

2023-04-01 open Assets:Checking
2023-04-01 open Expenses:Groceries

2023-04-10 txn "Grocery Store" "Buying groceries"
Assets:Checking -50.00 USD
Expenses:Groceries 50.00 USD

In this example, we open two accounts, Assets:Checking and Expenses:Groceries. On April 10, 2023, we record a transaction for buying groceries worth 50.ThetransactionreducesthebalanceofAssets:Checkingby50. The transaction reduces the balance of Assets:Checking by 50 (debit) and increases the balance of Expenses:Groceries by $50 (credit).

Example 2: Income and Expense Transaction

2023-04-01 open Assets:Checking
2023-04-01 open Income:Salary
2023-04-01 open Expenses:Rent

2023-04-05 txn "Employer" "Salary payment"
Assets:Checking 2000.00 USD
Income:Salary -2000.00 USD

2023-04-06 txn "Landlord" "Monthly rent payment"
Assets:Checking -1000.00 USD
Expenses:Rent 1000.00 USD

In this example, we open three accounts: Assets:Checking, Income:Salary, and Expenses:Rent. On April 5, 2023, we record a salary payment transaction of 2000.ThetransactionincreasesthebalanceofAssets:Checkingby2000. The transaction increases the balance of Assets:Checking by 2000 (credit) and decreases the balance of Income:Salary by 2000(debit).OnApril6,2023,werecordarentpaymenttransactionof2000 (debit). On April 6, 2023, we record a rent payment transaction of 1000. The transaction reduces the balance of Assets:Checking by 1000(debit)andincreasesthebalanceofExpenses:Rentby1000 (debit) and increases the balance of Expenses:Rent by 1000 (credit).

Example 3: Transfer Between Accounts

2023-04-01 open Assets:Checking
2023-04-01 open Assets:Savings

2023-04-15 txn "Bank" "Transfer from Checking to Savings"
Assets:Checking -500.00 USD
Assets:Savings 500.00 USD

In this example, we open two accounts: Assets:Checking and Assets:Savings. On April 15, 2023, we record a transaction to transfer 500fromthecheckingaccounttothesavingsaccount.ThetransactionreducesthebalanceofAssets:Checkingby500 from the checking account to the savings account. The transaction reduces the balance of Assets:Checking by 500 (debit) and increases the balance of Assets:Savings by $500 (credit).

These examples illustrate the basic concepts of Beancount's double-entry bookkeeping system. By properly recording transactions, users can maintain accurate records of their financial activities and generate reports to gain insights into their financial situation.

Generating Reports and Analyzing Data

Beancount comes with a set of powerful tools for generating financial reports, including balance sheets, income statements, and more. You can also use Fava, a web-based user interface for Beancount, to visualize and interact with your financial data. https://beancount.io is built upon Fava with MIT license.

Conclusion

Embrace the power and simplicity of plain text accounting with Beancount. By understanding its core concepts and following the steps outlined in this guide, you'll be well on your way to managing your personal or small business finances with ease and precision. As you grow more comfortable with Beancount, you can explore advanced features and customizations to tailor the system to your unique needs.

Whether you're looking to track your spending, plan for the future, or gain insights into your financial habits, Beancount offers the flexibility and transparency needed to achieve your goals. With its user-friendly approach, Beancount has the potential to revolutionize the way you manage your finances and empower you to take control of your financial future.

Now that you have a solid foundation in Beancount, it's time to embark on your plain text accounting journey. Say goodbye to cumbersome spreadsheets and convoluted software, and welcome the world of Beancount. Happy accounting!