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

82 записи с тегом "beancount"

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

Понимание дебиторской и кредиторской задолженности в Beancount

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

Всем привет! В сегодняшнем посте мы погрузимся в мир Beancount, инструмента бухгалтерского учета по двойной записи, который многие любят за его простоту и мощь. Более конкретно, мы поговорим о двух ключевых понятиях: дебиторской и кредиторской задолженности.

Понимание этих терминов имеет решающее значение для эффективного использования Beancount (или любой системы бухгалтерского учета по двойной записи). Но не волнуйтесь, если вы новичок – мы разберем все пошагово!

Дебиторская и кредиторская задолженность: Основы

2023-05-30-receiveable-and-payable

В бухгалтерском учете «дебиторская задолженность» и «кредиторская задолженность» — это термины, используемые для отслеживания денежных средств, которые должны быть получены или выплачены. «Дебиторская задолженность» относится к деньгам, которые другие должны вам, в то время как «кредиторская задолженность» относится к деньгам, которые вы должны другим.

Рассмотрим пример:

  1. Дебиторская задолженность (ДЗ): Предположим, у вас есть книжный магазин, и покупатель приобретает книгу в кредит. Деньги, которые он вам должен за книгу, являются дебиторской задолженностью.

  2. Кредиторская задолженность (КЗ): С другой стороны, представьте, что вы заказываете новый комплект книг у издателя, но не оплачиваете их сразу. Деньги, которые вы должны издателю, являются кредиторской задолженностью.

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

Настройка дебиторской и кредиторской задолженности в Beancount

Структура вашего файла Beancount может быть настолько простой или сложной, насколько вам это необходимо. Для дебиторской и кредиторской задолженности вы, вероятно, захотите создать отдельные счета в разделах «Активы» и «Обязательства».

Вот простой пример:

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

Отслеживание транзакций

Сторона получателя

После настройки счетов вы можете отслеживать транзакции, связанные с дебиторской и кредиторской задолженностью. Рассмотрим пример:

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

Здесь вы добавляете 100 долларов к своей дебиторской задолженности, потому что клиент должен вам эту сумму. Одновременно вы уменьшаете свой доход на ту же сумму, чтобы сохранить баланс (поскольку вы еще не получили деньги).

Когда клиент в конечном итоге заплатит, вы запишете это так:

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

Сторона плательщика

Тот же принцип применяется и к кредиторской задолженности, но с обратными знаками:

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

И когда вы погашаете свой долг:

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

Заключение

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

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

Деконструкция реестра Beancount: Пример для бизнес-учета

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

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

Деконструкция реестра Beancount: Пример для бизнес-учета

Начнем с кода:

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

Понимание кода

  1. Открытие счетов: Код начинается с открытия ряда счетов 01.01.1970. Они включают в себя комбинацию счетов активов (Assets:Bank:Mercury и Assets:Crypto), счета капитала (Equity:Bank:Chase), счетов доходов (Income:Stripe и Income:Crypto:ETH) и счетов расходов (Expenses:COGS, Expenses:COGS:AmazonWebServices, Expenses:BusinessExpenses и Expenses:BusinessExpenses:ChatGPT).

  2. Транзакции: Затем код переходит к записи ряда транзакций в период с 01.03.2023 по 18.05.2023.

    • Транзакция от 14.05.2023 представляет собой платеж в размере $17.49 в CONTABO.COM со счета Mercury Checking ••1234. Это записывается как расход (Expenses:COGS:Contabo) и соответствующее списание со счета Assets:Bank:Mercury.

    • Аналогично, транзакция от 11.05.2023 представляет собой платеж в размере $14490.33 в Amazon Web Services с того же банковского счета. Это регистрируется под Expenses:COGS:AmazonWebServices.

    • Транзакция от 01.03.2023 показывает доход от STRIPE, зачисленный на счет Mercury Checking ••1234, на общую сумму $21230.75. Это записывается как доход (Income:Stripe) и пополнение банковского счета (Assets:Bank:Mercury).

    • Последняя транзакция от 18.05.2023 представляет собой криптовалютную транзакцию, включающую 19 ETH от клиента. Это отслеживается по счетам Assets:Crypto и Income:Crypto:ETH. {1,856.20 USD} показывает цену ETH на момент транзакции, а @@ 35267.8 USD указывает общую стоимость транзакции 19 ETH.

    Во всех транзакциях соблюдается принцип двойной записи, что гарантирует постоянное выполнение уравнения Активы = Обязательства + Капитал.

Заключительные мысли

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

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

Повторное введение бесплатного тарифа для новых клиентов

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

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

Представляем новый бесплатный тариф для новых клиентов

Бесплатный тариф всегда был неотъемлемой частью нашего видения по предоставлению доступного и удобного сервиса для всех. Мы верим, что изменения, внесенные нами за последние месяцы, позволят нам обеспечить еще лучший опыт для наших пользователей, сохраняя при этом качество обслуживания для клиентов тарифа Pro.

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

Новые клиенты, зарегистрировавшиеся после 1 мая 2023 года, получат доступ к бесплатному тарифу.

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

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

Шпаргалка Beancount

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

Пример названия счета

Assets:US:BofA:Checking

cheatsheet-en

Типы счетов

Assets          +
Liabilities -
Income -
Expenses +
Equity -

Валюты и товары

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

Директивы

Общий синтаксис

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

Открытие и закрытие счетов

2001-05-29 open Expenses:Restaurant
2001-05-29 open Assets:Checking USD,EUR ; Ограничения по валюте

2015-04-23 close Assets:Checking

Объявление валют/товаров (Необязательно)

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

Цены

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

Заметки

2013-03-20 note Assets:Checking "Позвонил, чтобы узнать о скидке"

Документы

2013-03-20 document Assets:Checking "путь/к/выписке.pdf"

Транзакции

2015-05-30 * "Некоторое описание этой транзакции"
Liabilities:CreditCard -101.23 CNY
Expenses:Restaurant 101.23 CNY

2015-05-30 ! "Кабельная компания" "Счет за телефон" #tag ˆlink
id: "TW378743437" ; Метаданные
Expenses:Home:Phone 87.45 CNY
Assets:Checking ; Вы можете опустить одну сумму

Проводки

  ...    123.45 USD                             Простая
... 10 GOOG {502.12 USD} С себестоимостью за единицу
... 10 GOOG {{5021.20 USD}} С общей себестоимостью
... 10 GOOG {502.12 # 9.95 USD} С обеими себестоимостями
... 1000.00 USD @ 1.10 CAD С ценой за единицу
... 10 GOOG {502.12 USD} @ 1.10 CAD С себестоимостью и ценой
... 10 GOOG {502.12 USD, 2014-05-12} С датой
! ... 123.45 USD ... С флагом

Утверждения баланса и выравнивание

; Утверждает сумму только для указанной валюты:
2015-06-01 balance Liabilities:CreditCard -634.30 CNY

; Автоматическая вставка транзакции для выполнения следующего утверждения:
2015-06-01pad Assets:Checking Equity:Opening-Balances

События

2015-06-01 event "местоположение" "Нью-Йорк, США"
2015-06-30 event "адрес" "123 Мэй Стрит"

Опции

option "заголовок" "Моя личная бухгалтерская книга"

Прочее

pushtag #trip-to-peru
...
poptag #trip-to-peru
; Комментарии начинаются с точки с запятой

Магия учета в виде простого текста с Beancount

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

Откройте для себя магию учета в виде простого текста с Beancount

Beancount.io banner

Введение

2023-04-18-introduction-to-beancount

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

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

Что такое Beancount?

Beancount — это система учета в виде простого текста с открытым исходным кодом, созданная Мартином Бле. Вдохновленный системой Ledger Джона Уигли, Beancount стремится предоставить надежный и проверенный метод управления личными финансами и финансами малого бизнеса с использованием текстовых файлов. С Beancount вы можете легко отслеживать свои доходы, расходы, инвестиции и многое другое.

Почему Beancount?

Учет в виде простого текста предлагает несколько преимуществ по сравнению с традиционными системами учета на основе электронных таблиц или программного обеспечения:

  • Прозрачность: Файлы Beancount удобочитаемы, что упрощает понимание и аудит ваших финансовых данных.
  • Гибкость: Beancount легко настраивается под ваши конкретные нужды, и вы можете использовать свой любимый текстовый редактор и систему контроля версий для управления вашими финансовыми данными.
  • Портативность: Ваши финансовые данные доступны на любом устройстве, и их легко переносить между системами или делиться ими с другими.
  • Устойчивость к будущим изменениям: Текстовые файлы универсально совместимы, что гарантирует доступность ваших финансовых данных даже по мере развития технологий.

Основные концепции Beancount

Для эффективного использования Beancount крайне важно понимать его основные концепции:

  • Транзакции: Финансовые события, такие как доходы, расходы или переводы между счетами, записываются как транзакции.
  • Счета: Транзакции включают один или несколько счетов, таких как активы, обязательства, доходы или расходы.
  • Двойная запись: Beancount обеспечивает двойную запись, гарантируя, что каждая транзакция имеет сбалансированные дебеты и кредиты.
  • Директивы: Beancount использует набор директив для определения транзакций, открытия счетов и других финансовых событий.

Начало работы с Beancount

Чтобы начать использовать Beancount, выполните следующие простые шаги:

  • Установите Beancount: Установите Beancount на свою систему, используя предоставленные инструкции по установке для вашей операционной системы.
  • Создайте свой файл Beancount: Создайте новый текстовый файл с расширением .beancount (например, my_finances.beancount).
  • Определите свои счета: Используйте директиву "open" для определения счетов, которые вы будете использовать в своих транзакциях.
  • Записывайте транзакции: Используйте директиву "txn" для записи ваших финансовых транзакций.

Или просто зарегистрируйтесь на https://beancount.io. Вот несколько примеров учета в виде простого текста:

Пример 1: Базовая транзакция

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

В этом примере мы открываем два счета: Assets:Checking (Активы:Текущий) и Expenses:Groceries (Расходы:Продукты). 10 апреля 2023 года мы записываем транзакцию на покупку продуктов на сумму $50. Транзакция уменьшает баланс Assets:Checking на $50 (дебет) и увеличивает баланс Expenses:Groceries на $50 (кредит).

Пример 2: Транзакция дохода и расхода

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

В этом примере мы открываем три счета: Assets:Checking (Активы:Текущий), Income:Salary (Доход:Зарплата) и Expenses:Rent (Расходы:Аренда). 5 апреля 2023 года мы записываем транзакцию по выплате зарплаты в размере $2000. Транзакция увеличивает баланс Assets:Checking на $2000 (кредит) и уменьшает баланс Income:Salary на $2000 (дебет). 6 апреля 2023 года мы записываем транзакцию по оплате аренды в размере $1000. Транзакция уменьшает баланс Assets:Checking на $1000 (дебет) и увеличивает баланс Expenses:Rent на $1000 (кредит).

Пример 3: Перевод между счетами

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

В этом примере мы открываем два счета: Assets:Checking (Активы:Текущий) и Assets:Savings (Активы:Сбережения). 15 апреля 2023 года мы записываем транзакцию по переводу $500 с текущего счета на сберегательный. Транзакция уменьшает баланс Assets:Checking на $500 (дебет) и увеличивает баланс Assets:Savings на $500 (кредит).

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

Генерация отчетов и анализ данных

Beancount поставляется с набором мощных инструментов для генерации финансовых отчетов, включая бухгалтерские балансы, отчеты о прибылях и убытках и многое другое. Вы также можете использовать Fava, веб-интерфейс для Beancount, для визуализации и взаимодействия с вашими финансовыми данными. https://beancount.io построен на основе Fava с лицензией MIT.

Заключение

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

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

Теперь, когда у вас есть прочная основа в Beancount, пришло время отправиться в путешествие по учету в виде простого текста. Попрощайтесь с громоздкими электронными таблицами и запутанным программным обеспечением, и добро пожаловать в мир Beancount. Удачного учета!

Улучшение работы с Beancount с помощью пользовательских ссылок и запросов

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

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

В этом руководстве мы покажем вам, как:

  • Добавлять ссылки быстрого доступа на боковую панель Fava
  • Использовать SQL-запросы для расширенной фильтрации и анализа
  • Настраивать свой рабочий процесс для ежемесячных обзоров или обнаружения аномалий

Зачем настраивать Fava?

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

Проблемы, которые это решает:

  • Повторяющаяся навигация по временным диапазонам
  • Фильтрация транзакций по вложенным счетам
  • Более быстрое обнаружение отрицательных остатков или аномалий

✨ Пользовательские ссылки боковой панели

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

Добавьте эти строки в ваш файл Beancount:

2021-01-01 custom "fava-sidebar-link" "Current Month" "/jump?time=month"
2021-01-01 custom "fava-sidebar-link" "Last Month" "/jump?time=month-1"
2021-01-01 custom "fava-sidebar-link" "Clear All" "/jump?account=&time=&filter="

Что они делают:

  • Текущий месяц: Открывает представление транзакций, отфильтрованное по текущему месяцу.
  • Прошлый месяц: Мгновенно переходит к предыдущему месяцу — отлично подходит для обзоров в конце месяца.
  • Очистить все: Сбрасывает фильтры, снова показывая все записи.

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

🔍 Пользовательские SQL-запросы

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

SELECT account, units(sum(position)), sum(position)
WHERE number(units(position)) < 0
AND account ~ '.*:BCM:.*'
AND date >= DATE(2021,12,9)
AND date < DATE(2022,1,9)

Разбор:

  • account ~ '.*:BCM:.*': Фильтрует счета, содержащие :BCM: в своем названии.
  • number(units(position)) < 0: Отмечает отрицательные остатки (например, перерасходованные бюджеты).
  • Фильтры по дате сужают результат до определенного 1-месячного окна.

Случаи использования:

  • Обнаружение ошибок, таких как дублирующиеся расходы или неверные проводки
  • Аудит конкретного поставщика или категории
  • Быстрое извлечение полезных данных для бюджетирования

🛠 Совет профессионала: Объединяйте ссылки + запросы

Хотя Fava не позволяет напрямую ссылаться на пользовательские запросы, вы можете создать привычку ежемесячного обзора, выполняя следующие действия:

  • Используя ссылку «Текущий месяц», чтобы начать обзор
  • Открывая вкладку с сохраненными запросами в другой панели
  • Просматривая оба одновременно — сначала фильтруйте, затем углубляйтесь

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

Заключительные мысли

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

Бонус: Если вы используете пользовательские отчеты Fava, вы даже можете создавать полноценные панели, адаптированные к вашим ритуалам личных финансов.

Готовы взять под контроль?

Начните с малого: добавьте ссылку «Текущий месяц». Затем создайте свои собственные запросы. Ваше будущее «я» скажет вам спасибо.

Хотите больше таких советов? Подпишитесь на нашу рассылку или изучите другие рецепты Beancount на Beancount.io.

Прогнозирование будущих транзакций в Beancount

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

Существует плагин для Beancount, позволяющий прогнозировать будущие повторяющиеся транзакции. Как применить его в beancount.io? Вставьте следующее содержимое в ваш файл учета.

; import the plugin
plugin "fava.plugins.forecast"

; добавить ежемесячную плату за ТСЖ
2022-05-30 # "Плата за ТСЖ [ЕЖЕМЕСЯЧНО]"
Expenses:Hoa 1024.00 USD
Assets:Checking -1024.00 USD

Скриншот плагина прогнозирования

2022-05-30-плагин-прогнозирования

И затем вы увидите прогноз в отчете о чистой прибыли.

Плагин прогнозирования

Тег [MONTHLY] выше означает, что транзакция будет повторяться бесконечно. Если у вас есть дополнительные условия для применения, попробуйте [ЕЖЕМЕСЯЧНО ДО 2022-06-01], [ЕЖЕМЕСЯЧНО ПОВТОРИТЬ 5 РАЗ], [ЕЖЕГОДНО ПОВТОРИТЬ 5 РАЗ], или [ЕЖЕНЕДЕЛЬНО ПРОПУСТИТЬ 1 РАЗ ПОВТОРИТЬ 5 РАЗ].

Создание и отслеживание счетов с помощью Beancount

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

Текстовый шаблон, повторяемый рабочий процесс и один запрос для ответа на вопрос «Кто мне еще должен?»


2022-02-12-crafting-tracking-invoices-with-beancount

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

Хотя специализированные SaaS-приложения могут отправлять красивые, автоматизированные PDF-файлы, они часто требуют ежемесячной платы и блокируют ваши данные в проприетарном хранилище. Легкий, текстовый подход с использованием Beancount предлагает мощную альтернативу. Вы можете превратить каждый счет в четкий набор бухгалтерских записей, получая все преимущества контроля версий, мощных метаданных и мгновенных запросов — без необходимости подписки.


Минимально жизнеспособный счет (поля, которые никогда нельзя пропускать)

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

  • Реквизиты продавца: Название вашей компании и физический адрес.
  • Реквизиты клиента: Имя вашего клиента и (в идеале) его адрес.
  • Номер счета: Уникальный, последовательный идентификатор, который никогда не используется повторно. INV-045 следует за INV-044.
  • Даты выставления и оплаты: Четко укажите, когда был выставлен счет и когда ожидается оплата.
  • Строки счета: Четкое описание услуг или продуктов, а также количество, ставка и итоговая сумма по строке.
  • Итого, налог и общая сумма: Покажите расчет, чтобы клиент мог легко его проследить.
  • Дополнительные примечания: Место для благодарности, инструкций по переводу или предоставленного клиентом номера заказа на покупку.

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

Note: Invoice templates are coming soon! In the meantime, you can create your own using the fields listed above in Google Docs, Word, Sheets, Excel, or any other document format.


Запись счета в бухгалтерской книге

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

1. При выставлении счета:

Вы создаете транзакцию, которая перемещает общую сумму с вашего счета Income (Доход) на счет Assets:AccountsReceivable (Активы:Дебиторская задолженность). Это создает цифровой долговой документ в вашей бухгалтерии.

; 2025‑07‑21 Счет № 045  Веб-дизайн спринт для Acme Corp.
2025-07-21 * "Acme Corp" "INV-045 Веб-дизайн спринт"
Assets:AccountsReceivable 3500.00 USD ; due:2025-08-04
Income:Design:Web
invoice_id: "INV-045"
contact_email: "[email protected]"
link: "docs/invoices/2025-07-21_Acme_INV-045.pdf"

Здесь вы дебетуете AccountsReceivable (Дебиторская задолженность) и кредитуете свой счет Income (Доход). Обратите внимание на богатые метаданные: срок оплаты, уникальный invoice_id и даже прямая link: (ссылка) на отправленный вами PDF-файл.

2. При оплате клиентом:

Когда деньги поступают на ваш банковский счет, вы записываете вторую транзакцию, чтобы "закрыть" долговой документ. Это перемещает баланс с AccountsReceivable (Дебиторская задолженность) на ваш расчетный счет.

2025-08-01 * "Acme Corp" "Оплата INV-045"
Assets:Bank:Checking 3500.00 USD
Assets:AccountsReceivable
invoice_id: "INV-045"

Баланс для INV-045 в Assets:AccountsReceivable (Дебиторская задолженность) теперь равен нулю, и ваша бухгалтерия идеально сбалансирована.

Прикрепите PDF: Ключ метаданных link: особенно полезен при использовании с Fava, веб-интерфейсом Beancount. Fava отобразит кликабельную ссылку прямо в представлении транзакции, поэтому исходный документ всегда находится на расстоянии одного клика. Этот рабочий процесс был задуман еще в 2016 году в запросе на функцию (GitHub).


Один запрос для вывода списка всех открытых счетов

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

Сохраните следующее как файл с именем open-invoices.sql:

SELECT
meta('invoice_id') AS id,
payee,
narration,
date,
number(balance) AS outstanding
WHERE
account = "Assets:AccountsReceivable"
AND balance != 0
ORDER BY
date;

Теперь запустите его из командной строки:

bean-query books.beancount open-invoices.sql

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


Автоматизируйте рутинную работу

Прелесть простого текста — это возможность написания скриптов. Вы можете автоматизировать утомительные части этого рабочего процесса.

  • Шаблон + Pandoc = PDF: Храните шаблон счета в Markdown. Небольшой скрипт на Python может заполнить переменные (имя клиента, строки счета, номер счета), а инструмент командной строки Pandoc может мгновенно преобразовать его в профессиональный PDF-файл.
  • Git Pre-commit Hook: Если вы храните свою бухгалтерскую книгу в Git, простой pre-commit hook может выполнять проверки перед сохранением вашей работы. Он может проверить, что каждый новый invoice_id уникален, что проводки по транзакции сбалансированы до нуля, и что файл, на который ссылается метаданные link:, действительно существует.
  • Cron Job: Настройте запланированное задание (cron job) для запуска запроса open-invoices.sql каждую ночь и отправки вам сводки по электронной почте. Вы будете начинать каждый день, точно зная, кому нужно отправить дружеское напоминание.

Реалистичное предостережение

Beancount — это инструмент для ведения бухгалтерского учета, а не сервис для выставления счетов. Он не будет автоматически отправлять клиентам напоминания об оплате или обрабатывать платежи по их кредитным картам. Рабочий процесс следующий: вы создаете и отправляете счет с помощью выбранного вами метода (например, с помощью шаблонов выше), а затем вносите бухгалтерские записи в свою бухгалтерскую книгу.

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


Следующие шаги

Готовы взять под контроль выставление счетов? Вот как начать.

  1. Скачайте шаблон и используйте его для создания следующего реального счета, обязательно используя последовательный номер счета.
  2. Храните отправленные PDF-файлы в специальной папке, например docs/invoices/, и используйте ключ метаданных link: в своей транзакции Beancount для ссылки на них.
  3. Сохраните запрос open-invoices.sql и сделайте его запуск частью вашего еженедельного финансового обзора.

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

Корректировочные проводки в Beancount: Ваша ежемесячная настройка

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

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

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

2022-01-25-adjusting-entries-in-beancount-your-month-end-tune-up


Почему важны корректировочные проводки

Внесение этих корректировок является основой надежного бухгалтерского учета. Они гарантируют точность и надежность вашей финансовой отчетности.

  • Точность начислений: Корректировочные проводки являются движущей силой метода начисления. Они переносят доходы и расходы в тот период, когда они были фактически заработаны или понесены, независимо от того, когда произошла оплата. Это соответствует основным принципам признания выручки и соответствия, которые составляют основу современного бухгалтерского учета (AccountingCoach.com).

  • Надежные KPI: Ключевые показатели эффективности хороши настолько, насколько хороши данные, на которых они основаны. Такие показатели, как валовая прибыль, чистая прибыль и прогнозы денежных потоков, отражают реальность только после того, как отложенные, начисленные и оценочные суммы будут правильно проведены (Corporate Finance Institute).

  • Четкий аудиторский след: Явные корректировки в конце месяца создают четкую запись вашей финансовой логики. Это помогает аудиторам (и вам в будущем) легко отследить, что изменилось и почему, укрепляя доверие к вашим цифрам (Accountingverse).


Шесть распространенных категорий (с примерами кода Beancount)

Вот шесть наиболее распространенных типов корректировочных проводок с примерами того, как их записать в вашем журнале Beancount. Обратите внимание на использование метаданных, таких как adj:"accrual", чтобы эти записи было легко найти и проанализировать позже.

1. Начисленный доход

Это относится к доходу, который вы заработали, но еще не выставили счет или не получили оплату.

2025-07-31 * "Консалтинг — июльские часы"
Assets:AccountsReceivable 12000.00 USD
Income:Consulting
; adj:"accrual" period:"Jul-25"

2. Начисленные расходы

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

2025-07-31 * "Юрист — июльский гонорар"
Expenses:Legal 2500.00 USD
Liabilities:AccruedPayables
; adj:"accrual"

3. Отложенный (незаработанный) доход

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

2025-07-31 * "Годовая предоплата SaaS (признать 1/12)"
Liabilities:UnearnedRevenue 833.33 USD
Income:SaaS
; adj:"deferral"

4. Предоплаченные (отложенные) расходы

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

2025-07-31 * "Страховка — 1 мес. расходов из предоплаты"
Expenses:Insurance 400.00 USD
Assets:PrepaidInsurance
; adj:"deferral"

5. Амортизация

Эта запись распределяет стоимость долгосрочного актива (например, компьютера или автомобиля) в течение срока его полезного использования.

2025-07-31 * "Амортизация Mac Studio"
Expenses:Depreciation 1250.00 USD
Assets:Computers:AccumDepr
; asset_id:"MAC-03" adj:"estimate"

6. Резерв по сомнительным долгам

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

2025-07-31 * "Резерв по сомнительным долгам (2% от ДЗ)"
Expenses:BadDebt 700.00 USD
Assets:AllowanceForBadDebt
; basis:"A/R" rate:0.02 adj:"estimate"

Повторяемый рабочий процесс

Чтобы обеспечить эффективность и безошибочность закрытия месяца, примите последовательный рабочий процесс.

  • Используйте отдельный файл. Храните все корректировки за период в одном месте, например, adjustments-2025-07.bean. В вашем основном файле журнала используйте директиву include, чтобы импортировать его последним. Это гарантирует, что корректировки будут применены непосредственно перед формированием окончательных отчетов.

  • Стандартизируйте свои метаданные. Всегда используйте согласованные ключи и значения метаданных, такие как adj:"accrual|deferral|estimate" и period:"Jul-25". Это упрощает запрос и просмотр определенных типов корректировок.

  • Выполните предварительную проверку. Перед фиксацией изменений в Git запустите bean-check в файле корректировок, чтобы выявить любые опечатки или несбалансированные проводки.

  • Выполните однострочную проверку работоспособности. Этот запрос подтверждает, что все ваши корректировки за период сбалансированы, давая вам уверенность в том, что вы не внесли ошибок.

    bean-query main.bean "SELECT account, SUM(number) WHERE meta('adj') AND meta('period') = 'Jul-25' GROUP BY account"

Советы по быстрому устранению неполадок 🤔

  • Растет ли ваш баланс Liabilities:UnearnedRevenue? Пересмотрите этапы выполнения вашего контракта. Возможно, вы признаете доход слишком медленно по сравнению с выполняемой вами работой.

  • Ваш баланс Assets:PrepaidInsurance отрицательный? Вы, вероятно, списываете его быстрее, чем позволяет график актива. Перепроверьте свой график амортизации.

  • Ухудшается ли ваш период оборачиваемости дебиторской задолженности (DSO) после начислений? Ваш начисленный доход может маскировать основные проблемы со сбором платежей. Объедините этот KPI с отчетом о старении дебиторской задолженности, чтобы выявить клиентов, которые просрочили платежи, прежде чем это станет проблемой с денежными потоками.


Заключительные мысли

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

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

Удачного балансирования!

Революционизация управления личными финансами с Beancount.io

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

Пользователи Beancount традиционно используют инструменты командной строки или самостоятельно размещают серверы в частных сетях, где им приходится работать через компьютер или универсальный текстовый редактор на мобильных устройствах. Beancount.io уменьшает сложности, предлагая мобильные приложения с открытым исходным кодом для Android и iOS, а также защищенное облако, благодаря чему ваш реестр теперь находится в нескольких касаниях от вашего отпечатка пальца.

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

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

2022-01-08-instant-access-to-your-beancount-cloud-ledger-anytime-anywhere

Не каждый является энтузиастом командной строки, и именно поэтому мы создали Beancount.io — менеджер личных финансов для каждого. Вот как это работает:

Для серьезной работы пользователи Beancount по-прежнему могут использовать свои компьютеры для редактирования или просмотра реестра через браузер, посещая https://beancount.io или синхронизируясь с Dropbox. Это сохраняет гибкость инструментов командной строки, не теряя при этом кросс-устройственного доступа к облачному решению.

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

Майк Трифт, бэкенд-инженер, работающий над этим продуктом, говорит:

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

Чжи Ли, инженер-программист из Facebook, говорит нам:

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

Вы можете зарегистрироваться сейчас на https://beancount.io/sign-up/ или загрузить iOS или Android приложение. Мы упростили регистрацию, чтобы собрать от вас как можно меньше информации для запуска сервиса. Затем вы получите предустановленный пустой реестр, готовый для немедленного добавления записи.

Часто задаваемые вопросы

Будет ли Beancount.io продавать мои данные реестра третьим лицам?

  • Нет. Мы обязуемся обеспечивать безопасность и конфиденциальность ваших данных и никогда не будем продавать ваши данные реестра.

Мои данные защищены?

  • Да. Мы защищаем вашу электронную почту и реестр с помощью AES256, ваш пароль с помощью BCrypt, а ваши сетевые запросы с помощью SSL.

Мои данные реестра зашифрованы сквозным шифрованием?

  • Нет. Из-за технических ограничений нам все еще приходится расшифровывать ваши данные в память при индексировании файла реестра на производственных серверах. Поэтому мы ограничиваем прямой доступ для любого из наших сотрудников. К сожалению, мы не можем сделать это в Intel SGX или любом защищенном хранилище из-за высоких затрат.

Это надежный сервис, которому я могу доверять в ближайшие несколько лет?

  • Да. Мы изначально запустили Beancount.io 4 июля 2019 года, и уже более двух лет мы безопасно и надежно эксплуатируем сервис. Поэтому у нас нет причин не продолжать работу сервиса в будущем.

Могу ли я запрашивать новые функции и спонсировать проект?

  • Да. Пожалуйста, не стесняйтесь обращаться к нам по адресу https://t.me/beancount для получения любой обратной связи и поддержите нас, став Pro-пользователем по адресу https://beancount.io/pricing.