Hướng dẫn sử dụng Phiếu đề xuất thanh toán

Dành cho người mới · Cập nhật 2026-11-02 · Bản v2.2 — thêm Ứng lương, Chuyển theo danh sách, Phiếu chi hàng loạt, File CK hàng loạt

i Tổng quan vòng đời phiếu

Mỗi phiếu đề xuất chi tiền đi qua các trạng thái sau:

📝 Nháp → Gửi → ⏳ Chờ xác nhận → Xác nhận → 🕒 Chờ duyệt → Duyệt → ✅ Đã duyệt → Chi → 💰 Đã thanh toán

Có 3 vai trò chính tham gia vào luồng phiếu:

  • Người đề xuất — tạo phiếu, nhập thông tin chi, đính kèm hóa đơn rồi gửi đi.
  • Người xác nhận (NXN) — kiểm tra sơ bộ, có thể sửa thông tin nếu sai trước khi chuyển cho người duyệt.
  • Người duyệt — duyệt chính thức bằng OTP (nếu hệ thống bật). Có thể từ chối với lý do.
  • Kế toán — xếp lịch, tạo phiếu chi, đánh dấu đã thanh toán.
Mẹo: Một người được phân cả hai vai trò Xác nhận + Duyệt có thể bấm Xác nhận + Duyệt để gộp 2 bước thành 1 click (vẫn cần OTP nếu đang bật).

1 Hướng dẫn TẠO phiếu đề xuất

Phần này dành cho người đề xuất — nhân viên có nhu cầu xin chi tiền (mua hàng, công tác phí, chi phí vận hành...).

Vào trang tạo phiếu
Có 3 cách mở form tạo phiếu:
  • Menu chính → Đề xuất thanh toán → bấm Tạo phiếu ở góc trên phải
  • Vào trực tiếp URL: /expenseproposals/detail
  • Từ trang /myaccount → bấm dropdown Tạo đề xuất → chọn Đề xuất thanh toán
Tạo phiếu đề xuất thanh toánHình mô tả trang tạo phiếu đề xuất thanh toán
Nhập thông tin phiếu
Form chia làm 2 cột:

Cột trái — Thông tin đề xuất:

TrườngBắt buộcQuy tắc
Nội dung chi✓Mô tả khoản chi rõ ràng (có editor định dạng)
Số tiền✓> 0, tối đa 100 tỷ VNĐ
VAT %✓Chọn 0% / 8% / 10% / Đã bao gồm VAT
Tổng tiền—Tự tính = Số tiền × (1 + VAT%)
Mức ưu tiên✓Khẩn cấp / Bình thường / Thấp
Ngày thanh toán—≥ hôm nay (tạo); cho phép quá khứ khi sửa
Mã đơn hàng liên quan—VD: DV193738 — sẽ thành link khi xem chi tiết
Thêm người xác nhận—Tick để chỉ định 1 NXN cụ thể. Bỏ trống = mọi NXN active đều có thể xử lý
Ghi chú—Ghi chú thêm, ≤ 2000 ký tự

Cột phải — Thông tin thanh toán:

TrườngQuy tắc
Hình thức TTChuyển khoản hoặc Tiền mặt
Loại người nhậnCá nhân — gõ STK để tìm khách hàng tự nhập tên
Công ty — gõ tên công ty tìm NCC; nếu chưa có thì bấm "Tạo mới NCC"
Số tài khoảnSố, chữ, dấu cách / gạch ngang. VD: 0123 456 789, IVFCI0311327008
Ngân hàngChọn từ danh sách (có search)
Tạo phiếu đề xuất thanh toánHình mô tả trang tạo phiếu đề xuất thanh toán
Tự động điền NCC: Khi chọn Công ty, gõ tên công ty → click suggestion sẽ tự fill STK + Ngân hàng từ thông tin NCC đã lưu. Tiết kiệm thời gian nhập tay.
Đính kèm hóa đơn / chứng từ
Phần Hóa đơn / Chứng từ ở cuối cột phải:
  • Kéo-thả file vào ô upload, hoặc bấm để chọn
  • Hỗ trợ: ảnh, PDF, Word, Excel — tối đa 10 MB / file, không giới hạn số lượng
  • Tick "Có hóa đơn VAT" nếu khoản chi có hóa đơn đỏ đính kèm
