viBusiness FlowsERP — Order-to-Cash & Procure-to-Pay

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.


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án

Các bước trong dấu [ ] là tùy chọn — bật/tắt theo nghiệp vụ của bạn.

Báo giá (tùy chọn)

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: draftsentaccepted / 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

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: draftconfirmedpartially_deliveredfully_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)

Ghi nhận việc hàng thực sự rời khỏi kho.

  • Trạng thái: draftconfirmedshippedcompleted / 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

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: draftsentpartially_paidpaid / 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

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

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án

Yêu cầu mua hàng / Purchase Requisition (tùy chọn)

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: draftsubmittedapproved / 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)

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)

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: draftconfirmedpartially_receivedfully_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)

Ghi nhận hàng thực sự đến kho.

  • Trạng thái: draftconfirmed / 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

Đố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ớpSố lượng phiếu ≤ số lượng GRN
Giá khớpGiá phiếu ≤ giá PO (trong phạm vi dung sai)
Tham chiếu POPhiế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)

Hoá đơn từ nhà cung cấp, ghi nhận đối với PO và GRN.

  • Trạng thái: draftsubmittedapprovedpartially_paidpaid
  • 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

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ắcHành vi
Hoá đơn > số lượng đã giaoBlocked (chế độ strict) hoặc cảnh báo (chế độ loose)
GRN > số lượng POBlocked — không nhận nhiều hơn đã đặt
Huỷ SO đã confirmYêu cầu huỷ tất cả DO và hoá đơn liên quan trước
Huỷ hoá đơn đã thanh toánPhải tạo credit note — không xoá được

Tích hợp liên module

ModuleĐiều gì xảy ra
InventoryConfirm SO → Phiếu giao hàng vào hàng đợi; Confirm GRN → tồn kho cộng
AccountingConfirm 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
CRMDeal thắng → Đơn bán hàng pre-filled từ deal
e-InvoiceConfirm hoá đơn → gửi lên cơ quan thuế (VN: HHDDT)

AI Agents

AgentChức năngTần suất
AR Aging IntelligencePhân loại hoá đơn quá hạn theo mức rủi ro, đề xuất hành động thu hồiHàng ngày
Cashflow ForecasterDự báo dòng tiền 30/60/90 ngày từ hoá đơn và phiếu còn mởHàng tuần
3-Way Match Exception HandlerReview exception chưa xử lý, đề xuất duyệt hoặc từ chốiHàng ngày
Invoice CollectorGửi nhắc nhở tự động cho hoá đơn quá hạnTheo sự kiện