Skip to main content

45 posts tagged with "accounting"

View All Tags

Ten Bookkeeping Tips to Supercharge Your Beancount Workflow

· 6 min read
Mike Thrift
Mike Thrift
Marketing Manager

Great therapy for your business is a calm, balanced ledger. The following tips condense the latest small‑business guidance into a Beancount‑friendly routine.

Maintaining a pristine set of books isn't just about surviving tax season; it's about understanding the financial health of your business in real time. For users of a plain-text accounting system like Beancount, good habits are the engine that transforms a simple ledger into a powerful tool for insight and growth. The following ten tips are designed to refine your process, save you time, and keep your financial data clean, auditable, and ready for action.

2024-09-12-bookkeeping-basics-for-therapists-with-beancount

1. Separate Business and Personal Money

This is the golden rule of business finance for a reason. Maintaining a dedicated checking account and credit card for your practice is the cleanest way to draw a line between your business and personal life. It drastically simplifies tax preparation, provides a clear audit trail, and helps protect your personal assets from business liabilities. In Beancount, this means your transactions are cleanly sorted from the start—no more trying to remember if that coffee purchase was a client meeting or a personal expense.

2. Pick Cash or Accrual Early—Then Stick to It

Your accounting method determines when you record income and expenses. The IRS allows most small businesses to choose between the cash or accrual method.

  • Cash basis: You record income when money hits your account and expenses when money leaves it. It’s simple and ideal for businesses with straightforward, immediate transactions.
  • Accrual basis: You record income when you earn it (e.g., when you provide a service) and expenses when you incur them, regardless of when cash changes hands. This provides a more accurate picture of profitability, especially if you manage invoices or insurance claims with delayed payments.

The key is to choose one method early and apply it consistently. You can even declare your choice in your ledger using Beancount's options block to formalize the decision.

3. Reconcile on a Cadence

Reconciliation is the process of matching the transactions in your Beancount ledger against your official bank and credit card statements. Performing this check on a regular cadence—whether weekly or monthly—is a crucial habit. It allows you to catch bank fees, spot potential fraud, and identify any data import errors before they compound into a major headache. A quick command can show you the balance to check against your statement.

bean-balance books.bean "Assets:Bank" -e 2025-07-31

4. Automate Imports Wherever Possible

Your time is better spent serving clients than manually typing transaction data. Beancount’s ecosystem shines here. Use tools like bean-extract to create configurations that read CSV files from your bank, payment processor (like Stripe or Square), or EHR system. Once set up, these scripts can automatically convert raw data into formatted Beancount entries, dramatically reducing typos and freeing up hours of administrative work.

5. Categorize Immediately—Not at Tax Time

Procrastinating on categorization is a recipe for stress and inaccuracy. When a transaction enters your ledger, assign it to the correct account immediately (e.g., Income:Therapy:SelfPay, Expenses:Software:EHR, Expenses:CEU). Doing this in real-time ensures you correctly remember the context of each expense. A well-defined chart of accounts makes this process fast and consistent, turning your ledger into a rich, real-time report on your business operations.

6. Save Digital Copies of Every Receipt & EOB

Paper receipts fade and get lost. A digital-first approach is more resilient and efficient. Scan paper receipts or save PDF invoices and Explanations of Benefits (EOBs) to a secure, organized folder on your computer. With Beancount, you can link directly to these files from within your ledger using metadata.

2025-07-15 * "CEU webinar"
Expenses:CEU 79.00 USD
Assets:Bank:Practice
document: "docs/ceu/2025-07-15-trauma-webinar.pdf"

This creates an unimpeachable, self-contained record that is invaluable during a tax audit.

Knowing your current bank balance is good; understanding the flow of money in and out of your business is better. Use Beancount's powerful query language to analyze your financial trends. Chart your monthly income versus expenses, identify your most profitable services, or forecast potential cash crunches during slower months. This proactive approach, recommended by top bookkeeping guides, allows you to make strategic decisions rather than reacting to financial surprises.

8. Back Up & Version-Control Your Ledger

Since your Beancount ledger is a simple text file, you can use Git—a powerful, free version control system—to manage it. By keeping your ledger in a private Git repository (on a service like GitHub or GitLab), you get two critical benefits for free:

  1. A complete history: You can see every change ever made to your ledger.
  2. An off-site backup: Your data is safe from local hardware failure.

