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

Sinh hoá đơn manual từ Hợp đồng

Khi cần Invoice ngay (không đợi cron 06:00 sáng hôm sau) → dùng wizard manual từ form Contract.

  • KH đến văn phòng thanh toán tại chỗ — cần Invoice ngay
  • Phí phát sinh 1 lần (vd phạt vi phạm, phí giấy tờ)
  • Test workflow — muốn thấy Invoice sinh liền để verify
  • Cron miss / báo lỗi → FC sinh manual bù

Form Hợp đồng → header có nút ”💰 Sinh hoá đơn”.

Modal wizard mở với 3 options:

  • Option A: Sinh hoá đơn cho kỳ recurring (tháng hiện tại)
  • Option B: Sinh hoá đơn cho milestone (chọn milestone từ dropdown)
  • Option C: Sinh hoá đơn ad-hoc (custom line — vd phí phát sinh)

Option A — Recurring:

  • Kỳ: T8/2026 (dropdown chọn tháng)
  • Include billing_items: tick tất cả hoặc chọn từng cái
  • Preview amount → Confirm

Option B — Milestone:

  • Milestone: chọn từ list (vd “Bàn giao đất”)
  • % apply: default milestone.amount_pct (edit nếu cần)
  • Preview → Confirm

Option C — Ad-hoc:

  • Description: “Phí phạt vi phạm điều 5.2 HĐ”
  • Amount: 10,000,000
  • Tax: VAT 10%
  • Confirm
  • State: Draft (hoặc Posted nếu tick “Post ngay” trong wizard)
  • Redirect đến form Invoice mới tạo
  • FC review + post nếu draft

Khi tạo phí phát sinh, ghi rõ trong description:

  • Điều khoản HĐ liên quan: “theo Điều 5.2 HĐ ZC-2026-042”
  • Ngày phát sinh sự kiện: “vi phạm ngày 15/8/2026”
  • Số quyết định (nếu có): “QĐ-BSD/2026/007”

→ Audit dễ, KH tranh chấp có bằng chứng.

Đại có thể sinh Invoice trước kỳ:

  1. Wizard → Option A → chọn kỳ tháng tương lai (T9/2026 dù today = 20/8)
  2. Confirm → Invoice ngày phát sinh = 1/9/2026 (không phải today)
  3. Post ngay hay đợi 1/9 → Đại quyết

Wizard check anti-duplicate:

  • Nếu kỳ đã có Invoice recurring → wizard cảnh báo “Kỳ T8/2026 đã có Invoice INV-2026-125”
  • Đại confirm “Tạo thêm” nếu thực sự cần (rare)
  • Nếu draft → click 🗑️ Delete
  • Nếu posted → menu Action → Reset to draft → Cancel
  • Bulk cần dùng cron chính (06:00 sáng)
  • Nếu emergency, dùng wizard 1 KH 1 lần
  • Hoặc Admin trigger cron manual ngay (xem Sinh HĐ recurring)
  • Verify HĐ state = active (nút chỉ hiện với active/renewed)
  • Verify user có quyền Kế toán / Billing
Chia sẻ: