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:
- Approved Payments — Awaiting Transfer: các round đã được BOD duyệt, đang chờ Accounting chuyển tiền.
- Payments Due ≤ 3 Days: các round sắp đến hạn — cảnh báo để Accounting không bị trễ.
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.
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:
- 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). - Approved: BOD bấm Approve. Hệ thống lưu
pm_approved_at+pm_approved_by. - Paid: Accounting chuyển khoản xong, bấm
Mark Paid. Hệ thống lưupaid_at+paid_by. - Overdue (auto): Job
payments:detect-overduechạy hàng ngày 01:00 — bất kỳ round nào đã quádue_datemà chưaPaidsẽ bị đánh dấuOverduevà 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 Approved mà due_date < now() đều bị mark Overdue, đồng thời gửi notification:
- Tới BOD — để biết có cam kết bị vi phạm
- Tới Accounting — để xử lý gấp