ERP — Order-to-Cash & Procure-to-Pay
Finance Pack xử lý hai chu trình thương mại nền tảng của mọi doanh nghiệp bán sản phẩm: bán cho khách hàng (Order-to-Cash) và mua từ nhà cung cấp (Procure-to-Pay). Cả hai luồng đều dùng nguyên tắc Document Chain — mỗi bước được tạo từ bước trước, số lượng được theo dõi ở cấp dòng hàng, và mỗi bước đều có thể bật/tắt theo cấu hình.
Ứng dụng liên quan: Sales · Finance · Accounting · Procurement · Inventory · CRM

Order-to-Cash — Chu trình Bán hàng
Chu trình Order-to-Cash bao phủ từ yêu cầu của khách hàng đến khi nhận được thanh toán.
Luồng đầy đủ
[Báo giá] → Đơn bán hàng → [Phiếu giao hàng] → Hoá đơn → Thanh toánCác bước trong dấu [ ] là tùy chọn — bật/tắt theo nghiệp vụ của bạn. Mỗi bước ghi rõ ứng dụng phụ trách.

Báo giá (tùy chọn) — Sales
Tạo báo giá gửi khách hàng với đề xuất giá, danh mục hàng và ngày hết hạn. Khi khách đồng ý, chuyển thành Đơn bán hàng bằng một click — toàn bộ dòng hàng, giá và thông tin khách hàng được mang sang.
- Trạng thái:
draft→sent→accepted/rejected/expired - Hỗ trợ nhiều phiên bản (lịch sử chỉnh sửa)
- Xuất PDF cho khách hàng
Đơn bán hàng — Sales
Cam kết bán hàng đã được xác nhận. Sau khi confirm, đơn hàng điều phối kho (nếu có giao hàng) và tạo hoá đơn.
- Trạng thái:
draft→confirmed→partially_delivered→fully_delivered/cancelled - Theo dõi số lượng ở cấp dòng hàng: đặt → giao → hoá đơn
- Cho phép nhiều phiếu giao hàng trên 1 đơn (giao nhiều lần)
Phiếu giao hàng (tùy chọn) — Inventory
Ghi nhận việc hàng thực sự rời khỏi kho.
- Trạng thái:
draft→confirmed→shipped→completed/cancelled - Xác nhận số lượng thực giao (có thể khác số lượng đặt)
- Kích hoạt trừ tồn kho trong module Inventory
- Cập nhật trạng thái giao hàng trên Đơn bán hàng
Hoá đơn — Finance
Yêu cầu thanh toán pháp lý, liên kết với đơn hàng và phiếu giao hàng.
- Trạng thái:
draft→sent→partially_paid→paid/cancelled - Kiểm tra số lượng: không thể xuất hoá đơn nhiều hơn đã giao (chế độ strict)
- Hỗ trợ hoá đơn định kỳ (recurring) cho mô hình subscription
- Tích hợp hoá đơn điện tử Việt Nam (Viettel-CA, BKAV, MISA)
Thanh toán — Finance / Accounting
Ghi nhận tiền nhận được từ khách hàng.
- Tự động khớp thanh toán với hoá đơn còn nợ
- Hỗ trợ thanh toán một phần
- Thanh toán cập nhật số dư AR trong Kế toán
Thời điểm ghi nhận doanh thu
Mặc định, doanh thu vào sổ khi bạn gửi hoá đơn. Đó là cách đúng với phần lớn doanh nghiệp, nhưng không phải tất cả — nên mỗi đơn bán hàng có thể đặt ghi nhận sớm hơn:
| Phương pháp | Ghi nhận doanh thu khi |
|---|---|
| Khi xuất hoá đơn (mặc định) | Bạn gửi hoá đơn |
| Khi chốt đơn | Bạn xác nhận đơn bán hàng |
| Khi giao hàng | Mỗi lần hàng thực sự xuất đi — giao một phần thì ghi nhận một phần |
| Khi hoàn thành | Bạn đánh dấu đơn đã hoàn tất |
| Theo mốc | Bạn ghi nhận từng mốc, theo lịch của mình |
Đây là tuỳ chọn nâng cao, mặc định TẮT. Để nguyên thì mọi đơn hàng chạy y như trước. Chỉ bật khi chính sách kế toán của bạn thực sự yêu cầu — quyết định này thuộc về kế toán, không phải bộ phận bán hàng.
Hệ quả quan trọng: nếu doanh thu đã được ghi nhận từ trước, hoá đơn chỉ hạch toán phần còn lại. Không còn phần nào thì hoá đơn không tạo bút toán — nó vẫn là chứng từ pháp lý hợp lệ, chỉ là không ghi nhận doanh thu lần thứ hai. Huỷ đơn hàng sẽ đảo mọi bút toán mà nó đã sinh ra, không chỉ bút toán gần nhất.
Procure-to-Pay — Chu trình Mua hàng
Chu trình Procure-to-Pay bao gồm quản lý nhà cung cấp — từ xác định nhu cầu đến thanh toán nhà cung cấp.
Luồng đầy đủ
[Yêu cầu mua] → [RFQ] → Đơn mua hàng → [Nhập kho] → Phiếu NCC → Thanh toánYêu cầu mua hàng / Purchase Requisition (tùy chọn) — Procurement
Yêu cầu nội bộ để mua hàng. Dùng khi việc mua hàng cần được phê duyệt trước khi đặt hàng.
- Trạng thái:
draft→submitted→approved/rejected - Quy trình duyệt nhiều cấp
- Sau khi duyệt, chuyển trực tiếp thành RFQ hoặc PO
RFQ — Yêu cầu báo giá (tùy chọn) — Procurement
Gửi yêu cầu báo giá đến một hoặc nhiều nhà cung cấp. So sánh phản hồi và chọn offer tốt nhất.
- Gửi RFQ đến nhiều nhà cung cấp cùng lúc
- Chấm điểm nhà cung cấp: giá, thời gian giao hàng, chất lượng
- Chuyển phản hồi được chọn thành Đơn mua hàng
Đơn mua hàng (PO) — Procurement
Cam kết mua từ một nhà cung cấp cụ thể với điều khoản đã thống nhất.
- Trạng thái:
draft→confirmed→partially_received→fully_received/cancelled - Theo dõi số lượng ở cấp dòng hàng: đặt → nhận → hoá đơn
Nhập kho / GRN (tùy chọn) — Inventory
Ghi nhận hàng thực sự đến kho.
- Trạng thái:
draft→confirmed/cancelled - Nhận một phần (số lượng GRN ≤ số lượng PO còn lại)
- Cộng tồn kho vào kho đã chọn
- Hỗ trợ nhập số lô và ngày hết hạn (nếu bật lot tracking)
- Kích hoạt 3-Way Match tự động
3-Way Matching — Finance
Đối chiếu tự động PO ↔ GRN ↔ Phiếu nhà cung cấp trước khi thanh toán.
| Kiểm tra | Điều kiện đạt |
|---|---|
| Số lượng khớp | Số lượng phiếu ≤ số lượng GRN |
| Giá khớp | Giá phiếu ≤ giá PO (trong phạm vi dung sai) |
| Tham chiếu PO | Phiếu có tham chiếu PO hợp lệ |
Sai lệch thành exception cần review thủ công. Phiếu khớp tự động được duyệt thanh toán.
Phiếu nhà cung cấp (Vendor Bill) — Finance
Hoá đơn từ nhà cung cấp, ghi nhận đối với PO và GRN.
- Trạng thái:
draft→submitted→approved→partially_paid→paid - Phải qua 3-Way Match (hoặc override thủ công có lý do)
- Cập nhật số dư AP trong Kế toán
Thanh toán — Finance / Accounting
Ghi nhận tiền đã trả cho nhà cung cấp.
- Thanh toán hàng loạt (nhiều phiếu trong một lần)
- Đối soát ngân hàng: khớp thanh toán với dòng sao kê
- Cập nhật số dư AP sau khi xác nhận
Chi phí phụ (Landed Costs)
Khi mua hàng vật lý, giá thành thực tế bao gồm vận chuyển, bảo hiểm, thuế nhập khẩu, phí xử lý — không chỉ giá PO. XBuddy cho phép gắn các chi phí này vào GRN và phân bổ vào từng dòng hàng theo số lượng, giá trị hoặc trọng lượng.
Bút toán landed costs tự động đăng vào tài khoản GL đã cấu hình.
Quy tắc toàn vẹn dữ liệu
| Quy tắc | Hành vi |
|---|---|
| Hoá đơn > số lượng đã giao | Blocked (chế độ strict) hoặc cảnh báo (chế độ loose) |
| GRN > số lượng PO | Blocked — không nhận nhiều hơn đã đặt |
| Huỷ SO đã confirm | Yêu cầu huỷ tất cả DO và hoá đơn liên quan trước |
| Huỷ hoá đơn đã thanh toán | Phải tạo credit note — không xoá được |
Tích hợp liên module
| Module | Điều gì xảy ra |
|---|---|
| Inventory | Confirm SO → Phiếu giao hàng vào hàng đợi; Confirm GRN → tồn kho cộng |
| Accounting | Confirm hoá đơn → bút toán AR; Duyệt phiếu → bút toán AP; Thanh toán → tài khoản tiền mặt |
| CRM | Deal thắng → Đơn bán hàng pre-filled từ deal |
| e-Invoice | Confirm hoá đơn → gửi lên cơ quan thuế (VN: HHDDT) |
AI Agents liên quan
Các trợ lý sau tự động hoá hai chu trình thương mại ở trên:
| Agent | Chức năng | Tần suất |
|---|---|---|
| AR Collector | Phân loại hoá đơn quá hạn theo mức rủi ro và gửi nhắc nhở thanh toán tự động | Hàng ngày / theo sự kiện |
| AP Manager | Lên lịch thanh toán, gắn cờ exception 3-way-match, phát hiện chiết khấu trả sớm | Hàng ngày |
| Procurement Assistant | Review trạng thái PR/RFQ/PO, đề xuất đặt lại hàng và chọn nhà cung cấp | Hàng ngày |
| Inventory Planner | Dự báo nhu cầu để tạo PO trước khi hết hàng | Hàng tuần |
| FP&A Analyst | Dự báo dòng tiền 30/60/90 ngày từ hoá đơn và phiếu còn mở | Hàng tuần |