과외 센터 일정 및 청구 앱: 간단한 계획
스프레드시트 대신 정기 수업 관리, 청구서 생성, 결제 기한 알림을 자동화해 과외 센터의 일정과 청구를 일치시키는 방법을 안내합니다.

왜 스프레드시트로는 과외 관리가 한계일까
한두 건의 비정기 수업에는 스프레드시트가 괜찮습니다. 하지만 과외 센터를 운영하려 하면 일정, 청구서, 후속 조치가 서로 엇갈리기 시작합니다.
대부분 센터가 겪는 문제는 비슷합니다:
- 수업이 옮겨졌는데 한 탭만 업데이트되어 누군가 강사나 방을 중복 예약한다.
- 청구서는 만들어졌지만 발송 상태가 표시되지 않아 잊힌다.
- 일관된 ‘결제 기한’ 프로세스가 없어 누가 누구를 재촉해야 할지 기억에 의존한다.
정기 수업은 스프레드시트를 특히 취약하게 만듭니다. 학생이 매주 같은 시간에 수업을 받으면 몇 주치 또는 몇 달치 행을 복사해 나갑니다. 그러다 예외(공휴일, 보강, 강사 교체)가 생기면 실제로 무슨 일이 있었는지에 대해 여러 개의 ‘사실’이 생깁니다. 강사가 여러 명이고, 요율과 패키지가 다르면 시트는 수작업 확인의 누더기가 됩니다.
이 문제는 세 역할에 동시에 영향을 줍니다: 현금 흐름을 보고 싶은 소유주, 일상을 관리하는 관리자, 신뢰할 수 있는 캘린더가 필요한 수석 튜터. 누군가 "어느 버전이 맞지?"라고 묻는다면 이미 스프레드시트를 벗어난 상태입니다.
과외 센터 일정 및 청구 앱에서 "충분히 좋다"는 보통 네 가지가 항상 작동한다는 뜻입니다:
- 모두가 신뢰하는 하나의 일정(정기 수업과 예외 포함)
- 제공된 내용과 일치하는 청구서(요율, 패키지, 할인)
- 정시에 발송되는 자동이고 공손한 알림
- 간단한 보고서: 무엇을 가르쳤고, 무엇을 청구했으며, 무엇이 미수인지
이 네 가지가 안정되면 나머지는 선택적 업그레이드가 될 뿐 매일 벌어지는 화재 진압이 아닙니다.
앱에서 먼저 추적해야 할 항목들 (화면 설계 전에)
화면을 설계하기 전에, 직원이 바뀌거나 보호자가 청구에 이의를 제기할 때도 앱이 기억해야 할 정보를 적어두세요. 핵심 기록을 잘 만들면 캘린더, 청구서, 알림이 훨씬 쉬워집니다.
사람과 서비스를 먼저 적으세요:
- 학생
- 보호자(결제 담당자)
- 튜터
- 과목
- 장소(센터 내, 온라인, 특정 교실)
그다음 실제 상황을 처리할 수 있게 가격을 정의하세요. 요율은 종종 튜터, 과목, 학년, 수업 시간, 특별 합의에 따라 달라집니다.
간단한 시작용 레코드 집합:
- 학생(이름, 학년, 노트, 할당된 보호자)
- 보호자(연락처, 선호 채널, 청구 정보)
- 튜터(스킬, 가능 시간)
- 수업(날짜/시간, 지속시간, 장소, 과목, 상태)
- 요율 플랜(시간당, 회당, 패키지 또는 맞춤)
다음으로 단일 이벤트뿐 아니라 일정 규칙을 캡처하세요. 가용성(튜터가 가르칠 수 있는 시간, 학생이 참석 가능한 시간)과 정기 패턴(매주 화요일 4시)뿐 아니라 예외: 공휴일, 튜터 휴가, 일회성 재조정, 취소, 노쇼도 필요합니다.
취소 시 청구 처리 방침을 초기에 결정하세요. 이 한 가지 결정이 모든 곳에 영향을 미칩니다.
그다음 돈 관련 항목을 추가하세요. 청구서는 단순한 PDF 이상이어야 합니다. 다음을 기록으로 갖추세요:
- 항목별 내역(각 수업 또는 패키지 요금)
- 할인(형제 할인, 프로모션)
- 크레딧(보강 수업, 과지급 환급)
- 세금(해당 지역이 요구하면)
마지막으로 통신의 기본을 계획하세요. 이메일/SMS 수신 동의 상태를 저장하고 직원이 매번 같은 ‘결제 기한’ 문구를 새로 쓰지 않도록 몇 개의 메시지 템플릿을 보관하세요.
예시: 보호자가 10회 패키지를 선지급했고 튜터가 한 주를 취소해 보강을 다시 잡는 상황을 생각해보세요. 앱이 패키지 잔액, 수업 상태, 크레딧 규칙을 추적하면 청구서와 알림을 수동 편집 없이 정확하게 유지할 수 있습니다.
직원이 따를 수 있는 간단한 워크플로 정의
일정 도구는 모든 사람이 같은 방식으로 사용해야 도움이 됩니다. 앱을 만들기 전에 돈이 실제로 어떻게 움직이는지에 맞는 하나의 명확한 경로를 정하세요: 수업이 예약되고, 수업이 진행되고, 청구되고, 결제가 수집됩니다.
핵심 워크플로를 작게 유지하세요:
- 수업 예약(또는 재조정)
- 수업 진행 후 출석 표시
- 청구서 생성(또는 월별 명세서에 추가)
- 결제 기록 및 잔액 마감
각 단계에 누가 관여하는지 결정하세요. 일반적인 분담은: 관리자는 일정 변경과 청구를 처리하고, 튜터는 출석과 노트를 처리하며, 부모/보호자는 청구서, 알림, 영수증을 받습니다. 튜터 업무는 가볍게 유지하세요. 복잡하면 다시 프런트 데스크에 문자하는 쪽으로 돌아갑니다.
하나의 캘린더 뷰를 기본 진실의 출처로 정하세요. 관리자는 보통 일간 또는 주간 그리드가 필요합니다. 튜터는 오늘과 내일을 보여주는 간단한 일정형 보기를 선호합니다. 둘 다 제공할 수 있지만 하나만 ‘정답’으로 하세요.
팀이 긴급 상황에서 임기응변하지 않도록 간단한 규칙을 문서화하세요:
- 24시간 이내의 늦은 취소는 요금 부과(질병 제외)
- 노쇼는 전액 부과
- 보강 수업은 30일 이내 사용
- 패키지는 정해진 기간 후 만료
- 청구서는 발행 후 7일 이내 결제
간단한 시나리오: 보호자가 수업 3시간 전에 취소합니다. 관리자는 이를 늦은 취소로 표시하고 청구서에 수수료가 자동 추가되며, 부모에게 업데이트된 잔액을 공손히 알립니다.
정기 수업: 혼란 없이 모델링하는 방법
정기 수업은 대부분 과외 관리 시스템이 엉키는 곳입니다. 해결책은 어떤 반복 패턴을 지원할지 미리 정하는 것입니다.
대부분 센터는 세 가지 패턴만으로 충분합니다: 주간, 격주, 월간. 이들을 잘 지원하면 설정이 복잡해지는 것을 막을 수 있습니다.
깨끗한 모델은 하나의 정기 플랜이 여러 수업 인스턴스를 생성한다는 것입니다.
- 플랜은 규칙(주간, 격주, 월간), 요일/시간, 튜터, 학생, 시작일, 종료일을 저장합니다.
- 달력의 각 수업은 자체 상태를 가진 별도 인스턴스입니다.
이 구조는 청구를 명확하게 만듭니다. 청구는 계획에서가 아니라 실제로 일어난 일에서 생성되어야 합니다.
예외: 공휴일과 휴무
현실은 패턴을 깨므로 예외를 정상적인 사건으로 처리하세요. 누군가 자리를 비울 때 전체 시리즈를 편집하는 대신 한 인스턴스를 변경하세요.
일반적인 예외 작업:
- 한 날짜 건너뛰기(공휴일, 학생 휴가)
- 한 날짜 재조정(화요일을 목요일로 이동)
- 한 날짜 취소(튜터 병결)
- 일회성 추가 수업
예: Mia는 매주 월요일 오후 4시에 수학 수업이 있습니다. 공휴일에는 해당 한 번만 건너뛰거나 취소로 표시하고 정기 플랜은 그대로 둡니다.
일관된 상태
직원이 라벨로 논쟁하지 않도록 상태는 단순히 유지하세요. 좋은 집합은: scheduled, completed, canceled, no-show 입니다. 더 자세한 정보가 필요하면 노트에 추가하세요(예: "학생이 취소함").
충돌 방지를 위해 중복 예약 체크를 하세요. 누군가 수업을 생성하거나 재조정할 때 시스템은 튜터와 방(방을 추적한다면)의 겹침을 확인해야 합니다. 정기에서 생성된 수업도 포함해 확인하고 충돌이 있으면 저장을 막고 겹치는 시간을 보여주세요.
청구 설정: 요율, 패키지, 청구서에 무엇이 들어가야 하나
청구 규칙은 가족들이 결제하는 방식과 일치해야 합니다. 처음에는 지원할 요금 유형을 소수로 선택하세요. 나중에 더 추가할 수 있지만 초기에는 옵션이 너무 많으면 실수가 생깁니다.
대부분 센터는 다음으로 잘 운영됩니다:
- 회당(세션당 고정 요금)
- 시간당(요율 × 지속시간)
- 선불 패키지(예: 10시간을 기간 내 사용)
- 그룹 수업(학생별 청구 또는 분할)
- 할인 및 수수료(형제 할인, 늦은 취소 수수료)
각 청구 항목이 무엇을 나타내는지 결정하세요. 기본은 완료된 수업 1건을 한 줄 항목으로 하는 것입니다. 부모가 이해하기 쉽고 직원도 설명하기 쉽습니다.
실용적인 항목 공식은: 수업 날짜 + 튜터 + 과목 + 지속시간 + 요율 = 금액. 예: "1월 12일, 대수학, 60분, Tutor: Maya, $55/hr" 총액 $55.
청구서 생성 시점을 정하세요:
- 수업이 완료로 표시된 후(일정이 자주 바뀌는 경우 최선)
- 고정 스케줄(주간 또는 월간)로 해당 기간의 완료된 수업을 기준으로
하나를 골라 문서화해 팀이 같은 습관을 따르도록 하세요.
조정도 계획하세요. 어차피 생깁니다:
- 크레딧(놓친 수업을 다음 청구서에 크레딧으로)
- 보강 수업(요금 없음, 투명성을 위해 목록에 표기)
- 취소 수수료(정책 허용 시)
- 수동 수정(간단한 노트 포함)
한 가지 중요한 규칙: 새 요율로 과거 청구서를 다시 쓰지 마세요. 청구서가 발행되면 라인 항목을 잠그면 기록이 안정적으로 유지됩니다.
부담스럽지 않은 결제 기한 알림
좋은 알림 시스템은 현금 흐름과 관계를 동시에 보호합니다.
예측 가능한 소수의 터치포인트를 정하고 메시지는 단순하게 유지하세요. 많은 센터는 다음을 잘 사용합니다:
- 마감 7일 전(사전 안내)
- 마감 당일(친절한 알림)
- 마감 후 3일(도움을 제안하는 후속)
2~3개의 템플릿을 유지해 자동화된 잔소리로 느껴지지 않게 하세요. 적응 가능한 예시:
"Hi [Name], a quick reminder that invoice [#] for [Amount] is due on [Due Date]. Reply if you have any questions. Thank you!"
"Hi [Name], invoice [#] for [Amount] is due today. If you have already paid, please ignore this message. Thanks!"
"Hi [Name], invoice [#] for [Amount] is now past due. If you need to change the payment date or split it, tell us and we will help."
스팸을 피하려면 결제가 기록되는 순간 알림을 중단해야 합니다. 이를 위해 명확한 청구서 상태(Draft, Sent, Paid, Overdue)와 한 곳에서 결제를 기록하는 절차(현금, 카드, 은행 이체)가 필요합니다. 상태가 Paid가 되면 예정된 모든 알림을 취소하세요.
각 알림에는 부모가 행동하는 데 도움이 되는 것만 포함하세요:
- 금액
- 마감일
- 청구서 번호
- 결제 방법(간단한 안내)
- 연락처(답장할 상대)
단계별: 첫 작동 버전 만들기
첫 버전은 화려할 필요 없습니다. 몇 가지를 잘하면 충분합니다. 작은 단계로 빌드해 실제 직원과 테스트하세요.
먼저 학생, 튜터, 수업, 청구서, 결제 같은 명확한 데이터를 구축하세요.
- 수업: 학생, 튜터, 시작 시간, 지속시간, 상태(예약됨, 완료, 취소), 요율(또는 요율 플랜 링크)
- 청구서: 학생, 청구 기간, 총액, 기한, 상태(임시, 발송, 결제됨, 연체)
- 결제: 청구서와 연결, 금액, 날짜, 방법, 노트
다음으로 교육 없이도 직원이 사용할 수 있는 하나의 일정 화면을 만드세요. 흐름은: 튜터 선택, 학생 선택, 날짜/시간 선택, 필요하면 '정기' 선택, 저장. 30초 안에 수업을 만들 수 없으면 너무 복잡합니다.
그다음 수업을 청구와 연결하는 단순한 규칙을 만드세요: 오직 'completed' 수업만 청구 대상입니다.
청구 작업은 실용적으로 유지하세요:
- 특정 날짜 범위의 한 학생에 대해 청구서 생성
- 같은 주나 월의 모든 학생에 대해 일괄 생성
- 라인 항목(수업 날짜, 지속시간, 요율) 복사본 저장으로 청구서가 나중에 변경되지 않게 함
- 메시지를 보낼 때 청구서를 'sent'로 표시
- 부분 결제를 허용(잔액이 0이 될 때만 'paid'로 표시)
알림은 나중에 추가하세요. 기한과 결제 상태에 따라(예: 마감 3일 전, 마감 후 3일) 스케줄합니다.
마지막으로 기본 역할을 추가하세요. 튜터는 자신의 일정과 학생만 보고, 관리자 직원은 모든 것을 보고 청구서를 생성할 수 있게 하세요.
간단한 현실 점검: 관리자인 Mia가 10건의 수업을 예약하고 어제 수업을 완료로 표시하며 한 번에 모든 월간 청구서를 생성할 수 있다면 작동 버전입니다.
흔한 함정(그리고 피하는 법)
많은 팀이 스프레드시트를 벗어나기 위해 앱을 만들다가 추가 클릭으로 같은 문제를 재현합니다. 이런 문제들은 혼란을 야기하지만 예방할 수 있습니다.
혼란을 만드는 함정들
- 정기 수업을 너무 ‘스마트’하게 만들기 시작함. 초반에는 주간 패턴과 명확한 종료일(또는 '지속')만 지원하세요. 실제 사례를 본 뒤 복잡한 규칙을 추가하세요.
- 수업 상태 누락으로 중복 청구 발생. 모든 세션은 한 가지 상태가 필요합니다. 청구는 오직 'Completed'에서 생성하세요.
- 요율 편집이 기록을 덮어씀. 발행된 청구서의 가격을 잠그세요. 새 요율은 새 세션에만 적용하세요.
- 예외에 대한 명확한 담당자 부재. 누가 공휴일을 옮기고 보강을 승인하며 취소를 재검토할지 정하세요. 앱에 권한으로 넣으세요.
- 개인정보 기본 사항 무시. 필요한 것만 저장하고 직원 접근을 제한하며 민감한 학생 정보 변경 기록을 남기세요. 학생 노트와 청구 노트를 분리하세요.
현실 예: 보호자가 화요일 수업을 금요일로 옮겨달라고 하면 시스템이 정기 규칙을 편집하면 모든 이후의 화요일 수업이 이동할 수 있습니다. 더 안전한 접근은 '한 회차만 이동'으로 하고 이유(예: '보강')를 요구하는 것입니다. 이렇게 하면 일정이 안정되고 청구서가 정확합니다.
예시: 작은 과외 센터의 한 달
튜터 3명, 활동 학생 약 25명인 작은 센터를 상상해보세요. 대부분 학생은 주 1회, 일부는 주 2회 옵니다. 이 환경에서 앱의 목표는 간단합니다: 달력, 제공된 수업, 청구할 내용이 모두 일치하도록 하는 것.
5월 1일에 직원이 각 학생의 정기 수업을 설정합니다: 요일, 시간, 튜터, 요율. 한 달이 일정으로 채워져서 더 이상 스프레드시트에 행을 복사하지 않습니다.
둘째 주에 한 학생(Jordan)이 학교 행사 때문에 수업을 옮겨야 합니다. 직원은 그 한 회차만 재조정합니다. 달 말에 Jordan이 다시 재조정해도 앱은 원래 시리즈를 그대로 유지하고 두 회차 모두 이동된 것으로 명확히 표시합니다.
Jordan이 아파서 보강이 필요하면 직원은 학생과 튜터를 연결한 일회성 보강 수업을 만듭니다. 해당 수업은 월에 나타나지만 정기 일정은 변경하지 않습니다.
월말에 관리자는 일괄 청구를 실행합니다. 각 학생별로 제공된 수업을 합산해 규칙을 적용합니다:
- 주간 수업은 합의된 요율로 청구
- 보강 수업은 별도 라인으로 포함
- 형제 할인은 둘째 아이의 청구서에 적용
- 재조정된 수업에 대한 노트(선택 사항) 추가
청구서가 발송되면 정책에 따라 결제 기한 알림을 예약합니다(예: 마감 3일 전, 마감 후 3일). 한 가정이 늦게 결제하면 직원이 결제를 기록하는 즉시 알림이 자동 중지됩니다.
배포 전 빠른 점검
누군가 앱에 의존하기 전에 한 직원과 1주일 분량의 실제 테스트를 짧게 실행하세요. 목표는 일상적 관리에서 고통을 주는 문제를 잡는 것입니다.
10분 점검표
다음 항목을 현실적인 이름, 요율, 수업 길이로 깨끗한 테스트 계정에서 확인하세요:
- 새 학생을 추가하고 60초 이내에 정기 수업을 설정할 수 있는가?
- 같은 시간에 같은 튜터를 중복 예약하려 할 때 달력이 차단(또는 명확한 경고와 이유 입력 요구)을 하는가?
- 날짜 범위로 청구서를 두 클릭(날짜 선택, 생성 클릭) 만에 생성할 수 있고 올바른 세션을 포함하는가?
- 미지급 청구서에만 알림이 발송되는가(결제됨 또는 무효화된 청구서에 ‘결제 기한’ 메시지가 가지 않아야 함)?
- ‘연체’ 보기에서 누가 얼마나 연체되었는지 아무것도 내보내지 않고 바로 확인할 수 있는가?
점검 후 한 번 섞인 시나리오를 테스트하세요: 학생이 주간 시리즈에서 한 회차를 취소한 뒤 이틀 후에 재조정합니다. 청구서가 정확히 한 번만 반영되고 직원이 노트를 뒤지지 않고 무슨 일이 있었는지 이해할 수 있는지 확인하세요.
잘 작동하는 모습
앱이 흔한 실수를 예방하고 예외 처리를 쉽게 만들 때 잘 작동합니다. 직원이 "어제 은행 이체로 결제한 가족에게 알림을 보내지 말자" 같은 특별 규칙을 기억할 필요가 없어야 합니다. 시스템은 청구서 상태와 결제 기록에 의존해야 합니다.
다음 단계: 파일럿, 개선, 그리고 구축 방식 선택
첫 버전을 파일럿처럼 다루세요. 한 프로그램(예: 68학년 수학)이나 한 장소를 골라 24주간 운영해 보세요. 위험을 낮추면 문제를 찾고 고치기 쉽습니다.
파일럿 기간에는 세 관점에서 피드백을 수집하세요: 일정과 청구를 담당하는 관리자, 세션을 확인하는 튜터, 청구서와 알림을 받는 몇몇 보호자. 구체적인 예를 요청하세요: "마지막에 혼란을 준 메시지를 보여줘" 또는 "바쁜 날 어떤 단계가 가장 오래 걸렸나요?"
주간 리뷰는 간단히 유지하세요:
- 아직 스프레드시트로 처리한 것은 무엇이고, 그 이유는?
- 어떤 청구서를 수동으로 수정했나?
- 어떤 알림이 답장이나 불만을 유발했나?
- 규칙이 불명확해서 직원이 주저한 곳은?
- 다음 주에 가장 많은 시간을 절약해줄 개선은?
핵심(정기 수업 일정, 출석, 청구서, 결제 기한 알림)이 안정되면 불필요한 욕심이 아니라 실제 고통에 기반해 업그레이드를 추가하세요. 많은 센터가 온라인 결제, 부모 포털(청구서 및 수업 이력), 기본 보고서(강의 시간, 프로그램별 수익, 미수 잔액)를 선택합니다.
코드 없이 구축하고 싶다면 AppMaster (appmaster.io)는 데이터베이스, 비즈니스 로직, 웹 및 네이티브 모바일 앱까지 다루기 때문에 이런 시스템에 잘 맞는 옵션입니다. 실용적 테스트는 단순합니다: 팀이 한 주를 전체 워크플로우(일정, 출석, 청구, 알림)를 하나의 진실 소스에서 운영할 수 있는가?
파일럿이 차분하고 예측 가능해지면 동일한 점검표로 다음 프로그램에 적용하고 작은 안전한 단계로 계속 개선하세요.
자주 묻는 질문
스프레드시트를 넘어서야 할 때는 직원들이 어느 탭이 최신인지 묻거나, 일정 변경이 모든 곳에 반영되지 않거나, 청구서와 결제를 수동으로 대조해야 할 때입니다. 이중 예약, 빠진 청구서, 늦은 결제 추적이 빈번해지면 단일 진실 소스가 시간을 절약하고 분쟁을 줄여줍니다.
우선 Students, Guardians, Tutors, Subjects, Locations, Lessons, Rate Plans, Invoices, Payments 같은 핵심 레코드를 준비하세요. 이러한 기록이 일관되면 캘린더, 청구서, 알림, 보고서를 직원이 기억에 의존하지 않고 생성할 수 있습니다.
한 개의 정기 플랜으로 패턴을 정의하고, 달력에는 별도의 수업 인스턴스를 생성하세요. 청구는 계획에서가 아니라 실제로 완료된 수업 인스턴스에서 생성해야 예외가 청구 혼란을 일으키지 않습니다.
예외는 전체 시리즈를 편집하는 것이 아니라 단일 수업 인스턴스의 변경으로 처리하세요. 휴일, 휴가, 보강이 생기면 그 날짜만 업데이트하면 정기 일정의 나머지는 안정적으로 유지됩니다.
청구 일관성을 위해 상태는 간단하게 유지하세요: scheduled, completed, canceled, no-show 같은 적은 수의 상태면 충분합니다. 누가 취소했는지 등 자세한 내용은 노트로 남기면 됩니다.
일반적인 기본은 수업이 'completed'로 표시된 후에만 청구하는 것입니다. 일정이 자주 바뀌면 이 방식이 가장 신뢰성이 높습니다. 월별 명세서를 선호한다면 고정된 기간에 완료된 수업만 포함해 생성하세요.
초기에는 소수의 가격 옵션만 지원하세요. 보통은 per session(회당), per hour(시간당), prepaid packages(선불 패키지)가 충분합니다. 할인이나 취소 수수료는 정책에 따라 추가하세요. 기본 규칙 하나(예: 완료된 수업 1건 = 청구 항목 1건)를 정하면 부모님도 이해하기 쉽습니다.
청구서 발행 시점에 항목을 잠그면 과거 청구 내역이 변경되는 일을 막을 수 있습니다. 요율이 변경되면 새 요율은 새 수업에만 적용하세요. 과거 청구서를 수정하면 분쟁이 생기기 쉽습니다.
결제 기한을 기준으로 몇 차례의 예측 가능한 알림만 보내고, 결제가 기록되는 즉시 알림을 중단하세요. 메시지는 금액, 기한, 청구서 번호, 문제가 있을 경우 답장할 연락처 정도만 간단히 포함하면 됩니다.
관리자는 예약, 청구, 결제에 대한 전체 접근을 갖고 튜터는 자신의 일정과 학생 노트만 보게 하세요. 민감한 변경 사항은 감사 로그에 남기고, 실제로 필요한 정보만 보관하면 실수와 개인정보 위험을 줄일 수 있습니다.


