Một bộ quy tắc ghép tự động nên được xếp theo tầng: tầng đầu chỉ ghép khi có khoá chắc chắn (mã đơn, mã đơn sàn, mã giao dịch, số hoá đơn); tầng sau mới dùng số tiền kết hợp thời gian và người trả, và ở tầng này máy chỉ được gợi ý, người xác nhận; những gì không lọt tầng nào thì dừng lại chờ người. Hệ thống ghép nhanh mà sai còn tệ hơn hệ thống chậm, vì cái sai nằm im trong sổ tới khi có người hỏi.
Bài này không bàn cách sinh mã cho tiền (việc của kết nối thanh toán) mà bàn phần đứng sau: khi dữ liệu tiền và dữ liệu đơn đã có, máy nên ghép theo luật nào.
Ba tầng ghép
| Tầng | Điều kiện | Máy được làm gì |
|---|---|---|
| 1. Khoá chắc chắn | Mã đơn, mã đơn sàn, mã giao dịch hoặc số hoá đơn khớp duy nhất, số tiền khớp | Ghép luôn, không cần người |
| 1b. Khoá khớp, tiền lệch | Khoá khớp duy nhất, số tiền lệch | Ghép, đồng thời tạo khoản chênh lệch thanh toán để người xem |
| 2. Gợi ý | Không có khoá, nhưng số tiền khớp đúng một đơn chưa thanh toán trong khoảng thời gian hẹp, cùng cửa hàng | Đề xuất, chờ người bấm xác nhận |
| 3. Dừng | Không có khoá, nhiều đơn cùng số tiền, hoặc không đơn nào khớp | Đưa vào hàng đợi ngoại lệ |
Điểm quan trọng: tầng 2 không bao giờ tự ghép, dù xác suất đúng có vẻ cao. Chỉ cần hai đơn cùng giá trong cùng khoảng thời gian là gợi ý có thể sai, và người xác nhận là người chịu trách nhiệm cho lần ghép đó.
Khoá phải duy nhất mới là khoá
Nghe hiển nhiên nhưng hay bị bỏ qua:
- Mã đơn đánh lại từ 1 mỗi ngày ở từng quầy thì không duy nhất. Khoá đúng là mã quầy cộng ngày cộng số thứ tự, hoặc một mã sinh ngẫu nhiên đủ dài.
- Số hoá đơn có thể trùng giữa hai ký hiệu khác nhau. Khoá đúng là ký hiệu cộng số.
- Mã giao dịch thẻ có thể trùng giữa hai máy. Khoá đúng gồm cả mã máy.
- Mã đơn sàn là duy nhất trong một sàn, không phải giữa các sàn.
Nếu phần mềm tìm thấy hai đơn cùng khoá, đó là lỗi dữ liệu, phải dừng và báo, không được chọn đại một đơn.
Sai số cho phép: đặt bằng văn bản, không đặt trong đầu
Tầng 1b cần một ngưỡng: lệch bao nhiêu thì vẫn ghép và ghi chênh lệch, lệch bao nhiêu thì dừng. Ví dụ giả định:
- Lệch trong phạm vi vài trăm đồng do làm tròn: ghép, ghi chênh lệch, không cần người xem từng khoản.
- Lệch lớn hơn nhưng dưới một mức nhỏ nội bộ: ghép, ghi chênh lệch, người xem trong ngày.
- Lệch lớn hơn nữa, hoặc số tiền gấp nhiều lần đơn: dừng, không ghép. Có thể là khách trả nhầm, trả cho nhiều đơn, hoặc khoá bị gõ nhầm.
Mức cụ thể do doanh nghiệp tự quyết theo quy mô đơn hàng, được người có thẩm quyền duyệt, và cài trong phần mềm. Không để mỗi người đối soát tự chọn mức "chấp nhận được".
Một khoản trả cho nhiều đơn, nhiều khoản trả cho một đơn
Ghép một đối một là phần dễ. Hai trường hợp còn lại:
- Một khoản, nhiều đơn: nội dung chuyển khoản có nhiều khoá, tổng khớp tổng các đơn. Tầng 1 xử lý được. Không có khoá thì phần mềm có thể gợi ý tổ hợp đơn cùng khách có tổng khớp, nhưng chỉ là gợi ý.
- Nhiều khoản, một đơn: khách trả cọc rồi trả nốt, hoặc trả một phần tiền mặt một phần chuyển khoản. Đơn cần trạng thái "đã thanh toán một phần" và danh sách các khoản đã gắn.
Tránh cách "tìm tổ hợp bất kỳ có tổng bằng khoản tiền" trên toàn bộ đơn chưa thanh toán. Với vài trăm đơn, gần như luôn tìm được một tổ hợp khớp, và gần như chắc chắn là sai.
Gỡ ghép khi phát hiện sai
Ghép sai sẽ xảy ra, nhất là ở tầng gợi ý. Quy tắc gỡ:
- Không xoá lần ghép; đánh dấu "đã gỡ", ghi người gỡ, thời điểm, lý do.
- Khoản tiền và đơn quay lại trạng thái chưa ghép, đi lại qua các tầng.
- Nếu lần ghép sai đã ảnh hưởng tới báo cáo của kỳ đã khoá (ví dụ báo cáo thanh toán theo hoá đơn đã gửi đi), ghi nhận điều chỉnh ở kỳ hiện tại và báo cho người nhận báo cáo.
Nhật ký ghép và gỡ là thứ giúp trả lời câu hỏi "vì sao khoản tiền này được coi là của đơn kia" nhiều tháng sau.
Đo chất lượng bộ quy tắc
Mỗi tháng nên có bốn con số, mỗi con số mở ra được danh sách:
- Tỷ lệ khoản ghép ở tầng 1 trên tổng số khoản.
- Số gợi ý tầng 2 và tỷ lệ người xác nhận đồng ý. Tỷ lệ đồng ý thấp nghĩa là điều kiện gợi ý đang quá lỏng.
- Số lần gỡ ghép, theo tầng. Gỡ ở tầng 1 gần như luôn là lỗi dữ liệu khoá, cần sửa gốc.
- Số khoản ở tầng 3 quá hạn.
Khi tỷ lệ tầng 1 thấp, việc cần làm là tăng số tiền mang khoá ở nguồn, không phải nới lỏng tầng 2.
Tự kiểm tra ở đâu
- Sao kê tài khoản doanh nghiệp: tổng tiền vào, so với tổng các khoản đã ghép cộng các khoản còn trong hàng đợi. Hai số phải bằng nhau, không khoản nào "rơi" ra ngoài.
- Phần mềm bán hàng: đơn đã giao chưa có tiền gắn.
- Nhật ký ghép: lọc các lần ghép ở tầng 2, kiểm ngẫu nhiên vài khoản mỗi tuần.
- Cổng hoá đơn điện tử: với khách doanh nghiệp, hoá đơn đã phát hành cho các đơn đã ghép tiền.
Câu hỏi thường gặp
Máy ghép theo số tiền đúng tới chín phần mười thì có nên cho tự ghép không?
Không nên. Một phần mười sai nằm lẫn trong sổ và không ai biết khoản nào. Để máy gợi ý và người xác nhận thì chi phí chỉ là vài cú bấm.
Khoá bị khách gõ sai một ký tự thì sao?
Phần mềm có thể gợi ý đơn có khoá gần giống, nhưng đó là tầng gợi ý, cần người xác nhận. Không coi khoá gần đúng là khoá.
Có cần ghép tiền cho đơn tiền mặt không?
Tiền mặt ghép theo ca: tổng đơn tiền mặt của ca với biên bản chốt ca, rồi với khoản nộp ngân hàng. Khoá là mã cửa hàng và ngày ca.
Ai nên được sửa bộ quy tắc ghép?
Người quản trị hệ thống theo đề xuất của kế toán phụ trách, có người duyệt. Mỗi lần sửa ghi lại ngày hiệu lực để hiểu vì sao kết quả ghép trước và sau khác nhau.
Ghép sai ảnh hưởng gì tới thuế?
Doanh thu kê khai theo hoá đơn nên ghép tiền sai thường không làm sai số thuế ngay. Nhưng nó làm sai công nợ, sai báo cáo thanh toán theo hoá đơn, và làm yếu hồ sơ khi phải giải trình.
Có nên ghép tự động hoá đơn đầu vào với khoản chi không?
Có, theo cùng nguyên tắc: khoá là số hoá đơn hoặc mã đơn mua hàng trong nội dung chuyển khoản. Không có khoá thì chỉ gợi ý.