전환 날짜를 정하고, 그 전날의 QuickBooks 시산표를 내보낸 뒤, 각 대차대조표 계정마다 pad 하나와 balance 하나로 Beancount 원장을 여세요. bea check가 통과되고 자본 잔액이 QuickBooks와 일치하면 장부가 옮겨진 것입니다. 전환 이후의 모든 것은 Beancount에 기록됩니다.
이 가이드는 QuickBooks Online과 QuickBooks Desktop 모두에 적용됩니다. Beancount에는 QuickBooks 임포터가 함께 제공되지 않으므로 특정 임포터에 의존하지 않습니다. 먼저 잔액을 옮기고, 그다음 얼마나 많은 과거 이력을 가져올지 결정합니다.
아직 전환 여부를 결정 중이라면, 먼저 Beancount vs QuickBooks를 읽어보세요.
1. 전환 날짜와 유지할 항목 결정하기
회계연도 첫날, 예를 들어 2026-01-01을 선택하세요. 연도 경계로 하면 하나의 세무 연도가 하나의 시스템에 남습니다. 또한 첫 Beancount 손익계산서가 0에서 시작한다는 의미이기도 합니다.
Beancount가 얼마나 많은 이력을 담아야 하는지 지금 결정하세요:
- 잔액만. 전환 시점에 개시하고 이전 연도는 QuickBooks 보고서를 아카이브로 보관합니다. 가장 빠른 방법이며, 이 가이드의 나머지 부분은 이 방식을 가정합니다.
- 연간 요약. 각 연도의 시산표에서 과거 연도별로 요약 항목을 하나씩 추가합니다. 그러면 Beancount에서도 다년 보고서가 작동합니다.
- 전체 거래 이력. 스크립트로 총계정원장(General Ledger) 내보내기를 변환합니다. 작업량이 가장 많으며, 5절에서 무엇이 포함되는지 설명합니다.
전환 전날까지 QuickBooks의 모든 은행 및 카드 계정을 조정(reconcile)해 두세요. 조정되지 않은 잔액은 그 오류를 새 원장으로 옮깁니다.
2. QuickBooks에서 내보내기
전환 전날(이 가이드에서는 2025-12-31)을 기준으로 끝나는 세 가지 보고서가 필요합니다:
| 보고서 | 제공하는 정보 |
|---|---|
| Account List | 3단계의 매핑을 위한 모든 계정 이름과 유형 |
| Trial Balance | 각 계정의 기말 잔액, 즉 기초 잔액이 됨 |
| General Ledger | 이력 및 아카이브용 모든 거래 |
QuickBooks Online. Reports로 이동한 뒤 Standard reports에서 각 보고서를 이름으로 엽니다. Export/Print를 선택한 다음 Export to Excel을 선택합니다. Account List는 계정과목표 보고서입니다. Settings 아래 Tools 열에 있는 Export data 도구는 여러 보고서와 목록을 하나의 zip 파일에 담긴 Excel 파일로 내보냅니다. Intuit는 두 경로 모두를 Export your QuickBooks Online data에서 문서화하고 있습니다.
이 QuickBooks Online 내보내기 파일은 Excel 파일입니다. 스프레드시트에서 각 파일을 열고 스크립트가 읽을 경우 CSV 사본을 저장하세요.
첨부 파일(Attachments) 은 별도로 내보냅니다. QuickBooks Online에서 Settings, Attachments로 이동해 파일을 선택하고 Batch actions에서 Export를 선택합니다. zip 파일을 아카이브와 함께 보관하세요.
QuickBooks Desktop. Windows에서 Reports, Reports Center에서 각 보고서를 엽니다. Excel을 선택한 다음 Create New Worksheet를 선택합니다. 다음 창에서 Excel 통합 문서나 CSV 파일을 직접 저장할 수 있으며, 이는 Export reports as Excel workbooks에 설명되어 있습니다. Desktop은 계정과목표를 포함한 목록을 IIF 파일로 내보낼 수도 있습니다: File, Utilities, Export, Lists to IIF Files 순서로 이동합니다. IIF 내보내기는 목록만 포함합니다. Intuit는 거래를 가져올 수는 있지만 내보낼 수는 없다고 명시하고 있으며, 이는 Export, import, and edit IIF files에 설명되어 있습니다.
원본 내보내기 파일은 변경하지 않고 보관하세요. 나중에 숫자에 문제가 제기될 경우 이것이 증거가 됩니다.
3. 계정을 Beancount 계층 구조에 매핑하기
Beancount에는 다섯 개의 루트 계정이 있습니다. 모든 QuickBooks 계정 유형은 그중 하나 아래에 들어갑니다:
| QuickBooks 계정 유형 | Beancount 계정 |
|---|---|
| Bank | Assets:Bank:Checking, Assets:Bank:Savings |
| Accounts receivable (A/R) | Assets:AccountsReceivable |
| Other Current Assets, Fixed Assets | Assets:Prepaid:…, Assets:Equipment:… |
| Credit Card | Liabilities:CreditCard:Visa |
| Accounts payable (A/P), Other Current Liabilities | Liabilities:AccountsPayable, Liabilities:SalesTax |
| Long Term Liabilities | Liabilities:Loans:… |
| Equity, Retained Earnings, Opening Balance Equity | Equity:Opening-Balances |
| Income, Other Income | Income:Sales, Income:Interest |
| Cost of Goods Sold | Expenses:COGS:… |
| Expenses, Other Expense | Expenses:Rent, Expenses:Software |
계정 이름은 대문자로 시작하고 공백을 포함하지 않으므로, "Office Supplies"는 Expenses:Office-Supplies가 됩니다. QuickBooks 하위 계정은 Expenses:Vehicle:Fuel처럼 더 깊은 세그먼트가 됩니다.
Retained Earnings와 Opening Balance Equity는 Equity:Opening-Balances 하나로 합쳐집니다. Beancount는 수익 및 비용 계정에서 당해 연도 이익을 계산하므로 별도의 이월이익잉여금 계정을 이월할 필요가 없습니다.
4. 전환 시점에 원장 열기
이 예시 회사는 2025-12-31 기준으로 네 줄짜리 시산표를 가지고 있습니다. 수익 및 비용 항목은 이미 이월이익잉여금(Retained Earnings)에 합산되어 있습니다. QuickBooks Online도 새 회계연도가 시작될 때 동일하게 처리하며, 이는 View retained earnings account details에 설명되어 있습니다.
| 계정 | 차변 | 대변 |
|---|---|---|
| Checking | 12,450.00 | |
| Accounts Receivable (A/R) | 3,200.00 | |
| Visa credit card | 1,875.40 | |
| Retained Earnings | 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
; Opening balances from the QuickBooks Trial Balance as of 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는 다음 balance 검증을 참으로 만드는 항목을 Beancount가 삽입하도록 요청합니다. 모든 pad의 상대쪽은 Equity:Opening-Balances로 들어갑니다. balance 검증은 해당 날짜의 시작 시점에 검사되므로, pad는 전환 전날로 날짜가 지정됩니다.
차변은 양수가 되고 대변은 음수가 됩니다. 그래서 Visa 잔액이 -1875.40 USD인 것입니다.
마지막 줄이 검증(tie-out)입니다. 자본은 Retained Earnings의 대변 값인 -13774.60 USD가 되어야 합니다. 자산이나 부채 수치를 잘못 입력하면 pad된 자본이 달라지고, 그 검증이 실패합니다.
실제 회사의 경우, 시산표에 있는 모든 대차대조표 계정에 대해 open 하나, pad 하나, balance 하나를 추가하세요. 이름별로 미결제 인보이스를 추적한다면 A/R과 A/P를 고객 또는 공급업체별 하위 계정으로 분할하세요.
5. 이력 가져오기
전환 이후에는 새로운 활동을 Beancount에 기록합니다. 은행 및 카드 명세서가 주요 소스입니다. 브라우저에서 CSV to Beancount 변환기로 은행 CSV 내보내기를 변환하거나, 명령줄의 경우 은행 가져오기 가이드를 사용하세요.
과거 연도는 선택 사항입니다. QuickBooks 총계정원장 내보내기에서 원클릭 가져오기는 없습니다. 그 이력을 옮기는 것은 스크립트 또는 수동 매핑 단계입니다:
- 총계정원장 내보내기를 CSV로 저장합니다.
- 날짜와 거래 번호로 행을 거래별로 그룹화합니다.
- 3단계의 매핑으로 각 계정 이름을 바꿉니다.
- 각 그룹을 전기가 0으로 합산되는 Beancount 거래로 작성합니다.
이력을 가져온다면, 전환 시점이 아니라 그 이력의 시작 시점에 계정을 여세요. 그러면 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 시산표와 한 줄씩 비교하며, 대변은 음수로 처리합니다.
명령줄이 처음이신가요? CLI 빠른 시작으로 bea를 설치하세요.
7. 넘어오지 않는 것
원장 마이그레이션은 회계 잔액과 이력을 옮깁니다. QuickBooks가 그 주위에서 운영하는 업무 기능은 옮기지 않습니다:
- 인보이스 및 결제 링크. 미결제 인보이스는 A/R 잔액으로 남습니다. 이제부터는 별도의 인보이싱 서비스를 사용하세요.
- 급여. 급여 실행, 세금 양식, 직원 기록은 급여 제공업체에 남습니다.
- 판매세 신고. Beancount는 부채를 기록합니다. 신고는 별도의 작업으로 남습니다.
- 첨부 파일. 영수증과 문서는 보고서가 아니라 자체 zip 내보내기로 나옵니다.
- 은행 피드 규칙 및 조정 이력. 분류를 가져오기 규칙으로 다시 구축하세요.
비교 페이지에서 분명히 말합니다: 몇 가지 플러그인이 QuickBooks 운영 제품군 전체를 재현한다고 가정하고 Beancount를 선택하지 마세요. 원장 자체가 장기적으로 유지되는 기록 시스템이 될 때 선택하세요.
소규모 사업체를 Beancount로 운영하시나요? 호스팅 원장, Bank Sync 및 회계사 협업은 소규모 사업체를 위한 Beancount.io를 참조하세요.