Open Net Worth
Open Net Worth is an open-source personal AI wealth assistant you run yourself: one ledger for your whole financial life, worked by an AI agent you control.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
결제 기준일(매달 1일 또는 15일)까지 남은 잔여 회차 금액에 다음 달 정액을 더해 결제액을 계산합니다. 회원 안내용 카톡 문구도 만들어 줍니다. 폴더 안의 index.html 을 더블클릭하면 브라우저에서 열립니다. 설치할 것도, 인터넷 연결도 필요 없습니다. 폴더 안에 아래 파일이 같이 있어야 합니다. 하나라도 옮기면 안 됩니다. 1. 화면 맨 위에서 회원 구분을 고릅니다 신규 등록은 첫 수업일부터 기준일 전날까지 셉니다. 첫 수업일 당일 수업도 포함됩니다. 기존 회원 전환은 결제가 끝난 기간을 넣으면 종료일 다음날부터 기준일 전날까지 셉니다. 예) A 회원이 8월 8일 ~ 9월 7일까지 결제를 마쳤고 15일 기준으로 옮긴다면, 기존 수강 기간에 2026-08-08 ~ 2026-09-07 을 넣습니다. 잔여 구간은 9/8(화) ~ 9/14(월) 로 잡힙니다. 코치 · 레슨 유형 · 시간 · 요일 구분 · 횟수 · 수업 요일 · 결제 기준일을 고릅니다. 입력을 바꿀 때마다 오른쪽 결과가 바로 다시 계산됩니다. 계산 버튼은 없습니다.查看完整 README ↗
결제 기준일(매달 1일 또는 15일)까지 남은 잔여 회차 금액에 다음 달 정액을 더해 결제액을 계산합니다. 회원 안내용 카톡 문구도 만들어 줍니다.
폴더 안의 index.html 을 더블클릭하면 브라우저에서 열립니다.
설치할 것도, 인터넷 연결도 필요 없습니다.
폴더 안에 아래 파일이 같이 있어야 합니다. 하나라도 옮기면 안 됩니다.
index.html ← 이걸 더블클릭
prices.js ← 가격표
README.md ← 이 문서
| 구분 | 언제 쓰나 | 넣는 날짜 |
|---|---|---|
| 신규 등록 | 처음 등록하는 회원 | 첫 수업일 |
| 기존 회원 전환 | 이미 다니던 회원의 결제일을 옮길 때 | 기존 수강 시작일 · 종료일 |
신규 등록은 첫 수업일부터 기준일 전날까지 셉니다. 첫 수업일 당일 수업도 포함됩니다.
기존 회원 전환은 결제가 끝난 기간을 넣으면 종료일 다음날부터 기준일 전날까지 셉니다.
예) A 회원이 8월 8일 ~ 9월 7일까지 결제를 마쳤고 15일 기준으로 옮긴다면, 기존 수강 기간에
2026-08-08~2026-09-07을 넣습니다. 잔여 구간은 9/8(화) ~ 9/14(월) 로 잡힙니다.
코치 · 레슨 유형 · 시간 · 요일 구분 · 횟수 · 수업 요일 · 결제 기준일을 고릅니다. 입력을 바꿀 때마다 오른쪽 결과가 바로 다시 계산됩니다. 계산 버튼은 없습니다.
확인 — 첫 수업일 9/8(화) 는 선택한 수업 요일(월·목)이 아닙니다.
이건 오류가 아닙니다. 계산은 그대로 되어 있습니다. 날짜를 잘못 넣었거나 요일을 잘못 골랐을 수 있으니 한 번 확인하라는 표시입니다. 맞게 넣은 게 확실하면 그냥 쓰시면 됩니다.
계산이 아예 안 되고 이유만 나오는 경우도 있습니다 — 요일 개수가 안 맞거나, 날짜를 안 넣었거나, "휴강" · "해당 없음" 조합을 고른 경우입니다.
할인 정책 때문에 금액을 손봐야 할 때가 있습니다. 고칠 수 있는 곳이 두 군데입니다.
(가) 월 요금 — 입력칸 가운데쯤 있습니다.
가격표 금액이 자동으로 들어가 있는데, 그 숫자를 지우고 다시 쓰면 됩니다.
25만 원짜리를 22만 5천 원으로 깎는다면 225000 을 넣습니다.
그러면 회차 금액과 다음 달 정액이 전부 그 금액 기준으로 다시 계산됩니다.
칸 아래에 이렇게 나옵니다.
가격표 250,000원 → 적용 225,000원 (-25,000)
(나) 첫 결제액 — 맨 아래 금액 조정 칸에 있습니다.
계산된 최종 금액을 그대로 덮어씁니다. 끝자리를 맞춰 줄 때 씁니다.
계산값 281,250원 → 조정 270,000원 (-11,250)
두 경우 모두 원래 금액이 항상 같이 보입니다. 얼마를 깎았는지 바로 확인할 수 있습니다. 고친 칸은 파란색으로 표시되고, 옆에 되돌리기 버튼이 생깁니다.
주의 — 수업 조건(코치 · 유형 · 시간 · 횟수 등)을 바꾸면 금액이 다시 계산되면서 고쳐 놓은 값이 원래대로 돌아갑니다. 조건을 다 정한 다음 마지막에 금액을 조정하세요.
할인 사유 메모
왜 깎았는지 적어 두는 칸입니다. (예: 3개월 선결제 할인)
계산 내역 복사에는 들어가지만, 회원에게 보내는 카톡 문구에는 들어가지 않습니다.
회원명을 비워 두면 문구에 ○○○ 으로 들어갑니다.
카톡 문구는 조정된 최종 금액으로 만들어집니다.
가격표 원가와 할인 사유는 회원에게 나가지 않습니다.
금액을 깎았으면 합계가 맞도록 - 할인: -11,250원 줄이 자동으로 들어갑니다.
결과 아래 카톡 문구 칸에 자동 문구가 들어 있습니다. 보내기 전에 이 칸에서 바로 고칠 수 있습니다. (예: 준비물 안내 한 줄 추가, 말투 다듬기)
자동 문구로 되돌리기가 나타납니다.가격이 바뀌거나 강사가 늘면 prices.js 파일만 고치면 됩니다.
index.html 은 건드리지 마세요.
prices.js 를 마우스 오른쪽 클릭 → 연결 프로그램 → 메모장으로 엽니다.
더블클릭하면 브라우저가 열리거나 아무 일도 안 일어납니다. 꼭 "연결 프로그램"으로 여세요. 메모장보다 VS Code 같은 편집기가 있으면 더 편합니다.
고치기 전에 파일을 한 부 복사해 두세요. (prices.js 를 복사 → 붙여넣기 하면
prices - 복사본.js 가 생깁니다.) 잘못 고쳤을 때 되돌릴 수 있습니다.
이렇게 생겼습니다.
const PRICES = {
coaches: [
{
name: "이건우 대표",
weekday: {
"1:1": {
"20": { "1": 160000, "2": 250000, "3": 340000 },
"30": { "1": 220000, "2": 340000, "3": 460000 }
},
...
},
weekend: { ... }
}
]
};
읽는 법은 이렇습니다.
| 부분 | 뜻 |
|---|---|
name | 화면 코치 목록에 나오는 이름 |
weekday | 평일 가격표 |
weekend | 주말 가격표 |
"1:1" / "1:2" | 레슨 유형 |
"20" / "30" | 수업 시간(분) |
"1" / "2" / "3" | 주 1회 / 주 2회 / 주 3회 |
그러니까 위 예시에서 "20": { "1": 160000, ... } 은
이건우 대표 · 평일 · 1:1 · 20분 · 주 1회 = 160,000원 이라는 뜻입니다.
현재 이건우 대표 · 임광순 프로 · 임혜영 프로 세 명이 들어 있습니다.
숫자만 고치면 됩니다. 평일 1:1 20분 주2회를 25만 → 26만으로 올린다면:
"20": { "1": 160000, "2": 250000, "3": 340000 },
↑ 여기를 260000 으로
숫자에 콤마를 넣지 마세요.
"2": 260,000 ← 틀림
"2": 260000 ← 맞음
파일 맨 아래쪽에 "여기에 강사를 추가하세요" 라는 주석 덩어리가 있습니다. 그 안의 모양을 복사해서 쓰면 됩니다.
바로 앞 강사의 닫는 } 뒤에 쉼표 , 를 찍는 걸 잊지 마세요.
{
name: "임혜영 프로",
...
}, ← 이 쉼표가 있어야 합니다
{
name: "새 강사 이름",
weekday: {
"1:1": {
"20": { "1": 000000, "2": 000000, "3": 000000 },
"30": { "1": 000000, "2": 000000, "3": 000000 }
},
"1:2": {
"20": { "1": 000000, "2": 000000, "3": 000000 },
"30": { "1": 000000, "2": 000000, "3": 000000 }
}
},
weekend: null
} ← 맨 마지막 강사 뒤에는 쉼표를 찍지 않습니다
]
};
000000 자리에 실제 금액을 넣으세요.
두 가지 경우가 있습니다.
(가) 그 시간대 전체가 없을 때 → null
임광순 프로와 임혜영 프로는 주말 수업이 전혀 없으므로:
weekend: null
화면에서 주말을 고르면 "휴강" 이라고 나옵니다.
(나) 일부 조합만 없을 때 → 그 줄을 안 적으면 됩니다
임혜영 프로는 1:2 주3회가 없으므로 "3" 을 아예 적지 않았습니다:
"20": { "1": 110000, "2": 170000 }
화면에서 그 조합을 고르면 "해당 없음" 이라고 나옵니다. 이건우 대표 주말 주3회도 같은 방식입니다.
{ name: ... } 부터 짝이 맞는 } 까지를 통째로 지우고,
남은 강사들 사이의 쉼표가 맞는지 확인합니다.
(강사 사이에는 쉼표, 마지막 강사 뒤에는 쉼표 없음)
문제가 생기면 계산기가 무엇이 잘못됐는지 한국어로 알려 줍니다. 당황하지 말고 아래를 확인하세요.
| 오류 메시지 | 원인과 해결 |
|---|---|
| prices.js 파일을 읽지 못했습니다 | 파일이 없거나, 따옴표·중괄호·쉼표가 빠졌습니다. 아래 "흔한 실수" 참고 |
| coaches 목록이 없습니다 | 맨 윗줄 const PRICES = { coaches: [ 를 지웠거나 오타 |
| coaches 목록이 비어 있습니다 | 강사를 전부 지웠습니다. 최소 한 명은 있어야 합니다 |
| ○번째 강사에 name(이름)이 없습니다 | name: "..." 줄이 빠졌습니다 |
| ... 요금이 숫자가 아닙니다 | 십중팔구 콤마입니다. 250,000 → 250000 |
250,000 (X) / 250000 (O)} 와 { 사이에 , 가 있어야 합니다"1:1" 처럼 양쪽에 큰따옴표가 있어야 합니다고치기 어려우면 백업해 둔 prices - 복사본.js 의 내용을 도로 붙여 넣으면
원래대로 돌아갑니다.
Q. 기존 회원 전환에서 "기존 수강 시작일"은 왜 넣나요? 계산에는 쓰이지 않습니다. 종료일 다음날부터만 세기 때문입니다. 시작일은 안내 문구에 기간을 적고, 요일이 맞는지 확인하는 데 씁니다.
Q. 왜 prices.json 이 아니라 prices.js 인가요?
index.html 을 더블클릭해서 열면 브라우저 보안 정책 때문에 별도 .json 파일을
읽지 못합니다. .js 로 두면 서버 없이도 잘 동작합니다.
내용은 맨 윗줄 const PRICES = { 와 맨 아랫줄 }; 만 빼면 JSON과 같습니다.
Q. 계산한 회원 정보가 저장되나요? 저장되지 않습니다. 이 도구는 계산만 합니다. 새로고침하면 입력이 지워집니다.
Q. 평일과 주말을 섞어 듣는 회원은요? 요일 구분에서 평일+주말을 고르면 월 요금 칸이 비어서 나옵니다. 가격표에 없는 조합이라 협의된 월 요금을 직접 넣어야 합니다. 회차 금액은 그 값 ÷ 월 기준 횟수로 계산됩니다.
Q. 할인해 준 금액이 카톡 문구에도 반영되나요? 네. 카톡 문구는 항상 조정된 최종 금액으로 만들어집니다. 다만 가격표 원가와 할인 사유 메모는 회원에게 보이지 않습니다.
Q. 카톡 문구를 고쳤는데 다시 원래대로 돌아갔어요. 수업 조건·날짜·금액·회원명 중 하나를 바꾸면 문구가 새로 만들어집니다. 금액까지 다 맞춘 다음에 문구를 고치고 바로 복사하세요.
Q. 금액을 고쳤는데 원래대로 돌아갔어요. 수업 조건을 바꾸면 금액이 다시 계산되면서 고친 값이 초기화됩니다. 조건을 먼저 다 정하고, 금액 조정은 마지막에 하세요.
Q. 계산 규칙을 바꾸고 싶어요.
계산 규칙은 약관 기준입니다. 바꾸려면 먼저 SPEC.md 를 고쳐야 합니다.