AI에게 계정과 거래 설명을 제안받은 다음, 저장하기 전에 분개를 원본 증빙과 대조하세요. 이 가이드는 간단한 가상 명세서를 바탕으로 거래 분류, 검토, 검증을 거쳐 직접 확인할 수 있는 조회까지 진행합니다.
아래에서 호스팅 서비스 또는 로컬 파일을 사용하는 작업 방식을 선택하세요. 실습에서는 로컬 샘플 파일을 사용하므로, AI를 실제 장부에 연결하기 전에 각 확인 절차를 직접 재현할 수 있습니다.
작업 방식 선택
| 사용 환경 | 시작 방법 | 변경 사항이 원장에 반영되는 방식 |
|---|---|---|
| Beancount.io 사용 | 명세서 파일에는 Smart Import를 사용하고, 질문이나 편집 제안에는 AI Assistant를 사용하세요. | 가져오기를 제출하기 전에 각 행을 검토합니다. Assistant가 편집을 제안하면 변경 내용을 검토하고 승인 또는 거부를 선택합니다. |
| 외부 AI 클라이언트 사용 | Beancount MCP 설정 가이드에 따라 클라이언트를 호스팅된 원장에 연결하세요. | 드라이런으로 편집 작업을 미리 확인합니다. 별도의 쓰기 호출이 변경 사항을 반영합니다. 승인 요청 여부는 클라이언트 설정에 따라 달라집니다. |
| 로컬 파일 사용 | CSV to Beancount 변환기 또는 임포터를 사용한 다음, AI 도구에 분류를 제안해 달라고 요청하세요. | 제안된 분개를 검토하고 파일을 검증한 후, 수락한 변경 사항을 저장합니다. |
호스팅된 Assistant와 MCP는 Beancount.io의 연동 기능입니다. 오픈소스 Beancount 회계 엔진을 설치해도 이러한 서비스가 로컬 원장에 추가되지는 않습니다.
시작하기 전에
원본 명세서, 해당 명세서의 계정, 그리고 사용할 수 있는 상대 계정 목록을 준비하세요. 결과와 대조할 수 있도록 원본 명세서를 보관하세요.
로컬 실습을 위해 시작 가이드에 따라 Beancount를 설치하세요. 마지막 조회를 터미널에서 실행하려면 Beanquery도 필요합니다. 이 예시는 모든 금액에 USD를 사용하며, 샘플 파일에 기존 거래가 없다고 가정합니다.
실제 데이터를 사용할 때는 AI 도구에 제공할 수 있는 정보를 정하세요. 명세서를 공유하기 전에 불필요한 식별 정보를 제거하세요. 로컬 원장도 편집기나 MCP 클라이언트를 통해 클라우드 모델에 데이터를 전송할 수 있습니다. 클라이언트와 모델 제공자의 데이터 정책을 확인하세요. 파일을 내 컴퓨터에 저장하는 것만으로 그 내용이 로컬에만 머무르는 것은 아닙니다.
1. 원본 거래부터 확인
가상의 당좌예금 계좌는 8월을 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위의 완전한 예시는 오류 없이 통과해야 합니다. 잔액 단언은 앞선 세 건의 출금이 반영된 8월 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는 구문, 계정, 거래의 차변·대변 균형, 잔액 단언 오류를 잡아냅니다. 영수증이 진짜인지, 올바른 비용 항목을 선택했는지, 명세서의 모든 행이 포함되어 있는지는 확인할 수 없습니다. 잘못된 비용 계정에 기장한 거래도 차변과 대변은 완벽히 일치할 수 있습니다.
일치하지 않는 부분이 있을 때
| 증상 | 다음 확인 사항 |
|---|---|
| 잔액이 명세서와 다름 | 기초 잔액, 거래 건수, 부호, 날짜, 금액을 원본과 대조하세요. |
| 두 분개가 비슷해 보임 | 원본 거래 식별자와 영수증을 비교하세요. 판매처와 금액이 같아도 실제로는 별개의 두 구매일 수 있습니다. |
| 모델이 계정을 임의로 만듦 | 기존 계정을 선택하거나, 계정과목표를 검토한 후 새 계정을 만들지 결정하세요. |
| 추출 과정에서 행이 빠지거나 소수 값이 바뀜 | 분류하기 전에 추출된 데이터를 원본 문서에 맞게 수정하세요. |
| 검증은 통과하지만 보고서가 이상함 | 선택한 계정, 보고 기간, 개별 기장 내역을 확인하세요. |
AI에게 차이를 설명하고 관련된 행을 짚어 달라고 요청하세요. 중복으로 의심되는 거래를 삭제하거나 금액을 변경하기 전에 근거를 확인하세요.
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여야 합니다. 출력뿐 아니라 쿼리의 날짜 범위와 계정 필터도 확인하세요.
샘플이 들어 있는 원장에 AI 클라이언트가 연결되어 있다면 다음과 같이 요청할 수 있습니다.
샘플 원장에서 2026년 8월 비용을 계정별로 묶어 조회하세요. 쿼리와 결과를 보여 주세요. 어떤 파일도 변경하지 마세요.
응답을 위의 합계와 비교하세요. 자연스러운 답변도 수치를 원장에서 추적해 확인할 수 있어야 유용합니다.
Beancount.io에 검토 절차 적용
명세서 파일을 처리하려면 원장 사이드바에서 가져오기 → Smart Import를 여세요. 추출된 행을 검토하고 원본 계정과 통화를 선택한 다음, AI Fill로 상대 계정 제안을 받으세요. 거래 건수가 표시된 가져오기 버튼을 눌러 제출하기 전에 분류를 수정하세요. 실제 명세서를 처리하기에 앞서 샘플 원장에서 생성된 분개장과 잔액을 확인하세요. 출금으로 원본 계정의 잔액이 줄어드는지 검증하세요. 위의 CSV는 로컬 변환기용으로 준비되었으며, 임포터마다 부호를 다르게 해석할 수 있습니다.
호스팅된 Assistant를 사용하려면 원장 안에서 Beancount.io에 질문하기를 여세요. 기존 분개에 대한 질문부터 시작하세요. 파일 편집이 제안되면 승인하기 전에 변경 내용을 검토하세요. 수락된 가져오기와 Assistant 편집은 Git에 기록되므로 변경 사항을 확인하거나 되돌릴 수 있습니다.
MCP를 사용한다면 위에 링크된 클라이언트별 설정 안내를 따르고, 의도한 원장에 대한 접근을 승인하세요. 편집을 허용하기 전에 editLedgerFiles를 dry_run: true로 요청하세요. 제안된 내용과 작업 요약을 확인하고, 검토한 후에만 별도의 쓰기 호출을 허용하세요. 드라이런 미리보기는 회계적으로 올바르다는 사실을 입증하지 않으며, 클라이언트가 나중에 쓰기 작업을 하기 전에 반드시 권한을 요청한다는 보장도 아닙니다.
자동화하면서도 검토 절차 유지
작은 묶음으로 시작하고 어떤 제안을 수정했는지 기록하세요. 반복해서 확인된 매핑은 명시적인 가져오기 규칙으로 만들거나, 검토된 예시를 맥락으로 제공하세요. 대화 중에 수정한 내용을 모델이 영구적으로 학습한다고 가정하지 마세요.
추출 결과 확인, 분류 검토, 명세서 대조를 구분하세요. 각 단계는 서로 다른 종류의 오류를 잡아냅니다. 정기적으로 가져올 때는 같은 원본을 두 번 가져와도 거래가 아무 표시 없이 중복되지 않는지 확인하세요.
연구에서도 유효한 구문과 올바른 회계 처리를 구분할 필요성이 나타납니다. Figueroa Rosero 연구진의 2025년 1월 연구는 구조화된 프롬프트를 사용해 재무비율 시나리오와 거래 생성 과제에서 소규모 공개 가중치 모델을 평가했습니다. 결과는 해당 모델과 과제에 관한 것이며, 현재 Assistant나 자신의 가져오기 작업의 정확도를 나타내지 않습니다. 원본과 대조한 거래와 그 거래에 필요한 수정 사항을 바탕으로 자신의 작업 방식을 평가하세요.
반복 가능한 로컬 작업을 위한 도구
반복하려는 작업 단계에 맞는 도구를 선택하세요.
- Beangulp는 임포터 프레임워크를 제공합니다. Beancount 3에서 이전의
beancount.ingest프레임워크를 대체합니다. - smart_importer는 별도로 설치하는 패키지로, 임포터에 머신러닝 기반 제안을 추가합니다. 내장 LLM 기능은 아닙니다.
- Beanborg 문서에서는 규칙 기반 분류, 머신러닝 기반 제안, 선택적으로 사용할 수 있는 ChatGPT 예측을 다룹니다. 도입하기 전에 현재 설정 방법과 호환성을 확인하세요.
더 넓은 맥락은 장부 관리 자동화 가이드와 월별 회계 작업 가이드를 참고하세요.
더 큰 예시 살펴보기
아래의 공개 원장은 앞서 다룬 세 거래 실습과 별개의 예시입니다. AI를 실제 장부에 연결하기 전에 계정, 거래, 보고서가 어떻게 연결되는지 살펴보는 데 활용하세요.