Выберите дату перехода, экспортируйте оборотно-сальдовую ведомость QuickBooks на день до неё и откройте книгу Beancount с одной директивой pad и одной balance для каждого счёта баланса. Когда bea check проходит и остаток на счёте капитала совпадает с QuickBooks, ваша бухгалтерия перенесена. Всё, что произойдёт после даты перехода, записывается в Beancount.
Это руководство подходит как для QuickBooks Online, так и для QuickBooks Desktop. Оно не зависит от какого-либо импортёра QuickBooks, потому что ни один из них не поставляется вместе с Beancount. Сначала вы переносите остатки, а затем решаете, какую часть истории взять с собой.
Если вы всё ещё решаете, стоит ли переходить, сначала прочитайте Beancount против QuickBooks.
1. Определите дату перехода и то, что вы сохраняете
Выберите первый день финансового года, например 2026-01-01. Граница года оставляет один налоговый год в одной системе. Это также означает, что ваш первый отчёт о прибылях и убытках в Beancount начинается с нуля.
Определите сейчас, какой объём истории должен хранить Beancount:
- Только остатки. Откройте книгу на дату перехода и храните отчёты QuickBooks как архив за предыдущие годы. Это самый быстрый путь, и всё остальное руководство предполагает именно его.
- Годовые сводки. Добавьте по одной сводной проводке за каждый прошлый год из оборотно-сальдовой ведомости соответствующего года. Тогда ваши многолетние отчёты будут работать в Beancount.
- Полная история операций. Конвертируйте экспорт главной книги с помощью скрипта. Это самая трудоёмкая работа, и раздел 5 объясняет, что она в себя включает.
Завершите сверку каждого банковского счёта и счёта карты в QuickBooks по день до даты перехода. Несведённый остаток переносит свою ошибку в вашу новую книгу.
2. Экспорт из QuickBooks
Вам нужны три отчёта, все на день до даты перехода (2025-12-31 в этом руководстве):
| Отчёт | Что он даёт |
|---|---|
| Список счетов | Название и тип каждого счёта для сопоставления на шаге 3 |
| Оборотно-сальдовая ведомость | Конечный остаток каждого счёта, который становится вашими входящими остатками |
| Главная книга | Каждая операция — для истории и для вашего архива |
QuickBooks Online. Перейдите в Отчёты, затем в Стандартные отчёты и откройте каждый отчёт по имени. Выберите Экспорт/Печать, затем Экспорт в Excel. Список счетов — это отчёт по плану счетов. Инструмент Экспорт данных в разделе Настройки, в столбце Инструменты, экспортирует набор отчётов и списков в виде файлов Excel одним zip-архивом. Intuit описывает оба пути в статье Export your QuickBooks Online data.
Эти экспорты из QuickBooks Online — файлы Excel. Откройте каждый из них в электронной таблице и сохраните копию в CSV, если его будет читать скрипт.
Вложения экспортируются отдельно. В QuickBooks Online перейдите в Настройки, затем в Вложения, выберите файлы и выберите Массовые действия, затем Экспорт. Храните zip-архив вместе с вашим архивом.
QuickBooks Desktop. В Windows откройте каждый отчёт из Отчёты, затем Центр отчётов. Выберите Excel, затем Создать новую таблицу. Следующее окно может сохранить книгу Excel или файл CSV напрямую, как описано в Export reports as Excel workbooks. Desktop также может экспортировать списки, включая план счетов, в виде файла IIF: Файл, затем Утилиты, затем Экспорт, затем Списки в файлы IIF. Экспорт в IIF охватывает только списки. Intuit заявляет, что операции можно импортировать, но нельзя экспортировать, как объясняется в Export, import, and edit IIF files.
Храните исходные экспорты без изменений. Это ваши доказательства, если позже возникнут вопросы к какой-либо цифре.
3. Сопоставьте счета с иерархией Beancount
В Beancount пять корневых счетов. Каждый тип счёта QuickBooks попадает под один из них:
| Тип счёта QuickBooks | Счёт Beancount |
|---|---|
| Банк | Assets:Bank:Checking, Assets:Bank:Savings |
| Дебиторская задолженность (A/R) | Assets:AccountsReceivable |
| Прочие оборотные активы, основные средства | Assets:Prepaid:…, Assets:Equipment:… |
| Кредитная карта | Liabilities:CreditCard:Visa |
| Кредиторская задолженность (A/P), прочие краткосрочные обязательства | Liabilities:AccountsPayable, Liabilities:SalesTax |
| Долгосрочные обязательства | Liabilities:Loans:… |
| Капитал, нераспределённая прибыль, капитал входящих остатков | Equity:Opening-Balances |
| Доход, прочий доход | Income:Sales, Income:Interest |
| Себестоимость проданных товаров | Expenses:COGS:… |
| Расходы, прочие расходы | Expenses:Rent, Expenses:Software |
Названия счетов начинаются с заглавной буквы и не содержат пробелов, поэтому "Office Supplies" превращается в Expenses:Office-Supplies. Субсчета QuickBooks становятся более глубокими сегментами, например Expenses:Vehicle:Fuel.
Нераспределённая прибыль и капитал входящих остатков сворачиваются в один счёт Equity:Opening-Balances. Beancount вычисляет прибыль текущего года из ваших счетов доходов и расходов, поэтому отдельный счёт нераспределённой прибыли переносить вперёд не требуется.
4. Откройте книгу на дату перехода
У этой примерной компании оборотно-сальдовая ведомость из четырёх строк на 2025-12-31. Строки доходов и расходов уже свёрнуты в нераспределённую прибыль. QuickBooks Online делает то же самое сам при начале нового финансового года, как описано в View retained earnings account details.
| Счёт | Дебет | Кредит |
|---|---|---|
| Расчётный счёт | 12 450,00 | |
| Дебиторская задолженность (A/R) | 3 200,00 | |
| Кредитная карта Visa | 1 875,40 | |
| Нераспределённая прибыль | 13 774,60 | |
| Итого | 15 650,00 | 15 650,00 |
Сохраните это как main.bean:
option "operating_currency" "USD"
2025-12-31 open Assets:Bank:Checking USD
2025-12-31 open Assets:AccountsReceivable USD
2025-12-31 open Liabilities:CreditCard:Visa USD
2025-12-31 open Equity:Opening-Balances USD
; Входящие остатки из оборотно-сальдовой ведомости QuickBooks на 2025-12-31
2025-12-31 pad Assets:Bank:Checking Equity:Opening-Balances
2025-12-31 pad Assets:AccountsReceivable Equity:Opening-Balances
2025-12-31 pad Liabilities:CreditCard:Visa Equity:Opening-Balances
2026-01-01 balance Assets:Bank:Checking 12450.00 USD
2026-01-01 balance Assets:AccountsReceivable 3200.00 USD
2026-01-01 balance Liabilities:CreditCard:Visa -1875.40 USD
2026-01-01 balance Equity:Opening-Balances -13774.60 USDКаждая директива pad просит Beancount вставить проводку, которая делает следующую проверку balance истинной. Балансирующая сторона каждой директивы pad идёт на Equity:Opening-Balances. Проверка balance выполняется на начало указанной даты, поэтому директивы pad датированы днём перед датой перехода.
Дебеты становятся положительными числами, а кредиты — отрицательными. Именно поэтому остаток по Visa равен -1875.40 USD.
Последняя строка — это сверка. Капитал должен составить -13774.60 USD, то есть кредит нераспределённой прибыли. Опечатка в цифре актива или обязательства меняет сбалансированный капитал, и эта проверка не проходит.
Для реальной компании добавьте одну директиву open, одну pad и одну balance для каждого счёта баланса из оборотно-сальдовой ведомости. Разделите A/R и A/P на один субсчёт на каждого клиента или поставщика, если вы отслеживаете открытые счёта по именам.
5. Перенос истории
После даты перехода записывайте новую деятельность в Beancount. Банковские выписки и выписки по картам — основной источник. Конвертируйте CSV-экспорт банка в браузере с помощью конвертера CSV в Beancount или воспользуйтесь руководством по импорту банковских выписок для командной строки.
Прошлые годы необязательны. Импорта в один клик из экспорта главной книги QuickBooks не существует. Перенос этой истории — это шаг сопоставления, выполняемый скриптом или вручную:
- Сохраните экспорт главной книги в формате CSV.
- Сгруппируйте его строки в проводки по дате и номеру операции.
- Переименуйте каждый счёт с помощью вашего сопоставления из шага 3.
- Запишите каждую группу как проводку Beancount, чьи проводки в сумме дают ноль.
Если вы переносите историю, откройте счета на начало этой истории, а не на дату перехода. Затем сохраните проверки balance на 2026-01-01. Они доказывают, что сконвертированная история приходит к тем же остаткам, которые сообщил QuickBooks.
6. Сверка с QuickBooks
Проверьте книгу, затем выведите список всех остатков:
bea --file main.bean check
bea --file main.bean query "SELECT account, sum(position) GROUP BY account ORDER BY account"bea check не сообщает об ошибках. Запрос возвращает четыре строки: Assets:AccountsReceivable на 3200.00 USD, Assets:Bank:Checking на 12450.00 USD, Equity:Opening-Balances на -13774.60 USD и Liabilities:CreditCard:Visa на -1875.40 USD. Сравните каждую строку со строкой оборотно-сальдовой ведомости QuickBooks, принимая кредиты за отрицательные числа.
Впервые работаете с командной строкой? Установите bea с помощью краткого руководства по CLI.
7. Что не переносится
Миграция книги переносит бухгалтерские остатки и историю. Она не переносит операционные процессы, которые QuickBooks ведёт вокруг них:
- Счета-фактуры и платёжные ссылки. Открытые счета-фактуры остаются в виде остатков A/R. С этого момента используйте отдельный сервис выставления счетов.
- Расчёт заработной платы. Расчётные ведомости, налоговые формы и данные сотрудников остаются у вашего поставщика услуг по расчёту зарплаты.
- Налоговые декларации по налогу с продаж. Beancount фиксирует обязательство. Подача декларации остаётся отдельной задачей.
- Вложения. Квитанции и документы выгружаются в отдельном zip-экспорте, а не в отчётах.
- Правила банковских лент и история сверки. Воссоздайте категоризацию в виде правил импорта.
Страница сравнения говорит об этом прямо: не выбирайте Beancount в расчёте на то, что несколько плагинов воссоздадут весь операционный комплекс QuickBooks. Выбирайте его тогда, когда сама книга является вашей долговечной системой учёта.
Ведёте малый бизнес на Beancount? Смотрите Beancount.io для малого бизнеса — размещённые книги, банковская синхронизация и взаимодействие с бухгалтером.