Tạo phiếu đề xuất thanh toánHình mô tả đính kèm hoá đơn
Tạo phiếu đề xuất thanh toánHình mô tả tải hoá đơn
Lưu ý: Người duyệt thường yêu cầu hóa đơn / báo giá trước khi duyệt. Đính kèm trước sẽ giảm thời gian chờ và tránh bị từ chối vì thiếu chứng từ.
Lưu nháp hoặc Gửi duyệt
2 nút ở cuối form:
  • Lưu nháp — Giữ ở trạng thái Nháp, có thể quay lại sửa sau. Người duyệt chưa nhận thông báo.
  • Gửi duyệt — Chuyển ngay sang Chờ xác nhận và gửi thông báo tới NXN (in-app + email/Telegram).
Sau khi gửi: Phiếu vào trạng thái Chờ xác nhận. Bạn KHÔNG sửa được nữa — chỉ Hủy (kèm lý do) hoặc nhờ NXN sửa giúp. Theo dõi tiến trình ở mục Đề xuất thanh toán trên profile.

2 Hướng dẫn DUYỆT phiếu

Phần này dành cho Người xác nhận (NXN) và Người duyệt. Mở danh sách phiếu chờ duyệt qua menu Đề xuất → Duyệt phiếu hoặc bell khi có thông báo.

A. Bước 1 — Xác nhận (cho NXN)

Mở phiếu chờ xác nhận
Danh sách lọc theo trạng thái Chờ xác nhận. Click Xem để mở modal chi tiết (hiển thị giống phiếu in).
Kiểm tra & sửa thông tin (nếu cần)
Trước khi xác nhận, đối chiếu:
  • Nội dung chi rõ ràng, có đính kèm hóa đơn/báo giá?
  • Số tiền + VAT đúng?
  • Người nhận, STK, NH khớp chứng từ?
  • Mức ưu tiên hợp lý?
Nếu sai sót nhỏ → sửa trực tiếp (mỗi field đều sửa được khi phiếu ở status Chờ xác nhận). Nếu sai cơ bản → từ chối với lý do cụ thể (ít nhất 5 ký tự).
Bấm "Xác nhận"
Nút Xác nhận nằm ở ô chữ ký người xác nhận trong modal chi tiết (hoặc cuối form). Có thể thêm ghi chú trong ô "Ghi chú xác nhận".

Sau xác nhận: phiếu chuyển sang Chờ duyệt, gửi thông báo tới tất cả Người duyệt active.

Mẹo: Bước xác nhận không cần OTP. Mục đích là sàng lọc lỗi sớm để giảm gánh nặng cho Người duyệt.

B. Bước 2 — Duyệt (cho Người duyệt)

Mở phiếu chờ duyệt
Danh sách trạng thái Chờ duyệt. Phiếu đã có dấu "Đã xác nhận" của NXN ở chữ ký giữa.
Kiểm tra kỹ trước khi duyệt
  • Số tiền có vượt định mức duyệt của mình? (xem cấu hình NXN/NĐ ở /admin)
  • Đã có hóa đơn VAT đối ứng (nếu khoản này yêu cầu)?
  • Mức ưu tiên + ngày thanh toán hợp lý không?
  • Nội dung khoản chi có thuộc thẩm quyền đề xuất của người tạo?
Bấm "Duyệt" — nhập OTP
Bấm Duyệt → hệ thống gửi mã OTP 6 chữ số qua email (hoặc Telegram nếu đã bật) — TTL 5 phút.

Nhập đúng OTP → phiếu chuyển sang Đã duyệt. Người đề xuất + phòng kế toán nhận thông báo.

Không nhận được OTP? Kiểm tra:
  • Hồ sơ nhân viên có email không?
  • Vào /myaccount/settings → bật Email/Telegram
  • Spam folder

C. Từ chối phiếu

Cả NXN (ở status 7) và Người duyệt (status 2) đều có nút Từ chối. Bắt buộc nhập lý do từ chối ≥ 5 ký tự, càng cụ thể càng tốt để người đề xuất biết cách sửa.

Sau khi từ chối: Phiếu vào trạng thái Từ chối (Terminal — không sửa, không gửi lại được). Người đề xuất phải tạo phiếu mới nếu vẫn cần khoản chi này.

3 Hướng dẫn XẾP LỊCH THANH TOÁN (Kế toán)

