Перейти до основного вмісту
Beancount.io Logo

Використовуйте Beancount зі штучним інтелектом: імпорт, перевірка та запити до вашої книги

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

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

Оберіть хмарний або локальний робочий процес нижче. Наведений приклад використовує локальний файл, щоб ви могли відтворити кожен крок перед підключенням штучного інтелекту до вашої власної книги.

Виберіть ваш робочий процес

Ви використовуєтеПочніть тутЯк зміни потрапляють до книги
Ви використовуєте Beancount.ioВикористовуйте Smart Import для файлів виписок або AI Assistant для питань та редагувань.Перевіряйте рядки перед імпортом. Для редагувань асистента перегляньте запропоновані зміни та оберіть Схвалити або Відхилити.
Ви використовуєте зовнішній ШІ-клієнтСлідуйте посібнику з налаштування MCP, щоб підключити ваш клієнт до хмарної книги.Пробний запуск показує попередній перегляд операції редагування. Окремий виклик запису застосовує зміни. Параметри схвалення залежать від налаштувань вашого клієнта.
Ви використовуєте локальні файлиВикористовуйте конвертер CSV у Beancount або імпортер, а потім попросіть ШІ запропонувати категорії.Ви перевіряєте запропоновані проводки, валідуєте файл та зберігаєте прийняті зміни.

Хмарний асистент та 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-03Office Depot-45,00Expenses:Office:SuppliesОпис вказує на папір.
2026-08-04Cloud Hosting Inc-120,00Expenses:Business:HostingОпис вказує на хостинг.
2026-08-05Amazon-29,90NEEDS_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, перегляньте зміни та зробіть комміт через ваш звичайний процес. Зберігайте оригінал виписки для подальшої звірки. Посібник зі скриптових робочих процесів охоплює повторювану локальну автоматизацію.

Ви можете перевірити підсумки зразка за допомогою мови запитів 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

Для файлів виписок відкрийте Імпорт → Smart Import у бічній панелі вашої книги. Перегляньте витягнуті рядки, оберіть Вихідний рахунок та Валюту та використовуйте AI Fill для пропозицій цільових рахунків. Виправте категорії перед підтвердженням Імпорт, кнопка якого показує кількість транзакцій. Перевірте отриманий журнал і баланси на тестовій книзі перед обробкою реальної виписки. Переконайтеся, що списання зменшують вихідний рахунок; наведений вище CSV підготовлено для локального конвертера, а імпортери можуть інтерпретувати знаки по-іншому.

Для хмарного асистента відкрийте Ask Beancount.io у вашій книзі. Почніть із питання про наявні проводки. Коли він запропонує редагування файлу, перегляньте зміни перед схваленням. Прийняті імпорти та редагування асистента зберігаються в Git, тому ви можете переглянути або скасувати їх.

Для MCP дотримуйтесь інструкцій з налаштування вашого клієнта, наведених вище, і авторизуйте цільову книгу. Викликайте editLedgerFiles із dry_run: true перед дозволом на редагування. Перегляньте запропонований вміст і підсумок операції, а потім дозвольте окремий виклик запису лише після перевірки. Попередній перегляд не встановлює бухгалтерської правильності та не гарантує, що ваш клієнт запитає дозвіл перед наступним записом.

Підтримуйте процес перевірки під час автоматизації

Почніть із невеликої партії та фіксуйте, які пропозиції ви змінюєте. Перетворюйте повторювані, підтверджені зіставлення на явні правила імпорту або надавайте перевірені приклади як контекст. Не припускайте, що модель постійно навчається на виправленні в розмові.

Тримайте витягування, перевірку категорій і звірку виписок окремо. Кожен крок виявляє інший тип помилок. Для регулярних імпортів також перевіряйте, що повторний імпорт тієї ж виписки не створює мовчазних дублікатів.

Дослідження підтверджують різницю між правильною синтаксичною структурою та коректним бухгалтерським обліком. Дослідження Фігуероа Росеро та колег від січня 2025 року оцінювало малі моделі з відкритими вагами на сценаріях фінансових коефіцієнтів та генерації транзакцій за структурованими підказками. Його результати описують ці моделі та завдання, а не точність сучасних асистентів або вашого процесу імпорту. Оцінюйте власний процес за допомогою перевірених вихідних транзакцій і необхідних виправлень.

Інструменти для повторюваного локального робочого процесу

Виберіть інструмент для частини процесу, яку вам потрібно повторювати:

  • Beangulp надає фреймворк імпортерів. Він замінює старіший фреймворк beancount.ingest у Beancount 3.
  • smart_importer — це окремо встановлюваний пакет, який додає пропозиції на основі машинного навчання до імпортерів. Це не вбудована функція LLM.
  • Beanborg документує категоризацію на основі правил, пропозиції машинного навчання та опціональні прогнози ChatGPT. Перевірте його поточну конфігурацію та сумісність перед використанням.

Для ширшого контексту дивіться посібник з автоматизації бухгалтерії та посібник із щомісячного бухгалтерського робочого процесу.

Дослідіть більший приклад

Публічна книга нижче є окремою від вправи з трьома транзакціями. Використовуйте її, щоб дослідити, як рахунки, транзакції та звіти поєднуються, перш ніж підключати ШІ до вашої власної книги.

Відкрити Публічна прикладна книга, окрема від вправи з перевірки ШІ у новій вкладці

Джерело: https://beancount.io/uk/docs/Solutions/using-llms-to-automate-and-enhance-bookkeeping-with-beancount