2026년 프라이버시 전문 기업 Incogni의 연구에 따르면, 가장 인기 있는 예산 앱 20개 중 60%가 사용자의 금융 데이터를 제3자와 공유합니다. 대부분은 은행과 휴대폰 앱 사이에서 데이터를 중개하는 Plaid를 통해 이루어지며, 사용자의 자격 증명을 조용히 저장하고 익명화된 거래 데이터를 재판매합니다. 또한 2025년은 미국에서 금융 서비스 침해 사고가 기록적인 해였으며, 739건의 확인된 사건이 발생했습니다. 이 숫자는 2026년까지 계속 증가하여, 단 한 번의 핀테크 대출 기관 데이터 공개로 거의 백만 개의 계정이 노출되기도 했습니다.
만약 이러한 이유로 금융 데이터를 타인의 서버에서 옮기고 싶다면, 두 가지 진지한 오픈소스 옵션이 있습니다: Firefly III와 Actual Budget입니다. 둘 다 무료이며, 셀프 호스팅이 가능하고, 월 5달러짜리 VPS나 책상 아래의 Raspberry Pi에서도 문제없이 실행됩니다. 하지만 이 둘은 같은 도구에 다른 스킨을 입힌 것이 아닙니다. 각각 전혀 다른 문제를 해결하며, 잘못된 도구를 선택하면 매달 소프트웨어와 싸우게 될 것입니다.
동일한 앱의 두 가지 변형이 아닌, 서로 다른 두 가지 철학
두 도구의 차이를 가장 빠르게 이해하는 방법: Actual Budget은 예산 도구입니다. Firefly III는 회계 시스템입니다.
Actual은 YNAB(You Need A Budget)이 대중화시킨 제로베이스 봉투 예산법을 기반으로 합니다. 수입이 생기는 즉시 모든 달러에 역할(임대료, 식료품, 연간 자동차 보험료를 위한 저축 등)을 할당합니다. 전체 인터페이스는 "지금 이 카테고리에 얼마나 남았지?"라는 한 가지 질문에 빠르게 답할 수 있도록 설계되었으며, 깔끔하고 독창적인 UI로 방해받지 않고 답을 제공합니다.
Firefly III는 다른 출발점을 가지고 있습니다. 마치 기업이 장부를 관리하는 방식으로 재정을 처리합니다. 모든 거래에는 출처 계정과 대상 계정이 있으며, 모든 항목은 두 번 기록됩니다. 한 번은 돈이 한 곳에서 나가는 것으로, 다른 한 번은 다른 곳에 도착하는 것으로 기록됩니다. 이것이 바로 복식부기이며, 전문 회계 시스템(Beancount와 같은 일반 텍스트 장부 포함)이 사용하는 동일한 기반입니다. Firefly III의 인터페이스는 이를 반영합니다: 깊은 계정 계층 구조, 저금통, 청구서, 규칙 기반 자동 분류, 그리고 수년간의 전체 재정 기록을 계정, 카테고리, 예산, 태그별로 분석할 수 있는 보고 기능을 제공합니다.
어느 접근 방식이 절대적으로 "더 낫다"고 말할 수는 없습니다. 문제는 "이번 주에 외식을 할 여유가 있는지 알려줘"라고 원하는 사람이 Firefly III를 설치하고 과하다고 느끼거나, "2019년 이후 12개 계정의 전체 순자산 내역을 보여줘"라고 원하는 사람이 Actual을 설치하고 너무 단순하다고 느낄 때 발생합니다.
Firefly III: 직접 호스팅하는 완전한 회계 시스템
Firefly III는 PHP 애플리케이션이며, 일반적으로 MariaDB 데이터베이스와 함께 Docker Compose를 통해 배포됩니다. 환경 변수 이름을 변경하고 compose 파일을 조정하면 PostgreSQL로 쉽게 전환할 수 있습니다. bcmath, curl, intl, mbstring, openssl, sodium 등 소수의 PHP 확장이 필요하지만, 이 모든 것은 공식 컨테이너 이미지에 포함되어 있어 실제로 "요구 사항"은 "Docker와 약 15분" 정도입니다.
설정 시간의 대가로 얻을 수 있는 것들:
- 진정한 복식부기. 모든 거래는 두 계정 간의 이체로, 이는 단순한 입출금 장부보다 훨씬 더 엄격한 조정 및 과거 보고를 가능하게 합니다.
- 규칙 및 자동 분류. 한 번 규칙을 정의하면(예: "설명에 'WHOLEFDS'가 포함되면, 카테고리 = 식료품"), Firefly III는 모든 향후 가져오기에 이를 적용합니다.
- 심층 보고. 다년간의 추세 차트, 예산 대비 실적, 카테고리별 분석, 그리고 데이터를 다른 곳으로 가져오고 싶다면 REST API도 제공합니다.
- GoCardless를 통한 은행 연동(구 Nordigen). 대부분의 유럽 은행을 잘 지원하지만 미국 은행 지원은 부족합니다. 이는 북미 사용자가 당좌 계좌와 원클릭 동기화를 기대한다면 실제적인 한계입니다.
학습 곡선은 무시할 수 없습니다. 새로운 사용자는 계정 유형 모델(자산, 비용, 수익 계정은 단순한 레이블이 아니라 복식부기 수학이 작동하는 방식을 결정함)과 여러 규칙이 동일한 거래에 적용될 수 있을 때의 규칙 순서에 자주 혼란을 겪습니다. 점심 시간이 아닌 주말을 할애하여 익숙해지는 것이 좋습니다.
Actual Budget: 빠르고, 로컬 우선이며, 한 가지 질문에 최적화됨
Actual은 단일 Docker 컨테이너로 제공되며 외부 데이터베이스에 의존하지 않습니다. 모든 상태는 컨테이너의 데이터 볼륨 내부에 있는 SQLite 파일에 저장됩니다. 이미지를 가져오고, 포트를 매핑하고, 볼륨을 마운트하면 실행됩니다. Firefly III보다 셀프 호스팅이 훨씬 간단하며, 이는 "개인 회계 플랫폼 구축"보다 "오늘 밤에 예산 관리를 시작하고 싶다"는 목표에 더 적합합니다.
Actual은 설계상 로컬 우선입니다. 앱은 오프라인에서도 작동하며, 다시 연결되면 여러 기기 간에 조용히 동기화됩니다. 동기화 계층에는 선택적 종단간 암호화가 제공됩니다. 봉투 예산법, 깔끔한 거래 기록부, 그리고 순자산 및 현금 흐름을 다루는 기본 제공 보고서 빌더를 제공합니다. Firefly III의 보고 기능보다는 덜 포괄적이지만, 견고합니다.
은행 연동의 경우, Actual은 유럽에서 GoCardless를, 북미에서는 SimpleFin(유료 서비스, 연간 약 $15)에 의존합니다. "무료 및 오픈소스"가 항상 "무료 은행 연결"을 의미하지는 않는다는 점을 주목할 가치가 있습니다. 많은 셀프 호스터는 자동 동기화를 건너뛰고 대신 주간 CSV 가져오기를 수행합니다. 두 도구 모두 이를 지원하지만, 과거 거래를 마이그레이션하려면 계정 이름, 카테고리 구조, 및 기초 잔액을 수동으로 재구성해야 합니다. 어떤 도구를 선택하든 오후 정도의 정리 작업이 필요할 것입니다.
셀프 호스팅의 실제 비용
"무료 및 오픈소스"가 "실행 비용이 무료"라는 의미는 아닙니다. 여전히 컨테이너가 실행될 공간이 필요합니다. 현실적인 옵션:
- 이미 소유하고 있는 Raspberry Pi — 사실상 무료이며, 두 앱의 적당한 리소스 요구 사항을 처리하기에 충분한 성능을 제공합니다.
- 소형 VPS(DigitalOcean, Hetzner, Linode) — 월 $4~$6. Firefly III와 데이터베이스, 또는 Actual의 단일 컨테이너를 실행하기에 충분한 여유 공간을 제공합니다.
- 홈 NAS(Synology, Unraid, TrueNAS) — 이미 미디어나 백업용으로 사용 중이라면 추가 Docker Compose 스택만 추가하면 됩니다.
YNAB 구독료가 연간 약 $109 또는 월 $14.99인 것과 비교하면 계산은 간단합니다. 월 $5 VPS에서 두 도구 중 하나를 실행하면 약 6주 만에 YNAB 비용을 상쇄하고, 그 후 매달 순수 절약이 됩니다. 여기에는 금융 거래 내역을 제3자에게 넘기지 않는다는 가치도 포함되지 않았습니다.
은행 연동은 어떤 경우든 예산에 포함시킬 가치가 있는 항목입니다. GoCardless는 2026년 신규 가입자에게 유료 비즈니스 계정을 요구하며(무료 개인 티어는 사라짐), Actual의 북미 SimpleFin 연결은 연간 약 $15입니다. Firefly III와 Actual 모두 이 비용을 피하고 싶다면 수동 CSV 가져오기로도 완벽하게 작동합니다. 다만 자동 동기화 대신 매주 5분 정도의 가져오기 작업을 해야 합니다.
두 도구 모두를 위한 빠른 시작 체크리스트
어느 것을 선택하든 설정 순서는 동일합니다:
- 호스트를 준비합니다. VPS, Pi, 또는 NAS에 Docker와 Docker Compose가 설치되어 있는지 확인합니다.
- 공식 compose 파일을 가져옵니다. 프로젝트의 GitHub 저장소에서 직접 가져오는 것이 좋습니다. 두 프로젝트 모두 테스트된
docker-compose.yml을 유지 관리하므로 환경 변수 오타를 찾느라 시간을 낭비하지 않아도 됩니다. - 실제 금융 데이터를 입력하기 전에 강력한 앱 키/비밀을 설정하고, 컨테이너 외부에 백업합니다(분실 시 암호화된 데이터를 복구하지 못할 수 있습니다).
- 하나의 계정부터 시작합니다. 첫날부터 모든 계정과 5년치 내역을 가져오고 싶은 유혹을 참으세요. 주 당좌 계정을 추가하고, 일주일 동안 분류에 익숙해진 다음 확장하세요.
- 백업을 예약합니다. Firefly III의 데이터베이스와 Actual의 SQLite 파일은 모두 단일 파일(또는 단일 데이터베이스 덤프)이므로, cron 작업을 통해 오프사이트 저장소에 복사할 수 있습니다. 셀프 호스팅의 핵심은 벤더가 아닌 사용자가 데이터 내구성에 책임을 진다는 점입니다.
- 지금 동기화 방식을 결정하고, 나중으로 미루지 마세요. 수동으로 입력한 수개월치 거래에 은행 연동을 나중에 추가하려면 중복 항목을 수동으로 조정해야 합니다. 백로그가 쌓이기 전에 가져오기 전략을 선택하세요.
어떤 것을 실제로 설치해야 할까?
스스로에게 한 가지 질문을 해보세요: 지출을 통제하고 싶은가, 아니면 전체 재정 상황을 이해하고 싶은가?
- Actual Budget을 선택하세요 만약 당신이 빠르고 YNAB 스타일의 봉투 시스템으로 외식, 구독, 연례 컨퍼런스 여행 예산 등 재량 지출을 통제하고 싶은 프리랜서나 솔로 개발자이며, 앱에서 5분을 보내는 것을 50분보다 선호한다면.
- Firefly III를 선택하세요 만약 여러 계정(사업 당좌, 개인 저축, 여러 신용카드, 아마도 암호화폐 지갑)을 운영하고 있으며, 진정한 복식부기 엄격함, 규칙 기반 자동화, 그리고 나중에 조회할 수 있는 수년간의 과거 보고를 통해 이를 모두 조정하는 하나의 시스템을 원한다면.
많은 기술 사용자들은 결국 두 가지를 모두 실행하거나, Actual에서 시작하여 추적할 계정이 더 많아지면 Firefly III로 업그레이드합니다. 이것은 합법적인 경로입니다. 하지만 두 도구 간에 깔끔하게 마이그레이션할 수 있을 것이라고 기대하지 마세요. 전환을 데이터 내보내기/가져오기가 아닌, 수동 기초 잔액 입력으로 새로 시작하는 것으로 간주하세요.
비즈니스 사례: 셀프 호스팅 장부가 단순한 프라이버시 취미가 아닌 이유
만약 당신이 프리랜서이거나 개인 재정과 함께 소규모 사업을 운영한다면, 셀프 호스팅의 프라이버시 논거는 장부 관리로 직접 확장됩니다. 예산 앱이 식료품 습관을 재판매하는 것을 불편하게 만드는 것과 동일한 이유가 사업의 수익, 고객 지불, 공급업체 계약에 두 배로 적용됩니다. 이는 단순히 비공개로 유지하고 싶은 데이터가 아니라, 계약상 또는 법적으로 보호해야 할 의무가 있는 데이터인 경우가 많기 때문입니다.
여기서 "예산 책정"과 "장부 관리"를 구분하는 것도 중요합니다. 사업주는 종종 둘 다 필요하지만 혼동합니다. Actual과 같은 예산 앱은 "이번 달에 얼마나 쓸 수 있나요?"라는 질문에 답합니다. 장부 관리 시스템은 세무사가 세금 신고 시에 물어볼 더 어려운 질문(어떤 고객 지불이 아직 미수금인지, 비용을 제외한 실제 수익 마진은 얼마인지, 특정 거래가 비용 공제 대상인지 등)에 답해야 합니다. Firefly III의 복식부기 모델은 Actual보다 두 번째 작업에 더 가깝지만, 두 도구 모두 소규모 사업 회계를 위해 특별히 제작된 것은 아닙니다. 이들은 개인 재정 앱이 비교적 잘 확장되는 경우일 뿐입니다.
예산 앱만큼 개방적이고 이식 가능한 장부를 유지하세요
복식부기와 데이터 소유권이 Firefly III에 끌린 이유라면, 동일한 원칙을 비즈니스 회계에 특화하여 적용하는 전체 도구 범주가 있다는 것을 아는 것이 좋습니다: 일반 텍스트, 버전 관리 장부입니다. Beancount.io는 이 아이디어를 끝까지 밀어붙입니다. 당신의 장부는 완전히 소유할 수 있는 사람이 읽을 수 있는 텍스트 형식으로 존재하며, 동일한 복식부기 규율을 따르지만 가계 예산이 아닌 비즈니스 추적을 위해 설계되었습니다. 문서를 살펴보거나, 비즈니스 재정 기록을 이 가이드의 셀프 호스팅 도구만큼 투명하고 이식 가능하게 만들고 싶다면 무료로 시작하세요.