Phần này dành cho Kế toán. Sau khi phiếu chuyển sang Đã duyệt, bạn nhận thông báo và bắt đầu quy trình thanh toán.

Mở Lịch thanh toán
Menu Đề xuất → Lịch thanh toán (URL: /expenseproposals/schedule).

Trang này hiển thị các phiếu đã duyệt theo ngày thanh toán dự kiến. Sắp xếp theo ưu tiên — phiếu Khẩn cấp luôn trên đầu.

Điều chỉnh ngày thanh toán (nếu cần)
Kế toán (user id = 53, hoặc user thuộc phòng Kế toán) có thể cập nhật lại Ngày thanh toán ngay cả sau khi phiếu đã được duyệt — phục vụ trường hợp dời lịch chi.
  • Vào chi tiết phiếu
  • Đổi ô "Ngày thanh toán" → bấm nút Cập nhật ngày TT
  • Xác nhận trong dialog → phiếu cập nhật lịch mới
Tạo Phiếu Chi đối ứng
Vào chi tiết phiếu → bấm Tạo phiếu chi. Hệ thống mở modal Phiếu Chi với data đã pre-fill:
  • Số tiền + người nhận + STK + Ngân hàng tự copy từ phiếu đề xuất
  • Liên kết NCC nếu Loại = Công ty
  • Nội dung lấy từ "Nội dung chi"
Kiểm tra lại → bấm Lưu phiếu chi. Hệ thống tự link phiếu chi vào phiếu đề xuất (cột "Phiếu chi" trong list).
Đánh dấu Đã thanh toán
Sau khi chuyển khoản / chi tiền mặt thực tế:
  • Vào chi tiết phiếu → bấm Xác nhận thanh toán
  • Phiếu chuyển sang Đã thanh toán — Terminal, không sửa lại được
  • Liên kết phiếu chi (`paymentSlipId` + `paymentSlipCode`) được lưu để kiểm toán sau này
Trước khi bấm: Đảm bảo đã thực sự chi tiền và số tiền + STK khớp chứng từ chuyển khoản. Sau khi đánh dấu, phiếu vào Terminal — không hủy được.

4 Phiếu ứng lương

Ứng lương là một phiếu đề xuất có tick Ứng lương. Khi kế toán chi tiền, hệ thống tự tạo khoản ứng đứng tên người nhận và tự trừ vào kỳ lương theo kế hoạch trả.

Tick ô "Ứng lương" ở đầu form
Ô xanh nằm ngay trên tiêu đề phần thông tin. Tick vào thì form tự gọn lại:
  • Ẩn Mã đơn hàng và Hoá đơn VAT (ứng lương không có).
  • Chọn Chuyển khoản → tự điền số tài khoản + ngân hàng lấy từ hồ sơ nhân viên.
Nhân viên cũng tự tạo được trên app Nhân viên — xem Ứng lương trên app NV.
Duyệt như phiếu thường
Xác nhận → Duyệt → Xếp lịch thanh toán giống mục 2–3. Phiếu ứng lương có nhãn ỨNG LƯƠNG trong danh sách / popup.
Tạo phiếu chi → chọn kế hoạch trả
Bấm Tạo phiếu chi: loại chi tự chọn "Ứng lương" (nhóm Lương) + Chuyển khoản. Thanh toán xong hệ thống tự tạo khoản ứng và mở hộp chọn kế hoạch trả:
  • Trả 1 lần — trừ hết vào kỳ lương kế tiếp (mặc định).
  • Trả N kỳ (2–12) — chia đều cho N kỳ lương.
Theo dõi / sửa kế hoạch ở trang Ứng lương (/v2/salary/advance): còn nợ bao nhiêu, kỳ nào trả, đến hạn / quá hạn.
Ô Ứng lương trên form phiếu đề xuất
Tick ô Ứng lương — form tự ẩn mã đơn, hoá đơn và điền sẵn tài khoản
Chọn kế hoạch trả ứng lương
Thanh toán xong — chọn trả 1 lần hay chia N kỳ
Ứng lương cho nhiều người một lúcTick Ứng lương + chọn Chuyển theo danh sách: mỗi dòng có thêm cột Trả 1 lần / Trả N kỳ riêng từng người. Khi tạo phiếu chi hàng loạt, mỗi người 1 khoản ứng đúng tên người đó.

5 Chuyển theo danh sách (nhiều người nhận)