Make it a habit to "push" your changes after every reconciliation session.

9. Review Financial Statements Monthly

Don't wait for your accountant to tell you how your business is doing. At the end of each month, use Beancount's reporting tools to generate key financial statements like an income statement and a balance sheet. Compare them to the previous month or the same month last year. This regular review helps you spot spending leaks, evaluate your pricing, and build the financial literacy needed to answer questions from lenders or investors with confidence.

bean-report books.bean income_statement -e 2025-07-31

10. Budget for Taxes Year‑Round

For a self-employed professional, tax day should never be a surprise. Treat your future tax bill as a recurring expense. Create liability accounts in Beancount (e.g., Liabilities:Tax:Federal, Liabilities:Tax:State) and regularly transfer a percentage of every payment you receive into these virtual buckets. When it's time to make your quarterly estimated tax payments, the money will be set aside and waiting, making the process entirely painless.


Quick‑Start Checklist

  • Open separate practice bank accounts.
  • Choose cash or accrual and record it in your options.
  • Script your bank & EHR CSV imports with bean-extract.
  • Tag every transaction with a category upon arrival.
  • Reconcile weekly; back up to your private Git repo after.
  • Run monthly statements & cash-flow queries.
  • Transfer a tax buffer to a separate high-yield savings account.

Ready to calm your books?

Install Beancount, commit your first entry, and let these ten habits provide the structure needed to keep your therapy practice financially grounded and insight-rich. Happy bean-keeping!

Bookkeeping Basics for Amazon Sellers with Beancount

· 7 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!

Bookkeeping Basics for Etsy Sellers with Beancount

· 7 min read
Mike Thrift
Mike Thrift
Marketing Manager

Hand-stitched ledgers beat tangled spreadsheets—especially when every cent counts.

For the artists, makers, and curators on Etsy, passion drives the business. But as your shop grows, financial clarity becomes just as important as creative vision. Juggling fees, tracking material costs, and preparing for taxes can feel overwhelming, pulling you away from the workbench.

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

What if you could manage your shop’s finances with the same care and precision you put into your products? This guide introduces a plain-text accounting workflow using Beancount, an open-source engine designed for accuracy and control. It’s a method that helps you master your numbers so you can focus on your craft.

Why Etsy Bookkeeping Is Different

An Etsy shop has a unique financial fingerprint, with complexities that generic accounting software often misses.

  • Marketplace fees everywhere: Your final payout is what’s left after Etsy takes its share. Listing fees, transaction fees, payment processing fees, and advertising costs all nibble away at every sale. Without tracking them individually, you can't know your true profit margins. (Bench)
  • Platform-controlled sales tax: In a huge win for sellers, Etsy now automatically calculates, collects, and remits sales tax on your behalf in most states. However, if you sell on other channels or have a physical presence in certain states, you might still have your own sales tax obligations due to "nexus" rules. (Bench)
  • Flexible payout cadence: Depending on your settings and account history, Etsy can deposit your funds daily, weekly, bi-weekly, or monthly. This flexibility can make cash flow feel unpredictable, especially when funds are held in reserve or delayed. (Etsy Help)
  • Lower 1099-K thresholds: The days of flying under the tax radar are over. The IRS reporting threshold for Form 1099-K, which reports your gross sales, is set at 5,000for2024andisplannedtodroptojust5,000 for 2024 and is planned to drop to just 600 by 2026. This means nearly every shop will receive an IRS form, and your books must be able to reconcile with it perfectly. (IRS)

Beancount Blueprint in Seven Quick Steps

This plain-text blueprint will help you build a clear, accurate, and stress-free bookkeeping system.

1. Separate Channels Up Front

If Etsy isn't your only sales channel, create separate income and expense accounts for each one. This simple separation at the top level of your chart of accounts keeps your analytics clean and makes tax time much easier.

2025-07-22 open Income:Etsy               USD
2025-07-22 open Expenses:Etsy:ListingFee USD
2025-07-22 open Assets:Etsy:Payout USD

2. Explode Every Payout

Never record an Etsy deposit as a single line of income. Instead, download your monthly Payment Account CSV from your Shop Manager. Use this report to create a single Beancount transaction that "explodes" each deposit into its gross sales and individual fee components.

; weekly payout from the Etsy Payment Account CSV
2025-07-15 * "Etsy Deposit #2025-28"
Assets:Bank:Operating 1842.77 USD
Income:Etsy:Sales -2100.00 USD
Expenses:Etsy:TransactionFee 136.50 USD ; 6.5 %
Expenses:Etsy:PaymentProcessing 66.00 USD ; 3 % + $0.25 per order
Expenses:Etsy:ListingFee 14.00 USD ; $0.20 x 70 renewals
Assets:Etsy:Reserve -75.73 USD

3. Track Inventory & COGS with Lots

For sellers of physical goods, Beancount's "lots" feature is a game-changer for tracking Cost of Goods Sold (COGS). When you buy raw materials, you record them as inventory at a specific cost. When you sell a finished product, you can expense the exact cost of the materials used.

; Purchase bulk materials for inventory
2025-07-01 * "Bulk yarn purchase | Supplier XYZ"
Assets:Inventory:ScarfBlue 500 ScarfBlue {@ 3.45 USD}
Assets:Bank:Operating

; Record the COGS when an item sells
2025-07-20 * "Sold Blue Scarf | Order #1234"
Expenses:COGS 1 ScarfBlue {3.45 USD}
Assets:Inventory:ScarfBlue

4. Pick Your Accounting Method Early

You have two main choices:

  • Cash basis: Simple and easy. You record income when the money lands in your bank and expenses when you pay for them. This works well for small, hobby-scale shops.
  • Accrual basis: Provides a truer picture of profitability. You record revenue when you make the sale (not when you get paid) and expenses when you incur them. This is better for shops that buy supplies in bulk or sell made-to-order items. (Bench)

5. Automate Imports

Save time by automating data entry. The plain-text ecosystem offers several options:

  • Use bean-extract with custom rules to parse the Etsy CSV files.
  • Configure a bank CSV importer to catch ad charges or shipping labels paid by credit card.
  • For advanced users, write a Python script to pull reports directly from the Etsy API.

6. Reconcile Weekly

Set aside a few minutes each week to check your numbers. Use Beancount's command-line tools to quickly validate your balances and spot any issues like released reserves, refunds, or fee adjustments before the month ends.

# Check the balance of your Etsy holding account
bean-balance books.bean "Assets:Etsy:Payout" "2025-07-21"

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

7. Attach Source Docs

Create a completely self-contained and auditable record by linking to source documents directly in your transaction metadata. This is perfect for supplier receipts, shipping label PDFs, or purchase orders.

2025-07-12 * "Etsy shipping label for order #4321"
Expenses:ShippingLabel 4.25 USD
Assets:Bank:Operating
document: "docs/labels/2025-07-12-order4321.pdf"

Know Your Etsy Fees (U.S.)

To get a true picture of your profit, track each fee type in its own expense account:

  • Listing fee: $0.20 per item, which automatically renews every 4 months or after a sale. (Etsy)
  • Transaction fee: 6.5% of the total order amount (including item price, shipping, and gift-wrapping). (Etsy)
  • Payment processing fee: Varies by country, but for the U.S. it's typically 3% + $0.25 per order processed through Etsy Payments. (Etsy Help)
  • Subscription (Etsy Plus): An optional $10/month for additional tools. (Bench)

Sales-Tax & Compliance Tips

  • While Etsy remits sales tax for most U.S. states, be aware that selling on other platforms or having a physical workshop can create additional tax obligations ("nexus"). Track your sales thresholds carefully. (Bench)
  • Once the 1099-K thresholds apply to your shop, ensure your Income:Etsy:Sales total in Beancount reconciles to the gross amount on the form to the cent. (IRS)

Common Pitfalls (and Fixes)

  • Pitfall: Net-deposit accounting.
    • Fix: Always use the payment CSV to break deposits into gross sales, fees, and reserves.
  • Pitfall: Stale inventory costs.
    • Fix: Record your supply and material purchases as inventory the moment you buy them. Don’t wait until the finished product sells.
  • Pitfall: Refund blind spots.
    • Fix: When issuing a refund, log the expense and also reverse the original COGS entry to move the cost back into your inventory account.
  • Pitfall: Ignoring reserve holds.
    • Fix: Open an Assets:Etsy:Reserve account to track money that Etsy is holding. This keeps your cash-flow statements honest.

Quick-Start Checklist

  • In your Shop Manager, set up monthly statements and download your first CSV.
  • Clone the Beancount starter repository and sketch out your shop's chart of accounts.
  • Decide on cash or accrual accounting and commit to it.
  • Write a basic importer script or rules file and schedule a weekly sync.
  • Reconcile your payouts, inventory levels, and bank balance every Monday.
  • Generate an income statement each month and review your gross margin trends.
  • Back up your .bean files using Git and an off-site storage solution.

Ready to stitch bookkeeping into your creative workflow? Install Beancount, commit your first entry, and let plain-text clarity free up more time at the workbench. Happy bean-keeping!

Navigating Receivables in Beancount

· 3 min read
Mike Thrift
Mike Thrift
Marketing Manager

In the labyrinth of personal finance management, Beancount emerges as a beacon of clarity and precision for plain-text bookkeeping. Particularly when it comes to managing receivables—money expected from others—Beancount offers a structured approach to keep your financial records in impeccable order. This blog will guide you through the intricacies of tracking receivables, processing refunds, and managing unresolved transactions with Beancount. Whether you're returning a purchase, lending money, or awaiting a refund, this post is your roadmap to financial clarity.

Understanding Receivables in Beancount:

2024-02-17-navigating-receivables-beancount-guide

Receivables represent money that is owed to you. This could be from a variety of scenarios, such as after a shopping return awaiting a refund or when you lend money to someone. For instance, consider you've returned a watch strap to an online store like Amazon.com and are awaiting a refund. In Beancount, this transaction is recorded as money moving from your credit card liability to your assets as receivables:

2023-10-31 * "Amazon.com" "[Return] Watch Strap"
Liabilities:CreditCard:Chase -12.00 USD
Assets:Receivables

Managing Refunds:

Once the refund is processed and you receive the money, another transaction is recorded to offset the balance in Receivables. This ensures that your accounts reflect the money back in your possession:

2023-11-01 * "Amazon.com" "[Refund] Watch Strap"
Liabilities:CreditCard:Chase 12.00 USD
Assets:Receivables

Complete Transaction Cycle:

A complete in-and-out transaction involving receivables is combining both transactions above and showcased as follows, demonstrating a balanced account post-refund:

2023-10-31 * "Amazon.com" "[Return] Watch Strap"
Liabilities:CreditCard:Chase -12.00 USD
Assets:Receivables

2023-11-01 * "Amazon.com" "[Refund] Watch Strap"
Liabilities:CreditCard:Chase 12.00 USD
Assets:Receivables

Handling Unresolved Transactions:

For transactions where the refund or repayment has not yet been received, Beancount employs the #UNRESOLVED tag. This tag helps in identifying and tracking amounts that are still pending. For example:

2023-10-31 * "John Doe" "Lending Money" #UNRESOLVED
Liabilities:CreditCard:Chase -100.00 USD
Assets:Receivables

By focusing on transactions tagged as #UNRESOLVED, you can quickly ascertain which amounts are yet to be settled.

Maintaining a Zero Balance:

In a proper ledger, the sum of all transactions under the Assets:Receivables account, excluding those tagged with #UNRESOLVED, should ideally return to zero. This ensures that all expected funds have been accounted for, maintaining the integrity of your financial records.

For example, a valid ledger might look like this, with an unresolved transaction clearly marked, awaiting closure:

2023-10-31 * "Amazon.com" "[Return] Watch Strap"
Liabilities:CreditCard:Chase -12.00 USD
Assets:Receivables

2023-11-01 * "Amazon.com" "[Refund] Watch Strap"
Liabilities:CreditCard:Chase 12.00 USD
Assets:Receivables

2023-10-31 * "John Doe" "Lending Money" #UNRESOLVED
Liabilities:CreditCard:Chase -100.00 USD
Assets:Receivables

An invalid ledger is one where a transaction causes the Receivables account not to zero out, necessitating the #UNRESOLVED tag for correction.

Conclusion

Navigating receivables in Beancount doesn't have to be daunting. With a clear understanding of how to record transactions, manage refunds, and keep an eye on unresolved transactions, you can maintain accurate and reliable financial records. Embracing the structured approach of Beancount for receivables management not only simplifies your financial tracking but also brings peace of mind, knowing that every dime is accounted for. So, why not leverage the power of Beancount to make your financial management as smooth

DIY vs. Hiring a Bookkeeper: A Beancount Playbook for Cost-Conscious Founders

· 5 min read
Mike Thrift
Mike Thrift
Marketing Manager

As a founder, you wear every hat—CEO, salesperson, product manager, and, yes, bookkeeper. But as your business grows, the hours spent reconciling transactions start to feel less like savvy bootstrapping and more like a costly distraction. So, when is the right time to hand off the books?

The answer isn't about giving up control; it's about making a data-driven decision. Here’s how to use your Beancount ledger to decide whether to continue DIY-ing or hire a professional.

2023-09-03-diy-vs-hiring-a-bookkeeper-a-beancount-playbook-for-cost-conscious-founders

TL;DR: If you bill your time at 85/hourandspendjustfourhoursamonthonbookkeeping,thatworkiscostingyou85/hour and spend just four hours a month on bookkeeping, that work is costing you 340 in lost revenue. A typical remote bookkeeper starts around $249/month—plus they free you up to actually grow the business. (Bench)

1. Put a Price on Your Own Time

The most important metric in this decision is your own opportunity cost. Every hour you spend categorizing expenses is an hour you’re not spending on sales, product development, or strategy.

The math is simple:

  1. Track how many hours you spend on bookkeeping tasks each month (reconciling, coding, fixing errors).
  2. Multiply those hours by your effective billable rate.
  3. Compare that figure to the monthly fee of an external bookkeeper (a typical starting rate is around $249/month).

If the cost of your time is higher, you have an obvious delegation win. You can even track this directly in Beancount.

; Track the opportunity cost of your time
2025-07-31 * "July bookkeeping time"
Expenses:Admin:BookkeepingTime 4.00 H ; Your custom unit for hours
Equity:OwnerTime -340.00 USD
; metadata: rate:85

Here, H is a custom currency for "Hours." You can book the time directly and use a script or a price directive to assign its dollar value, making the cost of your own labor an explicit part of your financial reports.

2. Count the Hidden Costs of DIY

The cost of your time isn't the only factor. DIY bookkeeping carries risks that can be far more expensive than a monthly retainer.

  • Tax Slip-ups: Messy books are a nightmare for tax preparers. A CPA may charge anywhere from 150150–400 per hour just to clean up your records before they can even start on the tax return (Bench).
  • Missed Deductions & IRS Fines: Small, unintentional errors—like misclassifying an expense or forgetting to record a cash transaction—can compound over time, leading to penalties, interest, and a higher tax bill (Bench).
  • Founder Burnout: The mental drag of late-night reconciling is real. It drains focus and energy that should be dedicated to high-leverage activities like sales and product innovation (Bench).

Beancount Mitigation: You can reduce errors by adding a Git pre-commit hook that refuses to commit changes if bean-check fails or if transactions lack a category tag. This enforces discipline, even when you're tired.

3. Three Ways a Bookkeeper (or Beancount Discipline) Saves Money

Whether you hire a pro or simply level up your own process, good bookkeeping pays for itself.

  1. Cleaner Tax Filing: Organized, accurate books mean fewer CPA hours spent on cleanup, which directly translates to a lower bill.
  2. Real-time Cash Insight: Knowing your exact cash position helps you avoid costly overdraft fees and the need for last-minute, high-interest financing.
  3. Stress Buffer: Stable, predictable financial operations reduce founder stress, leading to better decision-making and a healthier business culture.

4. When You Shouldn’t Hire Yet

Hiring a bookkeeper isn't always the right move. In some cases, DIY is still the smarter financial choice.

  • You're pre-revenue or have razor-thin cash flow. At this stage, every dollar should go toward sales and customer acquisition. Focus on getting revenue in the door first (Bench).
  • Your finances are simple. If you have one bank account, one Stripe feed, and fewer than ~60 transactions a month, you can likely manage everything in Beancount and Fava in less than an hour a week.

5. The Hybrid Option: Your “Bookkeeper-Ready” Beancount Ledger

The best solution is often a hybrid one. Use Beancount to do the heavy lifting yourself, but keep your books so clean that a professional can jump in for high-value tasks.

  • Automate Ingestion: Set up bean-extract to run nightly, pulling in new transactions automatically.
  • Standardize Your Chart of Accounts: Use conventional account names (Expenses:Software, Assets:Bank:Checking) so any pro can understand your ledger instantly.
  • Attach Source Documents: For every expense over $75, use link: metadata to attach a PDF of the receipt or invoice.
  • Follow a Monthly Close Checklist:
    1. Reconcile all bank and credit card accounts.
    2. Run bean-check to ensure there are no errors.
    3. Export PDF statements with bean-report balance_sheet and bean-report income_statement.
  • Perform a Quarterly Hand-off: Give your bookkeeper or CPA a Git tag or a simple archive (books-Q3-2025.tar.gz). They can verify your work, add complex adjusting entries (like accruals and depreciation), and prepare tax packets.

This model keeps your costs low because the professional is only touching clean, reviewed data, while you still get the benefit of pro-level financial statements.

6. Quick Decision Matrix

SituationHire a ProStick with Beancount (DIY)
>60 Tx/month, >$20k MRR
You bill $100+/hr but spend 3+ hrs/mo on books
In a cash crunch, <$5k MRR
You genuinely love spreadsheets & automation

7. Next Steps

  1. Log your time. For your next bookkeeping session, track every minute you spend on it.
  2. Run the numbers. Multiply that time by your billable rate and compare it to the market rates above.
  3. Choose your path. Either tighten up your Beancount workflow using the hybrid model or start interviewing bookkeepers who are comfortable working from a plain-text ledger.

Either way, intentional bookkeeping is always cheaper than winging it. With Beancount as your immutable source of truth, you’ll know exactly when professional help pays for itself—and when it doesn’t.

Business vs Personal Bookkeeping: Drawing a Clear Line with Beancount

· 6 min read
Mike Thrift
Mike Thrift
Marketing Manager

A thriving company and a healthy wallet share one trait: boundaries.

For any business owner, from a solo freelancer to a growing startup founder, one of the most critical financial disciplines is the strict separation of business and personal finances. Mingling funds—using your business account for groceries or paying a business vendor from your personal checking—creates a messy, opaque financial picture. This not only invites scrutiny from tax authorities but also robs you of clear insights into your company's actual performance.

2023-08-12-business-vs-personal-bookkeeping-with-beancount

Fortunately, a plain-text accounting system like Beancount provides the perfect framework for enforcing these essential boundaries right in your ledger.

Why Separation Matters

Failing to separate your finances isn't just a bad habit; it carries significant risks and masks valuable business intelligence.

  • IRS Clarity: The IRS isn't just suggesting you keep separate bank accounts; they strongly urge it. When business and personal funds are commingled, it becomes difficult to prove which expenses are legitimate business deductions. This ambiguity can lead to questions and complications you're better off avoiding.
  • Audit Risk: Mixing transactions is a major red flag for auditors. If your books are a tangled mess of personal and business activity, you risk having valid deductions disallowed or even facing penalties. A clean, separate ledger demonstrates professionalism and makes any potential audit smoother and less stressful.
  • Cleaner Insights: How can you know your true profit margin if your business's cash flow is clouded by personal spending? A stand-alone business ledger gives you an unfiltered view of your company's financial health. You can accurately track revenue, analyze expenses, and calculate tax liabilities without the "noise" of your personal financial life.

Key Differences at a Glance

The purpose, rules, and structure of business and personal bookkeeping are fundamentally different. Understanding these contrasts is key to maintaining accurate records.

AreaBusiness BooksPersonal Books
PurposeTrack income, expenses, assets, and liabilities for tax and growth decisionsManage household budgeting and savings goals
Tax RulesMust follow Schedule C, 1120‑S, or 1065; strict deductibility standardsFew formal requirements beyond basic recordkeeping
AccountsEquity, payables, receivables, sales tax, payrollChecking, savings, investments, loans
Owner PaySalary (W‑2) or owner’s draw through equityN/A—personal withdrawals fund living costs

A Four‑Step Beancount Blueprint

Beancount makes it simple to erect a firm wall between your two financial worlds. Here’s a practical workflow to get it right.

• 1 — Open Dedicated Accounts

Before you even write your first Beancount entry, open a dedicated business checking account and business credit card. This physical separation is the foundation of clean bookkeeping. Once that's done, mirror this structure in your Beancount ledger.

2025-07-23 open Assets:Bank:Business   USD
2025-07-23 open Assets:Bank:Personal USD

This simple setup ensures that every transaction can be clearly assigned to either your business or personal finances from the moment it occurs.

• 2 — Record Owner Contributions & Draws

As an owner, you will move money between your personal funds and the business. These are not income or expenses. Instead, they are tracked through an Equity account.

  • Contribution: When you put your own money into the business to get it started or cover a shortfall.
  • Draw: When you take money out of the business for personal use (this is how many sole proprietors "pay" themselves).
; Capital injection to start the business
2025-07-23 * "Owner contribution"
Assets:Bank:Business 10,000.00 USD
Equity:Owner:Contrib

; Taking money out for personal living expenses
2025-08-05 * "Owner draw for rent"
Equity:Owner:Draw 2,500.00 USD
Assets:Bank:Business

By recording these as equity transactions, you ensure they don't incorrectly inflate your business expenses or reduce your reported profit.

• 3 — Handle Mixed Receipts Quickly

Mistakes happen. You might accidentally use your business card to pay for a personal dinner. The key is to correct it immediately in your ledger. Don't delete the transaction; reclassify it as an owner's draw.

2025-08-07 * "Personal groceries on biz card"
Equity:Owner:Draw 72.35 USD
Assets:Bank:Business

This entry correctly reflects that business funds were used for a personal expense, treating it as money you've taken out of the company. This prevents you from accidentally claiming a non-deductible personal expense on your taxes.

• 4 — Reconcile & Review on a Schedule

Consistency is your best defense against messy books. Set aside time weekly or monthly to reconcile your business accounts. Use Beancount's tools to ensure your ledger matches your bank statements and to review your company's performance.

# Check your business bank balance against your statement
bean-balance books.bean "Assets:Bank:Business"

# Generate an income statement to review profitability
bean-report books.bean income_statement -e 2025-08-31

This regular review habit satisfies IRS record-keeping requirements and keeps you informed about the financial health of your business.

Tax Considerations

  • Estimated Taxes: To avoid a painful tax bill, treat your future taxes as an ongoing business expense. Create liability accounts (Liabilities:Tax:Federal, Liabilities:Tax:State) and regularly move a set percentage of every deposit into them. When quarterly payments are due, the cash is already waiting.
  • Non‑deductible Personal Costs: Remember the IRS rule: business expenses must be both "ordinary and necessary" for your work. Your personal meals, commuting costs, and non-business subscriptions do not qualify and must be kept entirely out of your business's profit and loss statement.

Quick‑Start Checklist

  • Open business-only bank and credit accounts.
  • Build a Beancount chart of accounts with Assets:Bank:Business, Equity:Owner:Contrib, and Equity:Owner:Draw.
  • Decide on your accounting basis (cash or accrual) and note it in your Beancount options.
  • Tag any accidental personal charges on business cards as Equity:Owner:Draw immediately.
  • Reconcile weekly; back up your .bean file to a private Git remote.
  • Review your income statement, balance sheet, and cash-flow reports every month.

Bottom line: Separate money, separate ledgers. Beancount makes the wall between your business and personal finances explicit—and version-controlled—so your business stays audit-ready while your latte habit remains nobody’s business but yours. Happy bean-keeping!

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!

Deconstructing a Beancount Ledger: A Case Study for Business Accounting

· 3 min read
Mike Thrift
Mike Thrift
Marketing Manager

In today's blog post, we will be breaking down a Beancount ledger for businesses, which will help you understand the intricacies of this plain text double-entry accounting system.

Deconstructing a Beancount Ledger: A Case Study for Business Accounting

Let's start with the code first:

2023-05-22-business-template

1970-01-01 open Assets:Bank:Mercury
1970-01-01 open Assets:Crypto

1970-01-01 open Equity:Bank:Chase

1970-01-01 open Income:Stripe
1970-01-01 open Income:Crypto:ETH

1970-01-01 open Expenses:COGS
1970-01-01 open Expenses:COGS:Contabo
1970-01-01 open Expenses:COGS:AmazonWebServices

1970-01-01 open Expenses:BusinessExpenses
1970-01-01 open Expenses:BusinessExpenses:ChatGPT

