수납 처리 (수납 팝업)¶
이 페이지에서 찾을 수 있는 것
수납 처리 / 결제 입력 / 카드 결제 / 현금 결제 / 계좌이체 / PG 결제 / 미수처리 / 선수납 사용 / 포인트 사용 / 영수증 출력 / 수납 완료
환자의 진료비 결제, 미수 처리, 선납권/포인트 사용 등 모든 결제 흐름을 한 화면에서 처리하는 수납 팝업입니다. 차트 진입 후 또는 환자 카드 우클릭 → "수납/미수" 메뉴로 열립니다.
화면 구성¶
수납 팝업은 별도 창(window.open) 으로 열리며, 4개 탭으로 구성됩니다.
| 영역 | 위치 | 내용 |
|---|---|---|
| 환자 정보 헤더 | 상단 | 이름, 성별, 나이, 차트번호, 진료일 |
| 금액 요약 바 | 헤더 우측 | 총 청구액, 총 수납액, 남은 미수액 |
| 탭 메뉴 | 본문 위 | 수납목록 / 미수처리 / 선수납 / 포인트 |
| 본문 영역 | 가운데 | 선택된 탭에 따라 다른 내용 표시 |
| 결제 입력 영역 | 하단 (미수처리 탭) | 결제 수단별 입력 + 결제 처리 버튼 |
💡 자동 탭 전환: 환자에게 미수가 있으면 모달 열릴 때 자동으로 "미수처리" 탭이 활성화됩니다 (work-item 28 Phase 6-A 적용).
4개 탭 상세¶
수납목록 탭 (디폴트, 미수 없을 시)¶
환자의 모든 진료/결제 이력을 표 형태로 보여줍니다.
| 컬럼 | 의미 |
|---|---|
| 진료일 | 차트 작성 일자 |
| 시술 항목 | 차트 안 오더 (베이직탕, 슈링크 등 콤마 구분) |
| 청구액 | progress_notes.total_amount |
| 수납액 | 결제 완료된 금액 |
| 미수액 | 청구액 - 수납액 |
| 결제 방법 | 카드/현금/선납권 등 |
| 영수증 | 출력 버튼 |
→ 과거 진료 이력 조회 + 영수증 재출력 시 사용.
미수처리 탭 (잔금 결제)¶
미수가 있는 차트 목록을 보여주고, 잔금 결제를 입력합니다.
상단 — 미수 차트 목록: | 컬럼 | 의미 | |-----|-----| | 진료일 | 미수가 있는 차트 일자 | | 시술 항목 | 차트 오더 | | 청구액 / 수납액 / 미수액 | 금액 정보 |
→ 미수 차트를 더블클릭하면 결제 영역에 미수 금액이 자동 입력됩니다.
하단 — 결제 입력: - 결제 수단별 행: 현금 / 통장입금 / 카드 (복수) / 기타 / 간편결제 - 3개 컬럼 입력: 본인부담금 / 비급여비과세 / 비급여과세 - 메모: 결제 내역에 메모 입력 가능
가격표 할인 자동 적용: - "가격표" 드롭다운에서 환자 적용 할인율 선택 - 자동으로 본인부담금 컬럼에 할인 적용된 금액 입력
가족 선납권 조회/사용 (가족 대납): - "가족선납권조회" 버튼 → 가족 환자 검색 - 가족이 보유한 선납금/포인트로 결제 가능
선수납 결제/내역 탭¶
선납권(선수금) 충전과 사용 이력 관리.
상단 — 잔액 표시: - 현재 보유 선납금 잔액 - 만료일 (있을 경우)
하단 — 이력 표시: | 컬럼 | 의미 | |-----|-----| | 일자 | 거래 일자 | | 구분 | 충전(deposit) / 사용(usage) / 환불(refund) / 취소복원(reversal) | | 금액 | 거래 금액 | | 잔액 | 거래 후 잔액 | | 메모 | "선납권 Standard 충전" 등 | | 취소 | 잘못 입력 시 취소 버튼 |
선납권 충전 흐름:
1. 환자가 선납권 패키지 구매 (예: Standard 200만원)
2. 카드/현금 결제 → payments INSERT (매출 인식)
3. patient_prepaid_balance.prepaid_balance += 충전액
4. 자동 보너스 포인트 (10%) 적립
포인트 충전/내역 탭¶
포인트 충전과 사용 이력. 선납권과 별개의 잔액.
- 선납권 구매 시 자동 적립 (보너스 10%)
- 또는 직접 충전 가능
- 진료비 결제 시 차감 (포인트 우선 정책 — work-item 04-07 변경)
결제 수단별 입력 (미수처리 탭 하단)¶
현금¶
- 1행 입력 (본인부담금/비급여비과세/비급여과세 3컬럼)
- 영수증 발행 가능
통장입금 (계좌이체)¶
- 1행 입력
- 메모에 입금 계좌/입금자 기록 권장
카드 (복수 행 지원)¶
- "+ 카드 행 추가" 버튼으로 여러 카드 결제 가능 (분할 결제)
- 카드사 선택 (국민/농협/롯데/비씨/삼성/신한/우리/현대/VISA/Master/하나)
- VAN 단말기 결제 (KICC EasyCard) 자동 연동
- VAN 미설정 시 PAY-STORY PG 결제 팝업으로 자동 fallback
기타¶
- 자유 입력 (구분: 기타 등)
간편결제¶
- 카카오페이, 네이버페이 등 분류
선수납 / 포인트 사용¶
- 환자 보유 잔액에서 차감
- payments 테이블에 INSERT 안 됨 (이중매출 방지) —
patient_prepaid사용 이력만 기록
자주 쓰는 동작¶
시나리오 1 — 일반 진료 결제¶
당일 청구액 전액 결제
- 차트 입력 + 저장 (오더 청구액 1,000,000원)
- 차트 우측 패널 또는 현황판에서 "수납/미수" 우클릭 메뉴
- 수납 팝업 자동 열림 → 수납목록 탭 (디폴트, 미수 없으면)
- "미수처리" 탭 클릭 (또는 미수 있으면 자동 진입)
- 결제 수단 행에 금액 입력 (예: 카드 1,000,000원)
- 결제 버튼 클릭 → VAN 단말기 또는 PG 팝업
- 승인 완료 시 자동으로 차트 paid_amount 갱신 + reservation 수납완료 자동 전환
시나리오 2 — 분납 (박새별 케이스)¶
분납 1차 결제 + 미수 남기기
- 차트 청구액 1,000,000원, 분납 합의 (선금 50만)
- 수납 팝업 → 미수처리 탭
- 카드 행에 500,000원 입력 → 결제 처리
- 차트 paid_amount = 500,000, 미수 500,000 표시됨
- 차트로 돌아가 "수납대기" 버튼 클릭 (수납완료 절대 누르지 마세요!)
분납 잔금 받기 (다음달 등)
- 박새별 환자 검색 → 우클릭 → "수납/미수"
- 수납 팝업 자동 열림 → 자동으로 "미수처리" 탭 진입 (Phase 6-A)
- 상단 미수 차트 목록에서 5/1 차트 미수 50만원 항목 더블클릭 → 결제 영역에 자동 입력
- 결제 수단 선택 → 결제 처리
- 자동으로 수납완료 전환
시나리오 3 — 선납권 사용¶
보유 선납금으로 진료비 차감
- 차트 입력 + 저장 (예: 슈링크 39,000원)
- 수납 팝업 → 미수처리 탭
- 결제 수단 중 "선납권" 행에 39,000원 입력
- 자동으로 환자 보유 선납금 잔액에서 차감
payments테이블에는 INSERT 안 됨 (이중매출 방지)patient_prepaidusage 이력만 기록
시나리오 4 — 환불 처리¶
이미 결제한 항목 환불
- 수납 팝업 → 수납목록 탭
- 환불할 결제 항목 선택 → "환불" 버튼
- 환불 금액 입력 (전액 또는 부분)
- 환불 사유 메모
- PG 결제였으면 자동으로 PAY-STORY 취소 API 호출
- progress_notes.paid_amount 자동 차감
시나리오 5 — 가족 대납¶
어머니 선납권으로 자녀 진료비 결제
- 자녀 차트 + 수납 팝업 진입
- 미수처리 탭 → "가족선납권조회" 버튼
- 어머니 환자 검색 → 어머니 보유 선납금 표시
- 어머니 선납금에서 자녀 진료비 차감 결제
- 어머니의 patient_prepaid usage 이력에 "자녀 진료비" 메모와 함께 기록
결제 검증 로직 (재발 방지)¶
수납 팝업에는 데이터 정합성을 위한 자동 검증이 포함되어 있습니다.
빈 차트 결제 경고 (Phase 4)¶
차트에 시술 오더가 0건일 때 결제 처리하면 다음 모달이 뜹니다:
⚠️ 이 차트에 시술 항목(오더)이 없습니다.
오더 입력 없이 결제하면 매출 통계와 정합성 검증에서 누락됩니다.
그대로 결제하시겠습니까?
[확인] 결제 진행 / [취소] 차트로 돌아가서 오더 추가
→ "수납됐는데 시술 기록 없음" 정합성 위반(매일 06:00 봇 알림)을 사전 차단.
미수처리 탭 자동 진입 (Phase 6-A)¶
환자에게 미수가 있으면 수납 팝업이 "미수처리" 탭으로 자동 진입합니다. 직원이 "미수처리" 탭의 존재를 몰라도 정상 흐름으로 자동 안내.
권한별 차이¶
| 기능 | 권한 |
|---|---|
| 수납 팝업 진입 / 결제 입력 | 🟢 모든 직원 |
| 결제 등록 (모든 수단) | 🟢 모든 직원 |
| 결제 삭제 | 🔴 Level 1~2 관리자 |
| 환불 처리 (전체) | 🟢 모든 직원 |
| 선납금 충전 | 🟢 모든 직원 |
| 선납금 환불 | 🟢 모든 직원 (서비스 정가 차감 후 잔액만 환불) |
| 가족 선납권 사용 (대납) | 🟢 모든 직원 |
| 영수증 출력 / 재출력 | 🟢 모든 직원 |
자주 발생하는 문제 / FAQ¶
Q1. 수납 팝업이 안 열려요.
A. 브라우저 팝업 차단을 해제하세요. 수납 팝업은 window.open으로 별도 창이 열리는 구조입니다 (2026-03-10 변경).
Q2. VAN 단말기 결제가 안 돼요. A. 다음 순서로 확인하세요. 1. 시스템 설정 > VAN 단말기 활성화 여부 2. 단말기 USB/네트워크 연결 3. KICC EasyCard 모듈 설치 상태 → 모두 정상이면 PAY-STORY PG로 자동 fallback 됩니다.
Q3. 카드 결제 후 PG 결제 팝업이 사라졌어요. A. PG 팝업이 닫히면 시스템이 자동 새로고침해서 결과를 반영합니다 (postMessage 실패 대비). 잠시 기다린 후 결과를 확인하세요.
Q4. 선납권으로 결제했는데 매출에 두 번 잡혀요. A. 중복 매출 방지 규칙이 있어 그럴 수 없습니다. 만약 두 번 잡힌다면 정합성 봇 13번 "차트에 선납권 패키지 혼입" 알림을 받게 되니, 차트 오더에서 선납권 항목 삭제하세요.
Q5. 환자에게 미수가 있는지 모르고 새로 결제 등록했어요. A. Phase 6-A fix 적용 후 미수 있는 환자는 자동으로 "미수처리" 탭으로 열립니다. 미수 차트 목록에서 더블클릭으로 자동 입력하세요. 일반 결제 등록도 가능하지만 미수가 정리되지 않을 수 있습니다.
Q6. 환불 금액이 결제 금액보다 큽니다. A. 시스템상 차단되지 않지만, 정합성 봇 5번 "초과 결제" 알림이 옵니다. 환불 금액을 정정하거나 추가 결제로 보정하세요.
Q7. 분납 환자의 잔금 받았는데 어떻게 처리해야 하나요? A. 시나리오 2 "분납 잔금 받기" 흐름을 따르세요. 새 차트 만들지 마시고 기존 차트의 미수에 결제 입력하시면 자동으로 정리됩니다.
Q8. 선납권 환불을 하려는데 일부 회차 사용한 환자입니다. A. 선납권 환불 원칙: 포인트는 전액 삭제, 사용한 시술은 정가 차감, 환불액 = 선납금 잔액 - 시술 정가. (work-item 04-07 정책)
Q9. 카드 결제 시 카드사를 잘못 선택했어요. A. 결제 후 수납목록 탭 → 해당 결제 우측 "수정" 버튼 → 카드사만 변경 가능. 단 결제 금액 자체는 변경 안 됨 (환불 후 재결제 필요).
Q10. 영수증을 다시 출력하고 싶어요. A. 수납목록 탭 → 해당 결제 우측 "영수증" 버튼 → A4 또는 영수증 프린터로 출력 가능.
Q11. "결제일자는 오늘 이전이어야 합니다" / "결제일자가 너무 이전입니다" 알림이 떠요. (WI#66, 2026-05-13 추가) A. 결제 등록 시 결제일자 정책:
- ❌ 미래 일자 차단 (
PAYMENT_DATE_FUTURE): 오늘 이후는 불가 - ❌ 30일 이전 차단 (
PAYMENT_DATE_TOO_OLD): 과거 30일을 넘는 일자도 차단 (과거 결산 재계산 방지) - ✅ 오늘 또는 최근 30일 이내만 등록 가능
운영자가 결제 일자를 그대로 두면 오늘 자동 적용. 과거 일자가 꼭 필요한 경우 관리자에게 문의.
Q12. 결제 취소 후 차트 매출이 그대로 남아 미수로 보여요. (WI#66 Phase D, 2026-05-13) A. 신규 결제 취소부터는 전액 환불 + 잔여 결제 없음이면 차트 매출도 자동 0 처리됩니다.
- 옛 데이터(2026-05-13 이전 환불)는 정합성 봇 #22 매일 06:00 알람 — 운영팀에서 수동 정리
- 환불 이력은 차트
emr_memo에[자동정리 ... 전액 환불 반영]로 기록됨 - 차트 매출 유지가 필요한 특수 경우는 운영팀에 문의 (
keep_chart_amount옵션)