Dùng khi 1 phiếu chi cho nhiều người: hoa hồng cả nhóm, lương, thưởng, ứng lương nhiều người… — không phải tách thành nhiều phiếu đề xuất.

Chọn "Chuyển theo danh sách"
Ở ô Người nhận chọn Chuyển theo danh sách (hoặc bấm Chia tiền cho nhiều người nhận). 4 ô người nhận duy nhất (tên, STK, ngân hàng, nội dung CK) ẩn đi, khối danh sách mở ra.
Thêm từng người + số tiền
  • Chọn nhân viên (gõ tên hoặc tên phòng ban đều tìm được). Tài khoản ngân hàng tự lấy từ hồ sơ; chưa khai STK thì có cảnh báo vàng dưới tên.
  • Nhập số tiền, nội dung CK. Thêm bao nhiêu dòng cũng được.
  • Tick Tự cộng vào Số tiền (mặc định bật) → tổng phiếu = tổng các dòng.
Danh sách tự ghi vào Nội dung chi
Bảng người nhận (tên, số tiền, STK, ngân hàng, mã QR từng người) được ghi thẳng vào Nội dung chi → hiện ở popup Chi tiết, popup Duyệt và bản in. Bấm QR để xem lớn và quét chuyển khoản.
Khối chuyển theo danh sách
Khối chuyển theo danh sách — chọn người, số tiền, tự lấy tài khoản
Bảng người nhận kèm QR trong popup chi tiết
Bảng người nhận + QR từng người trong popup Chi tiết

Lấy danh sách sẵn từ bảng lương / hoa hồng

Trong khối danh sách có ô Nguồn danh sách — thay vì nhập tay, chọn:

NguồnLấy từ đâu
Tự nhậpNhập tay từng người (như trên).
Bảng lương tuần / thángSố Thực lãnh của bảng lương kỳ đã chọn.
Lương tài xếBảng lương tài xế (nút Chốt kỳ lương ở trang lương tài xế gửi sang sẵn).
Hoa hồng điều hành / giám sát / sale – khảo sátBáo cáo hoa hồng kỳ đã chọn.
Phiếu nhớ kỳ lương / hoa hồngKhi thanh toán, từng nhân viên nhận thông báo trên app và bảng lương / hoa hồng kỳ đó hiện Đã thanh toán. Chỉ đọc số liệu — không đổi cách tính lương.

6 Tạo phiếu chi hàng loạt (mỗi người 1 phiếu)

Phiếu chuyển theo danh sách từ 2 người trở lên: bấm Tạo phiếu chi sẽ mở popup Tạo phiếu chi cho từng người nhận thay cho form 1 phiếu.

Tick chọn người cần chi
Danh sách từng người + số tiền + tài khoản. Bỏ tick người chưa chi lần này.
Chọn chung: Loại chi · Hình thức · Ngày chi · Trạng thái
Áp cho mọi phiếu. Phiếu ứng lương tự chọn loại Ứng lương; có thêm ô kế hoạch trả chung (ai khác thì sửa riêng dòng đó).
Bấm "Tạo phiếu chi"
Hệ thống tạo lần lượt mỗi người 1 phiếu chi:
  • STK / ngân hàng / chủ TK lấy mới từ hồ sơ nhân viên.
  • Nội dung CK = nội dung của từng người; ghi chú "Theo đề xuất DX-… (i/N) — tên".
  • Mã phiếu tự sinh không trùng (PC + ngày giờ + số thứ tự).
  • Tạo đủ hết mới chuyển phiếu đề xuất sang Đã thanh toán (ghi chú liệt kê mã mọi phiếu chi).
  • Phiếu ứng lương: mỗi phiếu chi tạo 1 khoản ứng cho đúng người đó.
Popup tạo phiếu chi cho từng người nhận
Popup tạo phiếu chi cho từng người nhận
Đang tạo dở thì lỗi?Những phiếu đã tạo vẫn giữ; phiếu đề xuất chưa chuyển Đã thanh toán. Mở lại popup, bỏ tick những người đã có phiếu rồi tạo tiếp.

7 File chuyển khoản hàng loạt (Excel)

