Giao diện
Công nợ AR/AP — Net Offset & P&L per Shipment
Theo dõi phải thu / phải trả per partner, cấn trừ 2 chiều, P&L từng lô hàng, nhắc nợ thông minh. Route: /finance/cong-no.
Tổng quan
Trang tổng quan công nợ hiển thị nhanh tổng phải thu (AR), tổng phải trả (AP), số đơn quá hạn, tuổi nợ trung bình theo workspace.
KPI công nợ:
| Chỉ số | Giá trị ví dụ | Ý nghĩa |
|---|---|---|
| Phải thu (AR) | 1.520.300.000 ₫ | Tổng khách hàng còn nợ |
| Phải trả (AP) | 845.700.000 ₫ | Tổng mình còn nợ nhà cung cấp |
| Quá hạn | 234.000.000 ₫ | Trên 9 hoá đơn đã quá ngày thanh toán |

Net offset cấn trừ
Khi một đối tác vừa có AR (họ nợ mình) vừa có AP (mình nợ họ), cấn trừ 2 chiều để chỉ thanh toán số chênh lệch.
Ví dụ cấn trừ:
| Chiều | Khoản | Số tiền |
|---|---|---|
| AR | Cước dịch vụ forwarder tháng 5 | 120.000.000 ₫ |
| AP | Cước xe container 3 chuyến | 80.000.000 ₫ |
| Net balance | Họ còn nợ sau cấn trừ | 40.000.000 ₫ |
Thực hiện cấn trừ
Vào /partners/:id → tab Net Offset → chọn khoản AR và AP muốn cấn trừ → xác nhận. Hệ thống tạo settlement entry và ghi audit log.
P&L per shipment
P&L từng lô hàng (cost-per-shipment) tổng hợp tự động từ tất cả cost line liên kết với Shipment — bao gồm cả chi phí chuyến xe và nhiên liệu.
Cấu thành P&L lô hàng:
| Khoản mục | Nguồn | Chiều |
|---|---|---|
| Revenue (cước dịch vụ) | Quote acceptedVersion | Doanh thu |
| Ocean freight AP | Debit Note AP từ hãng tàu | Chi phí |
| Trip cost (nhà xe/xe nhà) | Trip.vendorCost hoặc Fleet internal cost | Chi phí |
| Nhiên liệu | FuelLog liên kết Trip → Shipment | Chi phí |
| Thuế / duty | Declaration duty calculation | Chi phí |
| Điều chỉnh phụ phí | Debit Note adjustment lines | Chi phí / doanh thu |
Xem P&L
Vào chi tiết Shipment → tab Tài chính → P&L. Hoặc tổng hợp tại /finance/cong-no → tab P&L per shipment với bộ lọc kỳ.
Liên kết xăng → Trip → Shipment
Chi phí xăng tự động chảy: FuelLog → Trip.fuelCost → Shipment.tripCosts → P&L. Không cần nhập tay — xem hướng dẫn tại Quản lý nhiên liệu.
Đối soát nhà xe
Đối soát nhà xe (carrier reconciliation) so chiếu cước thoả thuận trên Trip với vận đơn nhà xe gửi cuối tháng. Phát hiện lệch giá, lệch số chuyến, kẹt phụ phí.
Quy trình đối soát:
- Import vận đơn nhà xe (Excel / PDF — AI extract auto)
- So chiếu Trip ID + container number + ngày
- Diff cước thoả thuận vs cước nhà xe báo
- Highlight chênh lệch > 5% để kế toán review
- Confirm → sinh Invoice phải trả (AP)
Auto-match
Nếu container number + ngày khớp 100% và lệch tiền < 1%, hệ thống auto-approve. Phần còn lại đẩy vào queue review.
Route FE: /finance/carrier-reconciliation
Sổ chi tiết
Sổ chi tiết per partner (partner ledger) — danh sách mọi giao dịch AR/AP của một đối tác, có chạy số dư tích luỹ.
Ví dụ sổ chi tiết:
| Ngày | Loại | Mã chứng từ | Phát sinh | Số dư |
|---|---|---|---|---|
| 2026-05-12 | Debit Note | DN-2026-0142 | + 24.000.000 ₫ | 120.000.000 ₫ |
| 2026-05-18 | Thanh toán | PMT-0301 | - 50.000.000 ₫ | 70.000.000 ₫ |
| 2026-05-25 | Invoice | INV-2026-0871 | + 86.000.000 ₫ | 156.000.000 ₫ |
| 2026-06-01 | Quá hạn | DN-2026-0142 | — | 156.000.000 ₫ |
Chi tiết công nợ từng đối tác
Xem đầy đủ phát sinh và đối chiếu từng dòng của một đối tác — lọc theo kỳ, loại chứng từ, hoặc trạng thái thanh toán.

Route FE: /finance/partner-ledger
Thanh toán
Mỗi khoản thanh toán (payment) ghi nhận: ngày, kênh, người confirm, đối chiếu sao kê ngân hàng.
Timeline thanh toán ví dụ:
| Sự kiện | Ngày/Giờ | Trạng thái |
|---|---|---|
| Nhận chuyển khoản 50.000.000 ₫ — VCB *** 4321 | 18/05 09:14 | Hoàn thành |
| Confirm DN-2026-0142 thanh toán một phần — Kế toán Lan Anh | 18/05 10:30 | Hoàn thành |
| Gửi nhắc nợ INV-2026-0871 — Email tự động | 01/06 08:00 | Đang xử lý |
Cảnh báo quá hạn
Workflow nhắc nợ tự động chia 3 mốc theo tuổi nợ — escalate dần.
| Tuổi nợ | Trạng thái | Hành động auto |
|---|---|---|
| 0–7 ngày | SENT | Im lặng, hiển thị dashboard |
| 8–15 ngày | Cảnh báo | Email nhắc lần 1 |
| 16–30 ngày | Quá hạn | Email nhắc lần 2 + Slack alert chủ workspace |
| > 30 ngày | DISPUTED | Auto-escalate sale rep + tạm dừng credit |
Tạm dừng credit
Khi partner có khoản quá hạn > 30 ngày, đơn mới của partner đó cần approval của OWNER mới được phát hành.