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

Beancount FAQ: Вопросы о бухгалтерии в виде открытого текста

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

Вопросы ниже взяты из сообщества сторонников бухгалтерии в виде открытого текста — 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.io публикует приложения для iOS и Android для просмотра вашей книги и быстрого ввода транзакций на ходу, что закрывает пробел, обычно остающийся в решениях на основе простого текста.

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

Насколько большой может быть книга, прежде чем она замедлится?

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

Смотрите Поддержка нескольких файлов о том, как разбить растущую книгу.

Все еще не нашли ответ?

Центр помощи содержит указатель на всю документацию, а Глоссарий объясняет любой из использованных выше терминов, который вам незнаком.

Источник: https://beancount.io/ru/docs/faq