Thay vì chuyển tay từng người trên app ngân hàng: xuất 1 file Excel rồi tải lên internet banking (chức năng chi hộ lương / chuyển tiền theo lô).

  1. Mở popup Chi tiết của phiếu chuyển theo danh sách (hoặc ở khối danh sách trong form) → bấm Excel CK hàng loạt.
  2. Hệ thống lấy tài khoản ngân hàng mới nhất của từng người rồi tải file chuyen-tien-hang-loat-DX….xlsx.
  3. File theo mẫu chi hộ lương của ngân hàng (cùng mẫu xuất ở trang Lương): STT · Tên NV · Mã NV · Chức danh · Số tiền · Mã ngân hàng · Số tài khoản · CMND…
  4. Vào internet banking → chi hộ lương / chuyển theo lô → tải file lên → kiểm tra tổng tiền, số dòng → duyệt.
Nút Excel CK hàng loạt và file xuất ra
Nút Excel CK hàng loạt và file chuyển khoản xuất ra
Kiểm tra trước khi duyệt trên ngân hàngDòng nào thiếu STK / mã ngân hàng (nhân viên chưa khai hồ sơ) phải bổ sung tay. Đối chiếu tổng tiền file = số tiền phiếu đề xuất.

? Câu hỏi thường gặp

Tôi gửi nhầm phiếu, làm sao sửa lại?
Một khi phiếu rời Nháp, bạn không sửa được nữa. Có 2 cách: (1) Liên hệ NXN/Người duyệt sửa giúp (họ có quyền sửa trong status 7/2). (2) Vào chi tiết phiếu → bấm Hủy phiếu (nhập lý do) rồi tạo phiếu mới.
Phiếu bị từ chối — tôi gửi lại được không?
Không. Phiếu Từ chối là Terminal. Đọc lý do từ chối, sửa nội dung tương ứng, rồi tạo phiếu mới. Có thể copy thông tin cũ bằng cách mở phiếu cũ trong tab khác.
Người duyệt không nhận được OTP?
Kiểm tra theo thứ tự:
  • Hồ sơ Nhân viên có email không (Admin → Quản lý nhân viên)?
  • Vào /myaccount/settings → tab Thông báo → bật Email/Telegram
  • Kiểm tra Spam/Junk folder
  • Bấm Gửi lại OTP sau 15 giây (TTL của OTP cũ = 5 phút, OTP mới sẽ thay thế)
  • Nếu vẫn không có — liên hệ Admin để check setting bật/tắt OTP toàn cục
Số tiền phiếu vượt định mức của tôi (Người duyệt)?
Hệ thống chặn ngay khi bấm Duyệt với thông báo "Số tiền phiếu (X) vượt định mức duyệt (Y) của người dùng". Phiếu cần chuyển sang Người duyệt có định mức cao hơn — liên hệ Admin để reassign hoặc bỏ chỉ định.
Có thể chỉ định 1 NXN cụ thể không?
Có. Khi tạo phiếu, tick ô "Thêm người xác nhận" → chọn từ Select2 (có search theo tên/phòng ban). Bỏ trống = mọi NXN active đều có thể xử lý. Đã chọn = chỉ NXN đó nhận notify và thấy phiếu.
Làm sao xem lịch sử thay đổi của phiếu?
Vào chi tiết phiếu (modal hoặc trang detail) → cuộn xuống mục "Lịch sử trạng thái". Hiển thị toàn bộ action: tạo, sửa (kèm diff field cụ thể), gửi, xác nhận, duyệt, từ chối, hủy, thanh toán — đều ghi lại ai làm + lúc nào.
Phiếu của tôi đã duyệt nhưng chưa thanh toán — bao lâu kế toán mới chi?
Tùy theo ngày thanh toán dự kiến + ưu tiên. Phiếu Khẩn cấp luôn ở đầu danh sách. Có thể chat với kế toán hoặc xem ở mục Lịch thanh toán để biết thứ tự xếp lịch.
Tôi muốn duyệt nhanh — phải ai làm cả 2 vai trò?
Admin cần thêm user đó vào cả bảng Người xác nhận và Người duyệt (xem /admin/expense-proposals-config). Khi đó user sẽ thấy nút Xác nhận + Duyệt ở phiếu Chờ xác nhận — chuyển từ 7 → 3 trong 1 click (vẫn cần OTP nếu đang bật).
Hướng dẫn này là tài liệu rút gọn cho người mới.
Tài liệu API đầy đủ (FE dev): /docs/ExpenseProposal_User_Guide.md và /docs/ExpenseProposal_Approver_Guide.md