Rechic DPMS — User Manual

v1.0

Chương 8 — Thanh toán

Song song với việc sản xuất và nhận hàng, Rechic phải thanh toán cho factory theo các round đã thoả thuận: thường gồm Deposit (đặt cọc khi confirm PO), Mid Production (50% sản xuất), Pre-Ship, On Arrival, Final. Phòng Accounting quản lý toàn bộ luồng thanh toán này.

Trong manual này, đăng nhập với accounting_manager@rechic.vn.

Dashboard Accounting — Pending & Due Soon

Vừa đăng nhập, Accounting thấy ngay 2 widget chính:

Dashboard Accounting Manager
Dashboard Accounting. Widget đầu liệt kê 1 round Mid Production (₫138,600 due May 5, 2026) đã Approved chờ chuyển. Widget thứ 2 trống vì chưa có round nào quá gần hạn 3 ngày.

Danh sách Payment Terms

Vào menu Payments > Payment Terms để xem toàn bộ các round thanh toán. Mỗi Factory PO có 1+ round; mỗi round có Type, Amount, Due date, Status.

Danh sách Payment Terms
3 Payment Terms cho Factory PO PO/RE/FA202604/0000001: Round 1 Deposit ₫83,160 đã Paid, Round 2 Mid Production ₫138,600 ở Approved với nút Mark Paid để Accounting đánh dấu sau khi chuyển khoản, Round 3 Final ₫55,440 ở Pending Approval chờ BOD duyệt.

Vòng đời một Payment Term

Mỗi round đi qua 4 trạng thái:

  1. PendingApproval: Supply tạo round (sau khi factory gửi invoice). Accounting upload PDF invoice lên MinIO (bucket rechic-dpms/invoices/, max 10MB, đây là điều kiện bắt buộc để approve).
  2. Approved: BOD bấm Approve. Hệ thống lưu pm_approved_at + pm_approved_by.
  3. Paid: Accounting chuyển khoản xong, bấm Mark Paid. Hệ thống lưu paid_at + paid_by.
  4. Overdue (auto): Job payments:detect-overdue chạy hàng ngày 01:00 — bất kỳ round nào đã quá due_date mà chưa Paid sẽ bị đánh dấu Overdue và gửi noti tới BOD + Accounting.

Upload invoice và submit duyệt

Trên trang detail của Payment Term ở status PendingApproval, Accounting bấm action Upload Invoice, chọn file PDF, save. Sau đó bấm Submit for Approval để chuyển sang BOD.

BOD sau khi review (xem invoice, đối chiếu factory bank account, số tiền, milestone trigger) sẽ bấm Approve. Status chuyển thành Approved.

Mark Paid

Khi tiền đã được chuyển xong, Accounting quay lại Payment Term và bấm Mark Paid (hiện trên dòng nếu status = Approved). Hệ thống lưu timestamp và đóng vòng đời round này.

Overdue auto-detect

Job scheduled payments:detect-overdue:

docker exec -it rechic_dpms2_app php artisan payments:detect-overdue

Chạy mỗi ngày lúc 01:00. Bất kỳ Payment Term nào ở status PendingApproval hoặc Approveddue_date < now() đều bị mark Overdue, đồng thời gửi notification: