Đối soát cuối ngày — ghi nhận quỹ hôm nay
Cuối ca làm việc, lễ tân + kế toán vào hệ thống để đối soát: kiểm tra tổng cộng tiền thu hôm nay, so khớp với cash session opening/closing, ghi các chi phí phát sinh, confirm balance chính xác.
Bối cảnh
Phòng khám giữ tiền ở 2 nơi: quầy (cash/wallet) và ngân hàng (bank). Mỗi ngày phải chốt quỹ để biết: tiền thực tế đang giữ là bao nhiêu, lệch với hóa đơn bao nhiêu, có chi phí nào phát sinh không. Đây là bảo vệ tài chính cơ bản (CI-04).
Diễn viên & quyền cần
| Vai trò | Quyền cần | Nhiệm vụ |
|---|---|---|
| Lễ tân | cash.read, cash.manage | Mở cash session, kiểm tra payment hôm nay, ghi chi phí |
| Kế toán | cash.manage, cash.export, payment.read | Đối soát số liệu, export báo cáo, confirm close |
| Clinic Admin | cash.manage | Approve close nếu số liệu lệch, reopen period nếu cần fix |
Quy trình từng bước
-
Mở Cash Session (sáng):
- Lễ tân vào Menu → Cash Management → "Mở phiên làm việc mới"
- Nhập "Opening balance" (tiền quầy lúc bắt đầu hôm nay), chọn branch
- Lưu → session trở thành "OPEN"
-
Ngày làm việc:
- Lễ tân ghi nhận payment từ BN bình thường (Payment module)
- Mỗi payment được ghi vào cash ledger tự động (nếu method = cash/bank)
- Các giao dịch khác: chi phí, nạp tiền, transfer giữa cash ↔ bank đều ghi nhận ngay
-
Trước khi close (chiều/tối):
- Kế toán vào Cash Management → tab "Cash Ledger" hoặc "Reconciliation"
- Xem tổng payment hôm nay (expected balance = opening + payment in − payment out)
- Kiểm tra tab "Receipts issued" → xem tất cả phiếu thu phát hành hôm nay, confirm mỗi phiếu match 1 payment
-
Ghi expense (nếu có):
- Kế toán click "Ghi chi phí" → nhập: loại chi (supplies, transport, repair...), số tiền, ghi chú
- Lưu → expense được ghi vào ledger, expected balance giảm
-
Kiểm tra balance:
- Đếm tiền mặt ở quầy → so với "Expected balance" trên màn hình
- Nếu khớp: "Balanced" ✓
- Nếu lệch: kiểm tra payment ghi nhận, receipt, hoặc expense xem sai chỗ nào
-
Close Cash Session:
- Nhập "Closing balance" (tiền thực tế đếm được)
- Hệ thống so sánh: expected vs actual → hiển thị "Difference"
- Nếu difference = 0 → click "Confirm Close" → session trở "CLOSED", period lock
- Nếu difference > 0 → investigate trước (xem "Variance report")
-
Print báo cáo:
- Từ closed session → nút "In báo cáo" → PDF gồm: opening balance, payment in/out, expense, closing balance, variance (if any)
- Lưu file hoặc in giấy lưu hồ sơ
Kết quả mong đợi
- Cash session mỗi ngày tạo 1 period lock → không edit payment/expense cũ sau khi close
- Balance khớp → team tin tưởng số liệu tài chính
- Nếu có lệch: variance được ghi audit → giúp trace nguyên nhân (sơ suất, mất tiền, ghi nhầm)
- Payment không bị double-count với cash balance: payment = thanh toán BN ghi, cash = quỹ giữ (CI-04)
- Báo cáo hỗ trợ kế toán bộ đối soát với bank statement
Khi nào hỏng & cách xử lý
| Vấn đề | Nguyên nhân | Cách check | Cách fix |
|---|---|---|---|
| Balance lệch hơn 100k | Thường do: ghi nhầm số tiền, quên ghi payment nào đó, hoặc expense chưa ghi | Xem Cash Ledger detail, filter hôm nay, xem từng entry | Tìm entry sai → edit (nếu chưa close) hoặc ghi "Adjustment" entry để cân bằng |
| Không thể close session — lệch quá 5% | Có thể do ghi sai payment hoặc cash withdrawal chưa ghi | Xem "Variance report" chi tiết, so sánh receipt vs payment entry | Reopen session (Admin permission), fix entry, đóng lại |
| Receipt số X không có payment tương ứng | Lễ tân in receipt nhưng BN rút tiền lại, hoặc ghi nhầm | Mở receipt detail, kiểm tra trạng thái (issued / voided), xem linked payment | Nếu receipt sai, void nó. Nếu payment thực tế nhưng entry chưa ghi, tạo entry mới |
| Session không mở được buổi sáng | Session hôm qua chưa close, hoặc cơ sở dữ liệu lỗi | Kiểm tra Cash Management → "Sessions", filter hôm qua | Close session hôm qua (hoặc reopen nếu cần sửa). Rồi mở session mới |
Dấu vết để lại (audit & branch ownership)
Branch scope (CI-01, CI-03): Cash session thuộc 1 branch duy nhất. Nếu phòng khám có nhiều chi nhánh, mỗi nhánh có session riêng. Active UI branch không thay đổi session ownership.
Audit trail:
- Session open log: opening balance, time, actor, branch
- Per entry: payment / expense in/out, time, method, actor, amount, note
- Session close log: closing balance, variance, time, actor, approval
- Edit/void log (nếu reopen và fix): old value → new value, actor, reason
Dễ nhầm: Payment = tiền BN nộp (ghi thanh toán charge). Cash = tiền quầy phòng khám đang giữ. Chúng là 2 hệ thống khác nhau. Payment tăng không tự động cộng cash — phải đi qua cash ledger để ghi nhận. Đó là bảo vệ để tránh double-count.