Công nợ
Mô hình thanh toán B2B của labo VN là công nợ-tháng: không thu tiền từng đơn, mà ghi nợ khi giao case rồi chốt một lần theo tháng cho mỗi phòng khám. Quản được dòng tiền là quản được sự sống còn của xưởng.
Tính năng theo dõi tiền phòng khám còn nợ labo theo từng case và theo kỳ, thay cho file Excel chép tay. Labo biết chính xác mỗi phòng khám đang nợ bao nhiêu, đã đặt cọc bao nhiêu, đến hạn khi nào — và sao kê được trong một cú bấm. Đây là một trong những lý do cốt lõi khiến một labo chịu trả tiền SaaS.
Ghi nợ khi giao, ghi có khi thu
Công nợ phát sinh từ vòng đời case: khi một work order đạt trạng thái đã giao (delivered), hệ thống tự ghi một bút toán ghi nợ (debit) bằng giá trị case vào công nợ của phòng khám tương ứng. Mỗi case chỉ sinh một bút toán ghi nợ; nếu case bị huỷ/redo sau khi đã ghi nợ thì tạo bút toán điều chỉnh (adjustment) đối ứng, không xoá bút toán gốc.
Mỗi lần nhận tiền hoặc trừ cọc là một bút toán ghi có (credit). Một thanh toán phải gắn với một phòng khám; có thể phân bổ cho một hay nhiều case, hoặc để dạng trả chung (on-account) trừ dần theo FIFO theo ngày giao. Số tiền ghi nợ luôn lấy đúng giá đã chốt cứng trên work order (đã áp giá riêng của phòng khám nếu có) — feature công nợ không tự định giá, chỉ tiêu thụ giá đã chốt từ Bảng giá & vật liệu.
Số dư từng phòng khám
Tổng còn nợ của một phòng khám = Σ ghi nợ − Σ cọc − Σ đã trả, luôn khớp với chi tiết từng case (đối chiếu không lệch). Cọc được ghi nhận khi phòng khám trả trước và trừ vào công nợ khi quyết toán; cọc không làm tổng nợ của phòng khám âm dưới 0 — phần thừa giữ dạng số dư có (on-account), trừ tiếp kỳ sau.
Kỳ công nợ-tháng & chốt sao kê
Kỳ sao kê mặc định là tháng dương lịch per phòng khám. Cuối kỳ tháng, hệ thống chốt một sao kê cho mỗi phòng khám: số còn nợ đầu kỳ + ghi nợ trong kỳ − đã trả − cọc = số còn nợ cuối kỳ. Số còn nợ cuối kỳ của tháng N là còn nợ đầu kỳ của tháng N+1 (số dư cuộn). Số liệu trên sao kê đã chốt là bất biến — điều chỉnh sau kỳ phải tạo bút toán mới, không sửa số cũ.
Labo có thể đặt kỳ khác (tuần / 2 tuần) per phòng khám, nhưng một phòng khám chỉ có một định nghĩa kỳ đang hiệu lực; đổi kỳ chỉ áp cho các kỳ chưa chốt, không hồi tố sao kê đã chốt. Sao kê đã chốt là đầu vào hợp lệ để phát hành hoá đơn điện tử và để nhắc nợ khéo qua Zalo khi quá hạn.
Chặn chốt sao kê khi còn giá thiếu
Không được chốt sao kê một kỳ nếu trong kỳ còn case đã giao mà thiếu giá (chưa khớp được bảng giá, hệ thống không tự đặt 0). Chốt bị chặn, kèm danh sách case thiếu giá cần báo giá lại trước — vì sao kê đã chốt là bất biến và là đầu vào của hoá đơn điện tử, chốt với số thiếu sẽ khoá cứng một con số sai không sửa được nữa.
Khoá công nợ (credit hold) chỉ chặn đơn mới
Khi một phòng khám bị khoá (ví dụ quá hạn công nợ lâu), credit-hold chỉ chặn nhận đơn mới — mọi đường đặt đơn (tạo trực tiếp, QR/web, qua DentIQ) đều bị từ chối rõ lý do. Case đang chạy (đã tiếp nhận trở đi) vẫn hoàn tất bình thường tới giao/đóng — không đóng băng việc đang làm dở của phòng khám đó. Gỡ khoá (đã trả/đã thoả thuận) mở lại việc nhận đơn ngay.
Chỉ người thuộc labo có quyền tài chính mới được ghi nhận thanh toán, điều chỉnh và phát hành sao kê. Phía phòng khám chỉ xem/đối chiếu sao kê của chính mình, không sửa số. Nhắc nợ qua Zalo chỉ gửi cho phòng khám có số còn nợ quá hạn (> 0 và quá ngày đến hạn), đính kèm sao kê kỳ tương ứng — không gửi trùng để tránh spam.
Case bị huỷ trước khi giao không tạo hay đảo bút toán nào trong công nợ — ghi nợ chỉ phát sinh lúc đã giao (delivered), mà huỷ chỉ xảy ra ở trạng thái trước-giao. Cọc trước-giao (nếu có) được xử lý riêng trên chính case (hoàn lại hoặc labo giữ làm phí huỷ), không đi qua sổ công nợ.