KiotViet
POS phổ biến nhất tại VN cho cửa hàng bán lẻ và chuỗi F&B quy mô vừa.
Loại API
REST API
Xác thực
OAuth 2.0
Tần suất refresh khả thi
Real-time, Mỗi giờ, Hằng ngày
Setup · Maintain hằng tháng
6-10 giờ · 1-2 giờ
Hướng dẫn kết nối, 6 bước
Làm theo thứ tự từ trên xuống. Mỗi bước có ngữ cảnh để đội kỹ thuật của bạn hiểu lý do, không phải checklist bấm.
- 1
Xác nhận gói KiotViet có hỗ trợ API
Cần gói Chuyên nghiệp trở lên (gói Cơ bản không có API). Liên hệ KiotViet xác nhận quyền API trước khi triển khai.
- 2
Đăng ký Developer Account
Vào developer.kiotviet.vn, đăng ký tài khoản, tạo App. Có sandbox để test trước.
- 3
Lấy Client ID + Client Secret
Copy từ trang App. Đi kèm Retailer (tên cửa hàng/chuỗi), KiotViet dùng tên này để route request.
- 4
Get access token qua client_credentials flow
POST /connect/token với grant_type=client_credentials, client_id, client_secret, scopes=PublicApi.Access. Access token hết hạn sau 5 giờ.
- 5
Kết nối endpoint cốt lõi
GET /invoices (đơn POS), /orders (đơn online), /products, /customers, /branches, /transfers (chuyển kho).
- 6
Setup webhooks cho real-time
Đăng ký webhook qua /webhooks: invoice_create, customer_create, product_update. KiotViet POST đến endpoint của bạn khi có sự kiện.
Credentials cần có
Lưu vào vault hoặc secret manager. Không hardcode trong code, không commit lên git.
Client IDClient SecretRetailer (tên shop)Access Token
Trường dữ liệu mẫu
Các field thường có trong API response. Map vào schema warehouse khi ingest.
- invoice.code
- invoice.purchase_date
- invoice.total
- invoice.invoice_details[].product_code
- branch_id
- customer.contact_number
- payments[].method
Lỗi và pitfalls thường gặp tại Việt Nam
Đọc kỹ trước khi cam kết timeline, vài rủi ro dưới đây có thể kéo dài tích hợp thêm 1-2 tuần nếu không lên kế hoạch.
- Rate limit không công bố rõ, kinh nghiệm thực tế khoảng 600 request/phút, tăng dần backoff khi gặp HTTP 429.
- Webhook delivery không có retry, nếu endpoint của bạn down 1 lần, sự kiện đó mất. Luôn kèm job đối soát theo cửa sổ thời gian.
- Có 'order' (đơn online) và 'invoice' (đơn POS), hai entity khác nhau, dễ nhầm khi merge.
- Khi đổi gói KiotViet hoặc gia hạn chậm, API có thể bị disable đột ngột, đặt monitor và cảnh báo sớm.
Dashboard sử dụng KiotViet
Xem toàn bộ thư viện dashboard →P&L theo kênh bán
Lãi/lỗ thật của từng kênh (Shopee, TikTok Shop, Lazada, Web, Offline) sau khi trừ phí sàn, phí thanh toán, chi phí quảng cáo, hoàn hàng và vận chuyển. Một con số duy nhất cho mỗi kênh, không còn tranh luận cảm tính.
Mở dashboardCảnh báo hết hàng và hàng tồn chậm bán
Hai mặt của một vấn đề: SKU bán chạy có nguy cơ hết trong 7-14 ngày tới, và hàng đã không bán hơn 90 ngày đang khóa vốn. Một danh sách hành động, không phải bảng tồn kho khô khan.
Mở dashboardBrief CEO cuộc họp đầu tuần
Một trang A4 sáng thứ Hai 7h45: 3 điều tốt, 3 điều cần chú ý, 3 quyết định cần ra trong tuần. Mỗi gạch đầu dòng đều có nguồn để CEO click ra dòng gốc trong dashboard chi tiết.
Mở dashboardLợi nhuận theo khách hàng (top 20 và đáy 20)
Doanh thu, biên gộp, chi phí vận chuyển, chiết khấu thương mại, công nợ, gói lại thành một con số lãi/lỗ ròng cho từng khách hàng. Hai nhóm: top 20 đem lại hầu hết lợi nhuận, và đáy 20 đang âm hoặc cận biên.
Mở dashboardFood cost % theo món và chi nhánh
Tỷ lệ chi phí nguyên liệu trên doanh thu cho từng món và từng chi nhánh, so sánh với chuẩn công thức (theoretical food cost). Phát hiện món bị thâm hụt nguyên liệu vượt chuẩn, cảnh báo thất thoát hoặc khẩu phần lệch.
Mở dashboardP&L theo chi nhánh (so sánh ngang)
Doanh thu, food cost, labor cost, chi phí cố định, EBITDA, theo từng chi nhánh, xếp hạng so với mức trung bình và 3 tháng trước. Tách rõ chi nhánh đang lãi gánh chi nhánh đang lỗ.
Mở dashboardOperations hằng ngày
Doanh thu, lượt khách, vòng quay bàn và AOV theo giờ trong ngày, cho từng chi nhánh. Phát hiện giờ ngấm (thừa hoặc thiếu nhân sự) và xu hướng vòng quay bàn giảm dần.
Mở dashboardLoyalty và retention khách hàng
Phân nhóm khách hàng theo cohort, tần suất ghé, AOV và thời gian từ lần ghé gần nhất. Trả lời "có bao nhiêu khách quay lại trong 30 ngày" và "khách VIP nào đang biến mất".
Mở dashboardKết nối KiotViet vào data warehouse của doanh nghiệp bạn
Đặt lịch rà soát 30 phút. Chia sẻ tài khoản hiện tại, chúng tôi đề xuất phạm vi kết nối ưu tiên và timeline ngày bàn giao.