콘텐츠로 이동

수납 처리 (수납 팝업)

이 페이지에서 찾을 수 있는 것

수납 처리 / 결제 입력 / 카드 결제 / 현금 결제 / 계좌이체 / 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. 차트 입력 + 저장 (오더 청구액 1,000,000원)
  2. 차트 우측 패널 또는 현황판에서 "수납/미수" 우클릭 메뉴
  3. 수납 팝업 자동 열림 → 수납목록 탭 (디폴트, 미수 없으면)
  4. "미수처리" 탭 클릭 (또는 미수 있으면 자동 진입)
  5. 결제 수단 행에 금액 입력 (예: 카드 1,000,000원)
  6. 결제 버튼 클릭 → VAN 단말기 또는 PG 팝업
  7. 승인 완료 시 자동으로 차트 paid_amount 갱신 + reservation 수납완료 자동 전환

시나리오 2 — 분납 (박새별 케이스)

분납 1차 결제 + 미수 남기기

  1. 차트 청구액 1,000,000원, 분납 합의 (선금 50만)
  2. 수납 팝업 → 미수처리 탭
  3. 카드 행에 500,000원 입력 → 결제 처리
  4. 차트 paid_amount = 500,000, 미수 500,000 표시됨
  5. 차트로 돌아가 "수납대기" 버튼 클릭 (수납완료 절대 누르지 마세요!)

분납 잔금 받기 (다음달 등)

  1. 박새별 환자 검색 → 우클릭 → "수납/미수"
  2. 수납 팝업 자동 열림 → 자동으로 "미수처리" 탭 진입 (Phase 6-A)
  3. 상단 미수 차트 목록에서 5/1 차트 미수 50만원 항목 더블클릭 → 결제 영역에 자동 입력
  4. 결제 수단 선택 → 결제 처리
  5. 자동으로 수납완료 전환

시나리오 3 — 선납권 사용

보유 선납금으로 진료비 차감

  1. 차트 입력 + 저장 (예: 슈링크 39,000원)
  2. 수납 팝업 → 미수처리 탭
  3. 결제 수단 중 "선납권" 행에 39,000원 입력
  4. 자동으로 환자 보유 선납금 잔액에서 차감
  5. payments 테이블에는 INSERT 안 됨 (이중매출 방지)
  6. patient_prepaid usage 이력만 기록

시나리오 4 — 환불 처리

이미 결제한 항목 환불

  1. 수납 팝업 → 수납목록 탭
  2. 환불할 결제 항목 선택 → "환불" 버튼
  3. 환불 금액 입력 (전액 또는 부분)
  4. 환불 사유 메모
  5. PG 결제였으면 자동으로 PAY-STORY 취소 API 호출
  6. progress_notes.paid_amount 자동 차감

시나리오 5 — 가족 대납

어머니 선납권으로 자녀 진료비 결제

  1. 자녀 차트 + 수납 팝업 진입
  2. 미수처리 탭 → "가족선납권조회" 버튼
  3. 어머니 환자 검색 → 어머니 보유 선납금 표시
  4. 어머니 선납금에서 자녀 진료비 차감 결제
  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 옵션)

관련 페이지