본문으로 건너뛰기

프리랜서를 위한 셀프 호스팅 인보이싱: Invoice Ninja, Crater, InvoicePlane의 실제 운영 비용

게시됨 약 8분Mike ThriftMike Thrift
프리랜서를 위한 셀프 호스팅 인보이싱: Invoice Ninja, Crater, InvoicePlane의 실제 운영 비용
이 페이지에서

월 20달러는 별것 아닌 것처럼 들립니다. 하지만 프리랜서 경력 기간만큼 곱해보기 전까지는요. 월 20달러라면 표준 인보이싱 구독료는 연간 240달러이고, 6년간 프리랜서로 일한다면 PDF를 보내고 돈을 받는 특권에 1,440달러를 지불하는 셈입니다. 반면 작은 가상 사설 서버(VPS)는 월 약 5달러에 임대할 수 있고, 최고의 셀프 호스팅 인보이싱 소프트웨어는 무료입니다.

그렇다면 구독을 취소하고 직접 인보이싱을 호스팅해야 할까요? 기술적인 프리랜서라면 솔직한 답은 이렇습니다. 아마도 그렇습니다. 단, 유지보수되는 소프트웨어를 선택하고 월 한 시간의 관리 시간을 확보할 경우에만요. 이 가이드는 계속 마주치게 될 세 가지 이름 — Invoice Ninja, Crater, InvoicePlane — 을 살펴보며, 각각의 실제 운영 비용, 감수해야 할 유지보수, 그리고 호스팅 소프트웨어를 유지하는 것이 더 현명한 선택인 경우를 다룹니다.

실제 계산: 구독 vs. 셀프 호스팅​

현재 지불하고 있거나 지불하게 될 호스팅 인보이싱 비용부터 시작해 봅시다:

  • FreshBooks는 입문 티어 기준 월 청구 시 $21(연간 플랜은 월 $17)부터 시작하며, 더 완전한 회계 기능은 월 $38의 Plus 플랜에서 제공됩니다.
  • QuickBooks Solopreneur는 월 $20로, 인보이싱과 함께 세금 분류 및 Schedule C 준비를 원하는 1인 사업자를 정조준한 제품입니다.
  • Invoice Ninja 자체 호스팅 서비스는 진정한 무료 티어(최대 5명 고객, 무제한 인보이스)를 제공하며, 유료 플랜은 월 $14와 $18입니다.

이제 셀프 호스팅 쪽을 봅시다:

  • 주요 업체의 작은 VPS는 월 약 $5, 즉 연간 약 $60입니다.
  • Invoice Ninja의 셀프 호스팅 에디션은 무료이며 Pro 및 Enterprise 기능을 포함합니다. 고객 대면 페이지에서 Invoice Ninja 브랜딩을 제거하는 선택적 화이트 라벨 라이선스는 연 $40입니다.
  • InvoicePlane은 무료이며 유료 티어가 전혀 없습니다.

따라서 현실적인 비교는 일반적인 SaaS 구독의 연간 약 $240 대 셀프 호스팅의 연간 약 $60~$100입니다. 대략 연 $150를 절약합니다 — 의미는 있지만 인생을 바꿀 정도는 아닙니다. 셀프 호스팅을 해야 하는 더 강력한 이유는 고객 데이터에 대한 통제, 고객 수 제한과 가격 인상으로부터의 자유, 그리고 인보이스 템플릿과 워크플로를 정확히 원하는 대로 커스터마이즈할 수 있는 능력입니다. 절약은 보너스이지 이유가 아닙니다.

옵션 1: Invoice Ninja — 대부분의 프리랜서가 선택해야 할 것​

Invoice Ninja는 오늘날 이용 가능한 가장 유능한 셀프 호스팅 인보이싱 옵션이며, 세 가지 중 활발히 개발되고 있는 유일한 것입니다. 버전 5 코드베이스는 Laravel(PHP) 백엔드에 Flutter 기반 웹 및 모바일 앱을 갖추고 있으며, 인보이스, 견적, 반복 청구, 경비, 시간 추적, 칸반 보드가 있는 프로젝트, 고객 포털, 그리고 수십 개의 게이트웨이를 통한 온라인 결제를 다룹니다.

셀프 호스터에게 조건은 이례적으로 관대합니다. 셀프 호스팅 에디션은 무료이며 호스팅 고객이 월 $14~$18를 지불하는 Pro 및 Enterprise 기능을 잠금 해제합니다. 유일한 유료 추가 옵션은 연 $40의 화이트 라벨 라이선스로, "Created by Invoice Ninja" 브랜딩을 제거합니다. 고객이 포털과 인보이스 PDF를 보게 된다면 — 그리고 그럴 것입니다 — 예산에 포함시키세요.

알아두어야 할 라이선스 미묘함​

Invoice Ninja v5는 Elastic License 2.0에 따라 배포됩니다. 즉, 엄밀한 의미에서 오픈 소스가 아니라 소스 공개(source-available) 입니다. 코드를 읽고, 수정하고, 자신의 비즈니스를 위해 자유롭게 실행할 수 있지만, 가져다가 경쟁 호스팅 서비스로 재판매할 수는 없습니다. 고객에게 인보이스를 발행하는 프리랜서에게 이 제한은 무관합니다 — 하지만 커뮤니티 보장이 아닌 벤더의 선의에 의존하고 있다는 점은 알아둘 가치가 있습니다. 엄격한 오픈 소스 라이선스가 중요하다면, 아래의 InvoicePlane이 MIT 라이선스 대안입니다.

운영에 필요한 것​

문서화된 서버 요구사항은 소박합니다: PHP 8.1 이상, MySQL 5.7+ 또는 MariaDB 10.3+. 실제로 대부분의 사람들은 공식 Docker 이미지를 세 가지 서비스 — 앱, 데이터베이스, 크론 워커 — 의 compose 스택으로 배포합니다. 첫 실행 설정은 애플리케이션 키 생성, 데이터베이스 마이그레이션 실행, 웹 기반 마법사 완료를 의미합니다. 서버에 도메인 연결, TLS 종료, 인보이스가 실제로 받은편지함에 도달하도록 SMTP 제공자 구성까지 포함하면 첫 번째 시도에는 저녁 하나를 예상하세요.

첫날부터 제대로 해야 할 두 가지: 서버 자체가 아닌 다른 곳으로의 자동 데이터베이스 백업, 그리고 실제로 실행되는 크론 스케줄러 — 이것 없이는 반복 인보이스와 연체 알림이 조용히 멈춥니다.

옵션 2: InvoicePlane — 단순하고, 진정으로 오픈 소스이며, 가벼움​

InvoicePlane은 세 가지 중 가장 미니멀합니다. 견적, 인보이스, 고객, 결제를 관리하기 위한 셀프 호스팅 PHP 애플리케이션으로 MIT 라이선스로 배포됩니다. 옛 FusionInvoice 코드베이스에서 성장했으며 그 프로젝트의 원래 약속 — 유료 티어도, 기능 제한도, 외부 통신도 없는, 자신의 서버에서 실행하는 직관적인 청구 — 을 유지해 왔습니다.

필요가 정말 단순하다면 InvoicePlane을 선택하세요. 한 달에 몇 장의 인보이스를 보내고, 시간 추적이나 프로젝트 관리가 필요 없으며, 처음부터 끝까지 이해할 수 있는 작은 공격 표면을 가진 소프트웨어를 원한다면 훌륭한 선택입니다. 가장 저렴한 공유 호스팅이나 아주 작은 VPS에서도 잘 돌아가며, 그 단순함은 유지보수 이점이기도 합니다. 깨질 것도, 업데이트할 것도 적습니다.

대가는 추진력입니다. 안정적인 1.x 라인은 오래된 CodeIgniter 3 프레임워크 위에 구축되어 있고, 현대적인 v2 재작성(Laravel과 Filament)은 Peppol 전자 인보이싱 같은 주요 부분이 아직 구현되지 않은 채 개발 중입니다. InvoicePlane은 유지보수되고 있지만 느립니다 — 수십 년간 직무가 변하지 않은 도구에게는 괜찮지만, 프로젝트가 방치에서 구해주리라 가정하지 말고 PHP 버전과 백업을 최신 상태로 유지해야 할 이유이기도 합니다.

옵션 3: Crater — 추천이 아닌 경고의 사례​

"최고의 오픈 소스 인보이싱" 목록에서 여전히 Crater를 찾을 수 있습니다: 인보이스, 견적, 경비, 결제를 위한 세련된 Laravel과 Vue.js 앱으로, 모바일 앱과 다중 통화 지원을 갖췄습니다. 몇 년 전에는 그 명성을 정당하게 얻었습니다.

오늘날 Crater는 사실상 유지보수가 중단되었습니다. 릴리스는 2022년 버전 6.x에서 멈췄고, 문서 업데이트는 2023년에 중단되었으며, 이후 저장소에는 산발적인 활동만 보였습니다. 아무도 패치하지 않는 청구 소프트웨어는 고객의 이름, 주소, 요율, 결제 세부 정보 주변에 알려진 취약점이 쌓이는 청구 소프트웨어입니다. 그것은 비즈니스 도구의 기반으로 용납할 수 없습니다.

이 교훈은 Crater를 넘어 일반화됩니다. 셀프 호스팅 비즈니스 소프트웨어를 채택하기 전에 저장소의 맥박을 확인하세요 — 최근 릴리스, 병합된 보안 수정, 반응하는 유지관리자. 죽은 커밋 이력을 가진 아름다운 앱은 데모를 입은 부채입니다. Crater의 형태(현대적 스택, 관대한 라이선스)를 심장 박동과 함께 원한다면 SolidInvoice 같은 커뮤니티가 유지보수하는 MIT 라이선스 대안을 보세요.

실제로 감수하게 되는 유지보수​

셀프 호스팅은 구독료를 짧은 목록의 반복적 책임과 교환합니다. 어려운 것은 하나도 없지만, 모두 선택 사항이 아닙니다:

  • 업데이트. 릴리스 후 몇 달이 아니라 며칠 안에 앱과 종속성 업데이트를 적용하세요. 청구 소프트웨어는 개인 데이터를 보유하므로, 인보이싱 스택의 알려진 CVE는 단순한 기술 문제가 아니라 고객 신뢰 문제입니다.
  • 백업. 일일 데이터베이스 덤프와 파일 저장 디렉터리를 자동화하고, 서버 외부로 전송하며, 최소 한 번 복원을 테스트하세요. 테스트하지 않은 백업은 백업이 아니라 희망입니다.
  • TLS 및 접근 제어. 모든 것을 HTTPS로 제공하고, 관리자 패널은 강력한 자격 증명과 지원되는 경우 2단계 인증 뒤에 두며, 데이터베이스 포트를 인터넷에 절대 노출하지 마세요.
  • 이메일 전달성. 스팸에 들어간 인보이스는 결제되지 않습니다. SPF, DKIM, DMARC를 도메인에 구성한 평판 좋은 SMTP 제공자를 통해 발송하고 반송률을 지켜보세요.
  • 크론과 큐. 반복 인보이스, 결제 알림, 환율 업데이트는 모두 스케줄러에 의존합니다. 모니터링하세요 — 조용히 죽은 크론 작업은 갑자기 고객이 연체하기 시작한 것과 똑같이 보입니다.
  • PHP 및 OS 수명 주기. PHP 마이너 버전과 서버 OS의 지원 종료 날짜를 추적하세요. 계획한 업그레이드는 한 시간이 걸리지만, 만료된 버전 때문에 강제되는 업그레이드는 주말을 잡아먹습니다.

안정화되고 나면 대략 월 한 시간, 가끔 업그레이드 저녁을 예산에 잡으세요. 그것이 원망스러운 잡일처럼 들린다면, 그 느낌 자체가 데이터입니다 — 호스팅을 유지하세요.

셀프 호스터를 물어뜯는 흔한 실수​

대부분의 셀프 호스팅 실패는 지루하고 예방 가능합니다:

  1. 서버 외부 백업 없음. 같은 VPS의 스냅샷은 백업이 아닙니다. 제공자가 나쁜 날을 보내면 데이터와 "백업"이 함께 증발합니다.
  2. 점프가 무서워질 때까지 업데이트 미루기. 연간 열두 번의 작은 업그레이드는 고통이 없습니다. 세 개의 메이저 버전을 건너뛰는 한 번의 거대한 도약이 인보이스가 사라지는 방식입니다. 조금씩 자주 업데이트하세요.
  3. HTTPS 없이 운영. 고객 이름과 금액을 평문 HTTP로 전달하는 인보이스 포털은 태만입니다. 무료 인증서는 몇 분이면 됩니다 — 변명의 여지가 없습니다.
  4. 크론 워커 망각. "내 반복 인보이스가 멈췄다"의 가장 흔한 원인입니다. 스케줄러가 재부팅과 배포에서도 살아남는지 확인하세요.
  5. 업그레이드용 스테이징 없음. 서버를 스냅샷하거나, 더 나아가 주요 업그레이드를 클론에서 리허설하세요. 스냅샷 롤백이 자정에 반쯤 마이그레이션된 데이터베이스를 디버깅하는 것보다 낫습니다.
  6. 인보이스 도구를 장부로 착각. 인보이싱 소프트웨어는 청구한 것을 추적하며, 복식부기 회계가 아닙니다. 이는 마지막 섹션으로 이어집니다.

호스팅을 유지하는 것이 더 현명한 경우​

셀프 호스팅은 도덕적 미덕이 아니며, 구독료를 지불해야 할 명확한 경우가 있습니다:

  • 활성 고객이 다섯 명 이하. Invoice Ninja의 호스팅 무료 티어는 무비용, 무유지보수로 이를 커버합니다. 받아들이세요.
  • 은행 동기화와 자동 대사에 의존함. 호스팅 도구의 Yodlee 및 GoCardless 통합은 직접 연결할 수 있는 무엇보다 낫습니다.
  • 전자 인보이싱 의무가 적용됨. Peppol과 국가별 의무가 2026년까지 확산됨에 따라, 호스팅 Enterprise 티어의 내장 전자 인보이싱 크레딧이 직접 규정 준수를 구현하는 시간보다 저렴할 수 있습니다.
  • 세금 시즌이 병목. 실제로 필요한 것이 Schedule C 분류와 깔끔한 연말 보고서라면, QuickBooks Solopreneur의 월 $20는 인보이스뿐 아니라 세금 워크플로를 삽니다.
  • 유지보수를 하지 않을 것. 고객 금융 데이터를 보유한 패치되지 않은 서버는 중요한 모든 면에서 구독보다 나쁩니다.

인보이싱은 부기가 아니다 — 둘을 연결하라​

무엇으로 인보이스를 발행하든, 발송된 인보이스는 재무 그림의 절반일 뿐임을 기억하세요. 인보이스는 고객이 당신에게 얼마를 빚졌는지 기록하고, 장부는 돈이 실제로 언제 도착했는지, 결제 처리자가 얼마의 수수료를 떼갔는지, 어떤 비용이 소득을 상쇄하는지, 예상 세금으로 얼마를 내야 하는지를 기록해야 합니다. "청구됨"을 "벌어들임"으로 취급하는 프리랜서는 세금 시즌에 그 차이를 — 보통 고통스럽게 — 발견합니다.

간단한 월간 습관을 만드세요: 모든 입금을 해당 인보이스와 대사하고, 처리자 수수료를 조용히 상계하지 말고 비용으로 기록하며, 비즈니스 자금을 별도 계좌에 보관해 흔적을 깨끗하게 유지하세요. 그 습관 뒤의 복식부기 추적 메커니즘을 원한다면, 문서에서 어떤 인보이싱 도구에도 맞는 장부 설정을 안내합니다.

인보이스와 장부를 동기화하세요​

프리랜서 청구를 간소화하면서 — 셀프 호스팅이든 아니든 — 그 인보이스 뒤의 명확한 재무 기록을 유지하는 것이 세금 시즌을 지루하게 만드는 비결입니다. Beancount.io는 재무 데이터에 대한 완전한 투명성과 통제를 제공하는 평문 회계를 제공합니다 — 블랙박스도, 벤더 종속도 없습니다. 무료로 시작하고 개발자와 금융 전문가들이 왜 평문 회계로 전환하는지 확인하세요.

출처: https://beancount.io/ko/blog/2026/10/06/self-hosted-invoicing-freelancers-invoice-ninja-crater-invoiceplane-guide

게시됨: 2026년 10월 6일