Giao diện
Bills — tổng quan & chi tiết
Mục đích
Màn hình Bills gom toàn bộ bill thanh toán mà ADV gửi qua Telegram. AI đọc số trên ảnh bill, tự gợi ý ghép với đúng record (kỳ quyết toán của một ADV) để bạn kiểm tra. Trang này dành cho AM_ADV (xem bill của mình) và KT (chỉ đọc, giám sát). Trang này tập trung vào việc xem danh sách và đọc chi tiết bill; các thao tác xác nhận / tách đợt / từ chối nằm ở trang Xử lý bill.
Bill nhập tay (khoản không ảnh)
Ngoài bill từ Telegram, còn có bill nhập tay — do AM tạo bằng ✍ Nhập bill tay ở trang Chốt số cho khoản không có ảnh (tiền mặt / chuyển khoản không chụp). Loại này không có ảnh và sinh ra đã ở trạng thái ĐÃ XÁC NHẬN (đã cộng vào record). Nó vẫn hiện trong danh sách Bills; muốn sửa/hủy thì dùng Hoàn tác hoặc Từ chối ở Xử lý bill.
Cách dùng
Vào menu Bills ở thanh bên trái. Nếu cạnh chữ "Bills" có một con số (badge), đó là số bill đang chờ bạn xử lý — số này tự cập nhật khoảng mỗi 30 giây.
Chọn tab trạng thái ở góc trên:
- Cần xử lý — bill AI đang đọc / đang ghép / đã ghép chờ xác nhận / cần bạn chọn (kèm con số nhắc việc).
- Đã xác nhận — bill đã chốt xong, tiền đã cộng vào record.
- Từ chối — bill đã loại (bill rác, gửi nhầm).
Chọn tháng ở ô chọn tháng để lọc theo ngày bill được đẩy lên. Bấm ↻ Refresh để tải lại danh sách.

- Nhìn danh sách bên trái. Mỗi dòng bill hiển thị: biểu tượng bill, tên ADV AI đọc được (hoặc "(không đọc được tên)"), dòng ghép record ("→ {tên ADV} T{tháng}/{năm}" hoặc "Chưa khớp record"), ngày nhận, nhãn trạng thái và tổng tiền. Bấm vào một dòng để mở chi tiết bên phải (hệ thống tự chọn sẵn bill đầu tiên).
TIP
Biểu tượng 🧾 trên mỗi dòng chỉ là hình đại diện, không phải ảnh bill thật. Ảnh gốc nằm trên Drive; KT xem qua cột Ảnh trong màn hình đối chiếu của KT.
- Khung chi tiết bên phải chia 2 nguồn đặt cạnh nhau — luôn đối chiếu hai bên:
- 🗄 Từ hệ thống — record mà hệ thống đề xuất ghép (khối "Match record").
- 📩 Từ bill — 4 thông tin AI đọc từ ảnh bill (khối "Đọc từ bill").

- Nếu AI đọc sai, sửa ở khối 📩 Từ bill: Tên ADV, Thực nhận, Phí, Ngày nhận. Ô Tổng (auto) tự cộng Thực nhận + Phí. Khi bạn sửa, khối hiện dòng "Có thay đổi chưa lưu" và hai nút Hủy thay đổi / Lưu thông tin. Bấm Lưu thông tin — hệ thống báo "Đã lưu thông tin bill." và tự ghép lại record theo số mới.

- Kiểm tra khối 🗄 Từ hệ thống (Match record): tên ADV được ghép, kỳ (T{tháng}/{năm}), số Đã chốt và Còn nợ của record, và dải đối chiếu lệch số. Nếu record chưa đúng, chọn lại ở Gợi ý top N hoặc ô Đổi record khác / Chọn record để gắn.

- Khi record và số đã đúng, chuyển sang Xử lý bill để xác nhận (cộng tiền vào record), tách đợt hoặc từ chối.
Các tình huống có thể gặp
| Tình huống | Hệ thống xử lý | Bạn cần làm gì |
|---|---|---|
| Số tiền khớp hoàn hảo, chỉ 1 record duy nhất | TỰ ĐỘNG KHỚP — tự ghép sẵn, hiện ở "Từ hệ thống" | Kiểm tra rồi sang Xử lý bill xác nhận |
| Nhiều record cùng số tiền, hoặc số gần khớp nhưng tên chưa chắc | CẦN XEM LẠI + danh sách "Gợi ý top N" | Chọn đúng record trong gợi ý hoặc ô picker |
| Số tiền lệch nhiều (trên 20%) hoặc không có record phù hợp | KHÔNG KHỚP — chưa gắn record nào | Tự chọn record ở "Đổi record khác / Chọn record để gắn" |
| Bill ghép nhờ tên gọi khác của ADV | Dòng "⚠ Match qua tên gọi khác — verify kỹ" | Đối chiếu ảnh bill, chắc chắn đúng ADV mới xác nhận |
| Tên AI đọc khác với record đang gắn | Dòng "⚠ OCR đọc khác record — kiểm tra trước khi xác nhận" | Mở ảnh bill đối chiếu tên |
| Tổng bill lệch với số ADV đã chốt | Dải "⚠ Lệch thiếu/dư $X — đã nhận $Y / chốt $Z" | Xem lại số; có thể cần tách đợt hoặc điều chỉnh phí ở Xử lý bill |
| AI đang đọc / đang tìm record | CHỜ ĐỌC BILL hoặc CHỜ KHỚP | Chờ vài giây, bấm ↻ Refresh |
| Bill đã đóng (đã xác nhận / tách / từ chối) | Khối "Từ bill" khoá, hiện "Bill đã đóng — không sửa được" | Không sửa được; muốn sửa phải hoàn tác trước (ở Xử lý bill) |
⚠ Lưu ý
Sửa "Từ bill" KHÔNG cộng tiền
Khối 📩 Từ bill chỉ là số AI đọc để tham khảo (tiêu đề ghi rõ "OCR — chỉ tham khảo"). Bấm Lưu thông tin chỉ giúp hệ thống ghép lại đúng record — không cộng tiền vào record. Tiền chỉ được cộng khi bạn Xác nhận ở trang Xử lý bill.
Chọn record: chưa xác nhận gắn ngay, đã xác nhận phải bấm nút
Với bill chưa xác nhận, chọn một record ở gợi ý hoặc ô picker là gắn ngay. Với bill đã xác nhận, chọn record chỉ chờ áp dụng — bạn phải bấm nút xác nhận đổi record ở thanh dưới thì mới đổi thật.
Lưu trước khi xác nhận
Nếu bạn sửa Thực nhận / Phí ở "Từ bill" mà quên bấm Lưu thông tin rồi đi xác nhận, hệ thống dùng số đã lưu trước đó, không phải số bạn vừa gõ. Sẽ có hộp thoại "Thay đổi chưa lưu" nhắc — quay lại lưu trước cho chắc.
Khớp qua tên gọi khác
Khi thấy nhãn "🏷 alias" ở gợi ý hoặc dòng "⚠ Match qua tên gọi khác", nghĩa là bill khớp nhờ một tên gọi khác đã lưu cho ADV chứ không phải tên chính. Kiểm tra kỹ đúng ADV trước khi xác nhận.
Ý nghĩa các trạng thái bill
| Trạng thái | Ý nghĩa | Nằm ở tab |
|---|---|---|
| CHỜ ĐỌC BILL | AI đang đọc số trên ảnh bill | Cần xử lý |
| CHỜ KHỚP | Đọc xong, đang tìm record để ghép | Cần xử lý |
| TỰ ĐỘNG KHỚP | Đã tự ghép đúng 1 record, chờ bạn xác nhận | Cần xử lý |
| CẦN XEM LẠI | Có nhiều khả năng hoặc chưa chắc — cần bạn chọn | Cần xử lý |
| KHÔNG KHỚP | Không tìm được record phù hợp | Cần xử lý |
| ĐÃ XÁC NHẬN | Đã xác nhận, tiền đã cộng vào record | Đã xác nhận |
| ĐÃ TÁCH ĐỢT | Đã tách thành nhiều đợt trả | Đã xác nhận |
| ĐÃ TỪ CHỐI | Đã từ chối (bill rác / gửi nhầm) | Từ chối |
| "OCR lỗi" | AI không đọc được ảnh — cần nhập tay 4 thông tin ở "Từ bill" | Không nằm trong 3 tab (hiếm gặp) |
Lỗi thường gặp & cách xử lý
| Triệu chứng | Nguyên nhân | Cách khắc phục |
|---|---|---|
| "Vui lòng nhập số thực nhận hợp lệ." | Ô Thực nhận để trống hoặc là số âm | Nhập Thực nhận là số không âm rồi bấm Lưu thông tin |
| Ô nhập ở "Từ bill" bị mờ, không sửa được | Bill đã đóng, hoặc bạn không phải AM_ADV phụ trách bill | Bill đã đóng phải hoàn tác trước; chỉ AM sở hữu bill mới sửa được |
| "Không tải được bill." | Mất mạng, hoặc bill không thuộc quyền xem của bạn | Bấm ↻ Refresh; bill của AM khác bạn sẽ không thấy |
| Không thấy bill của mình | Đang ở sai tab hoặc sai tháng | Đổi tab, đổi tháng, bấm ↻ Refresh |
| Thẻ bill ghi "(không đọc được tên)" | AI không đọc được tên ADV trên ảnh | Mở bill, nhập Tên ADV ở "Từ bill" và Lưu — hệ thống tự ghép lại |
| Badge cạnh menu Bills vẫn còn số | Còn bill chưa xử lý xong | Xử lý nốt các bill "Cần xử lý"; badge tự cập nhật lại sau ~30 giây |
Ví dụ minh hoạ
Bill ADV gửi qua Telegram: Thực nhận $980.00, Phí $20.00 → ô Tổng (auto) hiện $1,000.00.
Trong sổ, ADV "Acme" có 1 record kỳ T6/2026 đã chốt số: Đã chốt $1,000.00, chưa nhận đồng nào, Còn nợ $1,000.00.
- Ghép số: tổng bill $1,000.00 so với số đã chốt $1,000.00 → lệch 0%, khớp gần như tuyệt đối. Chỉ có duy nhất 1 record hợp lệ → hệ thống tự ghép và đặt trạng thái TỰ ĐỘNG KHỚP.
- Đối chiếu lệch số: hệ thống cộng số record đã nhận ($0.00) với tổng bill này ($1,000.00) = $1,000.00, so với số chốt $1,000.00 → dải xanh "✓ Khớp số chốt ($1,000.00)" (chênh trong khoảng $0.10 coi là khớp).
Ngược lại, nếu bill chỉ ghi tổng $950.00: lệch 5% so với $1,000.00 → hệ thống đưa về CẦN XEM LẠI và hiện danh sách "Gợi ý top N" để bạn chọn; dải vàng báo "⚠ Lệch thiếu $50.00 — đã nhận $950.00 / chốt $1,000.00". Bạn kiểm tra: nếu ADV còn trả tiếp thì để đó chờ bill sau; nếu bank trừ phí ẩn thì điều chỉnh phí ở Xử lý bill.
Xem thêm: Xử lý bill · Khớp số · Từ điển thuật ngữ · KT — Bills & Invoice