🔁 Thanh toán định kỳ
Chức năng Thanh toán định kỳ (Recurring Payment) giúp bạn thiết lập các khoản thu/chi lặp lại theo chu kỳ (ngày, tuần, tháng, năm). Hệ thống dựa trên mẫu định kỳ (Recurring Template) để sinh sẵn danh sách các kỳ thanh toán, và một tác vụ tự động sẽ tạo bút toán thanh toán (account.payment) theo lịch khi đến hạn.
🧩 Quy trình tổng quan
- Tạo Mẫu định kỳ (Recurring Template) khai báo sổ nhật ký và chu kỳ lặp.
- Xác nhận (Confirm) mẫu để đưa về trạng thái Done (chỉ mẫu ở trạng thái này mới chọn được).
- Tạo bản ghi Thanh toán định kỳ (Recurring Payment), chọn mẫu, đối tác, số tiền và khoảng ngày.
- Nhấn Done để hệ thống sinh các dòng kỳ thanh toán.
- Hệ thống tự động (hoặc thao tác thủ công) tạo thanh toán cho từng dòng khi đến hạn.
🛠️ Tạo mẫu định kỳ (Recurring Template)
- Vào Kế toán → Cấu hình → Recurring Payment → Recurring Template.
- Nhấn Tạo mới, khai báo:
- Name – tên mẫu.
- Journal – sổ nhật ký (chỉ chọn sổ loại Ngân hàng hoặc Tiền mặt).
- Recurring Period – đơn vị chu kỳ: Days / Weeks / Months / Years.
- Recurring Interval – số kỳ giữa hai lần lặp (mặc định 1).
- Generate Journal As – sinh bút toán ở trạng thái Un Posted (nháp) hay Posted (đã vào sổ).
- Nhấn Confirm để chuyển mẫu sang trạng thái Done.
💡 Chỉ những mẫu ở trạng thái Done mới xuất hiện khi chọn ở màn hình Thanh toán định kỳ. Nếu cần chỉnh sửa, dùng Set To Draft để đưa mẫu về Draft.
📷 Cần chèn ảnh:
/img/modules/account/recurring-payments/01.png— Form mẫu định kỳ với các trường chu kỳ và nút Confirm.
Các trường của mẫu định kỳ
| Trường | Ý nghĩa |
|---|---|
| Name | Tên mẫu định kỳ |
| Journal | Sổ nhật ký dùng để sinh thanh toán (loại Ngân hàng/Tiền mặt) |
| Recurring Period | Đơn vị chu kỳ lặp: Days, Weeks, Months, Years |
| Recurring Interval | Số kỳ giữa hai lần lặp (mặc định 1) |
| Generate Journal As | Sinh bút toán ở trạng thái Un Posted hoặc Posted |
| Description | Mô tả ghi chú |
| Status | Trạng thái mẫu: Draft / Done |
💸 Tạo thanh toán định kỳ (Recurring Payment)
- Vào Kế toán → Cấu hình → Recurring Payment → Recurring Payment.
- Nhấn Tạo mới. Mã bản ghi (Name) được hệ thống tự đánh theo tiền tố RP.
- Khai báo các trường:
- Recurring Template – chọn mẫu định kỳ (chỉ mẫu ở trạng thái Done).
- Partner – đối tác thu/chi.
- Payment Type – loại thanh toán: Send Money (chi) hoặc Receive Money (thu).
- Amount – số tiền (bắt buộc lớn hơn 0).
- Journal – sổ nhật ký (lấy theo mẫu, có thể chỉnh).
- Start Date / End Date – ngày bắt đầu và kết thúc của chuỗi định kỳ.
- Recurring Period, Recurring Interval, Generate Journal As – lấy từ mẫu đã chọn.
- Nhấn Done để hệ thống sinh danh sách kỳ thanh toán trong tab Recurring Entries.
⚠️ Amount phải là số dương khác 0. Nếu để 0 hoặc âm, hệ thống sẽ báo lỗi và không lưu.
📷 Cần chèn ảnh:
/img/modules/account/recurring-payments/02.png— Form Thanh toán định kỳ với mẫu, đối tác, khoảng ngày và nút Done.
Các trường của thanh toán định kỳ
| Trường | Ý nghĩa |
|---|---|
| Name | Mã bản ghi tự sinh (tiền tố RP) |
| Recurring Template | Mẫu định kỳ áp dụng (chỉ mẫu trạng thái Done) |
| Partner | Đối tác thu/chi |
| Payment Type | Send Money (chi) / Receive Money (thu) |
| Amount | Số tiền mỗi kỳ (phải > 0) |
| Journal | Sổ nhật ký dùng để sinh thanh toán |
| Start Date | Ngày bắt đầu chuỗi định kỳ |
| End Date | Ngày kết thúc chuỗi định kỳ |
| Recurring Period | Đơn vị chu kỳ (lấy từ mẫu) |
| Recurring Interval | Số kỳ giữa hai lần lặp (lấy từ mẫu) |
| Generate Journal As | Un Posted / Posted (lấy từ mẫu) |
| Status | Trạng thái: Draft / Done |
📅 Danh sách kỳ thanh toán (Recurring Entries)
Sau khi nhấn Done, hệ thống tính các mốc thời gian từ Start Date đến End Date theo chu kỳ và đơn vị đã khai báo, rồi tạo các dòng trong tab Recurring Entries. Mỗi dòng gồm:
| Trường | Ý nghĩa |
|---|---|
| Date | Ngày đến hạn của kỳ thanh toán |
| Amount | Số tiền của kỳ |
| Journal | Sổ nhật ký |
| Currency | Tiền tệ |
| Status | Trạng thái dòng: Draft / Done |
Trên mỗi dòng còn ở trạng thái Draft, nút Create Payment cho phép tạo ngay bút toán thanh toán cho kỳ đó. Khi đã tạo, dòng chuyển sang Done và được liên kết tới bút toán thanh toán tương ứng.
💡 Nếu Generate Journal As của mẫu là Posted, thanh toán sinh ra sẽ được vào sổ (post) ngay; nếu là Un Posted, thanh toán dừng ở trạng thái nháp để bạn kiểm tra trước.
📷 Cần chèn ảnh:
/img/modules/account/recurring-payments/03.png— Tab Recurring Entries liệt kê các kỳ với nút Create Payment.
🤖 Sinh thanh toán tự động theo lịch
Hệ thống có tác vụ tự động Generate Recurring Payments chạy định kỳ hằng ngày. Tác vụ này quét các kỳ thanh toán đã đến hạn (ngày đến hạn ≤ ngày hiện tại) và chưa hoàn tất, sau đó tự tạo bút toán thanh toán cho từng kỳ — không cần thao tác thủ công.
💡 Bạn vẫn có thể chủ động tạo thanh toán sớm bằng nút Create Payment trên từng dòng mà không cần chờ tác vụ tự động.
↩️ Đưa về nháp
- Trên mẫu định kỳ, nút Set To Draft đưa mẫu từ Done về Draft để chỉnh sửa.
- Trên thanh toán định kỳ, nút Set To Draft sẽ xóa các dòng kỳ và đưa bản ghi về Draft.
⚠️ Không thể đưa thanh toán định kỳ về Draft nếu đã có ít nhất một dòng kỳ ở trạng thái Done (đã tạo thanh toán). Tương tự, không thể xóa bản ghi thanh toán định kỳ đang ở trạng thái Done.
🔗 Liên quan
- Thanh toán (nhà cung cấp) — ghi nhận thanh toán cho nhà cung cấp
- Bút toán — bút toán sổ nhật ký phát sinh khi vào sổ thanh toán