Перейти к основному содержимому

2 записи с тегом "business finance"

Посмотреть все теги

Understanding Accounts Receivable (A Beancount Guide)

· 8 минут чтения
Mike Thrift
Mike Thrift
Marketing Manager

If you run a business that bills clients, you need a rock-solid way to track who owes you money. This is where Accounts Receivable (AR) comes in. It’s more than just a number on a report; it’s the lifeblood of your cash flow.

This guide will walk you through what Accounts Receivable is, why it matters, and how to manage it with precision and clarity using the plain-text accounting system, Beancount.

2025-08-12-understanding-accounts-receivable


TL;DR

Accounts receivable (AR) is the money customers owe you for goods or services you’ve already delivered. It’s a current asset on your balance sheet, central to accrual accounting, and a key driver of your business's cash flow. You can track AR cleanly in Beancount by using customer sub-accounts, linking invoices to payments with ^links, and running a few simple queries. To measure your collection speed, you can calculate AR Turnover and Days Sales Outstanding (DSO). To handle risk, you can use an allowance for doubtful accounts.


What is Accounts Receivable?

Definition Accounts Receivable represents the balance of money due to your firm for goods or services delivered or used but not yet paid for by customers. Under accrual accounting, you recognize this revenue when you earn it, not when you receive the cash. As a result, AR appears as a current asset on your company's balance sheet.

Why It Matters Effectively managing your AR is critical for maintaining healthy liquidity. The faster you collect on your invoices, the shorter your cash conversion cycle—the time it takes to turn your investments in inventory and other resources back into cash. By monitoring metrics like AR Turnover and Days Sales Outstanding (DSO), you can get a clear picture of your collection efficiency and take action to improve it.

