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

Thanh toán partial + multiple + Credit Note

Real-world payment không phải luôn 100% full. Trang này cover 4 cases: partial, multiple installments, overpay, và Credit Note.

KH có Invoice 100M, trả 50M trước, còn 50M trả sau.

Trên Invoice → click “Register Payment” → điền:

  • Amount: 50,000,000 (không phải 100M mặc định)
  • Payment Date: today

Odoo tạo Payment 50M linked Invoice.

  • Invoice.payment_state → Partial (không Paid)
  • Amount residual: 50,000,000 (còn thiếu)
  • Chatter: “Partial payment 50M registered”

Trên cùng Invoice → click “Register Payment” lần 2 → 50,000,000

Odoo tạo Payment thứ 2. Invoice.payment_state → Paid (100%).

Case 2 — Multiple installments theo Payment Term

Phần tiêu đề “Case 2 — Multiple installments theo Payment Term”

HĐ có Payment Term 30/70:

  • Đợt 1: 30% ngay khi Post (advance)
  • Đợt 2: 70% sau 30 ngày

Post Invoice → Odoo tự tạo 2 payment lines dự kiến trong Invoice tab “Journal Items”.

FC Register mỗi đợt khi KH trả:

  1. Đợt 1 (30% = 30M): Register Payment → chọn journal item “30%” → confirm
  2. Đợt 2 (70% = 70M): Register Payment → chọn journal item “70%” → confirm

Payment state Invoice = Paid khi cả 2 done.

KH trả 105M cho Invoice 100M (thừa 5M do KH nhầm).

Trên Invoice → Register Payment → Amount 105,000,000

Modal cảnh báo: “Payment exceeds invoice amount by 5,000,000. Create outstanding credit?”

Chọn:

  • Yes: Odoo tạo Outstanding Credit 5M — sẽ dùng cho Invoice sau
  • No: FC cancel, sửa lại amount cho match
  • Invoice.payment_state = Paid
  • Partner có 5M credit chờ dùng
  • Invoice tiếp theo có thể apply credit này → giảm 5M

Hoặc option khác: tạo Payment thứ 2 refund 5M cho KH.

KH trả 50M, hứa trả 50M sau, nhưng 3 tháng không trả → Invoice stuck Partial 3 tháng.

Actions:

  1. Follow-up qua nhắc nợ: cron overdue reminder tự gửi email
  2. Escalation: Manual call, gặp trực tiếp
  3. Nếu KH không thể trả:
    • Option A: Giảm giá còn lại — tạo Credit Note offset 50M → Invoice paid
    • Option B: Ghi nhận bad debt — write off 50M (Kế toán advance)
    • Option C: Kiện toà — path legal

Credit Note = Invoice âm, dùng để:

  • Refund KH sau khi cancel HĐ
  • Giảm giá cho Invoice đã Post
  • Sửa lỗi Invoice sau khi Post

Hoá đơn → Customer Invoices → mở INV-2026-125

Nút trên header (chỉ hoạt động với Invoice Posted).

Chọn 1 trong 3 mode:

Mode A — Full Refund:

  • Huỷ toàn bộ Invoice gốc
  • Credit Note amount = -amount_gốc
  • Auto reconcile với Invoice → Invoice cancel

Mode B — Partial Refund:

  • Refund 1 phần (nhập amount tự)
  • Credit Note amount = -X
  • Reconcile với Invoice → Invoice.amount_residual = amount_gốc - X

Mode C — Full Refund + New Draft:

  • Full refund như Mode A
  • Auto tạo Invoice draft mới → FC edit + post lại

Credit Note tạo, state Draft. Post → journal entry đối ứng.

5. Refund tiền cho KH (nếu Mode A/B + KH đã paid Invoice gốc)

Phần tiêu đề “5. Refund tiền cho KH (nếu Mode A/B + KH đã paid Invoice gốc)”
  • Register Payment trên Credit Note với direction = “Send Money”
  • Journal: Bank (tiền ra)
  • Amount: âm (auto)
  • Payment Date: ngày chuyển tiền cho KH
  • HĐ terminate ngày 15/8
  • Invoice tháng 8 đã post cho cả tháng (31 ngày)
  • KH đã trả full
  • Tạo Partial Credit Note = 50% (16/31 ngày = 51%)
  • Refund tiền KH

Case phức tạp — HĐ Posted + Paid, cần cancel hoàn toàn:

  1. Tạo Full Credit Note (Mode A)
  2. Post Credit Note → journal entry đối ứng
  3. Register Payment trên Credit Note = “Send Money” back to KH
  4. Nếu KH đồng ý keep credit thay refund → skip step 3, để Outstanding Credit chờ Invoice sau

Nếu Payment không auto-link Invoice:

  1. Kế toán → Reconciliation
  2. Odoo show list Payment chưa match với Invoice
  3. Click Payment → Odoo suggest Invoice matching (theo partner, amount)
  4. Click “Reconcile” → link Payment ↔ Invoice
  5. Invoice.payment_state update
  • Register Payment lần 1 với Invoice A (partial hoặc full)
  • Payment còn dư → Register lần 2 apply cho Invoice B
  • Hoặc: Register 1 lần với full amount, reconcile manual sau

Credit Note có ảnh hưởng revenue report không?

Phần tiêu đề “Credit Note có ảnh hưởng revenue report không?”

Có. Revenue = Sum(Invoice) - Sum(Credit Note). Nếu bỏ Credit Note trong report, doanh thu inflated.

Invoice form → smart button “N Payments” → click → xem list tất cả payments (partial + full) linked

  • Nếu period chưa lock: sửa Payment.date → Odoo tự relocate journal entry
  • Nếu period lock: cancel Payment → tạo lại với date đúng
Chia sẻ: