Используйте ИИ для подбора счетов и пояснения транзакций, затем сверяйте записи с исходными документами перед сохранением. Это руководство проведет вас через категоризацию, проверку, валидацию и запрос на небольшом вымышленном примере выписки, который можно воспроизвести.
Выберите размещенный или локальный рабочий процесс ниже. В пошаговом примере используется локальный образец файла, чтобы вы могли воспроизвести каждую проверку перед подключением ИИ к вашей собственной бухгалтерской книге.
Выберите свой рабочий процесс
| Ваша настройка | Начните здесь | Как изменения попадают в вашу книгу |
|---|---|---|
| Вы используете Beancount.io | Используйте Smart Import для файлов выписок или AI Assistant для вопросов и предлагаемых правок. | Проверяйте строки перед отправкой импорта. Для правок Assistant проверьте предлагаемый diff и выберите Approve или Deny. |
| Вы используете внешний ИИ-клиент | Следуйте руководству по настройке Beancount MCP, чтобы подключить клиент к размещенной книге. | Пробный запуск (dry run) предварительно просматривает операцию редактирования. Отдельный вызов записи подтверждает её. Запросы на одобрение зависят от настроек вашего клиента. |
| Вы храните локальные файлы | Используйте конвертер CSV в Beancount или импортер, затем попросите ИИ-инструмент предложить категории. | Вы проверяете предлагаемые записи, валидируете файл и сохраняете принятые изменения. |
Размещенные Assistant и MCP являются интеграциями Beancount.io. Установка открытого движка бухгалтерского учета Beancount не добавляет эти сервисы к локальной книге.
Перед началом работы
Подготовьте исходную выписку, счет, к которому она относится, и список разрешенных счетов назначения. Сохраните оригинал выписки для сравнения с результатом.
Для локального пошагового руководства установите Beancount, следуя руководству по началу работы. Также потребуется Beanquery для выполнения финального запроса из терминала. В примере предполагается использование долларов США (USD) и отсутствие существующих транзакций в файле-образце.
Для реальных данных решите, какую информацию ваш ИИ-инструмент может получать. Удалите лишние идентификаторы перед передачей выписки. Локальная книга все равно может отправлять данные в облачную модель через редактор или MCP-клиент. Проверьте политики обработки данных клиента и поставщика модели; хранение файла на вашем компьютере само по себе не гарантирует локальность его содержимого.
1. Начните с исходных транзакций
Наш вымышленный расчетный счет начинает август с 1 000,00 USD. Его выписка содержит три списания и закрывается на 805,10 USD после этих списаний:
date,payee,description,amount
2026-08-03,Office Depot,Printer paper,-45.00
2026-08-04,Cloud Hosting Inc,Monthly hosting,-120.00
2026-08-05,Amazon,Online purchase,-29.90Отрицательные суммы здесь означают деньги, уходящие с расчетного счета. Подтвердите соглашение о знаках в вашем банке перед импортом; другие экспорты и импортеры могут использовать другое соглашение.
В конвертере CSV сопоставьте эти четыре столбца и установите исходный счет Assets:Bank:Checking с валютой USD. Для этого образца оставьте Flip every sign выключенным. Проверьте, что исходные проводки отрицательные. Предварительный счет назначения — это лишь заполнитель до тех пор, пока вы не проверите категории.
Если вы начинаете с изображения чека или PDF, сравните извлеченные даты, суммы, валюту и количество транзакций с оригинальным документом перед категоризацией. Сохраняйте исходные значения нетронутыми при принятии решения о счетах.
2. Запросите категории с явными ограничениями
Используйте подсказку, которая называет разрешенные счета и оставляет место для неопределенности:
Предложите счет назначения для каждой строки в этой выписке-образце. Исходный счет — Assets:Bank:Checking. Используйте только Expenses:Office:Supplies или Expenses:Business:Hosting. Верните исходные дату, получателя, сумму, предложенный счет и краткое обоснование. Если описание недостаточно, верните NEEDS_REVIEW и объясните, какой информации не хватает. Не выдумывайте счета, не изменяйте суммы и не записывайте в книгу.
Предоставьте три строки CSV вместе с подсказкой. Полезный результат может выглядеть так; формулировки и предложения модели могут различаться:
| Дата | Получатель | Сумма (USD) | Предложенный счет | Причина проверки |
|---|---|---|---|---|
| 2026-08-03 | Office Depot | -45.00 | Expenses:Office:Supplies | Описание указывает на бумагу для принтера. |
| 2026-08-04 | Cloud Hosting Inc | -120.00 | Expenses:Business:Hosting | Описание указывает на хостинг. |
| 2026-08-05 | Amazon | -29.90 | NEEDS_REVIEW | Название продавца не указывает, что было куплено. |
Подсказка выражает ваше намерение. Она не обеспечивает разрешения для инструмента, который может записывать файлы. Настройте контроль одобрения клиента перед предоставлением ему доступа к реальной книге.
3. Разрешите неопределенность и проверьте записи
Проверьте чек для покупки в Amazon. В этом примере он идентифицирует USB-C кабель для офиса, и проверяющий назначает Expenses:Office:Supplies. Без таких доказательств оставьте строку в ожидании, а не принимайте угаданную категорию.
Создайте новый файл с именем review.beancount со следующим полным примером. Он включает объявления счетов и начальный баланс, которых нет в CSV. Если вы использовали конвертер, сравните его транзакции с этими проверенными записями; не добавляйте обе копии в одну книгу.
option "title" "AI bookkeeping review example"
option "operating_currency" "USD"
2026-08-01 open Assets:Bank:Checking USD
2026-08-01 open Equity:Opening-Balances USD
2026-08-01 open Expenses:Office:Supplies USD
2026-08-01 open Expenses:Business:Hosting USD
2026-08-01 * "Opening balance"
Assets:Bank:Checking 1000.00 USD
Equity:Opening-Balances -1000.00 USD
2026-08-03 * "Office Depot" "Printer paper"
Assets:Bank:Checking -45.00 USD
Expenses:Office:Supplies 45.00 USD
2026-08-04 * "Cloud Hosting Inc" "Monthly hosting"
Assets:Bank:Checking -120.00 USD
Expenses:Business:Hosting 120.00 USD
2026-08-05 * "Amazon" "Online purchase; receipt: office USB-C cable"
Assets:Bank:Checking -29.90 USD
Expenses:Office:Supplies 29.90 USD
2026-08-06 balance Assets:Bank:Checking 805.10 USDТранзакция начального баланса относится к этой пустой учебной книге. В существующей книге используйте установленный баланс и объявления счетов вместо добавления еще одного начального баланса.
Перед принятием предлагаемого изменения сравните каждую транзакцию с ее исходной строкой. Подтвердите знаки, валюту, счета и подтверждающий чек. Знакомое название продавца само по себе не устанавливает цель покупки.
4. Валидация и сверка
Запустите валидатор Beancount на локальном образце:
bea --file review.beancount checkПолный пример должен пройти без ошибок. Его проверка баланса проверяет сумму на расчетном счете на начало 6 августа, после трех предыдущих списаний.
Подтвердите результат по выписке:
- Три транзакции из выписки появляются по одному разу каждая, в дополнение к начальному балансу.
- Списания в сумме составляют 194.90 USD.
- На расчетном счете 805.10 USD: начальные 1 000.00 USD за вычетом этих списаний.
- Офисные расходы в сумме 74.90 USD, а хостинг — 120.00 USD.
Если вы оставите транзакцию Amazon в ожидании, расчетный счет останется на 835.00 USD, и проверка не пройдет на 29.90 USD. Исследуйте эту разницу; не добавляйте необъяснимую корректировку просто для прохождения проверки.
bea check выявляет ошибки синтаксиса, счетов, балансировки и проверок баланса. Он не может установить подлинность чека, правильность выбранной категории расходов или наличие каждой строки выписки. Транзакция, отнесенная к неправильному счету расходов, все равно может идеально балансироваться.
Когда что-то не сходится
| Симптом | Следующая проверка |
|---|---|
| Баланс отличается от выписки | Сравните начальный баланс, количество транзакций, знаки, даты и суммы с источником. |
| Две записи выглядят одинаково | Сравните идентификаторы исходных транзакций и чеки. Один и тот же продавец и сумма могут представлять две законные покупки. |
| Модель выдумывает счет | Выберите существующий счет или осознанно создайте новый после проверки вашего плана счетов. |
| Извлечение пропускает строку или изменяет десятичные знаки | Исправьте извлеченные данные по оригинальному документу перед категоризацией. |
| Валидатор проходит, но отчет выглядит неправильно | Проверьте выбор счетов, отчетный период и отдельные проводки. |
Попросите ИИ объяснить расхождения и указать на затронутые строки. Подтвердите доказательства перед удалением предполагаемого дубликата или изменением суммы.
5. Сохраните проверенный результат и выполните запрос
При повторении этого рабочего процесса с вашей собственной выпиской объедините только проверенные транзакции в реальную книгу, затем валидируйте объединенный файл. Оставьте вымышленные записи в файле-образце. Если вы используете Git, просмотрите diff и зафиксируйте изменения через обычный рабочий процесс. Храните исходную выписку для последующей сверки. Руководство по скриптовым рабочим процессам охватывает повторяемую локальную автоматизацию.
Вы можете проверить итоги образца с помощью языка запросов Beancount. С установленным Beanquery выполните:
bea --file review.beancount query "SELECT account, sum(position) WHERE account ~ '^Expenses:' AND date >= 2026-08-01 AND date < 2026-09-01 GROUP BY account"Два итога по расходам должны составлять 74.90 USD для офисных расходов и 120.00 USD для хостинга. Проверьте диапазон дат и фильтр по счетам в запросе, а также его вывод.
С ИИ-клиентом, подключенным к книге, содержащей образец, вы можете спросить:
Выполни запрос к книге-образцу по расходам за август 2026 года, сгруппированным по счетам. Покажи запрос и его результаты. Не изменяй никакие файлы.
Сравните его ответ с теми же итогами. Беглый ответ полезен только тогда, когда его цифры можно проследить до книги.
Примените процесс проверки в Beancount.io
Для файлов выписок откройте Import → Smart Import на боковой панели вашей книги. Проверьте извлеченные строки, выберите Source Account и Currency, используйте AI Fill для предложений по счетам назначения. Исправьте категории перед отправкой Import, кнопка которого включает количество транзакций. Проверьте полученный журнал и балансы в тестовой книге перед обработкой реальной выписки. Убедитесь, что списания уменьшают исходный счет; приведенный выше CSV подготовлен для локального конвертера, и импортеры могут интерпретировать знаки иначе.
Для размещенного Assistant откройте Ask Beancount.io внутри вашей книги. Начните с вопроса о существующих записях. Когда он предложит редактирование файла, проверьте diff перед одобрением. Принятые импорты и правки Assistant записываются в Git, чтобы вы могли просмотреть или откатить изменения.
Для MCP следуйте инструкциям по настройке для конкретного клиента, указанным выше, и авторизуйте нужную книгу. Запросите editLedgerFiles с dry_run: true перед разрешением редактирования. Проверьте предлагаемое содержимое и сводку операции, затем разрешите отдельный вызов записи только после проверки. Предварительный просмотр сухого запуска не устанавливает бухгалтерскую корректность и не гарантирует, что ваш клиент запросит разрешение перед последующей записью.
Сохраняйте процесс проверки при автоматизации
Начните с небольшой партии и записывайте, какие предложения вы меняете. Превращайте повторяющиеся подтвержденные сопоставления в явные правила импорта или предоставляйте проверенные примеры в качестве контекста. Не предполагайте, что модель постоянно учится на исправлении в разговоре.
Держите проверки извлечения, проверку категорий и сверку выписок отдельно. Каждая выявляет разный тип ошибок. Для повторяющихся импортов также проверяйте, что импорт одного и того же источника дважды не создает молчаливые дубликаты транзакций.
Исследования подтверждают различие между корректным синтаксисом и правильной бухгалтерией. Исследование Фигероа Росеро и коллег от января 2025 года оценивало небольшие модели с открытыми весами на сценариях финансовых коэффициентов и генерации транзакций с использованием структурированных подсказок. Его результаты описывают эти модели и задачи, а не показатель точности для сегодняшних ассистентов или вашего импортного рабочего процесса. Оценивайте свой собственный рабочий процесс, используя проверенные исходные транзакции и требуемые ими исправления.
Инструменты для повторяемого локального рабочего процесса
Выберите инструмент для той части процесса, которую нужно повторять:
- Beangulp предоставляет фреймворк импортера. Он заменяет старый фреймворк
beancount.ingestв Beancount 3. - smart_importer — отдельно устанавливаемый пакет, добавляющий предложения на основе машинного обучения к импортерам. Это не встроенная функция LLM.
- Beanborg документирует категоризацию на основе правил, предложения машинного обучения и опциональные прогнозы ChatGPT. Проверьте его текущую настройку и совместимость перед использованием.
Для более широкого контекста см. руководство по автоматизации бухгалтерии и руководство по ежемесячному бухгалтерскому рабочему процессу.
Изучите более крупный пример
Публичная книга ниже отделена от упражнения с тремя транзакциями. Используйте её, чтобы изучить, как счета, транзакции и отчеты сочетаются друг с другом, перед подключением ИИ к вашим собственным книгам.