Вопросы ниже взяты из сообщества сторонников бухгалтерии в виде открытого текста — Reddit, Hacker News, списка рассылки Beancount — и касаются того, как работает эта практика. По вопросам о самом сервисе Beancount.io (цены, планы, поддержка, управление счетами) обратитесь к часто задаваемым вопросам о продукте.
С чего начать
Насколько много мне нужно знать о бухгалтерии, чтобы начать?
Примерно пять понятий, а не ученая степень. Вам нужно знать пять типов счетов (активы, обязательства, капитал, доходы, расходы), идею о том, что каждая транзакция переносит стоимость между как минимум двумя из них, и правило, что транзакция должна быть сбалансирована. Всё остальное Beancount обеспечит за вас — он помечает любую транзакцию, в которой числа не сходятся, как ошибку, а не принимает её молча, и таким образом программное обеспечение ловит ошибки, которые новичок в противном случае пропустил бы.
Начните с Введения в Beancount, держите Глоссарий открытым на отдельной вкладке и добавьте свои первые транзакции в Кратком руководстве.
Где в Beancount дебет и кредит?
В Beancount вообще не используются слова «дебет» и «кредит» — вместо этого используются числа со знаком, которые в сумме должны давать ноль. Деньги, уходящие со счета, отрицательны, деньги, поступающие на счет, положительны, и транзакция считается корректной, когда её проводки взаимно уравновешиваются. Это та же самая двойная запись, которую ведут бухгалтеры, но без терминологии, которая сбивает с толку новичков.
Если вы пользовались традиционным бухгалтерским программным обеспечением, то вот перевод: дебет — это положительное число, а кредит — отрицательное. Смотрите Синтаксис языка для справки о том, как записываются проводки, или Дебет и кредит простыми словами для получения бухгалтерских основ на понятном языке.
Почему транзакции должны балансироваться до нуля?
Потому что деньги всегда откуда-то берутся, и именно это правило превращает балансировку в проверку на ошибки. Если вы потратили 40 долларов на продукты, эти деньги ушли с банковского счета — записав обе половины, вы получите, что они должны уравновешиваться, и любая опечатка в любой из сумм будет помечена как ошибка, а не приведет к незаметно неправильному балансу.
Именно поэтому бухгалтерская книга в виде открытого текста заслуживает большего доверия, чем электронная таблица с расходами: сама структура самопроверяема. Проверка остатка — это связанный механизм, который сверяет вашу книгу с реальностью.
Как мне настроить начальные остатки?
Запишите транзакцию на дату начала, которая переносит текущий остаток каждого счета из
Equity:Opening-Balances, а затем добавьте проверку balance, чтобы зафиксировать его. Вам не нужно
восстанавливать всю свою финансовую историю — выберите дату начала, возьмите остатки на этот день
и двигайтесь дальше.
В Кратком руководстве описан полный пример настройки начальных остатков.
Насколько детальным должен быть план счетов?
Начните с крупных статей и разбивайте их только тогда, когда более детальное разделение повлияло бы на решение. Двадцати счетов вполне достаточно для начала; если вы ловите себя на вопросе, стоит ли в «Расходах:Продукты» отделять рестораны от магазинов, то полезный критерий — изменили бы вы что-то в своих действиях, зная это разделение.
Переименование и разделение счетов позже — это простая замена текста в файле, так что стоимость начала с простой структуры невелика. Названия счетов могут быть вложенными, поэтому вы можете начать с широкой категории и разделить её на под-счета позже, не переписывая историю — смотрите Как разработать план счетов, если хотите взять за основу готовую структуру.
Почему открытый текст?
Зачем использовать бухгалтерию в виде открытого текста вместо электронной таблицы?
Электронная таблица не может сказать вам, когда она ошибается. Бухгалтерия в виде открытого текста обеспечивает двойную запись,
поэтому каждая транзакция самопроверяема, а файл остается доступным для поиска, сравнения (diff) и
обработки скриптами. Кроме того, у вас есть настоящая история версий: git log по вашей
книге покажет точно, что, когда и почему изменилось.
Практическая разница проявляется, когда у вас несколько счетов, валют или инвестиций, где электронная таблица с одной записью незаметно расходится с реальностью. Смотрите Прозрачный и проверяемый учет.
Не является ли двойная запись излишеством для личных финансов?
Если вам нужно знать только, сколько вы потратили на кофе, то да — электронной таблицы достаточно. Двойная запись окупается, как только у вас появляется несколько счетов, ипотека, брокерский счет или несколько валют, потому что именно в этих ситуациях учет с одной записью теряет деньги, не сообщая вам об этом.
Полезный способ думать об этом: двойная запись — это контрольная сумма для ваших финансов. Смотрите Введение для более подробного объяснения.
Нужно ли мне пользоваться командной строкой?
Нет. Fava — это полноценный веб-интерфейс для работы с тем же текстовым файлом —
балансовые отчеты, отчеты о прибылях и убытках, диаграммы и ввод транзакций — и Beancount.io запускает его
для вас в облаке поверх вашей книги. Текстовый файл остается источником истины, так что вы можете
использовать веб-интерфейс каждый день и обращаться к терминалу только тогда, когда захотите. Если вы предпочитаете терминал, командная строка bea создает, проверяет и формирует отчеты по тому же файлу — см. Быстрый старт CLI.
Смотрите Возможности интерфейса, чтобы узнать, что умеет интерфейс, или попробуйте живую демонстрацию.
Ввод данных
Как мне загрузить банковские транзакции в Beancount?
Большинство людей импортируют 80–95% транзакций, а остальные вводят вручную. В порядке убывания надежности: прямое скачивание OFX/QFX из вашего банка, экспорт CSV с последующими правилами импорта, подключение через агрегатора и — только в крайнем случае — преобразование PDF-выписки в CSV. Сервис Beancount.io's bank sync берет на себя подключение и категоризацию.
Ожидайте, что вам придется написать или настроить правило для каждого банка: CSV-экспорты банков печально известны непоследовательностью, а название магазина, содержащее экранированную запятую, — это реальная и распространенная проблема. Смотрите Smart Import для автоматизированного подхода.
Для разового файла два бесплатных браузерных конвертера сделают механическую работу без загрузки
куда-либо ваших данных: CSV в Beancount для табличных экспортов и
OFX и QIF в Beancount для файлов .ofx, .qfx, .qbo и .qif,
которые банки предлагают скачать, если не предлагают CSV.
Как избежать двойного импорта одной и той же транзакции?
Импортеры дедуплицируют записи на основе уже существующих в вашей книге, сопоставляя дату, сумму и получателя, и помечают всё неоднозначное для вашего подтверждения, а не угадывают. Обычный рабочий процесс помечает сомнительные импорты как ожидающие проверки, чтобы вы просмотрели их до того, как они попадут в постоянную книгу.
С OFX это проще, чем с CSV: каждая транзакция имеет FITID, который банк сохраняет стабильным
при разных выгрузках, поэтому импортер может сопоставлять по идентификатору, а не по содержимому. —
Конвертер OFX сохраняет его как метаданные id:.
Вторая половина ответа — это переводы: деньги, перемещающиеся между двумя вашими счетами, появляются в выгрузках обоих банков. Записывайте такой перевод один раз как одну транзакцию с двумя проводками.
Должен ли я давать кому-то третьему доступ к моему банковскому логину?
Нет — и для многих людей это вообще главная причина использовать бухгалтерию в виде открытого текста. Вы можете сами выгрузить OFX или CSV из своего банка и никогда не передавать учетные данные агрегатору. Если вам удобнее автоматическая синхронизация, Beancount.io использует одобренного банками агрегатора, а не хранит пароль от вашего интернет-банка.
Подробности читайте на странице безопасности.
Как мне сверить мою книгу с банковской выпиской?
Добавьте проверку balance для итоговой суммы из выписки с датой через день после
даты окончания периода. Проверки остатка выполняются на начало своей даты, поэтому проверка
следующим утром включает все транзакции вплоть до последнего дня выписки. Если
ваша книга расходится с банком, bea check выдаст ошибку Balance failed и завершится с ненулевым
кодом возврата, что превращает сверку из ручного сравнения в то, что программное обеспечение проверяет при каждом запуске.
Ежемесячной сверки обычно достаточно для большинства людей. Смотрите Фильтрация и поиск для поиска расхождений.
Валюты и инвестиции
Как Beancount работает с несколькими валютами?
Он работает с ними «из коробки», и это одно из его самых сильных преимуществ по сравнению с приложениями для личных финансов. Каждая
сумма несет в себе свою валюту, на счетах может храниться сразу несколько валют, а конвертации записываются
явно с помощью @ для цены или {} для стоимости, так что изменение обменного курса никогда незаметно не переписывает
вашу историю.
Ничего не конвертируется у вас за спиной — вы всегда видите и исходную валюту, и конвертированное значение. Смотрите Синтаксис языка, Точность и допуски и Мультивалютный учет для бухгалтерской стороны вопроса.
Как отслеживать стоимость приобретения и прирост капитала?
Записывайте покупки с указанием стоимости в фигурных скобках — 10 AAPL {150.00 USD} — и Beancount будет отслеживать каждый
лот отдельно. При продаже вы указываете, какой именно лот уменьшаете, и прирост капитала
получается из арифметики автоматически, а не вычисляется вручную.
Beancount поддерживает методы учета STRICT, FIFO, LIFO и NONE. Метод учета по средней стоимости разбирается, но полностью не реализован — если ваша налоговая юрисдикция требует среднюю стоимость, планируйте отслеживать её с помощью плагина или явных лотов. Смотрите Управление запасами.
Как записывать криптовалютные сделки и их стоимость приобретения?
Точно так же, как и любой другой товар: криптовалюта — это единица со стоимостью, поэтому к ней применим тот же механизм лотов и учета. Обмен одного токена на другой — это одна транзакция, которая уменьшает один лот и открывает другой; именно так вы получаете реализованный доход, который большинство налоговых органов требует декларировать.
Смотрите Отслеживание портфеля криптовалют и готовые шаблоны для криптовалют.
Бизнес и фриланс
Можно ли использовать Beancount для малого бизнеса, или он только для личных финансов?
Бизнес использует его, в том числе компании со сотнями тысяч транзакций. Он поддерживает учет по методу начисления, мультиструктурные организации и отчеты, которые ожидает бухгалтер. Честные ограничения таковы: нет многопользовательского одновременного редактирования, нет встроенного интерфейса для выставления счетов и нет рабочего процесса утверждения кредиторской задолженности — это бухгалтерская книга, а не ERP-система.
Смотрите Отраслевые настройки и Открытая бухгалтерская книга с примерами реальных книг компаний.
Стоит ли вести отдельные книги для личных и бизнес-финансов?
Держите их раздельно — либо как отдельные деревья счетов верхнего уровня в одном файле, либо как два файла,
объединенных с помощью include. Смешивание их делает отчет о прибылях и убытках бизнеса бессмысленным и
затрудняет налоговую отчетность, а разделение ничего не стоит на начальном этапе.
Два файла обычно более чистый выбор, как только у бизнеса появляется собственный банковский счет. Смотрите Поддержка нескольких файлов.
Как учитывать счета-фактуры и дебиторскую задолженность?
Моделируйте дебиторскую задолженность как счет актива, а кредиторскую — как счет обязательства, затем записывайте счет-фактуру в момент его выставления и платеж в момент его поступления — это учет по методу начисления, и Beancount поддерживает его напрямую. Чего в нем нет — так это интерфейса выставления счетов: он отслеживает, что вам должны, но не создает и не отправляет счет.
Смотрите Шаблоны финансовой отчетности для отчетной стороны, Отраслевые настройки для практических примеров и Понимание дебиторской задолженности для концепций.
Как передать мои книги бухгалтеру во время налоговой отчетности?
Экспортируйте отчеты, а не книгу. Ваш бухгалтер почти наверняка не хочет текстовый файл — ему нужны отчет о прибылях и убытках, балансовый отчет и список транзакций, которые вы можете получить в виде CSV или PDF из веб-интерфейса или с помощью запроса.
Смотрите Руководства по подготовке к налогам, Шаблоны финансовой отчетности и Запросы на языке SQL для получения именно тех цифр, которые они запрашивают.
Инструменты и экосистема
Чем отличаются Beancount, Ledger и hledger?
Все три — это системы двойной записи в виде открытого текста с похожими форматами файлов. Ledger — это оригинал и самый либеральный парсер; hledger — это реализация на Haskell, известная дружелюбными правилами импорта CSV и документацией; Beancount имеет самый строгий парсер и самую сильную поддержку инвестиций, лотов и нескольких валют, а также API для плагинов на Python.
Строгость — это главный компромисс: Beancount отказывается загружать файл, который считает неоднозначным, что ловит ошибки на раннем этапе ценой большей придирчивости. Смотрите Beancount против Ledger CLI и Beancount против hledger.
Поддерживает ли Beancount бюджет по конвертам, как YNAB?
Из коробки — нет; это реальный пробел, а не скрытая функция. Встроенные возможности бюджетирования в Beancount ограничены, и те, кому нужно строгое поведение конвертов, обычно используют плагин сообщества или моделируют конверты как счета.
Если бюджет по конвертам — это главное, что вам нужно, прочитайте Beancount против YNAB, прежде чем переходить. Информацию о том, что работает сегодня, смотрите в Бюджетирование в Beancount.
Можно ли прикреплять чеки к транзакциям?
Да. Директива document связывает файл со счетом и датой, а веб-интерфейс позволяет
загружать и просматривать эти документы рядом с транзакциями, к которым они относятся. Чеки
остаются обычными файлами на диске, поэтому они так же переносимы, как и сама книга.
Смотрите Возможности интерфейса.
Есть ли мобильное приложение?
Насколько большой может быть книга, прежде чем она замедлится?
Десять лет личных финансов — это несколько мегабайт, которые загружаются менее чем за секунду. Beancount
пересчитывает остатки на основе всей истории транзакций при каждой загрузке, и это остается быстрым вплоть до сотен тысяч записей. За этим пределом ограничением становится удобство редактирования и сравнения, а не
время загрузки: разбиение по годам с помощью include сохраняет отдельные файлы небольшими, но включенные
файлы по-прежнему образуют одну объединенную книгу, которую Beancount загружает и пересчитывает целиком, так что это
скорее удобство организации файлов, а не ускорение или способ вести отдельные книги.
Смотрите Поддержка нескольких файлов о том, как разбить растущую книгу.
Все еще не нашли ответ?
Центр помощи содержит указатель на всю документацию, а Глоссарий объясняет любой из использованных выше терминов, который вам незнаком.