2023-05-14 * "CONTABO.COM" "Mercury Checking ••1234"
Expenses:COGS:Contabo 17.49 USD
Assets:Bank:Mercury -17.49 USD

2023-05-11 * "Amazon Web Services" "Mercury Checking ••1234"
Expenses:COGS:AmazonWebServices 14490.33 USD
Assets:Bank:Mercury -14490.33 USD

2023-03-01 * "STRIPE" "Mercury Checking ••1234"
Income:Stripe -21230.75 USD
Assets:Bank:Mercury 21230.75 USD

2023-05-18 * "customer_182734" "0x5190E84918FD67706A9DFDb337d5744dF4EE5f3f"
Assets:Crypto -19 ETH {1,856.20 USD}
Income:Crypto:ETH 19 ETH @@ 35267.8 USD

Understanding the Code

  1. Opening Accounts: The code starts by opening a series of accounts on 1970-01-01. These include a mix of asset accounts (Assets:Bank:Mercury and Assets:Crypto), an equity account (Equity:Bank:Chase), income accounts (Income:Stripe and Income:Crypto:ETH), and expense accounts (Expenses:COGS, Expenses:COGS:AmazonWebServices, Expenses:BusinessExpenses, and Expenses:BusinessExpenses:ChatGPT).

  2. Transactions: It then progresses to record a series of transactions between 2023-03-01 and 2023-05-18.

    • The transaction on 2023-05-14 represents a payment of $17.49 to CONTABO.COM from Mercury Checking ••1234. This is recorded as an expense (Expenses:COGS:Contabo) and a corresponding deduction from the Assets:Bank:Mercury account.

    • Similarly, the transaction on 2023-05-11 represents a payment of $14490.33 to Amazon Web Services from the same bank account. This is logged under Expenses:COGS:AmazonWebServices.

    • The transaction on 2023-03-01 shows income from STRIPE being deposited into Mercury Checking ••1234, totaling $21230.75. This is recorded as income (Income:Stripe) and an addition to the bank account (Assets:Bank:Mercury).

    • The last transaction on 2023-05-18 represents a crypto transaction involving 19 ETH from a customer. This is tracked under Assets:Crypto and Income:Crypto:ETH. The {1,856.20 USD} shows the price of ETH at the time of transaction, while the @@ 35267.8 USD specifies the total value of the 19 ETH transaction.

In all transactions, the principle of double-entry accounting is maintained, ensuring that the equation Assets = Liabilities + Equity always holds true.

Final Thoughts

This Beancount ledger provides a straightforward yet robust system for tracking financial transactions. As seen in the final transaction, Beancount is flexible enough to account for non-traditional assets like cryptocurrency, which is a testament to its utility in our increasingly digital financial landscape.

We hope this breakdown helps you better understand the structure and capabilities of Beancount, whether you're a seasoned accountant or a beginner trying to keep track of your personal finances. Stay tuned for our next blog post, where we'll delve further into advanced Beancount operations.

Reintroducing the Free Plan for New Customers

· 2 min read
Mike Thrift
Mike Thrift
Marketing Manager

We are thrilled to announce that as of May 1st, 2023, we will be reintroducing the free plan for new customers. This decision comes after making significant improvements to our platform and optimizing our resources in order to better serve all of our customers, both free and paid.

Introducing the New Free Plan for New Customers

The free plan has always been an essential part of our vision to provide an accessible and user-friendly service for everyone. We believe that the changes we've made over the past months will allow us to deliver an even better experience for our users while maintaining the quality of service for our Pro plan customers.

2023-04-28-start-serving-free-users

New customers who register after May 1st, 2023, will have access to the Free plan.

Your support and loyalty have been instrumental in making this reintroduction of the free plan financially possible. It is through your contributions that we have been able to invest in our infrastructure and support systems, ensuring that we can continue to deliver the high-quality service you expect while also expanding access to our platform for new users. Your commitment to our vision has helped us grow and evolve, and we are truly grateful for your ongoing partnership. Together, we are building a thriving community and empowering users from all walks of life to achieve their goals.

If you have any questions or concerns, please don't hesitate to reach out to us. We are always here to listen to your feedback and address any issues you may have. Thank you for your continued support, and we look forward to providing you with the best service possible.