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

Finance Controller — Hướng dẫn nghiệp vụ

Finance Controller / Kế toán KCN, bạn quản lý dòng tiền vào ra của các Hợp đồng thuê đất. Parkone tự động hoá phần lớn — bạn chủ yếu review + post hoá đơn cron sinh, và xử lý tình huống bất thường.

Hoạt độngTần suấtTóm tắt
1. Review hoá đơn cronHàng ngày sángĐọc 5-50 invoice nháp cron sinh đêm trước, post chính thức
2. Đối chiếu thanh toánHàng tuầnMatch payment ngân hàng với invoice
3. Refund + Credit noteTheo caseKH huỷ Đặt cọc / Phụ lục giảm giá / chấm dứt HĐ
4. Mô phỏng FC testTuỳ nhu cầuTest cron trên HĐ với ngày tương lai
5. Báo cáo + công nợHàng thángAging report, doanh thu, công nợ KH

Cron đêm hôm trước: _cron_generate_periodic_invoices chạy 03:00 — quét zone.contract.billing.item active cadence recurring; item nào next_invoice_date ≤ hôm nay → sinh 1 invoice draft, áp escalation tự động, đẩy next_invoice_date thêm 1 chu kỳ (catch-up tối đa 60 cycles nếu lỡ nhiều kỳ).

Sáng hôm sau — Review: 📍 Kế toán › Khách hàng › Hoá đơn, filter Status=Draft · Date=hôm nay · x_zone_charge_type = rent. Mở từng invoice kiểm tra:

  • Khách hàng + HĐ gốc (x_zone_contract_id) đúng chưa.
  • Lines: sản phẩm + số lượng × đơn giá hợp lý.
  • Đơn giá có escalation chưa (HĐ ký N năm trước → giá kỳ này phải nhân hệ số trượt giá).
  • VAT 10% đúng; invoice_date = hôm nay; due_date = invoice_date + payment_term.

OK → Confirm (Draft → Posted).

Gửi KH: sau Post → Send & Print → Mail Compose Wizard (subject “Hoá đơn INV/2026/0042 — KCN Hoà Lạc — Tháng 6/2026” + PDF + reminder auto đính kèm). Hoặc cấu hình cron tự gửi tất cả invoice posted hôm nay vào 9h sáng.

Import bank statement: 📍 Kế toán › Ngân hàng › [TK] › Import Statement — hỗ trợ CAMT.053 (BIDV/Vietcombank export được), OFX, CSV. Upload → preview → Import.

Reconciliation: 📍 Kế toán › Reconciliation Dashboard — mỗi giao dịch chưa match bên trái, Parkone gợi ý invoice khớp amount + KH bên phải → Match → tạo account.payment link invoice ↔ giao dịch. Match nhanh: gắn partner_id đúng (qua MST/tên trong description) + memo invoice ghi mã invoice → fuzzy match.

Sau match — auto update: invoice.payment_state = paid/partial · zone.contract.x_amount_paid cập nhật · tab Tiến độ thanh toán trên HĐ refresh.

Tình huốngNguồn
KH huỷ Đặt cọc (policy pct/amount)Đặt cọc → KH huỷ
CĐT phá kèo (refund 100% + phạt)Đặt cọc → CĐT huỷ
Phụ lục giảm giá hồi tốPhụ lục Δ âm
Hoá đơn đã post sai (lỗi tính)Manual credit note
Chấm dứt HĐ sớm (refund cọc)Phiếu chấm dứt

Tự sinh: phần lớn credit note tự sinh state Draft bởi action Parkone (Đặt cọc “KH huỷ” → credit note refund; Phiếu chấm dứt approved → credit note). Vào Kế toán › Khách hàng › Credit Notes filter Draft → review + Confirm.

Thủ công: mở invoice posted gốc → Add Credit Note → chọn lý do (refund/modify/cancel) + amount → Confirm (link 2 chiều với invoice gốc).

Chuyển khoản trả KH: sau credit note Posted → tạo account.payment outbound (Send Money, amount = credit note total, memo “Hoàn cọc DEP/2026/0057”); thủ quỹ chuyển khoản theo payment này.

Mô phỏng FC test — test cron không cần chờ

Phần tiêu đề “Mô phỏng FC test — test cron không cần chờ”

📍 HĐ active → 🧪 Mô phỏng phát hành HĐ. Wizard hỏi: Giả sử hôm nay là (ngày tương lai) + Mode:

  • 🔍 Dry run (mặc định, an toàn) — chỉ preview, KHÔNG tạo invoice, KHÔNG đổi next_invoice_date.
  • ✅ Commit — tạo invoice nháp thật + advance next_invoice_date.

Bấm ▶️ Chạy → tab Các kỳ liệt kê mọi invoice sẽ sinh (ngày · sản phẩm · qty × unit_price đã escalation · subtotal + VAT) + Tổng cuối.

  • Doanh thu theo KCN: 📍 Parkone › Báo cáo › Doanh thu theo KCN — pivot KCN × Tháng × Loại doanh thu (rent/mgmt_fee/setup/penalty), export Excel.
  • Công nợ KH (Aging): 📍 Kế toán › Khách hàng › Aging Report — chưa đến hạn / quá hạn 1-30 / 31-60 / 61-90 / > 90 ngày, top KH nợ nhiều, xuất file follow-up.
  • Cash flow forecast: 📍 Kế toán › Báo cáo › Cash Flow Forecast — dòng tiền dự kiến 3-6-12 tháng, highlight chu kỳ thiếu hụt.
  • Tier usage: 📍 Cấu hình › Subscription & Quotas — tracking tenants/KCN/users, cảnh báo “gần đầy”.

Cron không sinh invoice đêm quaTriệu chứng: sáng không thấy invoice draft. Kiểm tra: Cấu hình › Technical › Scheduled Actions → “Parkone: generate periodic invoices” → Next/Last Execution Date + Last Action có exception không. Fix: cron disable → tick Active; exception → đọc traceback (thường data next_invoice_date = NULL) → fix data → Run Manually.

Invoice không đúng escalationTriệu chứng: HĐ ký 3 năm trước escalation 5%/năm nhưng invoice hiện giá base. Kiểm tra: billing_item escalation_pct + escalation_period_years + start_date đúng chưa; chạy 🧪 Mô phỏng xem preview. Fix: bấm 🔄 Cập nhật totals trên HĐ; đổi escalation rule phải qua Phụ lục.

KH chuyển tiền nhưng invoice vẫn not_paidKiểm tra: statement đã import chưa · giao dịch đã reconciled chưa · account.payment đã link đúng invoice chưa. Fix: import statement → reconcile; hoặc manual match qua Reconciliation Dashboard.

Credit note bị reject khi postTriệu chứng: “Invoice gốc đã có credit note khác”. Lý do: mỗi invoice chỉ 1 credit note refund tại 1 thời điểm. Fix: tìm credit note cũ → Cancel → tạo mới.

Pause invoice của 1 KH gặp khó khăn? Không xoá invoice posted. Tạo Phụ lục giảm 50% / extend end_date / tạm dừng X tháng (Sales rep trợ giúp).

Bulk-post nhiều invoice? List view invoice draft → tick checkbox → Action › Confirm. 100 invoice trong vài giây.

Hoá đơn hiện “OVERDUE” đỏ? Filter payment_state = not_paid AND due_date < today. Gửi reminder batch qua Action › Send Payment Reminder.

Xem cron đã chạy chưa? Cấu hình › Technical › Scheduled Actions → cột last_call; hoặc log ~/parkone/logs/odoo.log filter _cron_generate_periodic_invoices.

Refund cho khách bao lâu sau credit note? Tuỳ chính sách CĐT. Parkone KHÔNG tự chuyển khoản — thủ quỹ tạo account.payment outbound manual.

Xuất hoá đơn điện tử (e-invoice VN)? Chưa tích hợp tự động. Workaround: export PDF → tải lên VNPT/FPT/Misa eInvoice. E-invoice connector đang trong roadmap.

Chia sẻ: