Giao diện
Invoice — tạo & quản lý
Mục đích
Trang Invoices để AM_ADV lập hoá đơn gửi cho Advertiser: chọn ADV, chọn tháng, hệ thống tự điền doanh thu từ số ADV chốt, sinh PDF và theo dõi trạng thái thanh toán. AM_ADV chỉ thấy và thao tác trên invoice của ADV mình phụ trách; KT xem tất cả và là người xác nhận đã thanh toán.
Cách dùng
A. Xem & lọc danh sách
- Vào trang Invoices. Bảng hiển thị các cột: Invoice #, Ngày, ADV, Method, Total, PDF, Status, Tạo bởi. KT còn thấy thêm cột AM phụ trách.
- Dùng thanh lọc phía trên: chọn Tháng, Trạng thái (Draft / Đã gửi / Đã thanh toán / Đã hủy), Method (ACH / PayPal), gõ số hoá đơn vào ô Invoice No.. KT có thêm bộ lọc Account Manager để xem invoice theo từng AM.
- Bấm Reset để xoá toàn bộ điều kiện lọc.
- Dải số liệu nhanh cho biết Tổng doanh thu (trang) và số hoá đơn Đang tạo PDF.

B. Tạo invoice mới
- Bấm nút + Tạo invoice (góc phải, chỉ AM_ADV thấy). Trang Tạo invoice mới có form bên trái và ô Xem trước invoice bên phải cập nhật theo thời gian thực.
- Bước 1 — Advertiser: chọn ADV. Bên dưới hiện thẻ tóm tắt (Company, Address, Phone, VAT). Nếu billing chưa đủ, thẻ báo đỏ "Billing chưa đầy đủ — không thể tạo invoice" kèm link Setup billing ngay.
- Bước 2 — Thông tin invoice: chọn Ngày invoice, rồi chọn Phương thức thanh toán:
- ACH: chọn Bank account trong danh sách (mỗi dòng hiện nhãn tài khoản, tên người thụ hưởng, gắn Default nếu là mặc định).
- PayPal: nhập PayPal email (tự điền từ billing của ADV, có thể sửa).
- Bước 3 — Line items: cách nhanh nhất là dùng Thêm nhanh nhiều tháng — chọn một hoặc nhiều tháng rồi bấm ➕ Thêm tháng. Hệ thống tự tạo mỗi tháng một dòng và điền sẵn doanh thu từ số ADV chốt của ADV đó. Tháng nào chưa có số chốt sẽ để trống cho bạn nhập tay.
- Kiểm tra bảng dòng: mỗi dòng gồm Period (VD: May 2026), Revenue (USD) và Notes. Bấm + Thêm dòng để thêm thủ công, hoặc dấu ✕ để xoá dòng (không xoá được nếu chỉ còn 1 dòng). Ô Tổng revenue cập nhật ngay.
- Bước 4 — Ghi chú nội bộ (tuỳ chọn): ghi chú này không hiển thị trên PDF.
- Đối chiếu Xem trước invoice bên phải, rồi bấm Tạo invoice ở thanh dưới cùng. Hệ thống tự sinh số hoá đơn, báo "Đã tạo {số invoice} — đang render PDF…" và quay về danh sách với dòng mới được đánh dấu Mới.

Tạo hàng loạt nhanh
Sau khi tạo xong một invoice, thanh dưới xuất hiện nút 📋 Tạo invoice tương tự — giữ nguyên ADV, phương thức và tài khoản để bạn lập nhanh hoá đơn tháng kế tiếp.
C. Theo dõi PDF & tải về
- Cột PDF tự cập nhật trạng thái tạo file (không cần F5): spinner "Đang tạo PDF…" khi đang chạy, chuyển thành link ⬇ Tải PDF khi xong.
- Bấm ⬇ Tải PDF (hoặc Tải PDF trong menu Tác vụ ▾) để mở/tải file. Mục Tải PDF bị mờ khi file chưa sẵn sàng.
- Nếu tạo file lỗi hoặc treo, dùng Tạo lại PDF (menu Tác vụ ▾, chỉ AM_ADV/ADMIN) và xác nhận. Hệ thống render lại từ đầu.
D. Xem chi tiết & lịch sử
- Bấm vào số hoá đơn (hoặc Xem chi tiết trong menu Tác vụ ▾) để mở ngăn chi tiết bên phải.
- Ngăn này hiển thị: Thông tin invoice, Partner (snapshot), Bank (snapshot), bảng Line items kèm tổng, và Lịch sử thay đổi (ai làm gì, lúc nào).
- Ở cuối ngăn có các nút 📄 Tải PDF, 🔄 Tạo lại PDF và Đổi status.

E. Đổi trạng thái
Một invoice khi tạo xong luôn ở trạng thái ĐÃ GỬI (Đã gửi). Bấm Đổi status rồi chọn trạng thái mới. Quyền theo vai trò:
| Từ trạng thái | Sang | Ai làm được |
|---|---|---|
| ĐÃ GỬI | ĐÃ THANH TOÁN | KT (hoặc ADMIN) |
| ĐÃ GỬI | ĐÃ HỦY | Người tạo hoá đơn hoặc ADMIN |
| ĐÃ THANH TOÁN | ĐÃ GỬI | Chỉ ADMIN |
KT có nút tắt ✓ Đánh dấu PAID ngay trong menu Tác vụ ▾ khi invoice đang ĐÃ GỬ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ì |
|---|---|---|
| ADV chưa nhập đủ billing (thiếu tên công ty / địa chỉ) | Thẻ báo đỏ, nút Tạo invoice bị khoá | Bấm Setup billing ngay để bổ sung thông tin billing của ADV |
| Bấm ➕ Thêm tháng khi chưa chọn ADV | Báo "Chọn Advertiser trước để tự điền doanh thu từ số chốt"; vẫn thêm dòng nhưng doanh thu để trống | Chọn ADV rồi thêm lại, hoặc nhập doanh thu tay |
| Tháng thêm vào đã có số ADV chốt | Tự điền doanh thu vào dòng đó | Kiểm tra lại con số |
| Tháng thêm vào chưa có số chốt | Báo "Các tháng đã thêm chưa có số chốt — nhập doanh thu tay", dòng để trống | Nhập doanh thu thủ công |
| Không tải được số chốt để tự điền (vd chọn quá 12 kỳ một lần) | Báo lý do cụ thể (vd "Tối đa 12 kỳ") rồi "Không tải được số chốt để tự điền — nhập doanh thu tay"; các tháng vẫn được thêm nhưng để trống | Chọn ít kỳ hơn (tối đa 12), hoặc nhập doanh thu tay |
| PDF đang render dưới 2 phút | Hiện spinner "Đang tạo PDF…" | Chờ, danh sách tự cập nhật |
| PDF render 2–5 phút | Hiện "⚠ Tạo PDF chậm…" | Chờ thêm chút |
| PDF quá 5 phút chưa xong | Hiện "⏱ Có thể bị treo" kèm nút Tạo lại | Bấm Tạo lại để render lại |
| PDF báo lỗi | Hiện "✕ Lỗi" kèm nút Retry | Bấm Retry để thử lại |
| AM_ADV muốn đánh dấu PAID | Không có lựa chọn PAID trong hộp thoại | Nhờ KT xác nhận thanh toán |
⚠ Lưu ý
Không có bước "nháp" — tạo xong là đã gửi
Invoice không bắt đầu ở trạng thái Draft. Ngay khi bấm Tạo invoice, hoá đơn chuyển thẳng sang ĐÃ GỬI (Đã gửi) và bắt đầu render PDF. Hãy kiểm tra kỹ khung Xem trước trước khi tạo.
Thông tin trên invoice là "ảnh chụp" tại thời điểm tạo
Thông tin Partner và Bank được snapshot (chụp lại) khi tạo. Sau này bạn sửa billing của ADV hay đổi tài khoản ngân hàng thì các invoice đã tạo không thay đổi theo. Muốn số liệu mới, phải tạo invoice mới.
Chỉ thấy invoice của ADV mình
AM_ADV chỉ xem, tạo và thao tác được trên invoice thuộc ADV mình phụ trách. Mở invoice của ADV người khác sẽ bị từ chối "Bạn không có quyền xem invoice này".
Hủy invoice cần cân nhắc
Chuyển sang ĐÃ HỦY để đánh dấu hoá đơn bỏ. Từ ĐÃ THANH TOÁN chỉ ADMIN mới đảo ngược được về ĐÃ GỬI. Ghi rõ lý do vào ô Ghi chú khi đổi trạng thái để lưu vào lịch sử.
Lỗi thường gặp & cách xử lý
| Triệu chứng | Nguyên nhân | Cách khắc phục |
|---|---|---|
| "Billing chưa đầy đủ — không thể tạo invoice", nút bị khoá | ADV thiếu tên công ty hoặc địa chỉ billing | Bấm Setup billing ngay, bổ sung billing của ADV rồi quay lại |
| "Vui lòng kiểm tra lại các trường bắt buộc" | Thiếu ngày invoice hoặc dòng line item chưa hợp lệ | Điền các ô có dấu * đang báo đỏ |
| "Kỳ thanh toán là bắt buộc" | Dòng line item thiếu Period | Nhập kỳ, VD: May 2026 |
| "Doanh thu là bắt buộc" / "Doanh thu phải là số" / "Doanh thu không được âm" | Ô Revenue trống, sai định dạng, hoặc số âm | Nhập số lớn hơn hoặc bằng 0 |
| "Cần ít nhất 1 dòng line item" | Không có dòng nào | Bấm + Thêm dòng hoặc ➕ Thêm tháng |
| "Tài khoản ngân hàng không tồn tại" | Tài khoản ACH đã chọn bị xoá | Chọn lại tài khoản khác |
| "Không thể chuyển trạng thái từ {trạng thái hiện tại} sang {trạng thái mới}" | Đổi trạng thái sai luồng hoặc không đủ quyền | Xem lại bảng quyền ở mục E; nhờ đúng vai trò thực hiện |
| "PDF đang mất nhiều thời gian hơn bình thường…" | Dịch vụ tạo PDF chậm/treo | F5 sau vài phút hoặc bấm Tạo lại PDF |
| "Bạn không có quyền tạo invoice cho advertiser này" | ADV không thuộc bạn phụ trách | Chỉ tạo cho ADV của mình |
Ví dụ minh hoạ
AM_ADV lập hoá đơn cho ADV TrafficCraft, phương thức ACH:
- Chọn ADV → billing đầy đủ, nút Tạo invoice bật.
- Ở Thêm nhanh nhiều tháng, chọn May 2026 và June 2026, bấm ➕ Thêm tháng.
- May 2026 đã có số ADV chốt → tự điền $12,000.00.
- June 2026 chưa chốt → dòng để trống, hệ thống nhắc "nhập doanh thu tay" → AM gõ $8,500.00.
- Ô Tổng revenue hiển thị $20,500.00.
- Bấm Tạo invoice → báo "Đã tạo … — đang render PDF…", invoice mới ở trạng thái ĐÃ GỬI, cột PDF hiện spinner rồi thành ⬇ Tải PDF.
- Khi Advertiser chuyển tiền, KT mở menu Tác vụ ▾ → ✓ Đánh dấu PAID. Invoice chuyển sang ĐÃ THANH TOÁN và ghi lại thời điểm thanh toán trong Lịch sử thay đổi.
Liên quan
- Chốt số settlement — nguồn của số ADV chốt tự điền vào invoice.
- Billing & bí danh thanh toán — cấu hình billing của ADV và tài khoản ngân hàng.
- Từ điển thuật ngữ — giải nghĩa số ADV chốt, số Affise gốc…