Bỏ qua để đến nội dung

Nhắc nợ tự động (Cron reminder)

Cron chạy 07:00 sáng hàng ngày — quét Invoice posted có due date sắp đến / đã quá → gửi email KH + activity FC.

Tầng 1 — Nhắc TRƯỚC hạn (soft reminder)

Phần tiêu đề “Tầng 1 — Nhắc TRƯỚC hạn (soft reminder)”
  • Cron detect: today + reminder_days_before ≥ due_date và Invoice chưa Paid
  • Send email template “Nhắc thanh toán trước hạn”
  • Tone thân thiện: “Anh/chị đừng quên…”
  • Default reminder_days_before = 7 (7 ngày trước hạn)
  • Cron detect: today - due_date ≥ reminder_days_after và Invoice chưa Paid
  • Send email template “Nhắc thanh toán quá hạn”
  • Tone rõ ràng: nêu số ngày trễ, số tiền, hậu quả nếu không trả
  • Default reminder_days_after = 3 (3 ngày sau quá hạn)

Nếu KH vẫn không trả sau nhắc quá hạn → activity to FC để follow-up call/gặp trực tiếp.

Cấu hình → Companies → tab “Cấu hình” → section Reminder:

  • Nhắc trước hạn: 7 ngày
  • Nhắc sau hạn: 3 ngày

Recommended cho hầu hết case. KH có đủ thời gian chuẩn bị.

Parkone cài sẵn 2 template:

  • parkone.email_reminder_before_due — Trước hạn
  • parkone.email_reminder_overdue — Quá hạn

Xem chi tiết custom: Email templates.

Preview body default trước hạn:

Kính gửi Quý khách [KH.name],
Cảm ơn Quý khách đã hợp tác cùng [Company.name].
Chúng tôi xin gửi thông báo về hoá đơn sắp đến hạn:
• Số hoá đơn: [invoice.name]
• Số tiền: [invoice.amount_residual]
• Hạn thanh toán: [invoice.invoice_date_due]
Vui lòng thanh toán trước ngày [due_date - 1] để tránh phát sinh phí phạt.
Tài khoản ngân hàng:
[Company.bank_acc_vnd_id.acc_number]
[Company.bank_acc_vnd_id.bank_id.name]
Trân trọng,
[Company.name]
  1. Fetch companies — mỗi company config threshold riêng
  2. Fetch invoices matching:
    • state = posted
    • payment_state != 'paid'
    • amount_residual > 0
  3. Split thành 2 bucket:
    • Trước hạn: due_date - today ∈ [1, reminder_days_before]
    • Quá hạn: today - due_date ≥ reminder_days_after
  4. Foreach invoice → send email:
    • Get template tương ứng
    • Render với record data (invoice + partner + company)
    • Send qua outgoing mail server
  5. Log Chatter:
    • “Reminder sent to KH lúc HH:MM”
  6. Nếu quá hạn ≥ 7 ngày:
    • Tạo Activity type “Call” cho FC
    • Deadline: today + 1
    • Note: “KH X quá hạn Y ngày, số tiền Z. Follow-up ngay”

Cron có anti-spam:

  • 1 Invoice chỉ nhận 1 email trước hạn (theo last_reminder_sent)
  • 1 Invoice có thể nhận nhiều email quá hạn — mỗi 7 ngày 1 lần
  • Nếu KH thanh toán rồi → không nhắc nữa (state = paid)

Muốn re-send: reset last_reminder_sent = False trên Invoice (Dev mode).

  1. Dev mode → Technical → Scheduled Actions
  2. Parkone: Payment reminder cron
  3. Run Manually
  4. Log show:
    • Số Invoice scan
    • Số email gửi trước / quá hạn
    • Errors nếu có

Trên form Invoice → tab Chatter:

  • Log entry “Email sent to <email> at HH:MM DD/MM/YYYY”
  • Nếu KH mở → log “Opened by <email> at HH:MM”

Nếu chỉ send không opened trong 24h → có thể spam filter chặn, FC call trực tiếp.

Nếu KH quá hạn ≥ 30 ngày + không phản hồi:

  1. FC mở Activity to-do “Follow-up KH X”
  2. Call KH → yêu cầu thanh toán trước ngày cụ thể
  3. Gửi Final Demand Letter (thư yêu cầu cuối cùng)
    • Template: parkone.email_final_demand (nếu Đại tạo)
    • Nội dung: nêu Điều X.Y HĐ về phạt trễ, threat pháp lý
  4. Cập nhật Activity → done
  5. Nếu vẫn không trả → escalate Manager → xem xét kiện

Báo cáo → Payment Reminder Effectiveness:

  • Số email gửi / tháng
  • % KH thanh toán sau email trước hạn
  • % KH thanh toán sau email quá hạn
  • Top KH overdue

Metric quan trọng: DSO (Days Sales Outstanding) — Đại xem xu hướng tháng qua tháng.

  1. Verify partner.email không rỗng
  2. Verify outgoing mail server active (Cấu hình → Technical → Outgoing)
  3. Test send test email từ Cài đặt
  4. Check spam folder KH (email từ noreply@ dễ vào spam)

Sửa template parkone.email_reminder_*:

  • Field email_cc: ${object.company_id.email} hoặc hardcode fc@apave.vn

Xem Email templates.

Cron spam KH nếu Invoice cũ quá — sao tránh?

Phần tiêu đề “Cron spam KH nếu Invoice cũ quá — sao tránh?”

Cron có anti-spam per-Invoice. Nhưng nếu Đại có 100 Invoices overdue của cùng 1 KH → KH nhận 100 email 1 sáng. Bad UX.

Solution: cron consolidate email — 1 KH nhận 1 email tổng hợp N Invoices overdue. Cần custom code (chưa built-in).

Escalation tự động (cron 3 tầng, 4 tầng)?

Phần tiêu đề “Escalation tự động (cron 3 tầng, 4 tầng)?”

Hiện tại 2 tầng đủ dùng. Nếu Đại cần 3-4 tầng (vd 7d/14d/30d), cần custom cron. Liên hệ support@bsdinsight.com.

Chia sẻ: