오픈 소스 · MIT 라이선스 · 셀프 호스팅

모든 구독을,
하나의 장부에.

카드도 지역도 통화도 제각각인 구독. Calends에 모으면 언제 얼마가 결제되는지, 일 년에 얼마를 쓰는지 한눈에 볼 수 있습니다.

Calends 개요: 월 구독 지출, 구독 분포와 결제 타임라인
모바일 Calends 개요

구독

어떤 구독이든, 어떤 주기든

월간, 연간, N일 간격, 영구 이용권까지 기록합니다. 체험판, 첫 결제 할인, 일시 정지, 갱신 중단도 구분하고, 가격·지역 변경과 중단·재개 이력을 모두 남깁니다.

결제 주기와 가격 이력
구독 카드 보기
구독 카드 보기

캘린더

언제, 얼마가 결제되는지

월간 보기로 날짜별 결제를, 연간 보기로 한 해의 흐름을 확인하세요. 비공개 ICS 링크를 Apple 또는 Google 캘린더에 구독하고, 결제 전에 원하는 시간에 알림을 받을 수 있습니다.

캘린더와 알림 설정
캘린더 월간 보기와 이번 달 결제
캘린더 월간 보기와 이번 달 결제

보고서

돈이 어디로 나가는지 한눈에

월별 지출 추이와 전월 대비 변동을 환율, 새 구독, 가격 인상, 구독 해지로 나눠 봅니다. 갱신이 다가오는 연간 구독, 놓친 가격 인상, 부족해질 잔액도 점검합니다.

각 지표의 계산 방식
보고서: 지출 추이, 월별 변동과 점검 결과
보고서: 지출 추이, 월별 변동과 점검 결과

지갑

카드도 잔액도 한곳에

은행 카드, 지역별 App Store 잔액, 선불 SIM, 가맹점 충전금을 관리합니다. 현재 잔액으로 몇 번 더 결제할 수 있는지, 언제 충전해야 하는지 계산합니다.

지갑과 잔액 예상
지갑: 결제 수단과 잔액으로 결제 가능한 기간
지갑: 결제 수단과 잔액으로 결제 가능한 기간

공유와 대납

분담은 명확하게, 회수도 빠짐없이

공유 구독을 만들고 멤버별로 언제까지 납부했는지 기록해 기한이 되면 한 번에 청구하세요. 친구 대신 결제한 구독은 따로 관리하며 회수액, 환차액, 수수료도 확인합니다.

공유 구독

멤버별 분담금, 미수금, 연간 순비용.

공유 구독: 멤버와 미수금

대납

친구 대신 결제하고 주기별로 회수하며 차액은 자동 계산.

대납: 결제액, 회수액과 미수금
공유 비용 계산 방식

내장 도우미

영수증을 넣으면 기록 준비 끝

App Store 영수증, 결제 문자, 구독 페이지 스크린샷을 붙여 넣으세요. 도우미가 이름, 가격, 주기, 결제 수단을 읽고 중복을 확인한 뒤 초안을 만듭니다. 확인하기 전에는 장부에 저장하지 않습니다.

  • 텍스트, 스크린샷, 둘 다 함께 인식
  • 초안을 먼저 만들고 확인 후 저장
  • “이번 달에 얼마 결제돼?”라고 물어보세요

본인의 DeepSeek API 키를 사용하며, 키는 본인 서버에만 저장됩니다.

내장 도우미
도우미: 붙여 넣은 영수증으로 만든 구독 초안

AI 연결

쓰던 AI로 장부 조회와 수정까지

Calends에는 MCP 서버가 내장되어 있습니다. Claude Code, Codex, Cursor, Grok Bot을 연결하고 “다음 주에 갱신되는 구독은?” 또는 “오늘부터 Netflix가 17.99 미국 달러로 올랐어”라고 말하면 처리합니다.

  • Claude Code
  • Codex
  • Cursor
  • Gemini CLI
  • Grok Bot
다음 주에 갱신되는 구독은?
3개입니다. Spotify(일요일), iCloud+(월요일), ChatGPT Plus(화요일). 모두 기본 카드로 결제됩니다.
오늘부터 Netflix가 17.99 미국 달러로 올랐어.
15.49 미국 달러 → 17.99 미국 달러로 기록했습니다. 오늘부터 적용되며 과거 결제는 그대로 유지됩니다.
MCP 연결 방법과 도구 목록
AI 연결 페이지: 도우미 선택과 설정 복사
AI 연결 페이지: 도우미 선택과 설정 복사

알림

결제 전에, 자주 보는 곳으로

매일 지정한 시간에 확인해 결제 며칠 전에 알려 주고, 월초에는 월간 요약을 보냅니다. 공유 멤버의 납부 기한이 되면 회수할 금액도 알려 줍니다.

  • Email
  • Telegram
  • Lark
  • DingTalk
  • WeCom
  • Slack
  • Discord
  • Bark
  • ntfy
  • ServerChan
  • Webhook
채널별 설정 방법

공개 페이지

보여 주고 싶을 때만 공개

선택해서 사용하는 읽기 전용 페이지입니다. 표시할 구독을 직접 고르고, 민감한 정보는 서버에서 가립니다. 프로필 사진과 제목도 바꿀 수 있습니다.

공개 페이지: 월 지출과 타임라인

셀프 호스팅

원하는 환경에서 실행

가입도 구독료도 없습니다. 코드는 공개되어 있고 데이터는 설치한 곳에만 저장됩니다.

Cloudflare

추천

Workers + D1. 개인용으로는 무료 한도면 충분합니다.

git clone https://github.com/imetn/calends
cd calends
npm ci
npx wrangler login
npx wrangler secret put SETUP_TOKEN
npm run deploy

배포 후 /admin을 열어 초기 설정 토큰을 입력하고 비밀번호를 정하세요.

배포하기

Docker

어떤 기기든

NAS, VPS, 집에 있는 컴퓨터까지. 데이터는 SQLite 파일 하나로 저장됩니다.

docker run -d --name calends \
  -p 8787:8787 -v calends-data:/data \
  ghcr.io/imetn/calends:latest
docker logs calends

처음 실행하면 로그에 일회용 초기 설정 토큰이 표시됩니다.

AI 도우미에게 맡기기

이 문장을 Claude Code, Codex, Cursor에 붙여 넣으세요. 배포할 환경을 물은 뒤 단계별로 진행합니다.

셀프 호스팅 구독 가계부 Calends(https://github.com/imetn/calends)를 배포해 주세요:
1. Cloudflare Workers와 Docker 중 무엇으로 할지 물어본 뒤 README대로 배포합니다.
2. 접속 주소와 초기 설정 토큰을 알려 주고, 제가 비밀번호를 정할 때까지 기다립니다.
3. 「연결」 페이지에서 읽기/쓰기 토큰을 만들어 Calends MCP를 연결합니다.
4. 제 메일함에서 구독 결제 영수증과 갱신 알림을 모두 찾아 구독(이름, 가격, 통화, 주기, 시작일, 결제 수단)으로 정리하고, 하나씩 dry_run으로 확인받은 뒤 기록합니다.
전체 배포 안내

내 장부는 내 손에

MIT 라이선스

모든 코드는 GitHub에 공개됩니다. 자유롭게 사용하고 수정하고 배포하세요.

중앙 서버 없음

데이터는 본인의 D1 데이터베이스 또는 SQLite 파일에 저장됩니다.

앱 내 사용 분석 없음

외부 요청은 공개 환율과 직접 설정한 AI·알림 서비스뿐입니다.

언제든 데이터 이동

JSON 전체 백업·복원과 CSV 가져오기·내보내기를 지원합니다.

오늘부터 구독도 장부에 기록하세요.

배포는 5분. 그 뒤로는 결제 한 건도 빠짐없이.