Accounts Receivable vs. Accounts Payable (One-Line Refresher)

  • AR = money owed to you (it's an asset).
  • AP = money you owe to others (it's a liability).

The Accounts Receivable Flow in Double-Entry Accounting

Conceptually, the lifecycle of a receivable follows these steps:

  1. Issuing an Invoice (Credit Sale): When you send an invoice, you increase your Assets (specifically, Accounts Receivable) and recognize the Income you've earned.
  2. Cash Collection: When the customer pays, you increase one asset (your Assets:Bank account) and decrease another (Assets:AR). The net effect on your total assets is zero, but your cash position improves.
  3. Discounts or Credits: If you offer an early-payment discount or issue a credit memo, you reduce the customer's AR balance and offset it with a discount expense or a reduction in revenue (contra-revenue).
  4. Bad Debts: Unfortunately, not all invoices get paid. To account for this, you can recognize an allowance for doubtful accounts (a contra-asset that reduces your AR's value) and a corresponding bad debt expense. Later, you can write off a specific uncollectible invoice against this allowance.

Modeling AR in Beancount

Beancount is a plain-text, double-entry accounting system that is perfectly suited for tracking AR. Its use of tags (which start with #), links (which start with ^), and a SQL-like query language (bean-query) makes your entire AR process transparent, auditable, and scriptable.

Suggested Account Structure

A clean chart of accounts is the foundation. Here’s a recommended structure:

Assets:AR
Assets:AR:Clients:<Name>
Assets:AR:Allowance ; A contra-asset account

Income:Sales
Income:Contra:SalesDiscounts ; An alternative to an expense account

Expenses:SalesDiscounts
Expenses:BadDebt

1. Record a Credit Sale (Issue an Invoice)

When you send an invoice to a client, you record it in your ledger.

2025-07-01 * "Acme Co." "Invoice 2025-045 · Web design" ^INV-2025-045 #ar #client:acme
invoice: "2025-045"
due: "2025-07-31"
document: "/invoices/2025/INV-2025-045.pdf"
Assets:AR:Clients:Acme-Co 1200.00 USD
Income:Sales -1200.00 USD
  • The ^INV-2025-045 link is a unique identifier that will tie this invoice to its future payment(s).
  • The document: metadata helps Fava (Beancount's web interface) render a clickable link directly to the invoice PDF.

2. Record Full Payment

When Acme Co. pays the invoice in full, you clear their receivable balance.

2025-07-25 * "Acme Co." "Payment for INV-2025-045" ^INV-2025-045 #ar
Assets:Bank:Checking 1200.00 USD
Assets:AR:Clients:Acme-Co -1200.00 USD

Using the same ^INV-2025-045 link creates a clear audit trail connecting the invoice and the payment.

3. Handling Partial Payments

If a client makes a partial payment, the process is the same. The link keeps everything connected.

2025-07-20 * "Acme Co." "Partial payment INV-2025-045" ^INV-2025-045 #ar
Assets:Bank:Checking 400.00 USD
Assets:AR:Clients:Acme-Co -400.00 USD

A query on ^INV-2025-045 would show the original 1200invoiceandthis1200 invoice and this 400 payment, leaving an $800 balance.

4. Handling an Early-Payment Discount

Let's say you offer a 2% discount on a $1000 invoice if paid early.

2025-07-10 * "Acme Co." "2% early-payment discount on INV-2025-046" ^INV-2025-046 #ar
Assets:Bank:Checking 980.00 USD
Expenses:SalesDiscounts 20.00 USD
Assets:AR:Clients:Acme-Co -1000.00 USD

Here, you clear the full 1000receivable,recordthe1000 receivable, record the 980 cash received, and book the $20 discount as an expense. Note: Many ledgers treat sales discounts as contra-revenue instead of an expense. Using an expense account is often simpler for smaller ledgers. The key is to choose one method and use it consistently.

5. Including Sales Tax on Invoices

If you collect sales tax, you record it as a liability at the time of invoicing.

2025-07-01 * "Acme Co." "INV-2025-047 · Hardware + tax" ^INV-2025-047 #ar
invoice: "2025-047"
due: "2025-07-31"
Assets:AR:Clients:Acme-Co 1100.00 USD
Income:Sales -1000.00 USD
Liabilities:Tax:Sales -100.00 USD

You've invoiced for 1100,recognized1100, recognized 1000 in revenue, and now owe $100 to the tax authority.

6. Handling Bad Debts (Allowance Method)

The allowance method is preferred under Generally Accepted Accounting Principles (GAAP) as it better matches expenses to revenues.

Step 1: Estimate and Create the Allowance (e.g., at Year-End) Based on historical data, you estimate a percentage of your receivables may be uncollectible.

2025-12-31 * "Allowance for doubtful accounts (2% of AR)"
Expenses:BadDebt 300.00 USD
Assets:AR:Allowance -300.00 USD

This creates a contra-asset account (Assets:AR:Allowance) that reduces the book value of your total receivables.

Step 2: Write Off a Specific Uncollectible Invoice Later When you are certain an invoice will not be paid, you write it off against the allowance.

2026-03-05 * "Write-off INV-2025-049 for Insolvent Client" ^INV-2025-049 #ar
Assets:AR:Allowance 1200.00 USD
Assets:AR:Clients:Insolvent-Client -1200.00 USD

Notice this transaction does not impact your expenses; the expense was already recognized when you created the allowance.


Minimal Reporting & Queries

You can get quick snapshots of your AR using Fava or bean-query.

Open Receivables by Customer

SELECT account, SUM(position)
WHERE account ~ '^Assets:AR'
GROUP BY account
ORDER BY account;

Journal of AR Activity for a Period

JOURNAL
WHERE account ~ '^Assets:AR'
AND date >= 2025-07-01 AND date < 2025-08-01;

Core AR Metrics (With Quick Formulas)

For these ratios, a practical approach is to use bean-query to export the necessary numbers (period sales, beginning/ending AR balances) and then perform the calculations in a spreadsheet or a script. This keeps your ledger clean and your math explicit.

AR Turnover Ratio

This measures how many times per period your business collects its average accounts receivable. Higher is better.

ARTurnover=fracNetCreditSalesAverageARAR\\ Turnover = \\frac{Net\\ Credit\\ Sales}{Average\\ AR}

DSO (Days Sales Outstanding)

This tells you the average number of days it takes to collect payment after a sale has been made. Lower is better.

DSO=(fracAccountsReceivableTotalCreditSales)timesNumberofDaysDSO = (\\frac{Accounts\\ Receivable}{Total\\ Credit\\ Sales}) \\times Number\\ of\\ Days

Together, these metrics indicate how efficiently you convert invoices into cash.


A Simple Beancount Starter File (Copy/Paste)

; --- Accounts ---------------------------------------------------------------
1970-01-01 open Assets:Bank:Checking USD
1970-01-01 open Assets:AR
1970-01-01 open Assets:AR:Clients:Acme-Co
1970-01-01 open Assets:AR:Allowance
1970-01-01 open Income:Sales
1970-01-01 open Expenses:SalesDiscounts
1970-01-01 open Expenses:BadDebt
1970-01-01 open Liabilities:Tax:Sales USD
; ---------------------------------------------------------------------------

; Example invoice
2025-07-01 * "Acme Co." "Invoice 2025-045 · Web design" ^INV-2025-045 #ar
invoice: "2025-045"
due: "2025-07-31"
document: "/invoices/2025/INV-2025-045.pdf"
Assets:AR:Clients:Acme-Co 1200.00 USD
Income:Sales -1200.00 USD

; Payment received
2025-07-25 * "Acme Co." "Payment INV-2025-045" ^INV-2025-045 #ar
Assets:Bank:Checking 1200.00 USD
Assets:AR:Clients:Acme-Co -1200.00 USD

Operational Tips to Keep AR Healthy

  • Set Clear Terms: Include the due date, late fee policies, and any early-payment discount terms on every invoice.
  • Link Everything: Use consistent ^INV-... links to tie invoices, payments, and credit memos together for a clear audit trail.
  • Attach Documents: Use the document: metadata to link to PDFs of invoices, purchase orders, and contracts.
  • Review Monthly: Check your open AR report at least once a month and follow up on past-due invoices. Watch your AR Turnover and DSO trends to spot problems early.

Further Reading (Sources Used)

Раздельный учет для бизнеса и личных финансов с помощью Beancount

· 5 минут чтения
Mike Thrift
Mike Thrift
Marketing Manager

Процветающая компания и здоровый кошелек имеют одну общую черту: границы.

Для любого владельца бизнеса, от фрилансера-одиночки до основателя растущего стартапа, одной из самых важных финансовых дисциплин является строгое разделение бизнес- и личных финансов. Смешивание средств — использование вашего бизнес-счета для покупки продуктов или оплата поставщика с вашего личного счета — создает запутанную, непрозрачную финансовую картину. Это не только привлекает внимание налоговых органов, но и лишает вас четкого представления о реальной эффективности вашей компании.

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

К счастью, система простого текстового учета, такая как Beancount, предоставляет идеальную основу для обеспечения этих важных границ прямо в вашей бухгалтерской книге.

Почему разделение важно

Отсутствие разделения финансов — это не просто плохая привычка; это несет в себе значительные риски и скрывает ценную бизнес-информацию.

  • Прозрачность для налоговой: Налоговая служба не просто предлагает вам иметь отдельные банковские счета; она настоятельно рекомендует это. Когда бизнес- и личные средства смешиваются, становится трудно доказать, какие расходы являются законными бизнес-вычетами. Эта двусмысленность может привести к вопросам и сложностям, которых лучше избегать.
  • Риск аудита: Смешивание транзакций — это серьезный сигнал тревоги для аудиторов. Если ваши книги — это запутанный клубок личной и деловой активности, вы рискуете тем, что действительные вычеты будут отклонены или даже будут наложены штрафы. Чистая, отдельная бухгалтерская книга демонстрирует профессионализм и делает любой потенциальный аудит более гладким и менее стрессовым.
  • Более четкий анализ: Как вы можете узнать свою истинную норму прибыли, если денежный поток вашего бизнеса омрачен личными расходами? Отдельная бизнес-книга дает вам неискаженное представление о финансовом состоянии вашей компании. Вы можете точно отслеживать доходы, анализировать расходы и рассчитывать налоговые обязательства без «шума» вашей личной финансовой жизни.

Ключевые различия вкратце

Цель, правила и структура бизнес- и личного учета принципиально различны. Понимание этих контрастов является ключом к ведению точных записей.

ОбластьБизнес-учетЛичный учет
ЦельОтслеживание доходов, расходов, активов и обязательств для принятия налоговых решений и решений о ростеУправление бюджетом домохозяйства и целями сбережений
Налоговые правилаДолжны соответствовать Приложению C, 1120‑S или 1065; строгие стандарты вычетаНесколько формальных требований, помимо базового учета
СчетаСобственный капитал, кредиторская задолженность, дебиторская задолженность, налог с продаж, заработная платаРасчетный счет, сберегательный счет, инвестиции, кредиты
Оплата владельцуЗаработная плата (W‑2) или снятие средств владельцем через собственный капиталН/Д — личные снятия средств для покрытия расходов на проживание

Четырехэтапный план Beancount

Beancount позволяет легко возвести прочную стену между вашими двумя финансовыми мирами. Вот практический рабочий процесс, чтобы сделать это правильно.

• 1 — Откройте отдельные счета

Прежде чем вы даже напишете свою первую запись Beancount, откройте отдельный расчетный счет для бизнеса и бизнес-кредитную карту. Это физическое разделение является основой чистого учета. После этого отразите эту структуру в своей бухгалтерской книге Beancount.

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

Эта простая настройка гарантирует, что каждая транзакция может быть четко отнесена либо к вашим бизнес-, либо к личным финансам с момента ее совершения.

• 2 — Регистрируйте взносы и снятия средств владельца

Как владелец, вы будете перемещать деньги между своими личными средствами и бизнесом. Это не доходы или расходы. Вместо этого они отслеживаются через счет собственного капитала.

  • Взносы: Когда вы вкладываете свои собственные деньги в бизнес, чтобы начать его или покрыть дефицит.
  • Снятие: Когда вы забираете деньги из бизнеса для личного пользования (так многие индивидуальные предприниматели «платят» себе).
; Вложение капитала для запуска бизнеса
2025-07-23 * "Взносы владельца"
Assets:Bank:Business 10,000.00 USD
Equity:Owner:Contrib

; Снятие денег на личные расходы
2025-08-05 * "Снятие владельцем на аренду"
Equity:Owner:Draw 2,500.00 USD
Assets:Bank:Business

Регистрируя их как транзакции с собственным капиталом, вы гарантируете, что они не будут неправильно увеличивать ваши бизнес-расходы или уменьшать вашу заявленную прибыль.

• 3 — Быстро обрабатывайте смешанные чеки

Ошибки случаются. Вы можете случайно использовать свою бизнес-карту для оплаты личного ужина. Главное — немедленно исправить это в своей бухгалтерской книге. Не удаляйте транзакцию; переклассифицируйте ее как снятие средств владельцем.

2025-08-07 * "Личные покупки по бизнес-карте"
Equity:Owner:Draw 72.35 USD
Assets:Bank:Business

Эта запись правильно отражает тот факт, что бизнес-средства были использованы для личных расходов, рассматривая их как деньги, которые вы забрали из компании. Это предотвращает случайное требование не подлежащих вычету личных расходов по вашим налогам.

• 4 — Сверяйте и проверяйте по графику

Последовательность — ваша лучшая защита от беспорядка в книгах. Выделяйте время еженедельно или ежемесячно для сверки ваших бизнес-счетов. Используйте инструменты Beancount, чтобы убедиться, что ваша бухгалтерская книга соответствует вашим банковским выпискам, и для проверки эффективности вашей компании.

# Проверьте баланс вашего бизнес-банковского счета по вашей выписке
bean-balance books.bean "Assets:Bank:Business"

# Создайте отчет о прибылях и убытках, чтобы проверить прибыльность
bean-report books.bean income_statement -e 2025-08-31

Эта привычка регулярного обзора удовлетворяет требованиям налоговой службы по ведению учета и держит вас в курсе финансового состояния вашего бизнеса.

Налоговые соображения

  • Предварительные налоги: Чтобы избежать болезненного налогового счета, относитесь к своим будущим налогам как к текущим бизнес-расходам. Создайте счета обязательств (Liabilities:Tax:Federal, Liabilities:Tax:State) и регулярно переводите на них установленный процент от каждого депозита. Когда наступает срок квартальных платежей, деньги уже ждут.
  • Не подлежащие вычету личные расходы: Помните правило налоговой службы: бизнес-расходы должны быть «обычными и необходимыми» для вашей работы. Ваши личные расходы на питание, транспортные расходы и не связанные с бизнесом подписки не подлежат вычету и должны быть полностью исключены из отчета о прибылях и убытках вашего бизнеса.

Краткий контрольный список

  • Откройте банковские счета и кредитные карты только для бизнеса.
  • Создайте план счетов Beancount с Assets:Bank:Business, Equity:Owner:Contrib и Equity:Owner:Draw.
  • Определитесь с вашей учетной базой (кассовый метод или метод начисления) и отметьте это в своих options Beancount.
  • Немедленно помечайте любые случайные личные расходы по бизнес-картам как Equity:Owner:Draw.
  • Сверяйте еженедельно; создавайте резервные копии вашего файла .bean в частном удаленном репозитории Git.
  • Ежемесячно просматривайте отчет о прибылях и убытках, баланс и отчеты о движении денежных средств.

Итог: Раздельные деньги, раздельный учет. Beancount делает стену между вашим бизнесом и личными финансами явной — и контролируемой версиями — так что ваш бизнес остается готовым к аудиту, в то время как ваша привычка пить латте остается ничьим делом, кроме вашего. Удачного учета!