Hướng dẫn sử dụng HorecaPOS
Hướng dẫn này gồm ba phần: trước tiên dành cho nhân viên (phục vụ), sau đó cho quản lý và cuối cùng cho quản trị viên. Mỗi phần dựa trên phần trước: quản lý làm được mọi việc của nhân viên phục vụ, và quản trị viên làm được tất cả.
Vai trò của bạn được phép làm gì là do quản trị viên thiết lập tại Cài đặt → Quyền. Nếu bạn không thấy một nút nào đó, nghĩa là vai trò của bạn (chưa) có quyền đó.
Hướng dẫn này cũng có trong máy tính tiền: chạm vào nút © ở góc dưới bên phải mỗi màn hình và chọn Hướng dẫn sử dụng, hoặc mở http://<kassa-pc>:3000/handleiding. Xem thêm phần giới thiệu và tài liệu API.
Phần 1 · Nhân viên
Bắt đầu
Đăng nhập. Mở chương trình trên máy tính tiền, máy tính bảng hoặc điện thoại và nhập mã PIN của bạn (4 đến 8 chữ số). Sau đó bạn sẽ thấy sơ đồ bàn.
Mở bàn. Chạm vào một bàn. Bàn trống sẽ có đơn mới; với bàn đang có khách, bạn tiếp tục đơn đã có. Ở phía trên, bạn chuyển giữa các khu vực (ví dụ Phòng chính và Sân hiên). Ở quầy, dùng Bán nhanh; với đơn mang đi, dùng Mang đi.
Gọi món. Chọn một nhóm sản phẩm và chạm vào các sản phẩm. Chúng sẽ hiện trên hóa đơn bên trái. Nếu cần, hãy chọn lượt món trước (1 = ngay lập tức, 2 và 3 chờ đến khi bạn gọi). Chạm Gọi món: phiếu bếp sẽ được gửi đến bếp và quầy bar. Khi chưa chạm Gọi món, bạn vẫn có thể xóa các dòng bình thường.
Thanh toán. Chạm Thanh toán, chọn Thẻ / Bancontact, Tiền mặt hoặc Phiếu quà tặng, thêm tiền boa nếu có, rồi xác nhận. Khi trả bằng thẻ, giao dịch tự động bắt đầu trên máy POS. Hóa đơn được in ra; bạn cũng có thể gửi qua email.
Đăng xuất. Hãy đăng xuất khi làm xong, để không ai khác làm việc dưới tên bạn. Sau 8 giờ, bạn sẽ tự động bị đăng xuất.
Không có Internet? Máy tính tiền vẫn hoạt động bình thường. Nếu phía trên hiện Không có Internet · quẹt thẻ thủ công, hãy nhập số tiền trực tiếp trên máy POS và trong màn hình thanh toán chọn Đã thanh toán trên máy POS.
Nhiều nhóm tại một bàn
Một bàn có thể có nhiều nhóm khách, mỗi nhóm có hóa đơn và tài khoản riêng.
- Chạm vào một bàn: trống = đơn mới; một nhóm = vào ngay nhóm đó; nhiều nhóm = chọn trước, hoặc + Nhóm mới (tên có thể để trống).
- Ở phía trên màn hình gọi món có thanh nhóm: chuyển giữa các nhóm, + Nhóm, Tên nhóm (vd. "Jansen") và Tách / chuyển.
- Tách / chuyển: chọn cho từng dòng số lượng chuyển đi (với 3× Pils, vd. 1) và chuyển sang nhóm nào, hoặc tạo nhóm mới. Nhờ vậy bạn có thể chuyển món bị ghi nhầm hóa đơn, hoặc tách sau theo kiểu "ai trả phần nấy". Nhóm nào trống sẽ tự biến mất.
- Nhiều phần cùng lúc: với + Thêm một phần bạn chuẩn bị một phần rồi chọn phần tiếp theo (vd. món cá và một ly Dry Martini sang bàn 2, phần còn lại sang bàn 35). Một phần cũng có thể sang + Bàn khác (ở đó thành nhóm mới). Với Di chuyển mọi thứ được chuyển một lần. ½ chia đôi một dòng, kể cả nửa chai (0,667 thành 2 × 0,3335).
- Gộp: mọi thứ từ một hoặc nhiều bàn khác (hoặc các nhóm ở bàn này) vào hóa đơn này, một lần.
- Bỉ: chia hoặc gộp một lần là một lần đổi bàn tại hộp đen, đúng như FOD Tài chính yêu cầu (UC242, UC251, UC252, UC4119bis). Nếu sau khi gọi món có gì bị xóa hoặc được giảm giá trên một dòng đã gọi, việc đó được gửi kèm thông báo tiếp theo của bàn đó (gọi món, hóa đơn tạm tính, đổi bàn), nếu không thì kèm giao dịch bán: dòng cũ âm và dòng mới dương (UC226, UC4102, UC4104, UC4107, UC4110).
- Trên màn hình bàn, một chấm màu cam cho biết có bao nhiêu nhóm; số tiền là tổng của tất cả các nhóm.
- Hóa đơn và phiếu bếp hiển thị "Bàn 5 - nhóm 2" hoặc "Bàn 5 - Jansen".
Chia hóa đơn khi tính tiền
Thanh toán vẫn như mọi khi: Tất cả một lần. Trong màn hình thanh toán, giờ đây cũng có thể chia hóa đơn, bằng các nút bên dưới Quay lại và Thanh toán (nhờ vậy chúng luôn hiển thị, không cần vuốt):
- Chia đều: dùng − và + để chọn chia cho bao nhiêu người (mặc định là số khách, hoặc 2 nếu máy POS không ghi nhận số người). Màn hình hiển thị số tiền mỗi người; mỗi người trả phần của mình bằng thẻ, tiền mặt hoặc thẻ quà tặng (kèm tiền tip nếu muốn). Sau mỗi phần, số đếm giảm dần ("còn 3 người"); người cuối cùng trả đúng phần còn lại.
- Số tiền tùy chọn: một người trả một số tiền cố định (vd. € 20); phần còn lại vẫn để mở.
- Theo sản phẩm…: mở Tách / chuyển để chuyển sản phẩm sang một hóa đơn riêng và thanh toán riêng (như ở trên).
Thanh toán một phần chỉ ghi nhận khoản thanh toán; hóa đơn vẫn mở và màn hình gọi món hiển thị "đã trả … · còn mở …". Hóa đơn (với tất cả các khoản thanh toán) được in ở lần thanh toán cuối cùng, như khi thanh toán bình thường. Thanh toán thẻ qua kết nối sẽ đúng bằng số tiền của phần đó. Khi đã thanh toán một phần, không thể chuyển dòng sang nhóm khác hay thêm giảm giá nữa; chỉ có thể xóa nếu số tiền còn mở đủ. Mỗi lần thanh toán một phần đều được ghi vào nhật ký.
Bán nhanh và mang đi (không cần bàn)
Ở góc trên bên phải màn hình bàn có Bán nhanh và Mang đi. Cả hai đều mở ngay một đơn không có bàn. Bán nhanh là bán tại quầy (VAT ăn tại chỗ); Mang đi dùng thuế suất VAT mang đi của từng sản phẩm. Với "Tên khách", bạn thêm tên; tên này hiện trên hóa đơn ("Mang đi – Jansen") và ở đầu phiếu bếp. Các đơn không có bàn đang mở hiện bên dưới các nút khu vực ("Không có bàn: Mang đi #12 – Jansen"), để bạn dễ tìm lại. Nếu bạn quay lại mà không bán gì, đơn trống sẽ tự biến mất.
Cả hai nút có thể bật hoặc tắt cho từng quán tại Cài đặt → Quán, ngay dưới chủ đề sáng/tối (mặc định bật). Tắt = ẩn nút; các đơn không có bàn đang mở vẫn hiển thị.
Giao hàng và khung giờ
Các đơn bạn tự nhận tại máy tính tiền, ví dụ qua điện thoại hoặc tại quầy, với cùng quy tắc như cửa hàng trực tuyến: khu vực giao hàng và số đơn tối đa mỗi khung giờ. Bật tại Cài đặt → Cửa hàng → Giao hàng và khung giờ, ngay dưới các nút Bán nhanh và Mang đi (mặc định tắt).
- Nút Giao hàng trên màn hình bàn (cạnh Mang đi): nhập tên, điện thoại và địa chỉ (khi bật Nhập địa chỉ nhanh: tra theo mã bưu chính và số nhà). Máy tính tiền tìm khu vực giao hàng và hiển thị phí giao hàng, mức tối thiểu và "miễn phí từ". Nếu địa chỉ nằm ngoài các khu vực thì không thể giao.
- Khu vực giao hàng: theo mã bưu chính (dải mã và mã riêng lẻ, vd.
5000-5049, 5051, 5052 AB), trong một bán kính tính bằng km từ cửa hàng (đường chim bay) hoặc một vùng trên bản đồ do bạn tự vẽ. Bán kính và vùng chỉ hoạt động với địa chỉ tại Hà Lan (vị trí qua PDOK). Mỗi khu vực: phí giao hàng, tối thiểu, miễn phí từ và số phút thêm; khu vực phù hợp đầu tiên từ trên xuống được áp dụng, nên có thể kết hợp các loại (vd. trước tiên vài mã bưu chính, sau đó một vùng, rồi một bán kính cho phần còn lại). Không thiết lập khu vực nào = giao mọi nơi, không phí và không tối thiểu. Khu vực của cửa hàng trực tuyến được thiết lập riêng (trang quản lý cửa hàng trực tuyến). - Vùng trên bản đồ: ở một khu vực giao hàng, chọn loại Vùng trên bản đồ rồi chọn Vẽ trên bản đồ. Nhấp vào bản đồ để đặt điểm (ít nhất 3); kéo một điểm để di chuyển, nhấp vào một điểm để xóa và kéo chấm tròn ở giữa một cạnh để thêm điểm vào giữa. Bản đồ cũng hiển thị các khu vực theo bán kính và cửa hàng. Các ô bản đồ lấy từ OpenStreetMap, nên bản đồ cần internet; còn việc giao hàng thì không (trừ việc tra cứu địa chỉ). Nếu không tra cứu được địa chỉ, máy tính tiền sẽ báo điều đó thay vì "ngoài khu vực giao hàng".
- Phí giao hàng nằm trên đơn dưới dạng dòng "Bezorgkosten" và được tính lại sau mỗi thay đổi (miễn phí từ, không có sản phẩm = không phí), miễn là chưa thanh toán gì. Dưới mức tối thiểu thì không thể thanh toán; màn hình đơn hiển thị còn thiếu bao nhiêu, kèm nút Vẫn mang đi (bỏ phí giao hàng và mức tối thiểu).
- Giờ: Càng sớm càng tốt (bây giờ + thời gian giao, cộng số phút thêm của khu vực) hoặc một khung giờ trong hôm nay. Nếu có giờ mở cửa tại Thuisbezorgd thì giờ đó cũng áp dụng ở đây.
- Tối đa mỗi khung giờ (0 = không giới hạn; khung giờ 5 đến 60 phút): tính chung cho Mang đi và Giao hàng; đơn từ cửa hàng trực tuyến trong máy tính tiền cũng được tính. Khi có giới hạn, Mang đi cũng hỏi giờ và không thể chọn khung giờ đã đầy. Hai máy tính tiền cùng lúc giành chỗ cuối cùng: chỉ một máy được.
- Trên phiếu bếp có địa chỉ, tên, điện thoại và giờ; trong "Không có bàn" và ở đầu phiếu bếp, vd. "Bezorgen – 18:30 Jansen".
Mở rộng (tất cả mặc định tắt; không có các cài đặt này thì mọi thứ hoạt động đúng như trên):
- Giờ mở cửa riêng cho mang đi và giao hàng (theo từng ngày trong tuần, vd.
16:00-21:00hoặc11:30-14:00, 17:00-22:00; được qua nửa đêm:17:00-01:00; để trống = ngày đó đóng cửa). Tắt = như trước đây (giờ của Thuisbezorgd, nếu có, nếu không thì cả ngày). - Ngày nghỉ (vd.
25-12-2026, 26-12-2026): khi đó không mang đi hoặc giao hàng. - Đặt trước: từ 0 (chỉ hôm nay, như trước đây) đến 14 ngày. Trong cửa sổ Giao hàng/Mang đi, bạn chọn ngày trước; ngày sau hôm nay được in trên phiếu bếp trước giờ.
- Đông khách: thêm bấy nhiêu phút cho "càng sớm càng tốt" (cả máy tính tiền và cửa hàng trực tuyến). Cũng có thể đặt nhanh bằng nút Cửa hàng trực tuyến trên thanh trên cùng.
- Địa chỉ ở Bỉ (mã bưu chính 4 chữ số): với bán kính hoặc khu vực trên bản đồ, máy tính tiền tra vị trí qua OpenStreetMap (Nominatim; cần tên đường và thành phố).
- Cửa hàng trực tuyến theo máy tính tiền: máy tính tiền là chuẩn. Khi đó cửa hàng trực tuyến dùng khu vực giao hàng, thời gian giao và lấy hàng, khung giờ, số đơn tối đa mỗi khung giờ, giờ mở cửa (nếu được cài ở đây), ngày nghỉ và số ngày đặt trước của máy tính tiền, và tính cả các đơn nhận tại máy tính tiền vào khung giờ. Tắt = cửa hàng trực tuyến có cài đặt riêng (trang quản lý cửa hàng trực tuyến), như trước đây. Việc bật hoặc tắt mang đi/giao hàng vẫn do cửa hàng trực tuyến quyết định.
Mã nguồn: lib/bezorgen.ts, routes/bezorgen.ts, BezorgDialoog.tsx, BezorgInstellingen.tsx, BezorgKaart.tsx và lib/kaart.ts (bản đồ, không cần gói bổ sung; cùng mã này có trong cửa hàng trực tuyến dưới dạng public/kaart.js).
Điện thoại: nhận diện khách khi đặt hàng qua điện thoại
Cài đặt → Điện thoại (mặc định tắt; tắt đi vẫn giữ lại mọi thứ). Hai công tắc riêng:
- Tìm khách theo số điện thoại khi giao hàng và mang đi: khi bạn nhập số trong màn hình giao hàng, máy tính tiền hiển thị khách cùng địa chỉ và các đơn hàng trước; Dùng thông tin này điền tên, email và địa chỉ. Dùng được cả khi không có tổng đài điện thoại.
- Hiển thị số gọi đến: khi khách gọi, tổng đài điện thoại (hoặc máy điện thoại, FRITZ!Box, modem hay điện thoại Android) báo số. Trên các màn hình hiện thông báo cho biết ai đang gọi: tên, địa chỉ, các đơn hàng gần nhất (kèm món và số tiền, cả từ cửa hàng trực tuyến, Thuisbezorgd và các nền tảng giao hàng), tổng cộng và đặt bàn. Với Nhận đơn giao hàng hoặc Nhận đơn mang đi, màn hình giao hàng mở ra với mọi thứ đã điền sẵn (khi bật Giao hàng và khung giờ); đơn hàng được gắn với cuộc gọi và thông báo biến mất trên mọi màn hình. Nút 📞 trên thanh trên cùng: các cuộc gọi trong 24 giờ qua. Có thể tắt cho từng màn hình (Hiện thông báo trên màn hình này).
Tìm trong thẻ thành viên, các đơn giao hàng và mang đi của máy tính tiền, cửa hàng trực tuyến, Thuisbezorgd, các nền tảng giao hàng và đặt bàn. Các số được chuẩn hóa (+31 6 1234 5678, 0031612345678 và 06-12345678 là cùng một số; cả số của Bỉ).
Cách số điện thoại được gửi tới (có thể dùng nhiều cách cùng lúc; cùng một cuộc gọi chỉ tính một lần):
| Nguồn | Dùng cho | Thiết lập |
|---|---|---|
| Webhook / action URL | 3CX (tích hợp CRM), Aircall, Voys / VoIPGRID, Yeastar dòng P, máy điện thoại có action URL khi có cuộc gọi đến (Fanvil, Grandstream, Mitel 6800/6900, Snom, Yealink: dùng được với mọi tổng đài và nhà mạng), dịch vụ kết nối (Zapier, Make, n8n, Power Automate) | địa chỉ trong Cài đặt → Điện thoại (/api/telefonie/oproep?sleutel=...&nummer=...), GET hoặc POST, JSON, biểu mẫu hoặc query; cũng có thể qua cổng quản lý: https://<portaal>/telefonie/<kassa-id>/oproep?sleutel=... |
| Asterisk (AMI) | Asterisk, FreePBX, Issabel, VitalPBX, Grandstream UCM | địa chỉ, cổng (5038; Grandstream UCM 7777), người dùng AMI và mật khẩu (quyền call) |
| FRITZ!Box | FRITZ!Box có chức năng điện thoại | địa chỉ (fritz.box) và cổng 1012; bật callmonitor một lần bằng #96*5* |
| Modem USB caller ID | đường dây cố định analog có hiển thị số gọi đến | cổng nối tiếp (COM3, /dev/ttyACM0), baud và lệnh khởi tạo (mặc định AT+VCID=1) |
| Điện thoại Android | điện thoại tích hợp của một điện thoại Android của cửa hàng | ứng dụng HorecaPOS trên điện thoại đó, Cài đặt → Điện thoại → Ghép nối điện thoại này (Android 10+: chọn ứng dụng làm ứng dụng hiển thị số gọi đến) |
Phản hồi chứa thông tin người gọi, cũng dưới dạng contact (firstname, lastname, phone, email, address) cho mẫu CRM của 3CX. Cuộc gọi đi và cuộc gọi nội bộ không được hiển thị; Chỉ các đường dây này giới hạn ở một số đường dây hoặc máy điện thoại. Cuộc gọi bị xóa sau thời hạn lưu trữ (mặc định 30 ngày, GDPR). Cuộc gọi thử giả lập một số đang gọi.
Mã nguồn: apps/pos-server/src/lib/telefonie.ts, routes/telefonie.ts, packages/shared/src/telefonie.ts; màn hình Telefonie.tsx, BezorgDialoog.tsx; Android android-app/native/java/Beller*.java. Nhật ký: Điện thoại.
Người giao hàng riêng: chuyến giao, nộp tiền và track & trace
Dành cho cửa hàng có người giao hàng riêng. Bật tại Cài đặt → Cửa hàng → Giao hàng → Người giao hàng riêng (mặc định tắt). Người giao hàng không cần ứng dụng: người giao hàng dùng một trang trong trình duyệt trên điện thoại của mình (ai muốn có thể dùng ứng dụng Optimum Bezorger: xem Ứng dụng giao hàng bên dưới).
Tạo chuyến. Trên máy tính tiền có nút Chuyến giao (kèm số đơn giao còn chờ đi cộng với các chuyến đang giao).
- Tại Sẵn sàng giao, đánh dấu các đơn sẽ đi. Đó là các đơn giao hàng từ máy tính tiền, cửa hàng trực tuyến và Thuisbezorgd (chỉ tự giao; đơn do người giao hàng của Thuisbezorgd giao thì không).
- Chọn người giao hàng (một nhân viên) và tiền lẻ mang theo (mặc định là số tiền trong cài đặt), rồi chạm Tạo chuyến.
- Một mã QR xuất hiện. Người giao hàng quét bằng điện thoại của mình và thấy theo từng địa chỉ: tên, địa chỉ với nút Chỉ đường (dẫn đường), Gọi, ghi chú, thời gian mong muốn và số tiền cần thu. Có máy tính tiền thối (khách đưa € 50 → thối lại € 31,50). Không cần đăng nhập. Chỉ chia sẻ liên kết với người giao hàng: ai có liên kết đều thấy các địa chỉ của chuyến này. Với Mã QR cho người giao hàng bạn tạo liên kết mới; liên kết cũ sẽ không còn hoạt động.
- Chạm Xuất phát khi người giao hàng rời đi. Tiền lẻ được lấy ra từ ngăn kéo (chi tiền, kèm lý do). Khách nhận được thông báo rằng đơn đang trên đường giao:
- với đơn từ máy tính tiền qua SMS và/hoặc email, nếu Tin nhắn cho khách đang bật (xem Giao hàng và khung giờ);
- với cửa hàng trực tuyến theo cài đặt trong cửa hàng trực tuyến (email, SMS hoặc thông báo đẩy);
- với Thuisbezorgd qua Thuisbezorgd.
Nếu chuyến chưa đi, vẫn có thể hủy.
- Trên đường, người giao hàng chạm theo từng địa chỉ Đã giao, tiền mặt, Đã giao, thẻ (máy quẹt thẻ riêng) hoặc Đã giao (đã thanh toán). Máy tính tiền thấy ngay. Nếu người giao hàng không báo được, có thể thực hiện trên máy tính tiền. Khi về cửa hàng, người giao hàng chạm Tôi đã về cửa hàng.
Nộp tiền. Sau chuyến, chạm Thanh toán (quyền Quản lý ngăn kéo tiền):
- Với từng đơn, chọn tiền mặt, thẻ tại cửa, đã thanh toán hoặc chưa giao (quay về). Những gì người giao hàng đã báo được điền sẵn.
- Máy tính tiền quyết toán từng đơn còn nợ mà không in hóa đơn mới (khách đã có hóa đơn; in lại tại Hóa đơn). Đơn chưa giao được gỡ khỏi chuyến và vẫn mở, để có thể đưa vào chuyến sau.
- Bạn thấy số tiền dự kiến: tiền lẻ cộng tiền mặt đã thu. Nhập số tiền người giao hàng nộp lại, hoặc đếm theo tờ tiền và đồng xu (Đếm theo tờ tiền và đồng xu). Máy tính tiền cho biết có khớp không, hoặc thừa hay thiếu bao nhiêu.
- Tiền lẻ được trả lại ngăn kéo (thu tiền). Chênh lệch được ghi ở chuyến và trong nhật ký, và cũng xuất hiện như chênh lệch tiền mặt trong báo cáo Z.
Track & trace (bật riêng trong cài đặt). Khi đang giao, khách nhận được liên kết đến trang theo dõi trên cổng. Liên kết này có trong SMS hoặc email, và trong cửa hàng trực tuyến trên trang trạng thái (Theo dõi người giao hàng của bạn). Trang theo dõi hiển thị:
- đơn đang được chuẩn bị, đang giao hay đã giao;
- thời gian dự kiến: từ vị trí của người giao hàng qua các địa chỉ đến trước, nếu không thì là thời gian mong muốn;
- còn bao nhiêu địa chỉ phía trước (không hiển thị các địa chỉ khác);
- với Người giao hàng trực tiếp trên bản đồ còn có người giao hàng, cửa hàng và địa chỉ của khách trên bản đồ (OpenStreetMap). Người giao hàng tự bật chia sẻ vị trí trên điện thoại (Chia sẻ vị trí của tôi). Vị trí chỉ được gửi khi trang đang mở; trang giữ màn hình luôn sáng.
Các trang hiển thị theo ngôn ngữ của điện thoại (mọi ngôn ngữ của cổng). Trên máy tính tiền, ở chuyến giao bạn thấy lần cuối vị trí được gửi (kèm liên kết đến bản đồ).
Quyền riêng tư. Cổng chỉ lưu dữ liệu của chuyến (tên, địa chỉ, số điện thoại, vị trí) trong khi chuyến đang diễn ra. Khi quyết toán mọi thứ bị xóa, nếu không thì sau 24 giờ. Khách chỉ thấy đơn của mình. Vị trí của người giao hàng chỉ xem được trong chuyến, và không còn xem được khi người giao hàng đã về.
Lập kế hoạch chuyến (tùy chọn)
Bật tại Cài đặt → Cửa hàng → Giao hàng → Lập kế hoạch chuyến (mặc định tắt; dùng với người giao hàng riêng). Khi đó trong cửa sổ Chuyến giao sẽ có nút Đề xuất chuyến. Máy tính tiền gộp các đơn còn phải giao thành các chuyến:
- các đơn ở gần nhau và có giờ yêu cầu nằm trong khung thời gian (mặc định 30 phút) được gộp lại;
- tối đa số địa chỉ mỗi chuyến (mặc định 4), miễn là chuyến (đi, tất cả địa chỉ và quay về cửa hàng) không dài hơn mức tối đa (mặc định 45 phút);
- mỗi chuyến có thứ tự tốt nhất, quãng đường (km), thời gian di chuyển cả đi lẫn về và mỗi địa chỉ có giờ đến dự kiến nếu xuất phát ngay. Nếu muộn hơn giờ yêu cầu, sẽ ghi muộn hơn giờ yêu cầu.
Với Dùng chuyến này bạn đánh dấu các đơn đó theo thứ tự đó; chọn người giao hàng rồi chạm Tạo chuyến. Với chuyến chưa xuất phát, Thứ tự tốt nhất xếp các địa chỉ theo thứ tự nhanh nhất (cả trên điện thoại của người giao hàng). Mỗi chuyến đều hiển thị quãng đường và thời gian di chuyển.
Cài đặt: địa chỉ mỗi chuyến, một chuyến được kéo dài bao lâu, khung thời gian, tốc độ của người giao hàng (trong thành phố xe đạp ~15, xe máy ~25, ô tô ~35 km/h) và số phút mỗi địa chỉ (đỗ xe, bấm chuông, thanh toán; mặc định 2). Các con số này quản lý cũng được phép cài đặt: trong cửa sổ Chuyến giao bằng nút Cài đặt lập kế hoạch chuyến (quyền Cài đặt lập kế hoạch chuyến, mặc định bật cho quản lý; thay đổi tại Cài đặt → Quyền). Bật hoặc tắt lập kế hoạch chuyến và dịch vụ tuyến đường (địa chỉ, khóa API) vẫn do quản trị viên phụ trách.
Quãng đường và thời gian di chuyển, do quản trị viên chọn:
- Ước tính (mặc định): khoảng cách đường chim bay nhân 1,35 (hệ số đường vòng) với tốc độ của người giao hàng. Hoạt động không cần internet và không cần tài khoản.
- OSRM: tuyến đường theo đường bộ qua một máy chủ OSRM. Nhập địa chỉ (
https://, hoặchttp://trong mạng nội bộ). Máy chủ demo công khai (https://router.project-osrm.org) chỉ dùng thỉnh thoảng; để dùng hằng ngày, hãy tự dựng máy chủ OSRM hoặc dùng nhà cung cấp. - OpenRouteService: tuyến đường theo đường bộ với khóa API riêng (tạo miễn phí tại openrouteservice.org, có giới hạn mỗi ngày). Địa chỉ mặc định là
https://api.openrouteservice.orgvà có thể đổi sang máy chủ riêng. Khóa được giữ trên máy tính tiền; màn hình chỉ cho biết đã nhập khóa.
Với Kiểm tra bạn thử dịch vụ. Nếu dịch vụ không hoạt động, việc lập kế hoạch quay về ước tính và báo điều đó. Địa chỉ không rõ vị trí (không có mã bưu chính và số nhà hợp lệ) sẽ nằm trong đề xuất ở mục không rõ vị trí và không được lên lịch. Bản xuất cấu hình có kèm cài đặt nhưng không kèm khóa.
Mã: lib/ritplanning.ts.
Ứng dụng giao hàng (tùy chọn)
Bật tại Cài đặt → Cửa hàng → Giao hàng → Ứng dụng giao hàng (mặc định tắt; hoạt động cùng người giao hàng riêng và cổng quản trị). Khi đó mỗi người giao hàng ghép nối điện thoại của mình một lần, thay vì quét mã QR cho mỗi chuyến:
- Tại Điện thoại đã ghép nối chọn người giao hàng (một nhân viên), có thể nhập tên điện thoại, rồi chạm Ghép nối điện thoại.
- Một mã QR hiện ra. Người giao hàng quét mã trong ứng dụng Optimum Bezorger (nút Ghép nối), hoặc bằng camera điện thoại: trang sẽ mở trong trình duyệt. Trang này cũng dùng được không cần ứng dụng và có thể thêm vào màn hình chính.
- Ghép nối có hiệu lực cho đến khi bạn thu hồi; khi đó điện thoại không thấy gì nữa ngay lập tức. Ghép nối mới cho cùng nhân viên sẽ thay thế cái cũ (ví dụ khi đổi điện thoại mới).
Trong ứng dụng hoặc trên trang có tất cả chuyến của mình (mọi chuyến máy tính tiền tạo cho người giao hàng này), với các nút giống như ở một chuyến: Chỉ đường, Gọi, số tiền cần thu với máy tính tiền lẻ, Đã giao và Tôi đã về cửa hàng. Có thể bật riêng:
- Tự nhận đơn: người giao hàng thấy các đơn giao chưa vào chuyến nào, đánh dấu những đơn mang theo và chạm Mang theo. Máy tính tiền tạo chuyến (hoặc thêm vào nếu người giao hàng đó đã có chuyến chưa xuất phát); tiền lẻ mặc định được mang theo. Đơn người khác đã nhận thì không nhận được nữa.
- Tự xuất phát: Xuất phát trong ứng dụng làm giống như trên máy tính tiền (tiền lẻ từ ngăn kéo, khách nhận thông báo).
- Bản đồ trực tiếp: tại Chuyến giao có nút Bản đồ với cửa hàng, tất cả người giao hàng đang làm việc và các địa chỉ còn phải giao. Người giao hàng tự bật và tắt Đang làm việc. Ứng dụng gửi vị trí cả khi tắt màn hình (Android: một thông báo trên thanh trạng thái khi đang chia sẻ); trang web chỉ khi đang mở. Nếu không bật cài đặt này, vị trí chỉ được chia sẻ trong chuyến có track & trace.
Ứng dụng Android có trên Google Play và trang tải xuống của cổng (/download/). Phiên bản iPhone đã sẵn sàng, nhưng chỉ ra mắt khi có tài khoản nhà phát triển Apple; đến lúc đó iPhone dùng trang web. Chuyến do người giao hàng tự nhận sẽ ghi tự nhận trong ứng dụng.
Mã nguồn: lib/bezorgersapp.ts, trong cổng src/volgen.mjs và ứng dụng trong repo horecapos-bezorger.
Nhật ký ghi lại ai tạo chuyến, cho xuất phát, báo đã giao và quyết toán, kèm số tiền. Tắt: không có nút Chuyến giao; chuyến giao và cài đặt vẫn được lưu.
Trên cổng: /bezorger/<sleutel> và /volg/<code>. Mã nguồn: lib/bezorgers.ts, routes/bezorgers.ts, Bezorgers.tsx và trong cổng src/volgen.mjs.
Cảnh báo thời gian chuẩn bị quá lâu
Đơn mang đi hoặc giao hàng xong trễ hơn giờ đã hẹn: máy thu ngân phát hiện, cảnh báo và có thể gửi ngay lời xin lỗi cho khách, có thể kèm phiếu ưu đãi. Bật tại Cài đặt → Cửa hàng → Giao hàng → Cảnh báo thời gian chuẩn bị quá lâu (mặc định tắt).
- Những đơn nào: mang đi và giao hàng có giờ hẹn, từ máy thu ngân (giao hàng và khung giờ), cửa hàng trực tuyến và Thuisbezorgd.nl / Takeaway.com.
- Trễ: sau số phút đã đặt (mặc định 10) kể từ giờ hẹn vẫn chưa xong hoặc chưa được giao đi. Xong hoặc đang giao nghĩa là: mọi món đã xong trên màn hình bếp, trạng thái xong hoặc đang giao trên cửa hàng trực tuyến hoặc Thuisbezorgd, đã gửi tin nhắn ✉ Xong / ✉ Đang giao cho khách, hoặc đã thanh toán. Máy thu ngân kiểm tra mỗi phút.
- Cảnh báo: nút Trễ trên thanh trên cùng kèm số lượng (có âm thanh khi có đơn mới), mỗi đơn hiển thị giờ hẹn và trễ bao nhiêu phút. Đơn tự biến mất khi đã xong hoặc đang giao, hoặc khi bấm Đã xử lý; bên dưới là các đơn trong 24 giờ qua, kèm thời điểm hoàn tất. Mọi thứ đều được ghi vào nhật ký.
- Cửa hàng trực tuyến: trang trạng thái của khách cho thấy đơn sẽ lâu hơn, kèm thời gian dự kiến mới.
- Với Thuisbezorgd thì không được (khách thuộc về Thuisbezorgd): ở đó chỉ có cảnh báo. Có thể dùng nội dung riêng;
{naam},{zaak},{code},{korting}và{geldig}sẽ được điền tự động. - Phiếu ưu đãi (chỉ khi Mã giảm giá đang bật): kèm lời xin lỗi là một mã giảm giá cá nhân cho đơn tiếp theo (vd.
SORRY-7K4Q2M), theo số tiền hoặc phần trăm, dùng một lần, hiệu lực số ngày đã đặt, tại quầy và trên cửa hàng trực tuyến. Các mã này không hiện trong danh sách Mã giảm giá. Nếu gửi không thành công, mã sẽ bị hủy. Dùng nút trên máy thu ngân chỉ khi có quyền Giảm giá. - Tắt: các cảnh báo và mã đã phát vẫn được lưu (cả trong bản sao lưu); cài đặt này có trong bản xuất cấu hình.
Mã nguồn: lib/telaat.ts, routes/telaat.ts, TeLaat.tsx và packages/shared/src/telaat.ts.
Nút Gọi món: chức năng và khi nào cần dùng
Chạm vào một món và chạm vào Gọi món là hai bước khác nhau:
- Chạm vào món sẽ đưa món đó lên hóa đơn ngay (trong danh sách bên trái) với trạng thái mới. Chỉ bạn nhìn thấy: bếp và quầy bar chưa biết gì. Một dòng mới chỉ là bản nháp: bạn vẫn có thể xóa, đổi số lượng hoặc tùy chọn mà không cần hủy món.
- Gọi món gửi tất cả các dòng mới cùng lúc: phiếu chế biến được gửi đến máy in bếp và bar (và màn hình bếp), sau đó các dòng chuyển sang trạng thái đã gọi. Khi đó chỉ có thể xóa bằng Hủy món (quyền hủy món). Trên nút hiển thị số dòng mới đang chờ, ví dụ Gọi món (3); nếu không có dòng mới, nút sẽ chuyển màu xám.
Tại sao lại có hai bước? Tại bàn, bạn ghi toàn bộ order (đồ uống, món khai vị, món chính), điều chỉnh nếu khách đổi ý, rồi gửi một lần vào bếp, mỗi khu vực một phiếu thay vì mỗi món một phiếu. Nhờ vậy bếp có thể bắt đầu từ sớm, rất lâu trước khi khách thanh toán.
Những gì khác xảy ra khi bấm Gọi món:
- Lượt món: lượt 1 được gửi vào bếp ngay; lượt 2, 3 và 4 được gửi kèm với trạng thái CHỜ và bếp chỉ bắt đầu khi bạn gọi lượt đó (xem Lượt món).
- Vòng gọi: mỗi lần Gọi món là một vòng; nút ↻ Thêm một lượt hoạt động dựa trên đó.
- Tồn kho được trừ và vòi bia định lượng được mở khóa.
- All-you-can-eat: nếu quá nhiều, quá sớm hoặc quá muộn so với gói, máy tính tiền sẽ hỏi trước xem có cho phép không.
- Bỉ (GKS 2.0): các dòng trước tiên được gửi dưới dạng pro forma đến hộp đen; nếu không thành công, không có gì được gửi vào bếp và các dòng vẫn ở trạng thái mới.
- Mất kết nối: order được lưu lại và gửi vào bếp ngay khi có kết nối trở lại. Máy in tắt: việc gọi món vẫn tiếp tục, phiếu chế biến được đưa vào hàng đợi in (xem Máy in bếp tắt hoặc không có màn hình bếp).
Cũng có thể thanh toán ngay. Nếu bạn chạm Thanh toán khi trên hóa đơn vẫn còn dòng mới, máy tính tiền sẽ tự động gọi món trước, để bếp và bar luôn nhận được phiếu. Vì vậy, tại quầy bar hoặc khi bán mang đi, bạn không cần chạm Gọi món trước: chỉ cần chạm món rồi Thanh toán ngay. Nếu việc tự động gọi món không thành công (mất kết nối, quy tắc all-you-can-eat, hộp đen), màn hình thanh toán sẽ không mở và bạn sẽ thấy lý do.
Không muốn in phiếu cho quầy bar khi thanh toán ngay? Trong Cài đặt → Cửa hàng → Gọi món và thanh toán, hãy bật Thanh toán ngay không in phiếu chế biến. Khi đó chỉ những gì bạn gửi bằng Gọi món mới được chuyển đến bếp và quầy bar; những gì bạn thanh toán ngay sẽ không có phiếu chế biến.
Nút Thanh toán lớn hay nhỏ
Khi đánh dấu Nút "Thanh toán" lớn, màn hình gọi món có một nút Thanh toán lớn ngay dưới các món đã gọi: rộng, cao và có số tiền, để bấm nhanh. Nếu hóa đơn đã được trả một phần, nút hiển thị số tiền còn lại. Khi đó nút nhỏ ở dưới cạnh Gọi món sẽ ẩn đi.
Với nút lớn, các nút trong màn hình thanh toán cũng lớn: Thanh toán (với Thẻ, Thẻ quà tặng và các phương thức thanh toán khác) và với Tiền mặt, Trả tiền vừa đủ và Thanh toán rộng và cao, dễ bấm, kể cả khi tay bẩn (ví dụ ở cửa hàng thịt). Các phương thức thanh toán lớn hơn một chút và nút tiền boa nhỏ hơn một chút, để mọi thứ vẫn nằm gọn trên màn hình.
Khi cài đặt mới, ô này bị tắt: khi đó có nút nhỏ ở dưới cạnh Gọi món và màn hình thanh toán với các nút bình thường. Muốn nút lớn? Trong Cài đặt → Quán, ngay dưới giao diện sáng/tối, đánh dấu Nút "Thanh toán" lớn. Máy đã được dùng từ trước vẫn giữ thiết lập cũ. Lựa chọn này áp dụng cho tất cả máy tính tiền và máy tính bảng của quán.
Đánh dấu món là "hết" (đã bán hết)
Trong màn hình gọi món, ai cũng có thể nhấn giữ một sản phẩm (hoặc bấm chuột phải) và chọn Hết hàng. Sản phẩm sẽ chuyển sang màu xám và không thể gọi trên mọi máy tính tiền nữa. Cũng làm như vậy để bật lại bằng Có hàng trở lại. Mọi thay đổi đều được ghi vào nhật ký. Quản trị viên vẫn có thể làm việc này tại Cài đặt → Sản phẩm. Máy chủ tính tiền cũng từ chối sản phẩm đã đặt là "hết" ("Cola" đã hết), kể cả từ máy tính bảng chưa nhận được thay đổi hoặc các đơn lưu khi ngoại tuyến; máy tính bảng đó sẽ hiện "Không gửi được".
Màn hình bếp (KDS)
Ngoài (chứ không thay thế) máy in phiếu bếp, bếp hoặc quầy bar có thể dùng một màn hình. Trên máy tính bảng/máy tính trong bếp, mở http://<kassaserver>:3000/keuken, đăng nhập bằng mã PIN và chọn trạm: đó là các tên giống với tên máy in (bếp, bar, ...), nên màn hình hiển thị đúng những gì sẽ in trên phiếu bếp đó. "Tất cả" hiển thị mọi trạm.
- Mỗi đơn một phiếu, cũ nhất ở trước, kèm bàn/mang đi, số đơn và thời gian đã chờ (màu cam sau 10, màu đỏ sau 20 phút).
- Các lượt món được hiển thị riêng; lượt món chưa gọi sẽ có màu xám với dòng "CHỜ gọi món". Các món đã hủy bị gạch ngang.
- Chạm vào một dòng để đánh dấu xong, hoặc chạm Xong cho cả phiếu. Nhân viên phục vụ sẽ thấy trên thanh trên cùng "Bếp: Bàn 5 đã xong". Với Cài đặt → Quán → Màn hình bếp → Âm báo cho nhân viên phục vụ (mặc định tắt), máy tính tiền còn phát tiếng bíp ("ding-dong", không cần tệp âm thanh). Trình duyệt chỉ cho phép phát âm thanh sau lần chạm đầu tiên vào màn hình; hãy bật âm lượng của máy tính bảng.
- Lấy lại hiển thị những gì đã báo xong trong một giờ qua, nên món lỡ tay chạm nhầm có thể lấy lại.
Màn hình tự cập nhật ngay lập tức. Phiếu bếp vẫn in như bình thường; ai không dùng màn hình sẽ không thấy khác biệt gì.
Màn hình bếp: chuyển trạm, thứ tự và lượt món
Cài đặt → Máy in → Màn hình bếp. Mỗi phần bật riêng, mặc định tắt; tắt đi vẫn giữ nguyên mọi thứ.
- Chuyển giữa các trạm, ví dụ lạnh → nóng → ra món. Với mỗi trạm bạn đặt một trạm tiếp theo cố định; phiếu sẽ có nút → nóng (và luôn có Chuyển đến… để chọn trạm khác). Chỉ các dòng còn mở của trạm đó được chuyển. Trạm không cần có máy in: nhập các trạm như ra món vào Trạm không có máy in. Xong (và thông báo cho phục vụ) chỉ có ở trạm cuối cùng. Ở "Tất cả", dòng đã chuyển hiển thị vị trí hiện tại. Mỗi bước được ghi ở dòng đó và trong nhật ký.
- Sắp xếp lại: kéo phiếu (chuột) hoặc di chuyển bằng ◀ ▶ (màn hình cảm ứng). Thứ tự áp dụng cho từng trạm và cho mọi màn hình của trạm đó; phiếu mới nằm ở cuối.
- Lượt món tiếp theo từ màn hình bếp: ở phiếu có lượt món đang chờ sẽ có Yêu cầu lượt món 2. Phục vụ khi đó nhận "Bếp yêu cầu lượt món 2 cho Bàn 5" (kèm âm thanh) và gọi ra như thường lệ; trên màn hình bếp hiện "Đã yêu cầu lượt món 2 · n phút" cho đến khi lượt món được gọi ra. Hoặc chọn Gọi ra: khi đó màn hình bếp tự gọi lượt món, kèm phiếu bếp "GỌI LƯỢT MÓN 2", giống như nút trên máy tính tiền.
Tắt máy in bếp hoặc không có màn hình bếp
Máy tính tiền luôn hoạt động, kể cả khi máy in bếp hoặc bar bị tắt (hoặc hết giấy, hoặc lỏng cáp) và cả khi không có màn hình bếp:
- Gọi món luôn được thực hiện. Các dòng chuyển ngay sang trạng thái đã gọi, hóa đơn chính xác và vẫn thanh toán bình thường. Các máy in được gửi lệnh cùng lúc và mỗi máy in chỉ được chờ tối đa khoảng 4 giây: một máy in bị tắt sẽ không bắt các máy in khác (và nhân viên phục vụ) chờ lâu.
- Hàng đợi in. Phiếu bếp không in được sẽ vào hàng đợi in. Máy chủ tính tiền thử in lại mỗi 30 giây, trong mười lăm phút; ngay khi máy in hoạt động lại, phiếu sẽ được in với dòng LATER GEPRINT (in sau) ở trên cùng. Nếu phiếu tiếp theo in được trên máy in đó, các phiếu đang chờ sẽ được in ngay sau.
- Sau mười lăm phút, việc tự động thử lại sẽ dừng; khi đó vẫn có thể dùng In lại ngay.
- Màn hình bếp. Nếu đơn có trên màn hình bếp, bếp vẫn thấy đơn ở đó dù máy in bị tắt. Ai không dùng màn hình bếp cũng không bỏ lỡ gì: máy tính tiền không bao giờ chờ bếp báo "Xong".
- Hàng đợi chỉ nằm trong bộ nhớ của máy chủ tính tiền (sau khi khởi động lại sẽ trống).
- Với hóa đơn tính tiền cũng vậy: nếu in không được, việc thanh toán vẫn hoàn tất (máy tính tiền báo "in không thành công") và sau đó bạn có thể in bản sao tại Hóa đơn.
Lượt món (khai vị, món chính ...)
Các nút lượt món chỉ hiển thị khi cần: ngay khi có một combo (sản phẩm kết hợp) trong đơn gọi món, hoặc khi đã có món ở lượt món 2 đến 4. Với sản phẩm thông thường, như cola, bạn không thấy chúng và mọi thứ được gửi thẳng đến bếp. Không cần cài đặt gì.
Bên dưới danh sách gọi món có Lượt món 1 2 3 4. Mặc định lượt món 1 được chọn và mọi thứ hoạt động như thường lệ: "Gọi món" gửi mọi thứ đến bếp ngay, không có tiêu đề lượt món trên phiếu bếp. Nếu bạn chọn lượt món 2 (hoặc cao hơn) trước khi chạm sản phẩm, thì:
- khi "Gọi món", các món đó vẫn được gửi đến bếp, dưới dòng "-- Lượt món 2 · CHỜ gọi món --", để bếp có thể chuẩn bị trước;
- danh sách gọi món hiển thị "Lượt món 2 · chờ" với nút Gọi lượt món;
- khi Gọi lượt món, bếp nhận được phiếu " GỌI LƯỢT MÓN 2 " với những món cần làm ngay.
Lượt món 1 luôn được gửi ngay. Nếu lượt món 2 đã được gọi, món gọi thêm sau đó trong lượt món 2 cũng được gửi ngay.
Chất gây dị ứng theo từng món
Mặc định tắt: khi đó chất gây dị ứng không hiển thị ở đâu cả. Bật tại Cài đặt → Quán → Nhập và hiển thị chất gây dị ứng theo sản phẩm.
- Cài đặt → Sản phẩm: với mỗi sản phẩm, chọn 14 chất gây dị ứng theo quy định EU (gluten, giáp xác, trứng, cá, đậu phộng, đậu nành, sữa, các loại hạt, cần tây, mù tạt, mè, sulfit, đậu lupin, động vật thân mềm). Trong danh sách sản phẩm, các chữ viết tắt hiện sau tên.
- Màn hình gọi món: trên mỗi nút sản phẩm có chữ viết tắt nhỏ (vd.
Gl Me), và nút ⚠ Chất gây dị ứng trên thanh nhóm hiển thị đầy đủ chất gây dị ứng của từng sản phẩm trong nhóm đã chọn, kèm giải thích các chữ viết tắt. - Thay đổi về chất gây dị ứng được ghi vào nhật ký (cũ → mới). Khi tắt cài đặt này, các chất gây dị ứng đã nhập trước đó vẫn được giữ lại.
Buffet ăn thả ga (All-you-can-eat)
Mặc định tắt. Bật tại Cài đặt → Quán → Buffet (chỉ quản trị viên). Bạn tạo một hoặc nhiều gói, vd. Cá, Thịt và Sushi, mỗi gói có:
- một tên (in trên hóa đơn: "Cá người lớn", "Cá trẻ em");
- một giá cho mỗi người lớn và mỗi trẻ em (đã gồm VAT) và thuế suất VAT (mặc định NL
LAAG, BEB); - các món thuộc gói (€ 0): cả nhóm sản phẩm và/hoặc từng sản phẩm riêng lẻ (cả từ nhóm khác, vd. khoai tây chiên cho cả Cá và Thịt);
- một giới hạn thời gian tính bằng phút (0 = không giới hạn);
- lượt: tối đa bấy nhiêu món mỗi người mỗi lượt (0 = không giới hạn) và ít nhất bấy nhiêu phút giữa hai lượt (0 = không có);
- một phụ phí lãng phí đồ ăn cho mỗi món (0 = không có).
Dùng ↑ ↓ để sắp xếp thứ tự. Thứ tự này có tác dụng khi một món thuộc nhiều gói: món đó sẽ thuộc gói cao nhất mà nhóm khách đã chọn. Xóa sẽ gỡ gói đó cho các bàn mới; các bàn đang dùng vẫn giữ dòng giá của mình (vẫn có thể giảm số người, nhưng không thể tăng).
Tại bàn:
- Trên màn hình gọi món, phía trên hóa đơn có + All-you-can-eat. Chọn cho mỗi gói số người lớn và trẻ em; có thể kết hợp (vd. 2× Cá và 2× Thịt). Giá được thêm thành các dòng trên hóa đơn; các dòng này không gửi xuống bếp. Số người của nhóm sẽ là tổng số người tham gia (nếu máy POS ghi nhận số người).
- Thanh này hiển thị cho mỗi gói: số người, thời gian còn lại (màu đỏ khi hết giờ), đang ở lượt nào so với tối đa, và còn bao lâu đến lượt tiếp theo. Các món thuộc gói được ghi AYCE trên nút và trên hóa đơn có nhãn AYCE với giá € 0. Mọi thứ không thuộc gói đã chọn (đồ uống, tráng miệng ...) vẫn tính tiền bình thường.
- Gọi món: mỗi lần "Gọi món" có món miễn phí là một lượt, tính theo từng gói (chỉ những gói có món trong đó). Món được chọn khi ngoại tuyến và gửi sau sẽ không bị chặn.
- Sửa: điều chỉnh số lượng theo từng gói. Giảm số người được tính là hủy món (quyền "storno"). Có thể đặt một gói về 0 (hoặc Dừng cho tất cả) khi chưa có món nào của gói đó trên hóa đơn.
- Phụ phí (chỉ khi gói đã chọn có phụ phí bỏ thừa thức ăn): chọn số lượng (và gói, nếu có nhiều gói); "Phụ phí bỏ thừa × số lượng" được thêm vào hóa đơn.
- Tính tiền, chia hóa đơn, giảm giá và hóa đơn hoạt động như bình thường: giá gói, phụ phí và đồ uống là các dòng thường với VAT riêng.
- Nếu quản trị viên tắt all-you-can-eat khi các nhóm vẫn đang ăn, các món mới gọi sẽ tính lại giá thường; những gì đã có trên hóa đơn vẫn giữ nguyên.
- Trong cửa hàng trực tuyến (tùy chọn, mặc định tắt): với Cả khi gọi món tại bàn qua mã QR (cửa hàng trực tuyến), khách gọi món từ bàn đang có gói buffet sẽ thấy các món thuộc gói là Đã bao gồm với giá € 0, và phía trên hiển thị tình trạng (số người, lượt, thời gian). Mỗi lần gọi là một lượt, theo cùng quy tắc như Gọi món; gọi quá nhiều, quá sớm hoặc quá muộn thì cửa hàng trực tuyến từ chối ngay. Đồ uống và các món khác khách trả như bình thường; tất cả được tính vào hóa đơn của bàn. Tắt = cửa hàng trực tuyến tính giá thường, như trước đây.
Phiếu quà tặng
Hai công tắc tại Cài đặt → Quán → Phiếu quà tặng:
- Phiếu quà tặng là phương thức thanh toán khi tính tiền: mặc định bật, như trước giờ. Tắt = nút Phiếu quà tặng không có khi tính tiền (và không có ở hoàn tiền qua khi trả hàng), và máy chủ tính tiền từ chối thanh toán bằng phiếu quà tặng.
- Bán phiếu quà tặng có số dư: mặc định tắt. Bật:
- Trên màn hình gọi món có nút Phiếu quà tặng: chọn số tiền (€ 10, 25, 50, 100 hoặc số khác) và để máy tính tiền tạo mã, hoặc quét mã của thẻ in sẵn. Phiếu được thêm thành một dòng trên hóa đơn (mã VAT BON: không tính doanh thu, không có VAT, không gửi vào bếp). Ở đó bạn cũng có thể kiểm tra số dư cho khách.
- Sau khi tính tiền, phiếu được kích hoạt và máy in hóa đơn in một phiếu quà tặng có số tiền, mã và mã QR.
- Sử dụng: khi tính tiền chọn Phiếu quà tặng rồi quét hoặc nhập mã (nút Số dư hiển thị số dư). Số tiền được trừ vào số dư. Nếu số dư thấp hơn hóa đơn, toàn bộ số dư được trừ như một khoản thanh toán một phần và phần còn lại trả bằng thẻ hoặc tiền mặt. Số dư có thể dùng nhiều lần.
- Để trống mã = phiếu quà tặng không có mã, như trước đây (ví dụ phiếu giấy cũ).
- Báo cáo → Phiếu quà tặng (quyền Quản lý phiếu quà tặng, mặc định quản lý và quản trị viên): tìm theo mã, số dư còn lại, lịch sử từng phiếu, khóa (mất/bị trộm) và điều chỉnh số dư kèm lý do. Việc này được ghi vào nhật ký.
- Báo cáo: phiếu quà tặng đã bán không tính là doanh thu và được ghi riêng (Phiếu quà tặng đã bán); tiền nhận được vẫn hiện ở phương thức thanh toán. Những gì thanh toán bằng phiếu quà tặng là doanh thu bình thường (có VAT) ở phương thức thanh toán Phiếu quà tặng.
- Kế toán: phiếu đã bán ghi có và phiếu đã sử dụng ghi nợ vào tài khoản Phiếu quà tặng (số dư của khách hàng).
- Phiếu quà tặng đã bán có thể trả lại qua Hóa đơn → Trả hàng, miễn là phiếu chưa được dùng (số dư = giá trị). Sau khi trả, phiếu bị thu hồi (số dư 0, bị khóa; ghi trong lịch sử của phiếu). Nếu đã dùng (một phần), hãy đặt số dư về 0 tại Báo cáo → Phiếu quà tặng và hoàn lại phần còn lại riêng. Không thể giảm giá cho phiếu quà tặng.
Số dư nạp thêm (tùy chọn)
Dành cho câu lạc bộ, căng tin thể thao, trung tâm thanh thiếu niên và sự kiện: phiếu quà tặng có số dư trở thành thẻ nạp thêm được. Bật tại Cài đặt → Cửa hàng → Số dư nạp thêm, bên dưới phần phiếu quà tặng (mặc định tắt; chỉ hoạt động khi Bán thẻ quà tặng có số dư đang bật).
- Thẻ hoặc vòng đeo tay: bán một phiếu quà tặng với Thẻ in sẵn và quét thẻ (đầu đọc NFC/RFID hoạt động như bàn phím, hoặc mã vạch). Số của thẻ khi đó chính là mã; khách dùng mã này để thanh toán như với phiếu quà tặng.
- Nạp thêm: màn hình gọi món → Thẻ quà tặng → Nạp thêm số dư: quét phiếu hoặc thẻ và nhập số tiền. Khoản này được thêm thành một dòng trên hóa đơn (mã thuế VAT BON: không tính doanh thu, không có VAT, giống như một phiếu quà tặng đã bán) và sau khi thanh toán sẽ được cộng vào số dư. Trong lịch sử của phiếu có ghi Đã nạp thêm.
- Số dư tối đa cho mỗi phiếu hoặc thẻ (mặc định € 500, có thể cài đặt đến € 5.000).
- Hoàn trả số dư còn lại (ô đánh dấu, mặc định tắt; quyền Quản lý ngăn kéo tiền): sau Kiểm tra số dư sẽ có Hoàn trả số dư còn lại. Số dư về € 0 và số tiền được ghi là tiền lấy ra khỏi ngăn kéo trên báo cáo X và Z (Đã hoàn trả số dư …).
- Một lần nạp thêm có thể hoàn lại qua Hóa đơn → Trả hàng miễn là số dư vẫn còn ít nhất bằng số tiền đó; phiếu hoặc thẻ vẫn còn hiệu lực.
- Nạp thêm tại kiosk (tùy chọn): xem Kiosk tự phục vụ.
Phiếu ăn
Chỉ dành cho cửa hàng ở Bỉ, mặc định tắt: Cài đặt → Cửa hàng → Thanh toán → Phiếu ăn. Phiếu ăn là một phúc lợi kèm lương: chủ lao động nạp vào thẻ của nhân viên (Edenred, Monizze hoặc Pluxee). Khách thanh toán bằng thẻ này trên máy POS thanh toán thẻ thông thường; không cần kết nối với các nhà phát hành.
- Bật: khi thanh toán có nút Phiếu ăn. Chọn nhà phát hành (chỉ những nhà phát hành mà cửa hàng chấp nhận) và để khách đưa thẻ vào máy POS thanh toán thẻ, giống như khi quẹt thẻ. Không có kết nối máy POS: khách thanh toán trực tiếp trên máy POS và bạn chạm vào Thanh toán.
- Không có tiền boa và không trả tiền thừa với phiếu ăn. Nếu số dư không đủ, khách trả phần còn lại bằng cách khác (hóa đơn vẫn mở cho đến khi thanh toán hết).
- Chỉ cho một số nhóm sản phẩm (tùy chọn, ví dụ đồ ăn nhưng không có rượu bia): khi đó bằng phiếu ăn chỉ có thể trả tối đa số tiền của các sản phẩm đó trên hóa đơn. Màn hình thanh toán cho biết bao nhiêu; khách trả phần còn lại bằng cách khác.
- Trên hóa đơn: Phiếu ăn Pluxee (kèm tên nhà phát hành phía sau).
- Báo cáo Z và báo cáo X: mỗi nhà phát hành một dòng riêng (Phiếu ăn Edenred, … Monizze, … Pluxee).
- Kế toán: mỗi nhà phát hành một tài khoản sổ cái riêng (Phiếu ăn Pluxee (phải thu) v.v., mặc định 416100, 416200 và 416300), vì tiền đến từ nhà phát hành chứ không phải từ ngân hàng của máy POS thanh toán thẻ.
- Cần có: hợp đồng với từng nhà phát hành mà bạn chấp nhận phiếu, và máy POS thanh toán thẻ chấp nhận các thẻ này (hãy hỏi nhà cung cấp máy POS thanh toán thẻ).
Ngoại tệ
Thanh toán tiền mặt bằng một loại tiền khác, ví dụ cho khách du lịch Anh hoặc Mỹ, hoặc ở vùng biên giới với franc Thụy Sĩ. Mặc định tắt: Cài đặt → Cửa hàng → Thanh toán → Ngoại tệ. Thêm các loại tiền (CHF, CZK, DKK, GBP, HUF, NOK, PLN, SEK, TRY, USD) với tỷ giá cho từng loại tiền: bạn tính bao nhiêu euro cho 1 đơn vị (ví dụ 1 GBP = € 1,15).
- Tự nhập: một tỷ giá cố định; bạn tự điều chỉnh khi tỷ giá thay đổi.
- Trực tiếp (ECB): tỷ giá trong ngày của Ngân hàng Trung ương châu Âu (tỷ giá tham chiếu, mỗi ngày làm việc khoảng 16:00; miễn phí, không cần tài khoản). Với phụ phí tính theo phần trăm (0-20), tỷ giá sẽ thấp hơn tương ứng, để cửa hàng không phải tự chịu chi phí đổi tiền. Máy thu ngân tự tải tỷ giá khi chúng cũ hơn 6 giờ; Cập nhật ngay tải về ngay lập tức. Không có internet thì tỷ giá gần nhất được giữ nguyên.
- Bật: khi thanh toán có nút Ngoại tệ. Chọn loại tiền; máy tính tiền hiển thị số tiền bằng loại tiền đó. Nhập số tiền khách đưa: máy tính tiền quy đổi và trả tiền thừa bằng euro. Nếu khách không lấy tiền thừa, hãy đánh dấu Tiền thừa là tiền boa: tiền thừa được ghi là tiền boa trên hóa đơn, ở Bỉ bằng loại tiền đó (GKS 2.0, UC296).
- Nếu khách đưa ít hơn toàn bộ số tiền, đó là một phần; phần còn lại khách thanh toán bằng cách khác.
- Trên hóa đơn: loại tiền, số tiền và tỷ giá, cùng tiền thừa bằng euro.
- Báo cáo X và Z: mỗi loại tiền có một dòng riêng (Ngoại tệ GBP, tính bằng euro), và ở phần ngăn kéo tiền có số tiền của loại tiền đó trong ngăn kéo. Tiền thừa bằng euro được trừ khỏi số tiền dự kiến trong ngăn kéo; bạn đếm riêng các loại ngoại tệ.
- Kế toán: được tính là tiền mặt (quỹ tiền mặt), bằng euro.
Nút bổ sung khi gọi món và thanh toán
Các nút cho những gì không phải cửa hàng nào cũng cần. Mặc định tất cả đều tắt; bật từng nút tại Cài đặt → Cửa hàng → Gọi món và thanh toán (quyền Cài đặt cửa hàng, thanh toán và máy in). Tắt = nút không có ở đâu trên máy tính tiền và máy chủ tính tiền từ chối thao tác. Ở Hà Lan mọi thứ hoạt động không cần hộp đen; ở Bỉ một nút chỉ hoạt động khi chức năng đó đã được kiểm thử với hộp đen (nếu chưa thì có ghi chú ở nút).
Khi mở bàn:
- Ghi nhận số người: câu hỏi "Bao nhiêu người?" khi chọn bàn trống, số người trên sơ đồ bàn và trong màn hình gọi món, và số khách trong báo cáo. Xem Số người.
Khi gọi món (màn hình gọi món, cho những gì bạn chạm sau đó):
- Cộng dồn món giống nhau (không có nút, mặc định bật): nếu bạn chạm lại cùng một món (cùng tùy chọn, chưa gọi), số lượng sẽ tăng thay vì thêm dòng mới: 4 Cola trên một dòng với giá nhân 4. Bấm − để bớt lại một, kể cả khi đã gọi rồi (hủy một món). Khi có ghi chú, chỗ ngồi hoặc mang đi, món vẫn là một dòng riêng; món đã gọi rồi vẫn là một dòng riêng (một lượt mới).
- − và + (trước giá trên mỗi dòng): − bớt một, + thêm một (cùng món, tùy chọn và ghi chú; nếu Cộng dồn món giống nhau tắt thì thành dòng mới). Chưa gọi và về 0: dòng bị xóa. Đã gọi: bớt một là hủy món, dòng đó vẫn hiển thị gạch ngang (cho bếp và báo cáo); thêm một sẽ thành dòng mới cần gọi tiếp. Bấm vào chính giá không còn xóa gì nữa. Với combo chỉ có −.
- Mang đi (chỉ khi ăn tại chỗ): khách mang sản phẩm này đi, vd. một chai nước hoặc món tráng miệng. Dòng đó tính VAT mang đi (ở Bỉ nhãn C), phần còn lại của hóa đơn tính VAT ăn tại chỗ. Trên hóa đơn có ghi mang đi ở dòng đó.
- Ghế (tại bàn): chạm tiếp để chọn ghế 1, 2, 3 ...; các dòng nhận số ghế đó (cả trên phiếu bếp). Ở Bỉ mỗi dòng được gửi đến hộp đen kèm trung tâm chi phí của ghế (CHAIR, UC4123). Chạm thêm lần nữa sau ghế 12 = lại không có ghế.
- Nhận lại: sản phẩm tiếp theo được nhập với -1, vd. chai hoặc cốc rỗng (tiền cọc). Chỉ áp dụng cho sản phẩm có Được trả lại (tiền cọc) (Cài đặt → Sản phẩm). Nếu cả hóa đơn bị âm (chỉ trả lại tiền cọc, không có bán hàng), Thanh toán sẽ thành hoàn tiền: trả lại tiền mặt hoặc qua thẻ (hoàn ngay trên máy quẹt thẻ). Ở Bỉ là hoàn tiền (REFUND, UC4108 và UC4114).
- Đổi SPV: khách trả một sản phẩm hoặc thực đơn bằng single purpose voucher (phiếu dành riêng cho sản phẩm đó, vd. "1 thực đơn trọn gói"). Chạm Đổi SPV rồi chạm vào sản phẩm trên hóa đơn: sản phẩm được nhập với -1 (cùng giá và VAT, với thực đơn thì kèm các thành phần), có ghi SPV. Không gửi xuống bếp; có thể xóa như bình thường. Sản phẩm voucher được bán trước như sản phẩm thông thường; đánh dấu SPV (voucher) tại Cài đặt → Sản phẩm. Ở Bỉ dòng đó được gửi khi bán dưới dạng VOUCHER đến hộp đen (UC271).
- Trừ tiền trả trước: xem bên dưới.
- Giá mở (không phải nút, theo từng sản phẩm): với sản phẩm có Giá mở, máy tính tiền sẽ hỏi giá, vd. món trong ngày hoặc tiền trả trước.
Khi thanh toán:
- Thanh toán ngay không in phiếu chế biến (không phải nút): mặc định Thanh toán sẽ gọi trước những món chưa được gọi, để bếp và quầy bar luôn nhận được phiếu của mình (xem Nút Gọi món: chức năng và khi nào cần dùng). Bật: những gì bạn thanh toán ngay mà không chạm Gọi món trước sẽ không có phiếu chế biến, vd. tại quầy bar nơi bạn tự lấy. Những món đã gọi không thay đổi.
- Thanh toán riêng (tại bàn, ở Chia hóa đơn): chọn phần một khách trả bây giờ, cả một phần của một dòng (½ cho nửa chai). Phần đó thành một phần riêng và được thanh toán ngay; phần còn lại vẫn trên hóa đơn, không cần chia hóa đơn trước hay chuyển sang nhóm khác. Giảm giá theo phần trăm trên cả hóa đơn được chia theo tỷ lệ. Quay lại mà không thanh toán = tất cả trở lại hóa đơn. Ở Bỉ giao dịch bán được ghi tại vị trí của bàn, không đổi bàn (UC4103bis, UC4104).
- Khách bỏ đi không trả tiền (quyền Đóng mà không thanh toán, mặc định chỉ quản lý và quản trị viên): hóa đơn được đóng như giao dịch bán không thanh toán, với lý do trong nhật ký. Trên báo cáo X và Z và báo cáo ngày được ghi là Chưa trả (khách đã bỏ đi); trong sổ nhật ký vào không thu được (mặc định 4985 / 643000). Ở Bỉ là giao dịch bán không thanh toán (UC4109).
Sau đó (Hóa đơn):
- Sửa giá (quyền Sửa giá hóa đơn, mặc định chỉ quản lý và quản trị viên): giá của một hóa đơn đã thanh toán bị sai, vd. giảm 50% thay vì 5%. Máy tính tiền tạo một hóa đơn mới không gắn bàn với các dòng của hóa đơn cũ được trả lại (âm, theo giá đã trả lúc đó) và các sản phẩm đó được nhập lại theo giá thường. Áp giảm giá đúng ở đó và thanh toán phần chênh lệch (hoặc hoàn tiền nếu giá mới thấp hơn). Hóa đơn cũ giữ nguyên; mỗi hóa đơn chỉ một lần, và không được nếu đã có hàng trả lại. Ở Bỉ các dòng cũ được gửi kèm dưới dạng CORRECTION (UC4116).
Mã: apps/pos-server/src/lib/kassaopties.ts, routes/kassaopties.ts; màn hình KassaOpties.tsx. Nhật ký: Đã thay đổi cài đặt, Đã đổi SPV, Sửa hóa đơn, Chưa trả.
Trừ tiền trả trước
Tiền trả trước (tiền đặt cọc, vd. cho bữa tiệc hoặc đặt chỗ) được bán như một sản phẩm thông thường có bật Tiền trả trước (Cài đặt → Sản phẩm; luôn là giá mở). Tạo một sản phẩm cho mỗi thuế suất VAT nếu tiền trả trước phải tách theo thuế suất (vd. Trả trước đồ ăn và Trả trước đồ uống), hoặc một sản phẩm nếu đó là một phần của báo giá. Khách trả tiền trả trước và nhận một hóa đơn.
Bật: Cài đặt → Cửa hàng → Gọi món và thanh toán → Trừ tiền trả trước (mặc định tắt). Khi thanh toán cuối cùng, chạm Trừ tiền trả trước trên màn hình gọi món và nhập số hóa đơn của tiền trả trước. Máy tính tiền đưa các dòng trả trước của hóa đơn đó với số lượng âm vào hóa đơn bàn (cùng sản phẩm, giá và VAT). Phần đã trừ thì không thể trừ lần nữa. Nếu tiền trả trước nhiều hơn hóa đơn, khách được trả lại phần chênh lệch (hoàn tiền). Ở Bỉ các dòng đã trừ được gửi dưới dạng hoàn tiền (REFUND) đến hộp đen (UC4110, UC4111, UC4113). Nhật ký: Đã trừ tiền trả trước.
Gửi hóa đơn qua email
Mặc định tắt. Bật tại Cài đặt → Quán → Gửi hóa đơn qua e-mail.
SMTP_HOST=smtp.voorbeeld.nl
SMTP_PORT=587
SMTP_GEBRUIKER=kassa@voorbeeld.nl
SMTP_WACHTWOORD=...
SMTP_AFZENDER=bon@voorbeeld.nl
Khởi động lại máy tính tiền sau khi điền. Sau đó tại Tính tiền có ô Gửi hóa đơn qua e-mail (tùy chọn): để trống = chỉ in như bình thường; nhập địa chỉ e-mail = cùng hóa đơn đó (có chi tiết VAT và các dòng thuế bắt buộc) cũng được gửi qua e-mail cho khách, người gửi là tên quán.
- Địa chỉ e-mail không được lưu; nhật ký chỉ ghi "hóa đơn N đã gửi đến a***@domein.nl" và có thành công hay không.
- Nếu gửi e-mail không được (ví dụ sai thông tin đăng nhập), hóa đơn vẫn được tính tiền và in bình thường; thông báo sẽ cho biết lỗi gì.
- Không áp dụng khi thanh toán một phần (chia hóa đơn): hóa đơn có ở lần thanh toán cuối, nên hãy nhập địa chỉ ở đó.
- Gửi e-mail sau: tại Hóa đơn mỗi hóa đơn có nút Gửi e-mail (quyền In bản sao hóa đơn). Nút này gửi hóa đơn có chữ KOPIE, giống như bản sao in ra (ở Bỉ được đăng ký là bản sao).
- Không cần cài thêm gói nào: máy tính tiền tự kết nối với máy chủ mail (STARTTLS trên 587, TLS trên 465).
Đặt bàn
Bật tại Cài đặt → Quán → Đặt bàn (mặc định tắt). Ở đó bạn cũng cài đặt trước bao nhiêu phút thì bàn đã đặt hiện trên sơ đồ (mặc định 60) và thời lượng mặc định của một lượt đặt bàn (mặc định 120 phút).
- Nút Đặt bàn ở thanh trên cùng: danh sách theo ngày (◀ ▶), với số lượt đặt bàn, số người và số khách không đến. + Đặt bàn mới: tên, điện thoại, e-mail, số người, ngày, giờ, thời lượng, bàn (có thể chọn sau) và ghi chú. Việc đặt bàn do nhân viên thực hiện; (chưa) có đặt bàn trực tuyến.
- Nếu cùng bàn đó đã có người đặt trong khung giờ này, máy tính tiền sẽ báo; vẫn có thể bấm "Vẫn lưu".
- Xác nhận qua e-mail (đánh dấu, hoặc sau đó bấm "Gửi e-mail") nếu có địa chỉ e-mail và máy chủ mail (
SMTP_HOST, xem Gửi hóa đơn qua e-mail). - Trên sơ đồ, bàn trống đã được đặt có màu tím với "R 19:30 Jansen (4)". Khi chạm vào: "Jansen đã đến" mở bàn với 4 người và "Jansen" làm tên nhóm; "Khách khác" mở bàn như bình thường.
- Trong danh sách: Đã đến (mở bàn; nếu chưa có bàn thì chọn bàn trước), Sửa, Không đến, Hủy và Khôi phục. Mọi thứ đều được ghi vào nhật ký.
- Đặt bàn từ các nền tảng trực tuyến: xem Nền tảng đặt bàn bên dưới.
Kết nối máy thu ngân TheFork: mở bàn khi khách đến, gửi lại hóa đơn
Với POS-API của TheFork, máy thu ngân làm việc cùng TheFork Manager (mặc định tắt), ngoài việc lấy đặt bàn như ở trên. Bật tại Cài đặt → Nền tảng đặt bàn → Kết nối máy thu ngân TheFork; chạy qua cổng quản lý.
- Khi bạn đặt khách trong TheFork Manager sang Đã đến hoặc Đã vào bàn, bàn cùng tên được mở trên máy thu ngân, kèm số khách và ghi chú: tên, dị ứng và chế độ ăn, tiền đặt cọc, ưu đãi/giảm giá và điểm tích lũy (Yums). Nếu bàn đó đã có đơn hàng đang mở, đơn đó sẽ được liên kết. Không có bàn tên đó: một thông báo hiện ra, và trong Nền tảng bạn chọn bàn.
- Sau khi thanh toán, hóa đơn được gửi đến TheFork (tổng tiền và các dòng với tên, nhóm sản phẩm, số lượng và số tiền); sau đó TheFork đặt đặt bàn sang Đã rời đi. Khi chia hóa đơn thanh toán, gửi một hóa đơn với tổng tiền. Nếu không thành công, máy thu ngân thử lại mỗi 15 phút (trong hai ngày), hoặc dùng Gửi lại trong Nền tảng.
- Ghép nối: máy thu ngân hiển thị một mã ghép nối; nhập mã đó vào TheFork Manager (Tích hợp → máy thu ngân). ID nhà hàng của TheFork (Customer-id) do quản trị viên nhập, hoặc tự có khi có đơn đầu tiên.
- Tùy chọn: tự động mở bàn, tên, dị ứng và tiền đặt cọc làm ghi chú, gửi hóa đơn đến TheFork.
- Điều kiện: Pin Voordeel có khóa API của TheFork (chỉ dành cho đối tác) và đã đăng ký máy thu ngân ở đó làm POS (nút trong cổng quản lý); TheFork đưa kết nối vào hoạt động sau một phiên thử nghiệm.
Tài liệu của TheFork: https://docs.thefork.io/POS-API/introduction
Danh sách chờ cho khách vãng lai
Dành cho khách không đặt trước đang chờ bàn. Bật tại Cài đặt → Quán → Danh sách chờ (walk-in) (mặc định tắt). Chỉ hiện nếu đã cài đặt SMS qua CM.com; nếu không, danh sách chờ không xuất hiện ở đâu trong máy tính tiền (kể cả trong cài đặt). Hoạt động độc lập với đặt bàn: kể cả khi đặt bàn đang tắt. Ở đó cũng có nội dung SMS (để trống = "Xin chào {naam}, bàn của bạn tại {zaak} đã sẵn sàng. Vui lòng báo với nhân viên phục vụ."; {naam}, {zaak} và {personen} sẽ được điền tự động).
- Nút Danh sách chờ ở thanh trên cùng, kèm số người đang chờ (màu cam nếu có người chờ). + Thêm vào danh sách chờ: tên, điện thoại (để gửi SMS), số người, thời gian chờ đã báo và yêu cầu (ngoài hiên, ghế trẻ em).
- Danh sách xếp theo thứ tự đăng ký, kèm thời gian mỗi người đã chờ (màu đỏ nếu lâu hơn đã báo) và trên cùng là số người đang chờ, số khách và thời gian chờ trung bình hôm nay.
- Nếu gửi SMS không được, lý do sẽ hiện bên cạnh. Có thể bấm Gửi lại SMS.
- Xếp chỗ: chọn bàn; máy POS mở bàn với số người (nếu máy POS ghi nhận số người) và lấy tên làm tên nhóm (giống như khi khách đặt bàn đến).
- Đã đi (đã rời đi hoặc hủy) và Khôi phục. Dưới danh sách là những ai hôm nay đã được xếp bàn hoặc đã đi, kèm thời gian họ đã chờ.
- Quyền riêng tư: số điện thoại bị xóa sau một ngày; ai còn trong danh sách sau 12 giờ sẽ tự động bị xóa. Việc đăng ký, gọi khách (chỉ với 3 số cuối của số điện thoại) và xếp bàn đều được ghi vào nhật ký.
- Vì sao không nằm trong Đặt bàn? Đặt bàn là cho sau này (ngày, giờ, bàn định trước); danh sách chờ là cho bây giờ (thứ tự, thời gian chờ, SMS khi có bàn trống). Vì vậy có công tắc và nút riêng, với cùng chức năng "mở bàn" như khi đặt bàn.
- Đăng ký danh sách chờ trực tuyến (tùy chọn, mặc định tắt; chỉ khi có cửa hàng trực tuyến): với Khách cũng có thể tự đăng ký qua cửa hàng trực tuyến, cửa hàng trực tuyến có mục Danh sách chờ (và có mã QR để đặt ở cửa, trong trang quản lý cửa hàng trực tuyến tại Bàn và QR). Khách điền tên, điện thoại, số người và yêu cầu, rồi xem vị trí của mình theo thời gian thực. Trên máy tính tiền, khách hiện trong danh sách với nhãn trực tuyến; gọi, xếp chỗ và rời đi như mọi khi, và khách cũng thấy điều đó trên điện thoại (cũng có thể hủy đăng ký tại đó).
Thẻ khách hàng / điểm tích lũy
Bật tại Cài đặt → Quán → Thẻ khách hàng / điểm tích lũy (mặc định tắt, khi đó không thấy gì ở đâu cả). Ở đó bạn cũng cài đặt: điểm mỗi euro (0 = chỉ dùng thẻ đóng dấu), sau bao nhiêu điểm thì có phần thưởng và phần thưởng đó giảm bao nhiêu euro.
- Tại máy tính tiền, phía trên hóa đơn có "+ Thẻ khách hàng": tìm khách theo tên hoặc số điện thoại, hoặc tạo khách mới (tên, tùy chọn điện thoại và e-mail). Sau đó tên và số điểm hiện trên hóa đơn.
- Đổi điểm: khi đủ điểm "Đổi 100 điểm: giảm € 5"; khi thẻ đóng dấu đã đầy "Cà phê miễn phí" (cà phê đó phải có trên hóa đơn). Việc này tạo thành một dòng giảm giá; ai cũng có thể xóa lại.
- Điểm và dấu chỉ được cộng và trừ khi tính tiền: điểm tính trên số tiền sau giảm giá (không tính phiếu quà tặng đã bán), dấu tính theo từng món có thẻ đóng dấu (món miễn phí không tính).
- Trên hóa đơn: điểm đã tích, đã đổi, số dư và tình trạng thẻ đóng dấu.
- Báo cáo → Khách hàng (quyền Quản lý thẻ khách hàng): tìm khách, sửa thông tin, điều chỉnh điểm (kèm lý do), lịch sử và xóa (GDPR: xóa tên, điện thoại và e-mail; lịch sử vẫn giữ ẩn danh). Phía dưới là thẻ đóng dấu theo món (ví dụ 10 cà phê = 1 miễn phí).
- Trả hàng không tự động hoàn lại điểm đã tích; nếu cần hãy điều chỉnh tại Báo cáo → Khách hàng.
- Thẻ thành viên có số (tùy chọn): tại Báo cáo → Khách hàng → (khách hàng) nhập số thẻ (hoặc quét thẻ vào ô đó). Với máy quét mã vạch, quét thẻ đó sẽ liên kết khách hàng với hóa đơn, tại máy POS và trên kiosk. Tìm theo số thẻ cũng được tại + Thẻ khách hàng.
Hồ sơ khách: VIP, chế độ ăn và sở thích (tùy chọn)
Bật tại Cài đặt → Cửa hàng → Hồ sơ khách, bên dưới thẻ thành viên (mặc định tắt; chỉ hoạt động khi thẻ thành viên đang bật). Sau đó:
- Trên màn hình gọi món, bên dưới khách hàng đã liên kết có "+ Hồ sơ khách": đánh dấu VIP, chọn chế độ ăn (ăn chay, thuần chay, chay có cá, halal, kosher) và dị ứng (14 chất gây dị ứng), rồi nhập sở thích (vd. "bàn quen cạnh cửa sổ", tối đa 300 ký tự). Sau đó chúng hiện bên cạnh khách hàng trên màn hình gọi món, dị ứng hiện màu đỏ. Cũng có thể sửa tại Báo cáo → Khách hàng → (khách hàng) → Hồ sơ khách.
- Khi bạn chạm vào một sản phẩm có chất gây dị ứng của khách (xem Chất gây dị ứng theo từng món), máy tính tiền sẽ hỏi trước có thật sự muốn thêm không. Chỉ dựa trên những gì đã điền ở sản phẩm; khi nghi ngờ, hãy luôn hỏi bếp.
- Khách VIP có ★ trên sơ đồ bàn: ở hóa đơn đang mở và ở lượt đặt bàn đang hiển thị của khách đó. Khi khách của một lượt đặt bàn đến, máy tính tiền sẽ liên kết khách hàng của lượt đặt bàn với hóa đơn.
- Chế độ ăn và dị ứng (và VIP) được in trên phiếu bếp cho bếp và quầy bar:
GAST: VIP · Vegetarisch · allergie: Noten. - Chế độ ăn và dị ứng là dữ liệu sức khỏe: chỉ điền khi khách đồng ý. Nhật ký chỉ ghi lại việc hồ sơ đã được thay đổi, không ghi nội dung. Xóa khách hàng cũng xóa luôn hồ sơ khách.
Mục yêu thích / nút nhanh
Mặc định tắt. Cài đặt → Quán → Yêu thích / nút nhanh:
- Bán chạy nhất: đầu thanh nhóm có nút ★ Yêu thích với 12 món bán chạy nhất trong 14 ngày qua (tự động cập nhật). Màn hình gọi món mở ở mục yêu thích.
- Tự chọn: trên màn hình gọi món nhấn giữ một món (hoặc nhấp chuột phải) và chọn ★ Yêu thích (nút nhanh); làm lại lần nữa = bỏ. Quyền Quản lý món. Tất cả máy tính tiền thấy ngay.
- Chạm chọn món, tùy chọn, menu, happy hour và "hết" hoạt động ở mục yêu thích giống hệt như ở các nhóm thường.
Thêm một lượt nữa
Trên màn hình gọi món có nút ↻ Thêm một lượt (ngay khi có món trên hóa đơn, kể cả khi chưa gọi). Một lần chạm sẽ thêm lại lượt gọi cuối (tất cả những gì đã gửi cùng lúc bằng "Gọi món", hoặc những gì bạn vừa chạm chọn) thành dòng mới; sau đó bấm Gọi món như bình thường. Giá là giá hiện tại (kể cả happy hour).
- Nhấn giữ (hoặc nhấp chuột phải): tự chọn. Dùng ◀ ▶ để xem các lượt trước, bật/tắt từng món (ví dụ bỏ chọn đồ ăn) và số lượng bằng − / +. Tùy chọn và ghi chú được giữ nguyên.
- Món đã hết và menu không được thêm vào (menu thì chọn riêng). Hoạt động cả khi không có kết nối.
- Các dòng được thêm vào đúng như trên hóa đơn: khi bật Cộng dồn món giống nhau, mỗi món một dòng (2 Cola); khi tắt, từng dòng riêng (2 lần 1 Cola).
Thời gian ngồi bàn trên sơ đồ
Trên mỗi bàn có khách có ⏱ 45m · 12m: bàn đã có khách bao lâu và lần gọi món gần nhất cách đây bao lâu (nhấn giữ bàn, hoặc rê chuột lên bàn, để xem giờ chính xác). Nếu một lúc lâu không gọi gì, bàn có viền cam: hãy ghé qua bàn. Số phút cài đặt tại Cài đặt → Quán → Thời gian ngồi bàn (mặc định 20, 0 = không có viền cam). Nếu chưa gọi gì thì tính từ lúc mở bàn.
Nếu có nhiều nhóm (hóa đơn riêng) tại một bàn, mỗi nhóm có một dòng, ví dụ G1 ⏱ 50m · 12m và Jansen ⏱ 10m (tên nhóm, nếu không có thì số nhóm). Nhóm nào im lặng quá lâu sẽ có nhãn cam và bàn có viền cam.
Chuyển cả bàn
Trong màn hình gọi món có Chuyển bàn. Chọn khu vực (vd. Sân hiên) và một bàn: tất cả các nhóm của bàn được chuyển theo, mỗi nhóm với hóa đơn riêng. Nếu chọn một bàn đang có khách, các bàn sẽ được gộp (các nhóm được thêm vào). Nếu chỉ muốn chuyển một phần, hãy dùng như trước Tách / chuyển. Nếu tất cả phải vào một hóa đơn, hãy dùng Gộp.
Làm việc ngoại tuyến (máy tính bảng không có Wi-Fi)
Nếu mất kết nối giữa máy tính bảng và máy chủ tính tiền (Wi-Fi ngoài hiên, máy chủ tạm tắt), một thanh màu vàng sẽ hiện và máy tính bảng tiếp tục làm việc với các bàn, món và đơn đang mở đã lưu gần nhất:
- mở bàn, chạm chọn món và Gọi món được lưu trên máy tính bảng (kể cả khi khởi động lại) và hiện trong danh sách đơn với viền chấm ("chưa gửi");
- khi có kết nối lại, mọi thứ được gửi theo thứ tự đến máy chủ và chỉ khi đó phiếu bếp mới được gửi vào bếp. Mỗi gói có một khóa riêng nên không có gì bị nhận trùng. Nếu trong lúc đó có người khác mở bàn, các món sẽ được thêm vào đơn đó;
- tính tiền, giảm giá, chia hóa đơn v.v. chỉ làm được khi có kết nối; "Tính tiền" sẽ chờ đến khi mọi thứ của bàn đó đã được gửi.
Số người
Tùy chọn và mặc định tắt: Cài đặt → Cơ sở → Gọi món và thanh toán → Ghi nhận số người. Tắt = chạm ít nhất có thể: bàn trống mở bằng một lần chạm, không hiển thị số người ở đâu cả, và báo cáo, bảng điều khiển và tổng kết ngày không hiển thị số khách và chi tiêu mỗi khách.
Bật: khi bạn chạm vào bàn trống, máy POS hỏi bao nhiêu người (nút lớn 1-8, hoặc nhập số; "Bỏ qua" = 1). Trên sơ đồ bàn, bàn có khách hiển thị "3/4 ng." (người/chỗ, màu vàng nếu số người ngồi nhiều hơn số chỗ). Trong màn hình gọi món, bạn thay đổi bằng nút "3 ng." trên thanh nhóm; khi có nhiều nhóm, bàn cộng tất cả các nhóm lại.
Không có số người mọi thứ vẫn hoạt động: Chia đều khi thanh toán bắt đầu từ 2, all-you-can-eat tự hỏi số người lớn và trẻ em, còn đặt bàn và danh sách chờ giữ số người riêng của chúng (khi đó bàn mở mà không có số người).
Ghi nhận HACCP
Mọi cơ sở nhà hàng phải giám sát và ghi lại an toàn thực phẩm: tại Hà Lan theo Hygiënecode voor de Horeca (do NVWA kiểm tra), tại Bỉ theo hệ thống tự kiểm soát của FAVV (hướng dẫn G-023). Bật Ghi nhận HACCP tại Cài đặt → Luật và quy định (mặc định tắt).
- Điểm đo (quản trị viên): vd. phòng lạnh, tủ đông, giữ nóng, nhiệt độ lõi sau khi nấu, làm nguội lại và nhận hàng, với giá trị tối thiểu và/hoặc tối đa tính bằng °C và tần suất (mỗi ngày, hai lần mỗi ngày, mỗi tuần hoặc khi sử dụng). Thêm danh sách mặc định tạo sẵn điểm khởi đầu (làm lạnh tối đa 7 °C, tại Bỉ tối đa 4 °C; tủ đông tối đa -18 °C; giữ nóng từ 60 °C; nấu chín từ 75 °C).
- Vệ sinh và kiểm tra: công việc theo ngày, tuần (có thể vào một ngày cố định) hoặc tháng, kèm khu vực và hướng dẫn, vd. khử trùng thớt, lọc mỡ, kiểm tra côn trùng gây hại, kiểm tra nhiệt kế.
- Ghi nhận (mọi người đã đăng nhập): nút HACCP trên thanh trên cùng, kèm số việc còn lại hôm nay. Nhập nhiệt độ hoặc đánh dấu công việc (Đã xong hoặc Không thực hiện được). Nếu nhiệt độ vượt ngưỡng, phải kèm biện pháp khắc phục (vd. "đóng cửa, bỏ sản phẩm"). Các bản ghi không thể chỉnh sửa; lỗi được sửa bằng một bản ghi mới.
- Tổng quan (quyền Doanh thu theo kỳ): theo từng kỳ, tất cả bản ghi, số sai lệch và bản ghi bị bỏ sót theo ngày; dưới dạng CSV (Excel) hoặc để in / lưu PDF cho đợt kiểm tra.
Hệ thống vòi bia và lưu lượng kế
Mỗi lượt rót do máy tính vòi bia hoặc lưu lượng kế báo về đều vào hóa đơn, nên không có gì bị "thất thoát". Bật tại Cài đặt → Hệ thống vòi bia (mặc định tắt).
- Nguồn (quản trị viên): máy tính vòi bia hoặc hệ thống đồng hồ đo lưu lượng. Chọn thương hiệu; máy POS sẽ điền sẵn cấu hình. Từ Hà Lan và Bỉ: Van Duijnen Horeca (tự động hóa vòi bia, Dashbar), Beconet (Multi-Tap), TapSystems, Horecatechniek Nederland, Heineken SmartDispense, WeissBeerger / AB InBev và BarTrack; ngoài ra Gruber, Addimat, WMF / Hogatron (E-Protokoll), Drinkotec (ex-Hartec), , Berg, Easybar, Azbar, Scanabar, PourMyBeer, iPourIt, BeerBoard, US BeerSAVER, Bevchek, Capton/BarVision, Kegtron, Kegbot Kegboard, một "vòi thông minh" hoặc hệ thống riêng. Có năm cách kết nối (Kegboard: xem Rót định lượng và Kegboard bên dưới):
- Trường:
kraan(hoặctap,plu),ml(hoặccl,liter,volumekèmeenheid) hoặcporties,id(cùng một lượt rót gửi hai lần = ghi một lần),tijdstip,tafel,bediening; một lượt rót, một danh sách hoặc{ "taps": [...] }. - Mạng (TCP): máy tính tiền kết nối với máy tính vòi bia (địa chỉ và cổng) hoặc tự lắng nghe trên một cổng.
- Cổng nối tiếp: cổng COM hoặc USB-serial, 1200–115200 baud, 8N1, 7E1 hoặc 7O1.
- Với mạng và nối tiếp, bạn thiết lập định dạng tin nhắn (mỗi dòng một tin nhắn, hoặc STX … ETX có thể kèm kiểm tra XOR và trả lời ACK/NAK) và mẫu tin nhắn, gồm phần
kraanhoặcpluvà tùy chọnml,cl,liter,porties,tafel,bedieningvàid(vd.kraan;mlhoặc chỉ một PLU mỗi ly). Nhà cung cấp chỉ cung cấp định dạng chính xác cho thợ lắp đặt; hãy hỏi nhà cung cấp máy tính vòi bia. Rót thử gửi một lượt rót giống như máy tính vòi bia.
- Trường:
- Các vòi (quản trị viên): cho mỗi vòi hoặc PLU, chọn sản phẩm và cách vào hóa đơn: theo ly (ly tính bằng ml; rót 520 ml với ly 250 ml = 2 ly; từ 50% thì tính một ly) hoặc theo lít (giá sản phẩm là giá mỗi lít; trên hóa đơn vd. "Pils 0,33 l" với đúng số tiền).
- Trên hóa đơn: nếu máy tính vòi bia báo bàn, lượt rót vào ngay đơn đang mở của bàn đó. Nếu không, nó nằm ở Đã rót: màn hình gọi món hiện thanh "… lượt rót chưa có hóa đơn"; chọn các lượt rót và chạm Vào hóa đơn này. Các dòng chuyển ngay sang đã gọi (không gửi phiếu làm việc đến quầy bar nữa) và trừ tồn kho. Nút Đã rót ở thanh trên cùng hiển thị mọi thứ chưa có hóa đơn.
- Loại bỏ (quyền Hủy món): súc rửa, vỡ, nếm thử, nhân viên, miễn phí hoặc khác (kèm ghi chú); được ghi vào nhật ký. Lượng không đủ một ly (vd. súc rửa) phải được loại bỏ.
- Tổng quan (quyền Doanh thu theo kỳ): theo từng vòi: đã rót, trên hóa đơn, đã loại bỏ (theo lý do), đã hủy và còn mở, tính bằng lít, kèm phần trăm đã bán, và xuất ra CSV.
- Lượt rót đã báo không thể sửa (chỉ có thể xử lý).
Rót định lượng và Kegboard
Với rót định lượng, vòi chỉ mở sau khi ly đã được nhập trên máy POS, và chỉ cho đúng lượng đó. Nhờ vậy không có gì được rót mà không có trên hóa đơn. Chỉ hoạt động khi hệ thống vòi bia đang bật, và bạn bật nó cho từng vòi (mặc định tắt).
- Theo từng vòi (quản trị viên, Cài đặt → Hệ thống vòi bia → Các vòi): đánh dấu Rót định lượng và chọn vòi được mở bao lâu sau khi nhập món (10–600 giây, mặc định 120). Với Kegboard, bạn cũng nhập rơ-le (van điện từ). Rót định lượng chỉ áp dụng theo ly.
- Nhập món: khi Gọi món (hoặc Thanh toán trực tiếp), máy POS tạo cho mỗi dòng hóa đơn có sản phẩm đó một lệnh mở vòi (số ly × dung tích ly tính bằng ml) và gửi đến máy tính vòi bia. Lượt rót đến sau đó thuộc về dòng hóa đơn đó. Vì vậy nó không được thêm vào hóa đơn lần nữa và cũng không vào Đã rót. Lượt rót không có lệnh mở vòi vẫn vào Đã rót như bình thường.
- Hủy món dòng trước khi rót: vòi đóng lại. Lệnh mở vòi không được rót kịp thời sẽ hết hạn; vòi không bao giờ mở muộn hơn.
- Lệnh mở vòi trên màn hình gọi món (một thanh phía trên hóa đơn): xem những gì đang chạy, Dừng và Mở lại. Chỉ có thể mở lại khi chưa rót gì, nên không bao giờ mở thêm. Thử mở vòi (quản trị viên) mở cho một ly mà không có hóa đơn; việc này được ghi vào nhật ký.
- Lệnh mở vòi đến máy tính vòi bia như thế nào:
- Kegboard (Kegbot, mã nguồn mở, ESP32 với đồng hồ đo lưu lượng và van điện từ; giao thức hoàn toàn công khai): máy POS cấp một grant cho các vòi có sản phẩm đó, các rơ-le và lượng rót. Bo mạch tự đóng vòi khi đạt lượng hoặc hết thời gian.
- Mạng/nối tiếp: một lệnh mở vòi có thể cấu hình với
{kraan},{ml},{porties},{sec}và{id}(vd.V{kraan};{ml}), gửi theo định dạng tin nhắn của nguồn (dòng hoặc STX … ETX với XOR). Tùy chọn có thêm lệnh dừng. Nhà cung cấp sẽ cho biết lệnh chính xác.
- Ghép nối Kegboard: tại + Nguồn, chọn nhãn hiệu Kegbot Kegboard. Bo mạch sẽ xuất hiện ở nguồn; nhấn Cho phép (hoặc Từ chối). Khi đó bo mạch nhận một khóa riêng một lần duy nhất, máy POS chỉ lưu khóa này dưới dạng hash. Thiết bị khác hoặc khóa sai không thay đổi gì ở bo mạch đã ghép nối; nếu bo mạch mất khóa, hãy dùng Hủy ghép nối trước. Nguồn hiển thị firmware, đồng hồ đo và rơ-le của bo mạch. Các vòi là số đồng hồ đo (0, 1 …). Thẻ quẹt tại bo mạch sẽ bị từ chối: thanh toán được thực hiện tại máy POS. Nếu hệ thống vòi rót tắt, bo mạch lưu tin nhắn và gửi sau.
- Tại nguồn, bạn đặt số giây không có dòng chảy trước khi vòi đóng (5–300, mặc định 30). Với mỗi vòi, bạn nhập số đồng hồ đo, rơ-le (van điện từ) và thời gian vòi được mở sau khi nhập món trên máy POS.
Điều khiển nhạc từ máy tính tiền
Nhân viên điều khiển nhạc từ màn hình cảm ứng của máy tính tiền, nên không cần màn hình riêng ở quầy bar. Bật tại Cài đặt → Cửa hàng → Màn hình và thao tác → Điều khiển nhạc từ máy tính tiền (mặc định tắt). Khi đó nút Nhạc có trên thanh trên cùng: cho mỗi nguồn (vd. Bar và Sân hiên) có Phát, Tạm dừng, Tiếp, Trước, To hơn, Nhỏ hơn và thanh trượt âm lượng, cùng bài đang phát. Quay lại máy tính tiền đóng bảng điều khiển. Khi tắt, các nguồn vẫn được lưu.
- Danh sách phát (Sonos, Bluesound và VLC): hàng chờ cùng bài đang phát. Chạm vào một bài để phát; với Chỉnh sửa bạn gỡ bài (✕), chuyển lên hoặc xuống (↑ ↓; Sonos và Bluesound) hoặc xóa sạch danh sách phát. Với Chọn nhạc khác bạn phát một mục yêu thích Sonos (vd. một kênh radio hoặc kênh Tunify) hoặc danh sách nhạc Sonos, hoặc một mục cài sẵn BluOS.
- Trên màn hình riêng: cùng các nút điều khiển và danh sách phát cỡ lớn tại
http://<kassaserver>:3000/muziek, vd. trên màn hình thứ hai cạnh máy tính tiền hoặc máy tính bảng ở quầy bar (nếu đã đăng nhập trên cùng thiết bị, nếu không thì bằng mã PIN). - Trên máy tính bảng hoặc điện thoại: mã QR chứa địa chỉ của màn hình riêng đó trong mạng của cửa hàng. Nhân viên quét mã bằng máy tính bảng hoặc điện thoại của mình (trên mạng wifi của cửa hàng) và đăng nhập bằng mã PIN của mình; bấm Đăng xuất để đóng lại. Xem Màn hình thứ hai trên máy tính bảng hoặc điện thoại.
Quản lý thêm nguồn bằng + Nguồn nhạc, chọn cách kết nối và thử bằng Kiểm tra:
- Soundtrack (soundtrack.io): qua API công khai, với token API (xin từ Soundtrack) và vùng âm thanh (Tải vùng). Phát, tạm dừng, tiếp, âm lượng và bài đang phát.
- Sonos: địa chỉ IP của loa (với nhóm: loa điều khiển nhóm). Dùng được với mọi thứ đang phát trên Sonos, vd. Tunify, Spotify hoặc radio.
- Bluesound (BluOS): địa chỉ IP của máy phát; cũng dùng được với mọi thứ đang phát trên đó, vd. Tunify.
- VLC trên máy tính phát nhạc: bật giao diện web (Công cụ → Tùy chỉnh → Hiện cài đặt: Tất cả → Giao diện → Giao diện chính: Web, với mật khẩu ở Lua); địa chỉ IP (nếu cần kèm
:poort, mặc định 8080) và mật khẩu. - Máy tính phát nhạc riêng (địa chỉ web): dành cho máy tính hoặc hộp phát nhạc có một địa chỉ web cho mỗi nút; GET hoặc POST, và
{volume}(0-100) trong địa chỉ để chỉnh âm lượng. Nếu không có địa chỉ To hơn/Nhỏ hơn, máy tính tiền chỉnh âm lượng theo từng bước. - Trình phát web của gói nhạc: địa chỉ web của trình phát web hoặc trang điều khiển (vd. trình phát web của Tunify hoặc Media Tools) mở trên máy tính tiền bằng nút Nhạc; nếu dịch vụ không cho hiển thị trong trang khác, dùng Mở trong cửa sổ riêng.
Máy tính tiền giao tiếp với các máy phát từ máy chủ, nên chúng phải ở cùng mạng với máy tính tiền (Soundtrack qua internet). Ai đã đăng nhập đều có thể điều khiển; để cài đặt cần quyền Cài đặt cửa hàng, thanh toán và máy in. Token và mật khẩu không bao giờ hiện lại trên màn hình hay trong nhật ký; nhật ký chỉ ghi việc cài đặt (bật/tắt, nguồn), không ghi từng lần bấm nút. Xuất cấu hình chỉ mang theo bật/tắt (các nguồn thuộc về một cửa hàng).
Màn hình thứ hai trên máy tính bảng hoặc điện thoại
Nhạc và camera cũng có thể mở trên máy tính bảng hoặc điện thoại riêng của nhân viên, làm màn hình thứ hai bên cạnh máy tính tiền. Trong cửa sổ Nhạc hoặc Camera có nút Trên máy tính bảng hoặc điện thoại: nút này hiển thị mã QR kèm địa chỉ, vd. http://192.168.1.20:3000/muziek hoặc .../camera.
- Kết nối máy tính bảng hoặc điện thoại với mạng wifi của cửa hàng.
- Quét mã QR bằng camera (hoặc nhập địa chỉ vào trình duyệt).
- Đăng nhập bằng mã PIN của bạn. Bạn chỉ thấy những gì được phép: nhạc thì ai cũng xem được, camera chỉ khi có quyền Xem hình camera.
- Xong: Đăng xuất ở góc trên bên phải. Nếu phiên đăng nhập đã hết hạn (vd. máy tính bảng không dùng cả đêm), màn hình sẽ hỏi lại mã PIN.
Mẹo: thêm trang vào màn hình chính của máy tính bảng (trong trình duyệt: Thêm vào màn hình chính), khi đó trang sẽ mở như một ứng dụng.
Vì vậy máy tính tiền lấy địa chỉ IP của PC tính tiền trong mạng (nếu PC có nhiều địa chỉ, vd. wifi và cáp, bạn chọn mạng). Trên cổng quản lý (máy tính tiền từ xa) đó là địa chỉ của cổng. Mã QR do máy tính tiền tự tạo, không cần internet.
Ghép nối máy tính bảng: một nút gửi sang máy tính bảng (tùy chọn)
Còn dễ hơn: ghép nối máy tính bảng một lần, rồi máy tính tiền gửi nhạc hoặc camera đến máy tính bảng đó bằng một nút. Bật tại Cài đặt → Cửa hàng → Màn hình và thao tác → Máy tính bảng làm màn hình thứ hai (mặc định tắt).
- Trên máy tính bảng: mở
http://<kassaserver>:3000/tablet(tại phần cài đặt có Trên máy tính bảng hoặc điện thoại kèm mã QR), đăng nhập bằng mã PIN và đặt tên cho máy tính bảng, vd. Máy tính bảng Bar. Ghép nối. - Trên máy tính tiền: trong cửa sổ Nhạc hoặc Camera giờ có nút Sang Máy tính bảng Bar (có chấm xanh nếu máy tính bảng đang bật). Chạm vào: máy tính bảng tự mở màn hình đó. Với nhạc, nguồn đã chọn cũng được chuyển theo (vd. Sân hiên).
- Trên máy tính bảng: Đóng quay lại chế độ chờ; Hủy ghép nối máy tính bảng này xóa ghép nối.
Để trang trên máy tính bảng luôn mở; nếu máy tính bảng tắt hoặc ngủ, nó sẽ mở màn hình ngay khi bật lại. Máy tính bảng vẫn đăng nhập dưới tên nhân viên đã đăng nhập trên đó: chỉ người có quyền Xem hình camera mới gửi và xem được camera. Quản trị viên thấy tại phần cài đặt máy tính bảng nào đã ghép nối và có đang bật không, và có thể đổi tên hoặc xóa chúng. Máy tính bảng lưu khóa riêng; máy tính tiền chỉ lưu hash của khóa đó. Khi tắt, các máy tính bảng đã ghép nối vẫn được giữ lại. Nhật ký ghi lại ai đã ghép nối, đổi tên hoặc xóa máy tính bảng.
Màn hình gọi số cho khách mang đi
Một màn hình cho khách với Đang chế biến bên trái và Xong bên phải, số hiển thị lớn, như ở quán ăn nhanh. Bật tại Cài đặt → Cửa hàng → Màn hình và thao tác → Màn hình gọi số cho khách mang đi (mặc định tắt).
Không cần ghép nối: mở địa chỉ của máy tính tiền kèm /oproep trên TV có trình duyệt (smart TV, stick hoặc mini PC), máy tính bảng hoặc màn hình thứ hai, VD: http://192.168.1.20:3000/oproep. Ở phần cài đặt và trong cửa sổ Gọi khách có các nút Trên màn hình riêng và Trên máy tính bảng hoặc điện thoại (mã QR chứa địa chỉ). Không cần đăng nhập: màn hình chỉ hiện số. Chạm vào màn hình một lần để trình duyệt được phát âm thanh.
Những gì hiển thị:
- đơn mang đi từ máy tính tiền, cửa hàng trực tuyến và Thuisbezorgd (và nếu muốn, cả đơn tại quầy không có bàn khi bán nhanh), trong 12 giờ gần nhất;
- ngay khi có món được gửi tới bếp hoặc quầy bar (hoặc cửa hàng trực tuyến ở trạng thái đang chế biến): số sẽ nằm ở Đang chế biến;
- Xong tự động khi màn hình bếp báo xong toàn bộ đơn hoặc đơn của cửa hàng trực tuyến ở trạng thái xong. Số nhấp nháy một chút và màn hình phát tiếng ding-dong;
- số đã xong ở lại theo số phút đã cài (mặc định 10), hoặc đến khi Đã lấy;
- đơn từ kiosk (xem Kiosk tự phục vụ) luôn hiển thị ngay khi đã thanh toán hoặc sẽ thanh toán tại quầy, kể cả với "ăn tại đây", cùng số lấy món trên hóa đơn;
- tùy chọn, cả đơn cho tài xế của Thuisbezorgd, Uber Eats, Deliveroo và HubRise (ô Cả đơn cho tài xế …): với số đơn của nền tảng và tên nền tảng bên dưới, để tài xế biết khi nào đơn của mình sẵn sàng. Khi đó Đã lấy cũng báo cho nền tảng biết tài xế đã nhận đơn (như trong cửa sổ của nền tảng).
Số: với cửa hàng trực tuyến, Thuisbezorgd và các nền tảng giao hàng là số đơn mà khách hoặc tài xế đã có; nếu không thì là số lấy món (từ 1 đến 999). Số này được in lớn trên hóa đơn, kèm giải thích rằng số sẽ hiện trên màn hình khi đơn sẵn sàng (bằng ngôn ngữ của hóa đơn).
Tùy chọn (mặc định tắt, trong cài đặt):
- Đọc số bằng giọng nói: khi có số mới đã xong, màn hình nói ví dụ "Nummer 42…" bằng ngôn ngữ đã chọn (Hà Lan, Anh, Đức, Pháp, Tây Ban Nha, Ý, Bồ Đào Nha, Ba Lan, Thổ Nhĩ Kỳ hoặc Ả Rập). Giọng nói đến từ trình duyệt của màn hình và nghe khác nhau trên mỗi thiết bị; chạm vào màn hình một lần sau khi mở. Sau tiếng chuông, nếu âm thanh cũng bật.
- Trạng thái đơn trên điện thoại: mã QR xuất hiện dưới số lấy món trên hóa đơn. Khách quét mã, thấy số và trạng thái (đã đặt, đang chuẩn bị, xong, đã lấy) và nhận thông báo khi đơn đã xong. Tính năng chạy qua cổng quản lý, nên máy tính tiền phải được kết nối. Không áp dụng cho cửa hàng trực tuyến và Thuisbezorgd (có trạng thái riêng) và không cho kiosk (có cài đặt riêng).
Trên máy tính tiền có nút Gọi khách (kèm số đơn còn đang chế biến):
- Xong đặt một số thành xong bằng tay (khi không có màn hình bếp, hoặc khi nhanh hơn). Với đơn từ cửa hàng trực tuyến hoặc Thuisbezorgd, trạng thái cũng được cập nhật nên khách cũng nhận được thông báo.
- Trở lại đưa số về lại Đang chế biến.
- Đã lấy gỡ số khỏi màn hình (có Hoàn tác).
Trong phần cài đặt, bạn cũng chọn có hiện tên bên cạnh số hay không (mặc định không, vì quyền riêng tư) và màn hình có phát âm thanh hay không. Khi tắt: không có nút Gọi khách và không có số lấy hàng trên hóa đơn; các cài đặt vẫn được giữ. Nhật ký ghi lại ai đã đặt xong, trở lại hoặc đã lấy bằng tay.
Chấm công vào và ra
Mặc định chấm công tắt: khi đó không thấy ở đâu trong máy tính tiền (không có nút trên thanh trên cùng, không có trên màn hình đăng nhập, không có tab Giờ làm việc). Bật tại Cài đặt → Quán, mục Chấm công vào/ra của nhân viên:
- Tắt: không sử dụng. Nếu sau này bạn tắt chấm công, tính năng này sẽ không còn hiển thị ở bất kỳ đâu, nhưng số giờ đã chấm công vẫn được lưu (không có gì bị xóa); khi bật lại, chúng sẽ xuất hiện trở lại.
- Bật: nhân viên có thể chấm công vào/ra. Sau khi đăng nhập, máy tính tiền hỏi bạn có muốn chấm công vào không (có thể chọn Để sau). Thanh trên cùng sẽ hiện Chấm công vào hoặc Đã vào ca 17:02; chạm vào đó để chấm công ra.
- Bắt buộc: sau khi đăng nhập phải chấm công vào trước, nếu không sẽ không dùng được máy tính tiền. Chấm công ra sẽ đăng xuất bạn ngay.
Ai không dùng máy tính tiền (ví dụ bếp) thì chấm công trên màn hình đăng nhập: chạm Chấm công vào / ra và nhập mã PIN của bạn. Việc này chuyển đổi giữa vào và ra, không cần đăng nhập.
Khi chấm công đang bật, quản trị viên thấy trong Cài đặt → Giờ làm việc:
- ai đang vào ca (và có thể chấm công ra cho người quên);
- số giờ đã làm của mỗi nhân viên theo kỳ, với tất cả các ca, và tải về dạng CSV (giờ cũng ở dạng số thập phân cho bộ phận tính lương);
- sửa hoặc thêm ca (chạm vào một ca, hoặc + Thêm ca). Mỗi thay đổi được ghi vào nhật ký với giờ cũ và giờ mới.
Ở Bỉ, mỗi lần chấm công vào và ra cũng được báo cho hộp đen. Nếu không kết nối được với hộp đen, việc chấm công sẽ không thực hiện được (giống như tính tiền). Việc này có đáp ứng chính xác quy định đăng ký nhân sự của Bỉ hay không vẫn còn phải xác nhận.
Cân hàng và in nhãn (cân)
Khi cân đang bật (Cài đặt → Cân), món có thể có giá theo kilo. Tất cả món khác vẫn tính theo cái như bình thường.
- Cân: chạm vào một món có giá theo kilo (nút hiện ví dụ
12,95/kg). Cửa sổ Cân hiển thị trực tiếp trọng lượng từ cân (ví dụ Aclas OS6X, hoặc cân mà máy tính tiền đang chạy trên đó); màu xanh = đã ổn định. Đặt món lên cân và chạm Thêm khi trọng lượng đã ổn định. Giá là giá theo kilo × trọng lượng (làm tròn đến cent); hộp đựng (bì) của món được tự động trừ ra. Nếu món có tùy chọn, các tùy chọn sẽ hiện sau đó. - Nhiều cân: nếu có nhiều cân, bạn chọn cân để cân ở phía trên cửa sổ. Mỗi máy tính tiền/máy tính bảng ghi nhớ lựa chọn của mình.
- Nhập tay: không có cân (hoặc được phép nhập tay), hãy nhập trọng lượng:
0,512hoặc1,2là kilo,512hoặc512 glà gam. - Nhãn của TS6X: quét mã vạch trên nhãn bằng máy quét mã vạch trên màn hình gọi món (chỉ cần quét, không cần mở gì), hoặc chạm Nhãn rồi quét hoặc nhập 13 chữ số. Món (PLU) và trọng lượng lấy từ nhãn. Nếu trên nhãn có giá, máy tính tiền tính đúng giá đó.
- Trên màn hình, hóa đơn và màn hình khách hàng có ghi trọng lượng, ví dụ
Gehakt 6,63với dòng dưới0,512 kg x € 12,95/kg; trên phiếu bếp0,512 kg Gehakt. Chia, chuyển và trả hàng tính theo kilo. - Món cân chỉ dùng được khi có kết nối với máy chủ tính tiền (trọng lượng đi qua máy chủ tính tiền).
Uber Eats, Deliveroo và HubRise
Ngoài Thuisbezorgd.nl / Takeaway.com, đơn hàng từ Uber Eats (Hà Lan và Bỉ), Deliveroo (chỉ Bỉ; Deliveroo rời Hà Lan vào cuối năm 2022) và mọi thứ có trên HubRise (như Uber Eats, Deliveroo, Just Eat/Takeaway.com và các ứng dụng đặt món nhỏ hơn) cũng vào máy thu ngân. Mỗi nền tảng được bật riêng tại Cài đặt → Nền tảng giao hàng (mặc định tắt; tắt đi vẫn giữ lại mọi thứ). Thẻ này hiển thị cho từng nền tảng các quốc gia mà nó hoạt động và cảnh báo nếu nó không hoạt động ở quốc gia của cửa hàng.
- Bật lên, rồi Đăng nhập Uber Eats và liên kết cửa hàng (cửa hàng đăng nhập bằng tài khoản Uber Eats của mình). Nếu tài khoản có nhiều cửa hàng, hãy nhập ID cửa hàng (store id) và đăng nhập lại. Trước đó Uber Eats phải phê duyệt Pin Voordeel làm đối tác.
- Deliveroo: trực tiếp, qua cổng. Nhập ID địa điểm (location id) và ID thương hiệu (brand id). Không có máy tính bảng (mặc định): máy thu ngân chấp nhận hoặc từ chối; có máy tính bảng: cửa hàng chấp nhận trên máy tính bảng và cổng chỉ báo đơn hàng đã có trong máy thu ngân hay chưa.
- HubRise: máy thu ngân tự lấy đơn hàng (mỗi 20 giây, không cần cổng).
- Cho từng nền tảng: tự động chấp nhận, phiếu bếp gửi ngay đến bếp/quầy bar và (Uber Eats, Deliveroo) tự động gửi thực đơn sau khi thay đổi cùng Gửi thực đơn ngay. Thực đơn gồm các sản phẩm được đánh dấu trong Sản phẩm trên thực đơn Uber Eats và Deliveroo, kèm các tùy chọn; trạng thái hết hàng cũng được gửi.
Đơn hàng. Một đơn hàng trở thành đơn hàng thường (bezorgen hoặc afhalen, tên nhóm <platform> <nummer>) với giá của nền tảng: sản phẩm được nhận ra qua ID (từ thực đơn), mã hoặc số PLU; không xác định = một dòng riêng với giá của nền tảng (và một thông báo); phí giao hàng, phụ phí và giảm giá là các dòng riêng; nếu tổng vẫn không khớp thì thêm dòng "Chênh lệch". Phiếu bếp đi ngay đến bếp/quầy bar. Nút Nền tảng trên thanh trên cùng (kèm số đơn đang xử lý; màu cam nếu có đơn cần chấp nhận): chấp nhận hoặc từ chối (kèm lý do), đang chế biến, xong, đang giao, đã giao hoặc đã lấy, hủy và Hoàn tất (đã thanh toán online). Những gì nền tảng hỗ trợ sẽ được gửi lại (Uber Eats: chấp nhận, từ chối, hủy; Deliveroo: chấp nhận, từ chối, đang chế biến, xong, đã lấy; HubRise: mọi trạng thái). Nếu cửa hàng tự giao (tự giao hàng), đơn hàng cũng có trong Chuyến giao, và việc xuất phát và đã giao tự động được báo cho nền tảng. Nền tảng hủy thì đơn hàng hết hiệu lực. Nếu máy thu ngân mất kết nối với cổng hơn 2 phút, cổng sẽ từ chối đơn hàng mới từ Uber Eats và báo cho Deliveroo (có máy tính bảng) rằng không thành công, để cửa hàng thấy trên máy tính bảng.
Mã nguồn: apps/pos-server/src/lib/bezorgplatforms.ts, routes/bezorgplatforms.ts; màn hình Bezorgplatforms.tsx. Phía cổng: horecapos-portaal/src/platforms.mjs. Nhật ký: Nền tảng giao hàng (bật/tắt, cài đặt, đơn hàng). Tất cả đều có trong bản sao lưu của máy thu ngân.
Các nền tảng nhỏ hơn ở Hà Lan và Bỉ (Homie, Hebtrek, sneleten.nl, Bistroo ...) không có kết nối máy thu ngân công khai; nếu có trên HubRise thì chúng hoạt động qua HubRise. Ngoài ra: xem backlog.
Máy thu tiền tự động (hệ thống tiền mặt khép kín)
Mặc định tắt: tiền mặt hoạt động như bình thường. Với hệ thống tiền mặt khép kín, nhân viên không chạm vào tiền mặt: khách hàng hoặc nhân viên cho tiền vào máy, máy đếm, kiểm tra tiền giả và trả tiền thừa.
- Các máy mà máy tính tiền tự giao tiếp:
- CashDro (3, 4+, 5, 7, S Compact; NuKassa, KluisKassa): qua mạng (web service). Trên CashDro bật Web Integration và tạo một người dùng riêng cho máy tính tiền.
- Cashmatic (SelfPay 460/860/1060; ở Bỉ là Xpos): qua mạng (cổng 50301) với một người dùng của Cashmatic.
- Azkoyen Cashlogy (POS1000, POS1500): qua CashlogyConnector trên một máy tính Windows cạnh máy (cổng 8092).
- CashKeeper: qua CKMonitor trên một máy tính Windows (cổng 16501).
- Glory CASHINFINITY (CI-5, CI-10, CI-10X; cả qua Cikam): qua bộ điều khiển (FCC) của máy. Vẫn là beta: hãy để Glory hoặc đại lý của bạn kiểm tra kết nối đầu tiên.
- Bên ngoài: phần mềm khác điều khiển máy và giao tiếp với máy tính tiền (như Cikam, ImaCash cho 25 thương hiệu, phần mềm của CashGuard/StrongPoint (Merlin), PayComplete (SUZOHAPP), Gunnebo SafePay hoặc các thương hiệu Pháp như CashMag).
- Máy thử nghiệm: không cần phần cứng, để luyện tập hoặc trình diễn. Với Kiểm tra kết nối bạn kiểm tra địa chỉ và thông tin đăng nhập. Đặt máy trong mạng riêng (không bao giờ mở ra internet) và dùng một người dùng riêng cho máy tính tiền, không phải quản trị viên.
- Thanh toán bằng Tiền mặt: Thanh toán tại máy thu tiền tự động bắt đầu thanh toán cho số tiền (làm tròn tiền mặt nếu được bật, cộng tiền boa; khi chia hóa đơn là phần đó). Màn hình hiển thị số tiền đã nạp vào và số tiền trả lại; máy tính tiền chỉ thanh toán khi máy báo xong. Hủy = máy trả lại tiền. Nếu máy không trả được toàn bộ tiền thừa (thiếu tiền xu), màn hình ghi rõ cần lấy bao nhiêu từ ngăn kéo tiền. Một khoản thanh toán thành công nhưng chưa được tính tiền (vd. máy tính bảng bị tắt) sẽ được tìm lại ở đơn hàng đó.
- Tiền mặt chỉ qua máy (mặc định bật): khi đó máy chủ thu ngân chỉ chấp nhận tiền mặt khi có thanh toán thành công tại máy cho đúng đơn hàng và số tiền đó. Tắt = cũng có thể bỏ tiền mặt vào ngăn kéo như thường.
- Ngăn kéo tiền (Báo cáo → Tiền mặt, quyền Quản lý ngăn kéo tiền): Xem số tồn (theo từng đồng xu và tờ tiền, với Cashmatic, Cashlogy, Glory và máy thử nghiệm), Rút tiền kèm lý do (vd. tiền lẻ cho ngăn kéo), Nạp thêm và Rút bớt (giữ lại tiền lẻ; với Cashmatic). Dự kiến trong ngăn kéo tiền không tính tiền trong máy (được ghi riêng bên dưới: Trong máy thu tiền tự động), nhưng có tính tiền thừa phải lấy từ ngăn kéo.
Nút ©
Ở góc dưới bên phải mỗi màn hình (mã PIN, sơ đồ bàn, gọi món và bếp) có một nút © nhỏ. Nút này mở thông tin của OptimumPOS: logo, địa chỉ, điện thoại, e-mail và website. Biểu tượng được lưu sẵn trong ứng dụng nên hoạt động cả khi không có internet. Biểu tượng này cũng là biểu tượng ứng dụng (tab và màn hình chính).
Phần 2 · Quản lý
Bắt đầu
Theo mặc định, quản lý làm được mọi việc mà nhân viên phục vụ làm được, và thêm nữa như giảm giá, trả hàng, chốt ngày, quản lý ngăn kéo tiền và xem nhật ký và kho. Phần lớn nằm dưới nút Báo cáo:
- Báo cáo giữa ca (X): doanh thu đến hiện tại, không chốt ngày.
- Ngăn kéo tiền: tiền đầu ca, tiền vào/ra và mở ngăn kéo.
- Chốt ngày (Z): vào cuối ngày; sau đó bắt đầu ngày mới.
- Các báo cáo Z trước, Doanh thu theo kỳ và Bảng điều khiển.
- Nhật ký, Phiếu quà tặng và Khách hàng.
Kho hàng
Mặc định tắt. Bật tại Cài đặt → Quán → Theo dõi kho. Tắt = không thấy ở đâu trong máy tính tiền.
- Với mỗi món, bạn chọn tại Cài đặt → Món → (món) → Kho:
- Không: như trước giờ;
- Theo món: mỗi lần bán trừ 1 (ví dụ chai, lon), với mức cảnh báo cho "sắp hết";
- Theo nguyên liệu: một công thức, ví dụ hamburger = 1 bánh mì + 150 g thịt + 1 lát phô mai. Mỗi lần bán trừ các nguyên liệu.
- Cài đặt → Kho (quyền Quản lý kho, mặc định quản lý và quản trị viên):
- Món và Nguyên liệu: tồn kho, với hết / sắp hết; bộ lọc "chỉ (sắp) hết" và xuất ra CSV.
- Với mỗi món hoặc nguyên liệu, bạn ghi Nhập hàng (+) (giao hàng), Kiểm kê (=) (số đếm được thành tồn kho mới) hoặc Xuất hủy (−) (vỡ, hết hạn; bắt buộc ghi lý do).
- Tạo nguyên liệu với đơn vị (st, g, kg, ml, cl, l, portie, fles, fust) và mức cảnh báo.
- Lịch sử: tất cả biến động (bán, hủy món, nhập hàng, kiểm kê, xuất hủy) kèm người thực hiện và thời gian. Thao tác quản lý cũng được ghi vào nhật ký.
- Việc trừ kho diễn ra khi Gọi món (hoặc khi tính tiền với món tính tiền ngay). Hủy món sẽ cộng lại. Chia và chuyển không trừ hai lần. Với menu, các món trong menu bị trừ, không phải dòng menu. Trả hàng (hóa đơn hoàn tiền) không cộng lại (hàng trả lại thường không bán lại được); nếu cần hãy ghi là nhập hàng.
- Khi kho hết (hoặc một nguyên liệu không đủ cho thêm một lần), món tự động hiện hết hàng trên tất cả máy tính tiền. Khi sắp hết, nút món hiện còn N. Sau khi nhập hàng hoặc kiểm kê, món có thể gọi lại ngay. Máy chủ tính tiền cũng từ chối món đó ("Pils" đã hết (tồn kho 0)), kể cả từ máy tính bảng chưa biết điều đó.
- Tồn kho có thể xuống dưới 0 (ví dụ hai máy tính bảng gọi cùng lúc, hoặc gọi khi offline); kiểm kê sẽ điều chỉnh lại.
- Danh sách đặt hàng: Cài đặt → Kho → Danh sách đặt hàng. Với mỗi món (theo món) và mỗi nguyên liệu, ngoài mức cảnh báo bạn còn cài đặt bổ sung đến và nhà cung cấp. Danh sách đặt hàng gồm mọi thứ bằng hoặc dưới mức cảnh báo (không có mức cảnh báo: khi còn 0), theo nhà cung cấp, với đề xuất bổ sung đến − tồn kho. Có thể sửa số lượng và đánh dấu bật/tắt. Sau đó In (máy in hóa đơn), Sao chép (để gửi mail hoặc WhatsApp), Xuất (CSV), và sau khi nhận hàng Đã giao: ghi nhập hàng (ghi nhập tất cả một lần). Đánh dấu ô ở trên cùng để xem cả những gì chưa hết, để đặt thêm.
- Tùy chọn: ở mỗi nhóm tùy chọn (Cài đặt → Món → Tùy chọn) có nút Kho. Nhập nguyên liệu cho mỗi lựa chọn theo từng cái, ví dụ Thêm phô mai = 1 lát phô mai, Khoai tây chiên = 150 g khoai tây chiên. Khi chọn lựa chọn đó, các nguyên liệu được trừ theo từng cái (kể cả khi món đó không theo dõi kho; khi hủy món sẽ được cộng lại). Nếu một nguyên liệu đã hết, lựa chọn hiện trên máy tính tiền là (hết) và không chọn được.
Đặt hàng nhà cung cấp
Mặc định tắt. Bật tại Cài đặt → Tồn kho → Đặt hàng nhà cung cấp (chỉ khi Theo dõi kho đang bật). Tắt = danh sách đặt hàng hoạt động như bình thường.
- Nhà cung cấp (tab Nhà cung cấp): chọn một nhà cung cấp trong danh sách hoặc tạo nhà cung cấp riêng. Danh sách gồm nhà bán buôn và cash & carry (Sligro, Sligro-ISPC/Sligro-M, HANOS, Makro, De Kweker, Horeca Totaal, Van Zon, zegro, Lekkerland), dịch vụ thực phẩm (Bidfood và Bidfood Belgium, Solucious, Chefs Culinar, Java, Q-Food, Agora Culinair, VHC Jongens/Kreko/Actifood, Hocras, Van Hoeckel ...), nhà bán buôn đồ uống (De Klok, Henk Smit, Horesca, De Monnik, Hansen, Dranken Geers ...), nhà máy bia và nước ngọt (Heineken qua Sligro, AB InBev/BEES, Alken-Maes, Haacht, Duvel Moortgat, Martens, Coca-Cola, Spadel, Grolsch, Bavaria), nhà cung cấp hàng tươi (Van Gelder, Driessen, FiliusKaas, Bakkers Brigade, Rungis ...), phi thực phẩm (Bunzl, Takeaware, Supplierz), cửa hàng rượu vang trực tuyến Vinify.nl và nền tảng đặt hàng (Apicbase, Exact Horeko, Growzer, inOne, Cuisin.io, OrderXL). Chỉ có các nhà cung cấp ở quốc gia của cửa hàng. Khi bạn chọn một nhà cung cấp, cách đặt hàng, tệp và các cột đã được thiết lập sẵn; ở mỗi nhà cung cấp đều ghi cách đặt hàng.
- Theo nhà cung cấp: mã khách hàng, đặt hàng qua:
- E-mail: đơn hàng dạng e-mail (có bảng) gửi đến địa chỉ e-mail đặt hàng, tùy chọn một bản sao, kèm danh sách đặt hàng làm tệp đính kèm: CSV, Excel, CSV cho Care4Fresh (nhiều nhà bán buôn hàng tươi), UBL 2.1 Order (Peppol BIS Order), EANCOM ORDERS (D96A ở Hà Lan, D01B/HO2C ở Bỉ) hoặc cXML. Thư trả lời sẽ đến địa chỉ e-mail của cửa hàng.
- Tệp: máy tính tiền tạo tệp, bạn tải tệp lên cửa hàng trực tuyến của nhà cung cấp (vd. Bunzl Snel bestellen:
artikel;aantal, Takeaware:SKU,Quantity). Ký tự phân cách, dòng tiêu đề và các cột có thể thiết lập (artikel,ean,omschrijving,aantal,eenheid,prijs,totaal; vớiartikel=SKUbạn đặt tên riêng cho tiêu đề). - Kết nối (cXML): một cXML OrderRequest kèm mã khách hàng và khóa bí mật chung gửi đến địa chỉ nhận đơn của nhà cung cấp, giống như các hệ thống mua hàng gửi đến Sligro, HANOS và Bidfood. Địa chỉ, mã khách hàng và khóa bí mật do nhà cung cấp cung cấp (Sligro: koppelingen@sligro.nl). Khóa bí mật không bao giờ được hiển thị lại trên màn hình.
- Với cả hai kiểu kết nối, bạn cũng có thể đặt tên người dùng và mật khẩu (Basic) và header bổ sung (mỗi dòng một header, vd.
X-Api-Key: ...). - Tải lên (SFTP/FTPS): máy tính tiền tự đặt tệp (EANCOM, UBL, CSV, Excel ...) vào một thư mục trên máy chủ của nhà cung cấp, giống cách nhiều nhà bán buôn nhận đơn EDI. SFTP (SSH), FTPS (tường minh trên cổng 21 hoặc ngầm định trên cổng 990) hoặc FTP, chỉ trong mạng nội bộ. Đăng nhập bằng mật khẩu hoặc khóa SSH (OpenSSH, PEM hoặc PuTTY .ppk; ed25519, ECDSA hoặc RSA). Tạo khóa tạo một cặp khóa trong máy tính tiền; bạn gửi khóa công khai cho nhà cung cấp. Kiểm tra kết nối đăng nhập và tìm thư mục. Dấu vân tay của máy chủ SFTP được ghi lại ở lần kết nối đầu tiên và được kiểm tra sau đó (một máy chủ khác sẽ không nhận được mật khẩu); với FTPS dùng chứng chỉ riêng, bạn cố định dấu vân tay của chứng chỉ. Không cần phần mềm bổ sung.
- In: đơn hàng được in ra máy in hóa đơn để gọi điện đặt.
- Mật khẩu, khóa, token và header không bao giờ hiển thị lại trên màn hình (để trống = giữ nguyên, Xóa = loại bỏ).
- Yêu cầu kết nối: với một nhà cung cấp, máy tính tiền soạn một email yêu cầu kết nối (cXML, EDI qua SFTP/FTPS, UBL/Peppol hoặc API riêng của nhà cung cấp) kèm thông tin của cửa hàng (tên, địa chỉ, mã số VAT, mã khách hàng, GLN) và những gì cần thiết; với EDI thì kèm khóa công khai. Chỉnh sửa rồi gửi; bản sao và phản hồi được gửi tới địa chỉ email của cửa hàng. Ngày yêu cầu được hiển thị ở nhà cung cấp. Với Sligro, yêu cầu được gửi tới koppelingen@sligro.nl, nếu không thì bạn điền địa chỉ của người quản lý tài khoản của mình.
- Một nhà cung cấp riêng (không có trong danh sách) có thể làm mọi thứ, trừ những gì chính nhà cung cấp phải cung cấp: email, tệp và in luôn hoạt động; kết nối hoặc tải lên chỉ khi có thông tin của nhà cung cấp đó.
- Ngày đặt hàng và giao hàng: ngày đặt hàng, giờ chậm nhất, thời gian giao hàng (ngày giao mong muốn trên đơn hàng) và số tiền đặt hàng tối thiểu. Tự động: vào các ngày đặt hàng, từ giờ đó trở đi, máy tính tiền tự chuẩn bị một đơn hàng dạng nháp (bạn kiểm tra lại) hoặc gửi ngay (qua email, tải lên hoặc kết nối; dưới số tiền đặt hàng tối thiểu thì chỉ chuẩn bị dạng nháp). Mỗi ngày một lần cho mỗi nhà cung cấp.
- Theo sản phẩm (Cài đặt → Sản phẩm → (sản phẩm) → Tồn kho, tại Theo sản phẩm) và theo nguyên liệu: Đặt hàng tại (nhà cung cấp), mã đặt hàng tại nhà cung cấp đó, EAN, mỗi bao bì (két 24 = 24), tên bao bì và giá nhập mỗi bao bì. Mức cảnh báo là thời điểm cần đặt hàng; Bổ sung đến là số lượng cần có khi đó.
- Đơn mua hàng (tab Đơn mua hàng):
- Đơn hàng đề xuất theo nhà cung cấp: mọi thứ ở mức hoặc dưới mức cảnh báo. Hàng đã đặt nhưng chưa về (đang giao) cũng được tính, để bạn không đặt trùng. Đề xuất = bổ sung đến − tồn kho − đang giao (không có bổ sung đến: đến mức cảnh báo), làm tròn lên theo bao bì nguyên. Điều chỉnh số lượng và Tạo đơn hàng.
- Một đơn hàng trước tiên ở trạng thái đã chuẩn bị: số lượng, dòng riêng (không có sản phẩm, vd. khăn ăn), ghi chú và ngày giao vẫn có thể chỉnh sửa. Sau đó Gửi (theo cách của nhà cung cấp hoặc lần này theo cách khác). Nếu thất bại (vd. nhà cung cấp từ chối), lý do sẽ được ghi kèm và bạn có thể thử lại.
- Nhận hàng: theo từng dòng, số lượng đã nhận (mặc định bằng số lượng đã đặt); tồn kho được cộng theo bao bì (2 két 24 = 48), kèm đơn hàng trong lịch sử.
- Mỗi tệp (CSV, Excel, UBL, EANCOM, cXML) cũng có thể tải xuống riêng.
- Đã gửi, thất bại, đã nhận và đã hủy đều được ghi vào nhật ký. Danh sách đặt hàng thông thường vẫn hoạt động; nếu một sản phẩm có nhà cung cấp trong danh sách thì sản phẩm đó hiển thị dưới tên nhà cung cấp đó.
Quản lý đánh giá
Đọc và trả lời đánh giá từ Google và Trustpilot ngay trên máy POS. Bật tại Cài đặt → Tích điểm và đánh giá → Quản lý đánh giá (mặc định tắt, khi đó không thấy gì ở đâu cả). Đọc và trả lời tại Báo cáo → Đánh giá (quyền Đọc và trả lời đánh giá, mặc định cũng có cho quản lý). Nếu tắt, các kết nối và đánh giá vẫn được giữ lại.
- Sau đó, mỗi cửa hàng chỉ cần nhấn Kết nối với Google và đăng nhập bằng tài khoản Google của Hồ sơ doanh nghiệp. Khóa Places cũng có thể thiết lập tập trung (khi đó chi phí do nhà cung cấp chịu). Trustpilot được thiết lập theo từng cửa hàng: mỗi cửa hàng có tài khoản Trustpilot Business riêng (API đi kèm gói trả phí), từ đó lấy khóa, mã bí mật và business user ID. Trong máy POS, mỗi cách đều có mục "Ai thiết lập việc này?".
- Ứng dụng của nhà cung cấp (qua cổng khách hàng): nếu ứng dụng Google và/hoặc Trustpilot của nhà cung cấp có trong cổng khách hàng (xem README của horecapos-portaal, "Reviews: apps van de leverancier"), quản trị viên chọn Ứng dụng của nhà cung cấp tại Đăng nhập và khóa (mặc định cho kết nối mới nếu cổng có ứng dụng). Cơ sở bấm Kết nối với Google hoặc Đăng nhập bằng Trustpilot và đăng nhập bằng tài khoản của chính mình; máy tính tiền tự chờ đến khi đăng nhập xong (mỗi 3 giây, tối đa 15 phút) và lấy tokens một lần từ cổng. Việc làm mới cũng qua cổng. Không cần client-ID, secret hay khóa API trong máy tính tiền; riêng Trustpilot vẫn cần tên miền và, để trả lời, business user ID. Khi đó Trustpilot công khai đọc qua khóa của cổng. Cần
PORTAAL_URLvàPORTAAL_SLEUTEL. Ứng dụng riêng hoặc khóa API vẫn hoạt động như bên dưới. - Đánh giá thuộc về ai: đánh giá vẫn nằm trên Google Business Profile và trang Trustpilot của chính cơ sở, và máy tính tiền chỉ lưu chúng trong cơ sở dữ liệu của chính máy tính tiền. Câu trả lời hiển thị dưới tên cơ sở. Cổng chỉ chuyển tiếp việc đăng nhập (trong bộ nhớ, tối đa 15 phút, chỉ lấy được một lần) và không lưu đánh giá hay tokens; tên ứng dụng của nhà cung cấp chỉ hiện trên màn hình đồng ý.
- Tự đăng ký: ở mỗi nền tảng có một liên kết để tự tạo Google Business Profile (business.google.com/create) hoặc tài khoản Trustpilot Business (business.trustpilot.com), và với Trustpilot còn có liên kết đến các gói (business.trustpilot.com/plans). Việc đăng ký và thanh toán diễn ra trực tiếp trên nền tảng; không có API cho việc này.
- Sau đó bấm Kết nối với Google và đăng nhập bằng tài khoản quản lý Business Profile. Một chi nhánh trong hồ sơ = được chọn ngay; nhiều hơn = chọn trên máy POS.
- Google Places (chỉ đọc): với Place ID và khóa API của Places API (hoặc
GOOGLE_PLACES_API_KEY): điểm trung bình, số lượng đánh giá và 5 đánh giá liên quan nhất. Cách này không thể trả lời. - Trustpilot Business (đọc và trả lời): khóa API và mã bí mật API của một ứng dụng trong Trustpilot Business (Integrations → API; hoặc
TRUSTPILOT_API_KEYvàTRUSTPILOT_API_SECRET), tên miền của cơ sở (máy POS tự tìm business unit) và, để trả lời, business user ID của người trả lời. - Trustpilot công khai (chỉ đọc): chỉ cần khóa API.
- Máy POS lấy đánh giá mỗi 30 phút (và ngay sau khi kết nối; Lấy ngay). Máy POS không lưu địa chỉ email và số đơn hàng của khách (do Trustpilot gửi kèm).
- Báo cáo → Đánh giá: điểm trung bình, số lượng theo từng sao, chưa trả lời và chưa đọc; lọc theo nền tảng, số sao, chưa trả lời và chưa đọc. Với mỗi đánh giá: Trả lời (tối đa 4000 ký tự; mọi người đều có thể đọc), Sửa câu trả lời, Xóa câu trả lời và Đã đọc. Đánh giá mới hoặc đã sửa sẽ ở trạng thái chưa đọc. Nhật ký ghi lại review_beantwoord và review_antwoord_weg.
- Ngắt kết nối vẫn giữ lại các đánh giá đã lấy.
Tiếp thị qua SMS và email
Tin nhắn gửi đến khách hàng có thẻ thành viên đã đồng ý nhận. Không có thẻ thành viên thì không bật được cả hai.
- Đồng ý theo từng khách và từng kênh: khi tạo khách hàng mới ở máy thu ngân có các ô "Khách muốn nhận chương trình qua SMS" và "... qua email" (mặc định tắt). Tại Báo cáo → Khách hàng bạn xem và thay đổi sự đồng ý (kèm ngày đồng ý) và sinh nhật (chỉ ngày và tháng). Hủy đăng ký: bỏ dấu tích và lưu.
- Thực đơn cập nhật ngay: khi bạn bật hoặc tắt tiếp thị hoặc thẻ thành viên, máy tính tiền gửi lại thực đơn đến cửa hàng trực tuyến trong vài giây (chỉ khi có thay đổi), để ô đánh dấu hiện hoặc ẩn ngay.
- Đồng ý qua cửa hàng trực tuyến: nếu cửa hàng có cửa hàng trực tuyến, khi thanh toán sẽ có ô "Tôi muốn nhận ưu đãi qua email/SMS" (chỉ các kênh đang bật; mặc định không chọn). Khi có đơn như vậy, máy tính tiền tìm khách theo số điện thoại (nếu không thì theo email), tạo khách nếu cần và ghi nhận sự đồng ý kèm ngày. Số điện thoại hoặc địa chỉ còn thiếu của khách hiện có sẽ được bổ sung; trong nhật ký có klant_toestemming với nguồn webshop.
- Báo cáo → Tiếp thị (quyền Quản lý thẻ thành viên): phía trên cùng là số khách đã đồng ý nhận SMS và nhận email.
- Chương trình (gửi một lần): tên, SMS hoặc email, (tiêu đề,) nội dung có
{naam},{zaak}và{punten}, và có thể chỉ gửi cho khách đã lâu không đến hoặc có tối thiểu bấy nhiêu điểm. Xem cho biết gửi đến bao nhiêu khách, tin nhắn như khách sẽ nhận và số SMS mỗi khách. Gửi thử đến số hoặc địa chỉ của chính bạn. Sau đó Gửi: máy thu ngân gửi ở chế độ nền (tối đa 1000 mỗi lần) và đếm số đã gửi và thất bại. Không ai nhận cùng một chương trình hai lần; nếu máy thu ngân dừng giữa chừng, Tiếp tục gửi sẽ gửi tiếp cho những ai chưa nhận. - Gửi qua Mailchimp hoặc Klaviyo (khi có kết nối với một danh sách đã chọn, xem bên dưới): với chương trình qua email, tại Gửi qua bạn chọn máy tính tiền (máy chủ email riêng, như ở trên) hoặc Mailchimp hay Klaviyo. Khi đó máy tính tiền cập nhật danh sách trước (lượt hủy đăng ký, điểm) rồi tạo chiến dịch ở đó cho đúng những khách đã chọn có trong danh sách (Mailchimp: một nhóm cố định trên audience; Klaviyo: một danh sách riêng cho chương trình), và gửi đi bằng người gửi mặc định của audience hoặc tài khoản. Mailchimp/Klaviyo điền
{naam}và{punten}cho từng khách; liên kết hủy đăng ký của dịch vụ nằm ở cuối. Không giới hạn 1000 mỗi lần và không có mã giảm giá cá nhân ({code}). Nếu không thành công, chương trình vẫn là bản nháp kèm thông báo. Thẻ Tiếp thị cũng hiện khi chỉ bật kết nối (khi đó chỉ có chương trình qua Mailchimp/Klaviyo; Gửi thử dùng máy chủ email của máy tính tiền). Tin nhắn tự động luôn do máy tính tiền tự gửi; trên Mailchimp/Klaviyo bạn tạo chúng dưới dạng Customer Journey hoặc Flow. Khóa Klaviyo: cần thêm quyền ghi cho Campaigns và Templates (ai đã đăng nhập: đăng nhập lại). - Dưới dạng thông báo đẩy qua cửa hàng trực tuyến (nếu trong phần quản lý cửa hàng trực tuyến đang bật Thông báo đẩy có ưu đãi): tại Gửi qua chọn Thông báo đẩy (cửa hàng trực tuyến dưới dạng ứng dụng), với tiêu đề (tối đa 60 ký tự) và nội dung ngắn (tối đa 200 ký tự; chỉ
{zaak}được điền, vì cửa hàng trực tuyến không biết khách là ai). Máy tính tiền gửi chương trình qua cổng quản trị đến cửa hàng trực tuyến, rồi cửa hàng gửi tiếp đến những khách đã bật Ưu đãi qua thông báo tại đó; chạm vào sẽ mở thực đơn của cửa hàng trực tuyến. Sau vài giây, số lượng đã nhận sẽ hiển thị ở chương trình. Tối đa 3 lần mỗi ngày, tính chung với những gì cơ sở gửi từ phần quản lý cửa hàng trực tuyến; nếu vượt, chương trình vẫn là bản nháp kèm lý do. Thẻ Tiếp thị vẫn hiển thị khi chỉ bật tính năng này (không có thẻ thành viên hay tiếp thị qua email). Không có mã giảm giá hay lọc khách (ngày, điểm); để kiểm tra: bật Ưu đãi qua thông báo trong cửa hàng trực tuyến trên điện thoại của bạn. - Tự động: tin nhắn sinh nhật (vào ngày sinh nhật, mỗi năm một lần) và "chúng tôi nhớ bạn" (sau bấy nhiêu ngày không ghé, một lần cho mỗi đợt khách vắng mặt). Bật/tắt riêng từng tin nhắn; chỉ được gửi vào ban ngày (10:00–20:00).
- Mã giảm giá cá nhân (tùy chọn, theo từng tin nhắn hoặc chương trình; chỉ khi Mã giảm giá đang bật ở Cài đặt → Cửa hàng): mỗi khách nhận một mã riêng, ví dụ
TERUG-7K4Q2M(sinh nhậtJARIG-…, chương trìnhACTIE-…), theo phần trăm hoặc số tiền cố định, có thể kèm giá trị đơn hàng tối thiểu, chỉ dùng một lần, có hiệu lực trong số ngày đã đặt sau khi gửi (mặc định 30), tại máy tính tiền và/hoặc trên cửa hàng trực tuyến. Đặt{code}và{geldig}vào chỗ bạn muốn trong nội dung; nếu không, máy tính tiền sẽ thêm bên dưới tin nhắn "Uw kortingscode: … (10% korting, aan de kassa of in de webshop, geldig t/m …)". Xem và Gửi thử hiển thị một mã mẫu (TERUG-VOORBEELD, không dùng được). Nếu gửi không thành công, mã sẽ không được tạo. Tại chương trình có hiển thị số mã đã phát và đã dùng. - Hủy đăng ký có ở dưới mỗi tin nhắn: với SMS là "Hủy đăng ký? Gọi ... hoặc báo khi bạn ghé lần sau", với email là liên kết hủy đăng ký đến email của cửa hàng (kể cả nút Hủy đăng ký trong Gmail và Outlook). Thư trả lời sẽ gửi đến cửa hàng.
- Quyền riêng tư (GDPR): chỉ khách đã đồng ý và có số điện thoại hoặc địa chỉ; nhật ký không lưu số hay địa chỉ, chỉ ghi số đã gửi và thất bại cho mỗi chương trình. Khi bạn xóa một khách hàng, khách đó cũng biến mất khỏi danh sách gửi.
- Chi phí: SMS được gửi qua tài khoản CM.com của chính bạn (trên 160 ký tự = nhiều SMS hơn cho mỗi khách). Gmail và các máy chủ mail khác có giới hạn mỗi ngày; nếu nhiều khách, hãy gửi thành nhiều đợt.
Tiền boa theo nhân viên
Tại Cài đặt → Quán → Tiền boa (chỉ khi "Hiện nút tiền boa khi tính tiền" đang bật) bạn chọn cách tiền boa theo nhân viên hiện trên báo cáo giữa ca (X), báo cáo Z (hóa đơn và mail) và Doanh thu theo kỳ (cả trong CSV):
| Lựa chọn | Phân chia |
|---|---|
| Tắt (mặc định) | chỉ tổng tiền boa, như trước giờ |
| Mỗi người tiền boa riêng | tiền tip từ các hóa đơn mà mỗi người tự thanh toán |
| Chia quỹ theo giờ | gộp toàn bộ tiền tip, chia theo số giờ đã chấm công trong khoảng thời gian đó (cần bật chấm công vào/ra; không ai chấm công = chia đều) |
| Chia đều quỹ | gộp toàn bộ tiền tip, chia đều cho những người đã chấm công vào (nếu không chấm công: ai đã nhập món hoặc thanh toán) |
Số xu lẻ được chia cho người gần nhất với xu tiếp theo, để tổng luôn khớp. Đây chỉ là bảng tổng hợp: máy tính tiền không chi trả gì cả (việc đó làm bằng "Lấy tiền ra khỏi ngăn kéo"). Các báo cáo Z cũ giữ nguyên như trước.
Gửi báo cáo Z qua email
Tại Cài đặt → Cửa hàng → Gửi email báo cáo Z đến, nhập một lần địa chỉ email của quản trị viên (nhiều địa chỉ: cách nhau bằng dấu phẩy, tối đa 3). Sau khi Chốt ngày, báo cáo Z sẽ tự động được gửi đến địa chỉ đó, cùng với phiếu in. Để trống = không gửi email, như trước giờ.
- Việc gửi email chạy ngầm, nên máy chủ email chậm cũng không làm chậm việc chốt ngày.
- Gửi thất bại hoặc cần gửi lại: Báo cáo → Báo cáo Z trước đây → (báo cáo) → Gửi email lại (có ghi BẢN SAO).
Tóm tắt trong ngày (tùy chọn)
Nếu có địa chỉ tại Gửi báo cáo Z qua email đến, bên dưới sẽ có ô đánh dấu Kèm bản tóm tắt ngắn trong ngày ở đầu email (mặc định tắt). Bật = ở đầu email báo cáo Z có vài dòng bằng ngôn ngữ thông thường, chỉ từ dữ liệu riêng của máy tính tiền (không dùng AI, không có gì được gửi ra ngoài):
- doanh thu, số hóa đơn và số khách cùng mức chi tiêu mỗi hóa đơn, so với cùng khoảng thời gian một tuần trước (theo phần trăm); nếu khi đó không có gì, điều này sẽ được ghi rõ;
- 5 sản phẩm bán chạy nhất, và điểm đáng chú ý: các sản phẩm bán nhiều hơn hoặc ít hơn ít nhất 3 so với tuần trước;
- số lượng món hủy (so với tuần trước) và giờ đông khách nhất (số hóa đơn và doanh thu).
Bản thân báo cáo Z (phiếu in và email) vẫn giữ nguyên hoàn toàn. Xem trước hôm nay hiển thị bản tóm tắt từ lần chốt ngày gần nhất đến hiện tại. Bản tóm tắt bằng tiếng Hà Lan, giống như email báo cáo Z.
Bảng điều khiển
Thẻ Bảng điều khiển trong Báo cáo (quyền Doanh thu theo kỳ), chỉ xem:
- Doanh thu theo giờ dạng biểu đồ: ngày đã chọn (xanh dương) bên cạnh cùng ngày tuần trước (xám). Hôm nay được so sánh với tuần trước đến cùng thời điểm, để tỷ lệ phần trăm công bằng. Dùng ◀ ▶ hoặc chọn ngày để xem ngày khác.
- Các ô: doanh thu (± % so với tuần trước), số hóa đơn và trung bình mỗi hóa đơn, chi tiêu trung bình mỗi khách (chỉ ăn tại chỗ; mang về/giao hàng không tính) cho ngày đó và cho kỳ đã chọn.
- Top 10 sản phẩm và giờ đông khách nhất trong 7, 28 hoặc 90 ngày gần nhất. Giờ đông khách nhất là bản đồ nhiệt thứ trong tuần × giờ (doanh thu trung bình mỗi ngày mở cửa) với ba giờ đông nhất ở phía trên, tiện cho việc xếp lịch làm.
Thẻ quà tặng đã bán không tính vào doanh thu; giảm giá và dòng tiêu đề combo không có trong top 10 (giống các báo cáo khác). Một ngày tính từ 00:00 đến 24:00.
Báo cáo bổ sung
Ba thẻ bổ sung trong Báo cáo, mỗi thẻ bật riêng tại Cài đặt → Cửa hàng → Quản lý và báo cáo → Báo cáo bổ sung (mặc định tắt: khi đó không có thẻ). Các báo cáo này cần cùng quyền như Doanh thu theo kỳ và chỉ để xem. Khoảng thời gian: tuần này, tuần trước, tháng này, tháng trước, 90 ngày gần nhất, năm nay hoặc tự chọn (tối đa hơn một năm một chút).
- Menu engineering: với mỗi sản phẩm, số lần bán được (tỷ lệ trên tổng số món đã bán) so với lợi nhuận mỗi món (biên lợi nhuận = giá bán chưa VAT trừ giá vốn). Mỗi sản phẩm được xếp loại: Ngôi sao (bán chạy và lãi cao: giữ nguyên), Ngựa cày (bán chạy, lãi thấp: tăng giá một chút hoặc giảm chi phí làm món), Câu đố (bán ít, lãi cao: làm nổi bật hơn) và Con chó (bán ít, lãi thấp: bỏ khỏi thực đơn hoặc thay thế). Bán chạy = ít nhất 70% của phần chia đều; lãi cao = ít nhất bằng biên lợi nhuận trung bình trên mỗi món đã bán. Giá vốn lấy từ Apicbase (Cài đặt → Công thức), nếu không thì từ giá nhập của sản phẩm (giá nhập mỗi kiện chia cho số lượng mỗi kiện), nếu không nữa thì từ công thức gồm các nguyên liệu có giá nhập (Tồn kho). Sản phẩm chưa có giá vốn được liệt kê riêng ở cuối. Có thể lọc theo nhóm sản phẩm (
?groep=). - Chương trình và mã: theo từng mã giảm giá, từng chương trình từ Tiếp thị (các mã cá nhân gộp chung) và từng happy hour: số lần sử dụng (số hóa đơn; với happy hour có cả số món), tổng giảm giá, doanh thu và trung bình mỗi hóa đơn.
- Hao hụt: những gì đã xuất khỏi kho (Cài đặt → Tồn kho, Xuất kho (−)), theo lý do (chữ hoa và khoảng trắng không quan trọng) và theo sản phẩm hoặc nguyên liệu, kèm giá trị theo giá vốn; và những gì đã bị hủy sau khi đã gửi đến bếp hoặc quầy bar, kèm giá trị bán và giá trị vốn.
Giảm giá
Quản lý hoặc quản trị viên thấy nút % Giảm giá bên cạnh tổng tiền trên màn hình gọi món:
- cho cả hóa đơn hoặc cho một dòng;
- theo phần trăm (10, 15, 20, 25, 50, 100% = miễn phí, hoặc tự nhập) hoặc theo số tiền cố định;
- luôn kèm lý do (Nhân viên, Khách quen, Khiếu nại, Khuyến mãi, Dùng nội bộ hoặc tự nhập).
Giảm giá xuất hiện thành một dòng riêng trên hóa đơn ("Giảm giá 10%", kèm lý do bên dưới) với cùng thuế suất VAT, để tổng tiền và bảng kê VAT luôn đúng. Khi giảm giá cả hóa đơn, phần giảm được chia theo từng thuế suất VAT. Muốn bỏ: chạm vào số tiền của dòng giảm giá. Nếu hủy một dòng có giảm giá riêng thì giảm giá đó cũng mất theo. Nếu bạn xóa một sản phẩm khỏi hóa đơn có giảm giá theo phần trăm trên cả hóa đơn, máy tính tiền sẽ tính lại giảm giá đó trên phần còn lại (ở Bỉ UC226); số tiền giảm cố định được giữ nguyên và được chia lại cho các dòng khi thanh toán. Nếu giảm 100% khiến không còn gì phải trả, hãy kết thúc bằng "Đóng (không cần thanh toán)". Giảm giá được ghi trong nhật ký, và trong báo cáo X/Z cùng bảng tổng hợp theo kỳ dưới dạng "trong đó giảm giá". Khi trả hàng cho hóa đơn có giảm giá, phần giảm giá được tính theo tỷ lệ.
Mã giảm giá (tùy chọn)
Mã giảm giá cho toàn bộ hóa đơn, ví dụ cho một chương trình khuyến mãi (ZOMER10). Bật tại Cài đặt → Cửa hàng → Mã giảm giá (mặc định tắt); tạo mã tại Cài đặt → Mã giảm giá (quyền Quản lý sản phẩm):
- giảm theo phần trăm hoặc số tiền cố định, có thể kèm giá trị đơn tối thiểu, hiệu lực từ/đến và số lần dùng tối đa (để trống = không giới hạn);
- theo từng mã: tại máy tính tiền và/hoặc trên cửa hàng trực tuyến (máy tính tiền gửi các mã cùng với thực đơn; số lần dùng được tính chung cho máy tính tiền và cửa hàng trực tuyến).
Trên màn hình gọi món có nút Mã giảm giá (ai cũng có thể nhập mã; mã do cửa hàng tạo trước). Khoản giảm hiện thành dòng "Mã giảm giá CODE" trên hóa đơn, được chia theo các mức VAT; mỗi hóa đơn một mã, và không dùng được nữa khi đã thanh toán (một phần). Nếu bạn xóa dòng đó hoặc đơn bị hủy, lượt dùng không còn được tính. Xóa một mã đã dùng sẽ tắt mã đó (báo cáo vẫn đúng). Mọi thứ đều có trong nhật ký (Mã giảm giá). Mã nguồn: lib/kortingscodes.ts, routes/kortingscodes.ts, Kortingscodebeheer.tsx, KortingscodeDialoog.tsx.
Chúng không có trong danh sách ở Cài đặt → Mã giảm giá (nhưng số lượng theo từng chương trình có ở Báo cáo → Tiếp thị) và được chuyển sang cửa hàng trực tuyến khi còn hiệu lực và chưa dùng.
Báo cáo và chốt ca cuối ngày
Nút Báo cáo trên thanh trên cùng:
- Tạm tổng (X): doanh thu, VAT, phương thức thanh toán, theo nhóm và ngăn kéo tiền kể từ lần chốt ngày trước. Có thể in. Không chốt gì cả.
- Chốt ngày (Z) (quản lý hoặc quản trị viên): đếm ngăn kéo tiền (hiển thị chênh lệch so với tiền đầu ca + tiền mặt), nhập tiền đầu ca cho ngày hôm sau, rồi chốt. Báo cáo Z có số thứ tự liên tục, được lưu lại và in trên máy in hóa đơn. Không thể chốt khi còn đơn đang mở. Tùy chọn: Đếm theo từng đồng xu và tờ tiền (công cụ đếm tiền) tự điền số tiền đã đếm; chi tiết đếm theo xu/tờ tiền cũng được in trên báo cáo Z. Tự nhập tổng tiền vẫn hoạt động như trước.
- Ngăn kéo tiền (quản lý hoặc quản trị viên, tùy chọn):
- Lấy tiền ra khỏi ngăn kéo (nộp ngân hàng, chi phí, trả tiền tip) hoặc bỏ tiền vào ngăn kéo (tiền lẻ thối) kèm số tiền và lý do. Ngăn kéo mở ra và in một phiếu có dòng ký tên để giữ cùng với tiền (có thể tắt). Khoản này được tính vào dự kiến trong ngăn kéo và ghi từng dòng trên báo cáo X và Z.
- Nhập hoặc sửa tiền đầu ca hôm nay (thông thường bạn nhập khi chốt ngày cho ngày hôm sau).
- Mở ngăn kéo không bán hàng, kèm lý do.
- Mọi thứ đều được ghi vào nhật ký. Nếu bạn không dùng tính năng này, việc chốt ngày hoạt động y như trước (tiền đầu ca + tiền mặt = dự kiến trong ngăn kéo).
- Bên dưới doanh thu có số khách (số người của các đơn đã thanh toán) và trung bình mỗi khách, cũng có trên báo cáo X/Z in ra.
- Doanh thu theo kỳ (quản lý hoặc quản trị viên): hôm nay, hôm qua, tuần này/tuần trước, tháng này/tháng trước, năm nay hoặc tự chọn từ–đến. Hiển thị doanh thu, VAT, phương thức thanh toán, tiền tip, khách, nhóm sản phẩm, theo ngày và theo nhân viên. Với Xuất (Excel/CSV) bạn nhận được một tệp cho kế toán (dấu chấm phẩy và số thập phân dùng dấu phẩy, mở ngay trong Excel tiếng Hà Lan).
- Báo cáo Z trước đây: danh sách kèm doanh thu và chênh lệch tiền; mở ra và in bản sao (có ghi "BẢN SAO").
Xuất dữ liệu cho kế toán
Báo cáo → Doanh thu theo kỳ → Xuất cho kế toán (sổ nhật ký) (quyền Doanh thu theo kỳ) tạo một tệp CSV với một bút toán nhật ký mỗi ngày, sẵn sàng để nhập vào e-Boekhouden, Exact, SnelStart, Twinfield v.v. (qua chức năng nhập CSV/bút toán tổng hợp của chúng), hoặc một trong các định dạng bên dưới (UBL, XAF và sẵn sàng cho 14 phần mềm).
Mỗi ngày một chứng từ (KASSA-JJJJMMDD) luôn cân bằng (nợ = có):
| Bên | Nội dung |
|---|---|
| Nợ | khoản thu theo phương thức thanh toán (tiền mặt, thẻ, thẻ quà tặng, trực tuyến, khác), gồm tiền tip |
| Có | doanh thu theo thuế suất VAT (chưa gồm VAT) và VAT phải nộp theo từng thuế suất |
| Có | tiền tip (phải trả cho nhân viên, không phải doanh thu) |
| +/- | chênh lệch làm tròn (làm tròn tiền mặt đến 5 xu) |
| +/- | tiền vào/ra ngăn kéo (quản lý tiền mặt) đối ứng với tài khoản trung gian, và chênh lệch tiền từ báo cáo Z |
Trả hàng và giảm giá đã nằm trong hóa đơn và làm giảm doanh thu. Các cột: Datum; Boekstuk; Dagboek; Rekening; Omschrijving; Debet; Credit; Btw-code; Btw-% (dấu chấm phẩy, số thập phân dùng dấu phẩy). Sau khi tải về, máy tính tiền báo có ngày nào không cân bằng hoặc có chênh lệch lớn hơn mức làm tròn.
Bên cạnh nút, bạn chọn định dạng (lựa chọn được ghi nhớ trong trình duyệt). Cùng một sổ nhật ký, nhưng được định dạng để phần mềm có thể nhập trực tiếp. Danh sách chỉ hiển thị các định dạng cho quốc gia của cửa hàng (Cài đặt → Cửa hàng), trước tiên là các tiêu chuẩn (CSV, UBL, XAF), sau đó là các phần mềm theo thứ tự chữ cái:
| Định dạng | Tệp | Nhập vào phần mềm |
|---|---|---|
| Chung (CSV) | journaal_…csv | mọi phần mềm có chức năng nhập CSV/bút toán tổng hợp (ghép cột) |
| UBL 2.1 / Peppol (XML), NL và BE | journaal_…_ubl.xml (nhiều ngày: .zip) | mỗi ngày một hóa đơn "dagontvangsten" (khoản thu trong ngày) gửi Kassaverkopen (đã thanh toán) theo Peppol BIS Billing 3.0, với một dòng cho mỗi mức thuế VAT và tài khoản doanh thu trong AccountingCost; chỉ doanh thu và VAT (phương thức thanh toán, tiền tip, làm tròn, ngăn kéo và chênh lệch tiền mặt không thuộc về hóa đơn). Để tải lên Adsolut, Billit, BUNNI, DigiBoox, Expert/M, Moneybird, Popsy, Rompslomp, Storecove, TriFact365 và các phần mềm khác; không dùng để gửi qua mạng Peppol. Tên, mã số VAT và địa chỉ lấy từ Cài đặt → Cửa hàng |
| XML Auditfile Financieel (XAF 4.0), NL | journaal_…_xaf.xaf | auditfile của Belastingdienst (XSD XmlAuditfileFinancieel4.0): một tệp cho cả kỳ, sổ cái, mã VAT, các kỳ và mỗi ngày một giao dịch bút toán tổng hợp; có thể nhập vào Caseware, Exact Reeleezee, Visma Cash và các phần mềm khác |
| AccountView (XML), NL | journaal_…_accountview.xml | Bút toán XML (VFPData, mỗi dòng hạch toán một transact với dj_code, period, inv_date, inv_nr, acct_nr, trn_desc và amount: nợ dương, có âm), mỗi ngày một chứng từ trong sổ bút toán tổng hợp; nhập bằng định nghĩa nhập (Document → Importeren → Importdefinitie aanmaken, loại XML), tên trường là của chính AccountView, nên chỉ cần ghép 1:1 một lần. Hãy nhờ kiểm tra lần nhập đầu tiên |
| AFAS Profit (XML) | journaal_…_afas.xml | XML của UpdateConnector FiEntries (biến động tài chính), mỗi ngày một bút toán gồm năm, kỳ, sổ sách và sổ nhật ký; nhập vào Profit bằng Nhập → XML; điền số sổ sách (mặc định 1) |
| Asperion (CSV), NL | journaal_…_asperion.csv | định dạng FMUTA (Extra → Import financiële mutaties), mỗi ngày một dòng tiêu đề và các dòng bút toán; định nghĩa nhập do Asperion thiết lập qua bộ phận hỗ trợ |
| Báo cáo ngày (HTML), NL và BE | journaal_…_dagstaat.html | báo cáo ngày dễ đọc theo từng ngày (doanh thu theo mức thuế VAT, phương thức thanh toán, tiền tip, chênh lệch tiền mặt) và tổng cộng; in ra PDF hoặc gửi email, cho phần mềm không có chức năng nhập (Accountable, Dext, Dexxter, Jortt, Kleisteen, MoneyMonk) |
| e-Boekhouden.nl (CSV) | journaal_…_eboekhouden.csv | Ngày; Chứng từ; Diễn giải; Tài khoản sổ cái; Số tiền (Nợ dương, Có âm); mã VAT GEEN (VAT đã nằm trên các tài khoản VAT); Nhập → Bút toán, loại tổng hợp |
| Exact Online (XML) | journaal_…_exact.xml | eExact-XML (chủ đề GLTransactions): mỗi ngày một bút toán tổng hợp (loại 90) trong sổ nhật ký; Nhập/xuất → Nhập XML |
| InformerOnline (TXT), NL | journaal_…_informer.txt | bút toán tổng hợp phân cách bằng tab (Geavanceerd → Memoriaal → uploaden); sổ nhật ký phải có số từ 1–99 (nếu không thì 90) |
| KING ERP (XML), NL | journaal_…_king.xml | KING_JOURNAAL: một lô bút toán (chưa chốt) với mỗi ngày một bút toán nhật ký |
| KOMAS (CSV), NL | journaal_…_komas.csv | định dạng tự do của KOMAS (0401 Importeren journaalposten): Datum; Grootboek; Omschrijving; Bedrag |
| Odoo (CSV), NL và BE | journaal_…_odoo.csv | Kế toán → Journal Entries → Import records; sổ nhật ký và tài khoản theo tên hoặc mã |
| Sage BOB 50 (Excel), BE | journaal_…_bob.xlsx | Importation de données externes → Opérations diverses (ghép cột một lần) |
| SAP Business One (ZIP), NL và BE | journaal_…_sapb1.zip | Data Transfer Workbench, Journal Entries: JournalEntries.csv và JournalEntries_Lines.csv |
| SnelStart (CSV) | journaal_…_snelstart.csv | Ngày; Chứng từ; Diễn giải; Tài khoản sổ cái; Nợ; Có (dd-mm-yyyy, dấu phẩy, không có BOM); nhập bút toán tổng hợp, sổ nhật ký chọn khi nhập |
| Twinfield (XML) | journaal_…_twinfield.xml | giao dịch sổ nhật ký dạng nháp (destiny="temporary"), kế toán sẽ chốt chính thức; điền mã sổ sách (để trống = sổ sách bạn nhập vào) |
| Winbooks (CSV), BE | journaal_…_winbooks.csv | K_DOC.CSV, mỗi ngày một chứng từ trong sổ nhật ký (Winbooks tự đánh số) |
| Yuki (XML) | journaal_…_yuki.xml | Journal-XML (GeneralJournal), mỗi ngày một bút toán tổng hợp, cùng cấu trúc với kết nối trực tiếp; ID sổ sách không bắt buộc |
Tổng quan: phần mềm kế toán nào theo cách nào
Theo phân khúc, theo thứ tự chữ cái. NL/BE = phần mềm hoạt động ở quốc gia nào: tại Cài đặt → Kế toán → Phần mềm kế toán, bạn chỉ thấy các phần mềm cho quốc gia của cửa hàng (phần mềm Hà Lan không hoạt động ở Bỉ và ngược lại). Live = máy thu ngân tự ghi sổ mỗi ngày (chọn tại Cài đặt → Kế toán → Phần mềm kế toán); theo yêu cầu = có API, nhưng trước tiên cần đăng ký đối tác hoặc được nhà cung cấp phê duyệt (hãy báo cho chúng tôi). Tệp = định dạng tại Xuất cho kế toán. Khi cả hai đều được, bạn có thể dùng cả hai. Danh sách nằm trong packages/shared/src/boekhoudcatalogus.ts và cũng hiển thị tại Cài đặt → Kế toán.
| Phần mềm | NL | BE | Live | Tệp | Ghi chú |
|---|---|---|---|---|---|
| Doanh nghiệp vừa và nhỏ và người tự kinh doanh | |||||
| Accountable | – | ✓ | – | Báo cáo ngày (HTML, để in PDF hoặc gửi email) | |
| AccountView (Visma) | ✓ | – | theo yêu cầu | AccountView (XML), Chung (CSV) | Tệp: bút toán XML cho định nghĩa nhập (Document → Importeren); tệp CSV chung cũng có thể nhập bằng định nghĩa nhập. Trực tiếp qua API AccountView.Net sau khi yêu cầu với AccountView. |
| Acumulus | ✓ | – | ✓ | – | Live dưới dạng hóa đơn bán hàng đã thanh toán theo ngày, với một dòng cho mỗi mức thuế VAT. |
| AFAS Profit | ✓ | – | ✓ | AFAS Profit (XML) | |
| Asperion | ✓ | – | theo yêu cầu | Asperion (CSV) | Live sau khi đăng ký làm đối tác API tại Asperion. |
| Billit | – | ✓ | theo yêu cầu | UBL 2.1 / Peppol (XML) | Tải UBL lên qua Fast input; live sau khi được Billit phê duyệt. |
| BUNNI | ✓ | – | – | UBL 2.1 / Peppol (XML) | Chưa có tài liệu API công khai. |
| Dexxter | – | ✓ | – | Báo cáo ngày (HTML, để in PDF hoặc gửi email) | |
| DigiBoox (Visma DigiBTW) | ✓ | – | – | UBL 2.1 / Peppol (XML) | |
| e-Boekhouden.nl | ✓ | – | – | e-Boekhouden.nl (CSV) | Cũng dành cho khách hàng cũ của Ficsus. |
| Exact Online | ✓ | ✓ | ✓ | Exact Online (XML) | |
| Exact Reeleezee | ✓ | – | – | XML Auditfile Financieel (XAF 4.0) | |
| Horus | – | ✓ | ✓ | – | |
| InformerOnline | ✓ | – | – | InformerOnline (TXT) | |
| Jortt | ✓ | – | – | Báo cáo ngày (HTML, để in PDF hoặc gửi email) | Không có chức năng nhập: ghi doanh thu ngày thành doanh thu với báo cáo ngày làm tệp đính kèm. |
| KING | ✓ | – | theo yêu cầu | KING ERP (XML) | Live sau khi đăng ký đối tác tại KING Software. |
| Kleisteen | ✓ | – | – | Báo cáo ngày (HTML, để in PDF hoặc gửi email) | |
| KOMAS (Adfinis) | ✓ | – | – | KOMAS (CSV) | |
| Minox | ✓ | – | theo yêu cầu | – | Live sau khi kết nối đối tác qua Minox. |
| Moneybird | ✓ | – | ✓ | UBL 2.1 / Peppol (XML) | |
| MoneyMonk | ✓ | – | – | Báo cáo ngày (HTML, để in PDF hoặc gửi email) | MoneyMonk sẽ có API cho kết nối vào năm 2026. |
| Octopus | – | ✓ | theo yêu cầu | – | Live sau khi xin software house ID tại Octopus. |
| Popsy / Allegro | – | ✓ | – | UBL 2.1 / Peppol (XML) | |
| Rompslomp | ✓ | – | – | UBL 2.1 / Peppol (XML) | |
| Sage BOB 50 | – | ✓ | – | Sage BOB 50 (Excel) | |
| Silvasoft | ✓ | ✓ | ✓ | – | Live dưới dạng bút toán bán hàng theo ngày, với một dòng cho mỗi mức thuế VAT; phương thức thanh toán, tiền tip và chênh lệch tiền mặt không được chuyển. |
| SnelStart | ✓ | – | ✓ | SnelStart (CSV) | |
| Twinfield | ✓ | – | ✓ | Twinfield (XML) | |
| Visma Cash | ✓ | – | theo yêu cầu | XML Auditfile Financieel (XAF 4.0) | API với khóa từ CASHWeb; định dạng bản ghi cho bút toán vẫn đang được xác nhận. |
| Visma eAccounting | ✓ | – | theo yêu cầu | – | Live sau khi được Visma phê duyệt (đăng ký đối tác). |
| Winbooks | – | ✓ | theo yêu cầu | Winbooks (CSV) | |
| Wolters Kluwer Adsolut | – | ✓ | theo yêu cầu | UBL 2.1 / Peppol (XML) | UBL với tài khoản doanh thu theo từng dòng; trong Adsolut hãy bật "grootboekrekening verwerken bij verkopen". |
| Wolters Kluwer Expert/M | – | ✓ | – | UBL 2.1 / Peppol (XML) | |
| Yuki | ✓ | ✓ | ✓ | Yuki (XML) | |
| Quốc tế | |||||
| QuickBooks Online | ✓ | ✓ | ✓ | CSV chung | Không có phiên bản cho Hà Lan hoặc Bỉ: hãy kiểm tra cài đặt VAT. |
| Xero | ✓ | ✓ | ✓ | CSV chung | |
| Zoho Books | ✓ | ✓ | ✓ | CSV chung | |
| Doanh nghiệp lớn và chuỗi | |||||
| Exact Globe+ | ✓ | ✓ | – | Exact Online (XML) | Cùng XML như Exact Online; hãy nhờ kiểm tra lần nhập đầu tiên. |
| Microsoft Dynamics 365 Business Central | ✓ | ✓ | ✓ | – | |
| Odoo | ✓ | ✓ | ✓ | Odoo (CSV) | |
| Oracle NetSuite | ✓ | ✓ | theo yêu cầu | CSV chung | |
| SAP Business One | ✓ | ✓ | ✓ | SAP Business One (ZIP) | |
| Unit4 ERPx | ✓ | ✓ | – | CSV chung | |
| Nền tảng và đơn vị tổng hợp | |||||
| Apicbase | ✓ | ✓ | theo yêu cầu | – | Doanh thu theo hóa đơn cho tồn kho và food cost: kết nối tại Cài đặt → Công thức (không phải phần mềm kế toán). |
| Caseware | ✓ | ✓ | – | XML Auditfile Financieel (XAF 4.0) | |
| Combidesk | ✓ | – | theo yêu cầu | – | Combidesk tự xây dựng và quản lý kết nối (đến Exact, Moneybird, SnelStart, Twinfield và các phần mềm khác); theo yêu cầu với tư cách đối tác. |
| Dext | ✓ | ✓ | – | Báo cáo ngày (HTML, để in PDF hoặc gửi email) | Gửi báo cáo ngày (PDF) qua email đến địa chỉ Dext của bạn. |
| Jamix | ✓ | ✓ | theo yêu cầu | – | Doanh số cho tồn kho và food cost qua giao diện JAPI của Jamix; phát triển riêng theo yêu cầu tại Jamix. |
| Omniboost | ✓ | ✓ | theo yêu cầu | – | Kết nối tiếp qua chương trình đối tác của Omniboost đến nhiều hệ thống kế toán và khách sạn. |
| Storecove (Peppol) | ✓ | ✓ | theo yêu cầu | UBL 2.1 / Peppol (XML) | |
| TriFact365 | ✓ | – | – | UBL 2.1 / Peppol (XML), Báo cáo ngày (HTML, để in PDF hoặc gửi email) | |
| Mọi phần mềm khác | ✓ | ✓ | – | CSV chung, UBL hoặc XAF (NL) |
Hãy nhờ kế toán kiểm tra lần nhập đầu tiên. Định dạng nằm trong packages/shared/src/journaalexport.ts (có kiểm thử).
Cài đặt → Kế toán (quyền Cài đặt cửa hàng, thanh toán và máy in): mã sổ nhật ký (mặc định MEM) và tài khoản sổ cái cho từng mục. Để trống = tài khoản mẫu (NL: 8000/8010/8020 doanh thu, 1500/1510 VAT, 1000 tiền mặt, 1100 thẻ; BE: 7000xx doanh thu, 451000 VAT, 570000 tiền mặt). Hãy để kế toán điền các tài khoản thật.
Kết nối với phần mềm kế toán
Kết nối trực tiếp với Acumulus, AFAS Profit, Microsoft Dynamics 365 Business Central, Exact Online, Horus, Moneybird, Odoo, QuickBooks Online, SAP Business One, Silvasoft, SnelStart, Twinfield, Xero, Yuki và Zoho Books. Sau mỗi ngày, máy thu ngân ghi cùng bút toán như tệp xuất ở trên (doanh thu và VAT theo thuế suất, phương thức thanh toán, tiền boa, làm tròn, ngăn kéo và chênh lệch tiền mặt) thành bút toán tổng hợp trong phần mềm đã chọn, với sổ nhật ký và các tài khoản sổ cái từ Cài đặt → Kế toán. Luôn chỉ bật tối đa một phần mềm.
- Danh sách được chia theo phân khúc (Doanh nghiệp vừa và nhỏ và người tự kinh doanh, Quốc tế, Doanh nghiệp lớn và chuỗi) và chỉ hiển thị các phần mềm hoạt động ở quốc gia của cửa hàng; máy chủ từ chối phần mềm của quốc gia khác (400) và không ghi sổ với phần mềm đó (409). Ngay bên dưới, quản trị viên nhận đúng các trường của phần mềm đó; kết nối và danh sách các ngày đã ghi sổ nằm dưới các tài khoản sổ cái, bên dưới là bảng tổng quan tất cả phần mềm cho quốc gia này. Nếu khi cập nhật có hai phần mềm đang bật (ở phiên bản cũ điều đó có thể), Exact Online vẫn bật và phần mềm còn lại bị tắt.
| Phần mềm | Quốc gia | Kết nối bằng | Máy thu ngân ghi gì |
|---|---|---|---|
| Acumulus | NL | mã hợp đồng, người dùng và mật khẩu của một người dùng API | mỗi ngày một hóa đơn bán hàng đã thanh toán với một dòng cho mỗi mức thuế VAT; Acumulus gửi lỗi qua email đến ACUMULUS_FOUTMAIL |
| AFAS Profit | NL | môi trường, token, sổ sách | bút toán tổng hợp (FiEntries) |
| Business Central | NL, BE | tenant, môi trường, công ty, client ID và secret của một ứng dụng Microsoft Entra (API.ReadWrite.All) | các dòng trong sổ nhật ký chung với mã của Sổ nhật ký |
| Exact Online | NL, BE | đăng nhập (OAuth, ứng dụng riêng: xem Exact Online bên dưới; Bỉ: start.exactonline.be) | bút toán tổng hợp trong sổ nhật ký (vd. 90) |
| Horus | BE | đăng nhập (OAuth, ứng dụng bên dưới), tùy chọn hồ sơ | nghiệp vụ khác |
| Moneybird | NL | token API, tùy chọn sổ sách | bút toán tổng hợp (general journal document) |
| Odoo | NL, BE | địa chỉ, cơ sở dữ liệu, người dùng, khóa API | bút toán nhật ký trong sổ nhật ký có mã ngắn (vd. MISC) |
| QuickBooks Online | NL, BE | đăng nhập (OAuth, ứng dụng bên dưới; QUICKBOOKS_OMGEVING) | journal entry; tài khoản theo số |
| SAP Business One | NL, BE | địa chỉ của Service Layer, cơ sở dữ liệu, người dùng, mật khẩu | bút toán nhật ký (JournalEntries) |
| Silvasoft | NL, BE | người dùng và khóa API | bút toán bán hàng cho đối tác Kassaverkopen, một dòng cho mỗi mức thuế VAT (phương thức thanh toán, tiền tip và chênh lệch tiền mặt không được chuyển) |
| SnelStart | NL | khóa kết nối và khóa thuê bao | bút toán tổng hợp |
| Twinfield | NL | đăng nhập (OAuth, ứng dụng bên dưới), tùy chọn văn phòng | giao dịch sổ nhật ký |
| Xero | NL, BE | đăng nhập (OAuth, ứng dụng bên dưới), tùy chọn tổ chức | manual journal; tài khoản theo mã |
| Yuki | NL, BE | khóa API, tùy chọn sổ sách | bút toán tổng hợp (GeneralJournal) |
| Zoho Books | NL, BE | đăng nhập (OAuth, ứng dụng bên dưới; mặc định là trung tâm dữ liệu châu Âu), tùy chọn tổ chức | bút toán nhật ký; tài khoản theo mã |
- OAuth (Horus, QuickBooks, Twinfield, Xero, Zoho): đăng ký ứng dụng một lần tại phần mềm đó.
- Với một số phần mềm, các trường của API không thể xác nhận đầy đủ từ tài liệu công khai (gồm Horus, Zoho Books, dấu âm/dương ở Business Central và cấu trúc ở SAP Business One): luôn nhờ kế toán kiểm tra lần ghi sổ đầu tiên.
- Exact Online: ghi sổ nhật ký thành bút toán tổng hợp trong sổ sách đã chọn.
- Chọn tại Cài đặt → Kế toán → Phần mềm kế toán → Exact Online (mặc định Tắt). Bỉ: máy thu ngân tự động dùng
start.exactonline.be. - Cài đặt → Kế toán → Exact Online: Kết nối với Exact Online mở trang đăng nhập Exact; sau đó hiển thị máy thu ngân đang kết nối với sổ sách nào. Tại Sổ nhật ký, điền mã của một sổ nhật ký tổng hợp trong Exact (vd.
90) và đảm bảo các tài khoản sổ cái có trong Exact. - Khi nào: ngay sau Chốt ngày và sau đó mỗi giờ, cho tất cả các ngày đã qua (đến hết hôm qua) kể từ Ghi sổ từ ngày (mặc định là ngày kết nối; các ngày trước đó kế toán đã có). Mỗi ngày một lần; ngày không có doanh thu được bỏ qua. Ghi sổ ngay lúc nào cũng được.
- Lỗi (tài khoản không có trong Exact, ngày không cân, không có internet) được hiển thị kèm lý do ở ngày đó; máy thu ngân sẽ thử lại sau, và các ngày tiếp theo chờ đến khi thành công (để giữ đúng thứ tự). Trong nhật ký: "exact_geboekt".
- VAT nằm trên các tài khoản sổ cái VAT (không có mã VAT, giống như trong tệp xuất). Hãy nhờ kế toán kiểm tra những bút toán đầu tiên.
- Exact: kết nối vẫn hoạt động khi máy thu ngân còn dùng nó (mỗi 10 phút một token mới, mỗi lần một refresh token mới). Nếu bị thu hồi hoặc lâu không dùng, máy thu ngân sẽ yêu cầu Kết nối lại. Hủy ghép nối xóa các token; những gì đã ghi sổ vẫn giữ nguyên.
- Chọn tại Cài đặt → Kế toán → Phần mềm kế toán → Exact Online (mặc định Tắt). Bỉ: máy thu ngân tự động dùng
- AFAS Profit: số môi trường (vd.
12345; chính thức, thử nghiệm hoặc nghiệm thu), token của một app-connector với UpdateConnector FiEntries và số sổ sách (mặc định 1). Sổ nhật ký = mã của một sổ nhật ký tổng hợp trong AFAS (vd.90). - Sổ nhật ký = số hoặc tên của một sổ nhật ký tổng hợp; nếu chỉ có một sổ nhật ký tổng hợp, máy thu ngân sẽ dùng sổ đó. Tài khoản sổ cái phải là số.
- Twinfield: đăng nhập bằng OAuth. Không có ứng dụng đó, máy thu ngân không thể kết nối. Máy thu ngân tìm cluster và sổ sách (để trống = sổ đầu tiên); sổ nhật ký = mã của một sổ bút toán tổng hợp (vd.
MEMO). Ghi sổ chính thức (destiny="final"). - Yuki: khóa API của sổ sách (Yuki → Cài đặt → Dịch vụ web); sổ sách để trống = sổ sách đầu tiên của khóa đó. Ghi một bút toán tổng hợp (GeneralJournal); Yuki không dùng mã sổ nhật ký.
- Khi nào: ngay sau Chốt ngày và mỗi giờ, cho tất cả các ngày đã qua kể từ Ghi sổ từ ngày (mặc định là ngày kết nối; với phần mềm khác thì lại tính từ ngày đó). Mỗi ngày một lần cho mỗi phần mềm; ngày không có doanh thu được bỏ qua; khi có lỗi, lý do hiện ở ngày đó và các ngày sau phải chờ. Ghi sổ ngay lúc nào cũng được. Trong nhật ký: "boekhoudpakket_geboekt".
- Khóa và token không bao giờ hiện lên màn hình (để trống khi kết nối lại = giữ nguyên). Bản sao máy thu ngân trên cổng thông tin không ghi sổ.
Tệp kiểm toán máy thu ngân (XAA)
Với các cửa hàng tại Hà Lan, trong Báo cáo → Doanh thu theo kỳ, bên cạnh xuất cho kế toán có nút Tệp kiểm toán máy thu ngân (XAA): XML Auditfile Afrekensystemen 3.2 của Cơ quan Thuế Hà Lan (Belastingdienst) và XML Platform (SRA) cho kỳ đã chọn (tối đa hơn một năm một chút; quyền Doanh thu theo kỳ). Đây là tệp mà Belastingdienst khuyến nghị để cung cấp dữ liệu của máy thu ngân khi bị kiểm tra hoặc cho kế toán viên; các quy tắc nằm trong Handreiking voor een betrouwbaar afrekensysteem (Hướng dẫn về hệ thống tính tiền đáng tin cậy) (docs/xaa).
Trong tệp (auditfile_kassa_<van>_tm_<tot>.xml, lược đồ docs/xaa/XmlAuditfileAfrekensystemen3.2.xsd):
- dữ liệu gốc: cửa hàng (tên, mã số VAT, địa chỉ), các mã VAT, tất cả nhân viên (kèm vai trò và ngày tạo; cùng với
SYSTEEMcho những gì máy thu ngân tự làm, như cửa hàng trực tuyến và các kết nối) và tất cả mặt hàng kèm nhóm của chúng; - sự kiện: mọi thứ trong nhật ký của kỳ (đăng nhập và đăng xuất, mở ngăn kéo tiền, chốt ngày, thay đổi cài đặt và giá, hủy bút toán, giảm giá, trả hàng, bản sao hóa đơn, chấm công vào và ra ...) và việc mở ngày bán hàng với tiền đầu ca, mỗi sự kiện kèm mã của Belastingdienst (18001 đăng nhập, 18003 ngăn kéo, 18006 thay đổi cài đặt hệ thống, 18008 báo cáo Z, khác 18999);
- giao dịch thu ngân: mỗi hóa đơn (bán hàng, trả hàng và hóa đơn chiếu lệ, với số hóa đơn, nhân viên và trạng thái thuế nếu không hợp lệ) với tất cả các dòng (mặt hàng, nhóm, số lượng, giá, VAT; cả giảm giá, phiếu quà tặng, tiêu đề thực đơn và các dòng đã hủy trước khi thanh toán, những dòng này có số tiền 0), VAT theo thuế suất, làm tròn, thanh toán theo phương thức (tiền mặt, thẻ, phiếu quà tặng, trực tuyến; tiền boa riêng) và tiền nộp vào/rút ra khỏi ngăn kéo tiền.
Số tiền là số dương với C (bán hàng, thu tiền) hoặc D (trả hàng, chi tiền); thời gian theo giờ Hà Lan kèm độ lệch. Tất cả khóa là id trong cơ sở dữ liệu không có dấu gạch ngang, nên có thể tìm lại trong máy thu ngân.
Ký (chương 6 của đặc tả): nếu Optimum POS đã cài đặt chứng chỉ, tệp kiểm toán sẽ được ký và đặt trong một phong bì (XML Signature) và tệp có tên …_ondertekend.xml; nếu không, đó là một tệp kiểm toán riêng lẻ, và máy thu ngân sẽ báo điều đó khi tải xuống.
Mua ghi nợ
Khách hàng doanh nghiệp (một công ty tuần nào cũng đặt cơm trưa mang đi, một khách sạn, một hội) mua ghi nợ và thanh toán sau theo hóa đơn. Bật tại Cài đặt → Hóa đơn → Mua ghi nợ (chỉ khi Hóa đơn đang bật; mặc định tắt).
- Khách hàng: tại Báo cáo → Ghi nợ bạn thêm khách hàng doanh nghiệp với thông tin để lập hóa đơn (tên, địa chỉ, mã số VAT, số KvK/số doanh nghiệp, Peppol-ID, email), có thể kèm hạn mức (số nợ tối đa được phép) và thời hạn thanh toán riêng (nếu không thì theo hóa đơn), và có gửi hóa đơn ngay hay không.
- Thanh toán: phương thức Ghi nợ, chọn khách hàng (kèm số đang nợ và hạn mức). Hóa đơn bán hàng là giao dịch bán bình thường: doanh thu và VAT tính vào ngày đó, ở Bỉ vẫn qua hộp đen như thường, trên hóa đơn ghi "Ghi nợ". Máy tính tiền lập ngay hóa đơn (UBL/Peppol và bản in) cho số tiền còn nợ kèm ngày đến hạn, rồi gửi theo cài đặt hóa đơn (email, Peppol qua Billit/Storecove/Banqup hoặc địa chỉ riêng). Ghi nợ là một khoản cho phần còn lại của hóa đơn (có thể trả trước một phần bằng cách khác), không có tiền boa; không thể bán thẻ quà tặng bằng ghi nợ. Vượt hạn mức thì máy tính tiền từ chối.
- Trả nợ: khách thanh toán tại quán bằng tiền mặt, thẻ hoặc thẻ quà tặng (Báo cáo → Ghi nợ → Đã nhận thanh toán; có thể trả một phần). Đây không phải giao dịch bán mới và không có hóa đơn bán hàng mới: tiền mặt vào ngăn kéo (ngăn kéo mở ra), tất cả nằm trên X và Z trong mục Đã thu ghi nợ. Khi đã trả hết, hóa đơn chuyển sang "đã thanh toán". Không áp dụng thanh toán trực tuyến.
- Đã chuyển khoản: nếu có IBAN trong Thông tin trên hóa đơn, IBAN sẽ hiện trên hóa đơn (và trong UBL), kèm "Cũng có thể thanh toán tại quán". Nếu khách đã chuyển khoản, bạn ghi nhận bằng Đã nhận thanh toán → Đã chuyển khoản (ngân hàng): không vào ngăn kéo, nhưng có trên X và Z ở mục Đã thu ghi nợ. Không có IBAN thì ghi "Thanh toán tại quán". Tại Bỉ, hóa đơn và UBL có nội dung có cấu trúc (+++123/4567/89012+++, tạo từ số hóa đơn) để ngân hàng gửi kèm theo khoản thanh toán.
- Ngân hàng: gạch nợ chuyển khoản mà không cần nhập lại, xem bên dưới.
- Số dư (tiền trả trước): tại Báo cáo → Ghi nợ → Nạp số dư bạn nạp tiền trước vào tài khoản của khách hàng, bằng tiền mặt (ngăn kéo mở ra) hoặc thẻ, vd. cho một loạt bữa trưa. Ở lần bán ghi nợ tiếp theo, số dư được trừ vào hóa đơn trước; nếu hóa đơn nhiều hơn, phần còn lại vẫn để mở. Số dư hiển thị ở khách hàng (số dư € ...), trên X và Z dưới mục Đã thu ghi nợ (Đã nạp số dư, Bằng số dư của khách hàng) và trong sổ nhật ký là nhận trước (mặc định 1640 / 460000). Ở Bỉ khoản nạp được gửi dưới dạng tiền vào (signMoneyInOut) đến hộp đen (UC4100).
- Hóa đơn tổng hợp (theo khách hàng, mặc định tắt): với Một hóa đơn cho tất cả biên lai khách hàng chưa nhận hóa đơn khi bán ghi nợ. Biên lai vẫn mở tại khách hàng (Biên lai chưa lập hóa đơn, được tính vào hạn mức) và đã có thể thanh toán. Với Tạo hóa đơn tổng hợp (vd. cuối tháng) tất cả biên lai đang mở được gộp vào một hóa đơn, mỗi dòng có số biên lai phía trước; phần đã thanh toán được ghi là đã thanh toán. Hàng trả lại vào tài khoản được ghi thành các dòng âm. Tắt = như mọi khi, mỗi lần bán một hóa đơn. Ở Bỉ một hóa đơn với tất cả biên lai tại hộp đen (signInvoice, UC4121 và UC4122).
- Bỉ: khi khách hàng sau đó trả một giao dịch bán ghi nợ (tiền mặt, thẻ, thẻ quà tặng hoặc chuyển khoản), máy tính tiền báo cáo đó là điều chỉnh thanh toán trên hóa đơn: từ tín dụng khách hàng sang phương thức thanh toán thực tế (signPaymentCorrection, UC4118).
- Tổng quan: các hóa đơn chưa thanh toán kèm ngày đến hạn (quá hạn hiển thị màu đỏ), hóa đơn và khoản thanh toán theo từng khách hàng. Tại Cài đặt → Hóa đơn có cột Còn nợ.
- Kế toán: trong sổ nhật ký, giao dịch bán ghi nợ được hạch toán vào Công nợ phải thu (mặc định 1300 ở Hà Lan, 400000 ở Bỉ; cài đặt tại Cài đặt → Kế toán) và khoản thanh toán bằng tiền mặt, thẻ, thẻ quà tặng hoặc ngân hàng (mặc định 1050 / 550000) sang công nợ phải thu. XAA: phương thức thanh toán "Ghi nợ".
- Quyền: Thanh toán ghi nợ và nhận thanh toán ghi nợ (mặc định phục vụ không, quản lý có). Mọi thao tác đều được ghi vào nhật ký.
- Tắt: khách hàng, hóa đơn và các khoản thanh toán vẫn được giữ lại (cả trong bản sao lưu); công tắc nằm trong phần xuất cấu hình, khách hàng thì không (họ thuộc về một quán).
- Trong cửa hàng trực tuyến (tùy chọn, mặc định tắt): với Cả trong cửa hàng trực tuyến, khách hàng doanh nghiệp đặt hàng trực tuyến theo hình thức ghi nợ (mang đi và giao hàng). Tại Báo cáo → Ghi nợ bạn tạo cho mỗi khách một mã khách hàng và đưa cho khách; máy tính tiền chỉ lưu bản đã mã hóa, nên bạn chỉ thấy mã một lần. Mã khách hàng mới = mã cũ không dùng được nữa; Xóa mã khách hàng = khách đó không thể đặt ghi nợ trực tuyến nữa. Cửa hàng trực tuyến tuân thủ hạn mức. Trong cửa sổ Cửa hàng trực tuyến bạn hoàn tất đơn như vậy bằng Hoàn tất (ghi nợ): thanh toán ghi nợ, kèm hóa đơn ngay lập tức.
Ngân hàng: gạch nợ chuyển khoản
Tại Báo cáo → Ghi nợ → Ngân hàng, máy POS tìm hóa đơn ghi nợ tương ứng cho từng khoản tiền vào:
- Nhập sao kê ngân hàng: tệp từ ngân hàng trực tuyến, dạng CAMT.053 (XML, mọi ngân hàng ở Hà Lan và Bỉ), MT940 (.sta/.940) hoặc CODA (.cod, Bỉ). Chỉ các khoản tiền vào; nhập một sao kê hai lần không tạo dòng trùng.
- Tìm kiếm: theo số hóa đơn hoặc nội dung có cấu trúc trong phần mô tả (chắc chắn), nếu không thì theo số tiền (và tên): khi đó là đề xuất. Mỗi dòng bạn có thể gạch nợ (vào hóa đơn đề xuất hoặc hóa đơn khác), bỏ qua hoặc sau đó vẫn gạch nợ. Gạch nợ = Đã chuyển khoản (ngân hàng) vào ngày ngân hàng, không bao giờ vượt quá số còn nợ; không vào ngăn kéo.
- Kết nối ngân hàng (PSD2, tùy chọn): tại Cài đặt → Hóa đơn → Kết nối ngân hàng, máy POS tự tải các khoản tiền vào mỗi giờ qua Enable Banking (ngân hàng ở Hà Lan, Bỉ và phần còn lại của châu Âu). Chọn ngân hàng và đăng nhập (tài khoản doanh nghiệp); quyền truy cập có hiệu lực 180 ngày, sau đó kết nối lại. Ngắt kết nối sẽ thu hồi quyền; các khoản tiền vào vẫn được giữ. Không có hợp đồng với Enable Banking thì chỉ dùng được cho tài khoản của chính bạn (restricted production).
- Tự động gạch nợ (mặc định tắt): khoản tiền vào chắc chắn khớp với một hóa đơn sẽ được máy POS gạch nợ ngay (kể cả khi nhập sao kê).
- Quyền: gạch nợ cần Thanh toán ghi nợ và nhận thanh toán ghi nợ; cài đặt kết nối ngân hàng cần Cài đặt cửa hàng, thanh toán và máy in. Việc nhập, kết nối, tải và gạch nợ đều được ghi vào nhật ký.
- Tắt: khi tắt mua ghi nợ, máy POS không tải gì; các khoản tiền vào và kết nối vẫn được giữ (cả trong bản sao lưu).
Hình camera trên máy tính tiền
Tất cả hình camera của cửa hàng trên một trang, không cần màn hình hay ứng dụng riêng. Bật tại Cài đặt → Cửa hàng → Màn hình và thao tác → Hình camera trên máy tính tiền (mặc định tắt). Khi đó nút Camera xuất hiện trên thanh trên cùng cho người có quyền Xem hình camera (mặc định quản lý và quản trị viên; tại Cài đặt → Quyền cũng có thể bật cho nhân viên phục vụ). Tất cả camera hiển thị cạnh nhau; chạm vào camera để xem lớn. Khi tắt, các hệ thống camera vẫn được giữ lại.
Cũng có thể dùng màn hình riêng: Trên màn hình riêng mở http://<kassaserver>:3000/camera (vd. một màn hình sau quầy bar), còn Trên máy tính bảng hoặc điện thoại hiển thị mã QR: nhân viên quét bằng máy tính bảng hoặc điện thoại của mình và đăng nhập bằng mã PIN của mình (ở đó cũng chỉ khi có quyền Xem hình camera). Trên màn hình hẹp, các camera được xếp chồng lên nhau. Xem Màn hình thứ hai trên máy tính bảng hoặc điện thoại.
Quản trị viên thêm hệ thống camera bằng + Hệ thống camera, kiểm tra bằng Kiểm tra và chọn cho từng camera tên và có hiện trên trang không:
- Hikvision, Dahua, Axis và Reolink: một camera hoặc đầu ghi (NVR) trong mạng: địa chỉ IP (nếu cần kèm
:poort), một người dùng (tốt nhất chỉ được xem) và các kênh, vd.1-8hoặc1,3,5. Đăng nhập bằng Basic hoặc Digest; cho phép https với chứng chỉ riêng. - Synology Surveillance Station: địa chỉ NAS (cổng mặc định 5000, với https là 5001) và một người dùng; Lấy danh sách camera lấy các camera kèm tên.
- UniFi Protect: địa chỉ console (https) và một tài khoản cục bộ; Lấy danh sách camera.
- ONVIF: mọi camera hoặc đầu ghi có ONVIF (vd. Hanwha, Bosch, Uniview, Annke); Lấy danh sách camera tìm địa chỉ ảnh cho từng nguồn video.
- Địa chỉ web riêng: một ảnh (JPEG), một luồng MJPEG hoặc một địa chỉ
rtsp://. - Trang web của hệ thống camera (vd. Frigate, Blue Iris hoặc go2rtc): mở trong máy tính tiền khi bấm nút Camera (hoặc trong cửa sổ riêng).
Không có ffmpeg: ảnh.
Quyền riêng tư: máy tính tiền lấy hình từ hệ thống camera và chỉ chuyển tiếp; không lưu gì cả (không ghi hình, không bộ nhớ đệm). Người dùng và mật khẩu ở lại trên máy chủ và không bao giờ hiện trên màn hình hay trong nhật ký. Nhật ký ghi lại ai đã xem camera. Trang yêu cầu chính các hình bằng một khóa (hiệu lực 12 giờ, khi nhân viên còn đăng nhập), vì hình trong trình duyệt không thể gửi kèm token. Bản xuất cấu hình chỉ gồm bật/tắt.
Nhật ký các thao tác nhạy cảm
Báo cáo → Nhật ký (quản lý hoặc quản trị viên) cho biết ai đã làm gì và khi nào.
- Chọn khoảng thời gian (hôm nay, hôm qua, tuần này, tháng này/tháng trước hoặc tự chọn từ–đến), nội dung muốn xem (mặc định Thao tác nhạy cảm, hoặc vd. chỉ hủy món và giảm giá, hoặc Tất cả) và có thể chọn một nhân viên.
- Phía trên, theo nhân viên: số lần và số tiền hủy món (xóa sau khi đã gọi món), giảm giá và trả hàng, số lần mở ngăn kéo không bán hàng, lấy tiền ra khỏi ngăn kéo, in bản sao hóa đơn, tạm tính và quẹt thẻ thủ công. Chạm vào một tên để chỉ xem nhân viên đó. Cũng có số lần nhập sai mã PIN.
- Bên dưới là từng thao tác với thời gian, ai, làm gì và mô tả dễ hiểu (vd. "2x Cola bị xóa sau khi gọi món € 5,60 · bàn 4 · lý do: khách đổi ý").
- Tải về (CSV) để mở bằng Excel.
Những gì được ghi lại: hủy món, giảm giá (và gỡ bỏ), trả hàng, bản sao hóa đơn, hóa đơn tạm, thanh toán thẻ thủ công, mở ngăn kéo, tiền vào/ra ngăn kéo, tiền đầu ca, chốt ngày, chuyển món hoặc bàn, đóng đơn trống, thay đổi giá/tên/VAT của sản phẩm, sản phẩm mới hoặc đã xóa, thay đổi nhân viên và cài đặt, điều chỉnh giờ làm, đăng nhập và đăng xuất, mã PIN sai và chấm công vào/ra. Với thanh toán ghi nợ còn có: khách hàng, bán hàng và thanh toán ghi nợ, nhập sao kê ngân hàng, kết nối ngân hàng và tải dữ liệu từ ngân hàng. Với cảnh báo thời gian chuẩn bị quá lâu: các đơn bị trễ và lời xin lỗi đã gửi. Với Mailchimp hoặc Klaviyo: kết nối, chọn danh sách, hủy ghép nối và các lượt hủy đăng ký từ đó. Với điều khiển nhạc: bật/tắt và việc thêm, sửa, gỡ bỏ nguồn nhạc. Với hình camera: ai đã xem camera (tối đa một lần mỗi nửa giờ cho mỗi nhân viên), bật/tắt và các hệ thống camera. Với giám sát: mỗi cảnh báo, việc xử lý nó và việc bật/tắt.
Giám sát: gian lận và bất thường
Cài đặt → Giám sát. Hai phần, mỗi phần bật riêng và mặc định tắt; tắt đi vẫn giữ mọi cảnh báo và cài đặt. Người có quyền Thiết lập giám sát mới được thiết lập (mặc định là quản lý và quản trị viên); người được xem nhật ký thì được xem và xử lý cảnh báo. Máy tính tiền kiểm tra mỗi 5 phút (và bằng Kiểm tra ngay); không chạy trên máy tính tiền dự phòng.
Giám sát gian lận và trộm cắp (theo nhân viên, theo ngày làm việc từ 05:00), mỗi quy tắc bật hoặc tắt riêng với ngưỡng riêng:
- hủy món sau tạm tính: bị xóa sau khi khách đã xem hóa đơn;
- hủy món, giảm giá và trả hàng: từ bao nhiêu lần, hoặc tổng từ một số tiền (0 = không theo số tiền);
- mở ngăn kéo không bán hàng (nút Mở ngăn kéo);
- hóa đơn mở lâu: đã gọi nhưng sau bao nhiêu phút vẫn chưa thanh toán.
Thông báo bất thường, so với cùng ngày trong tuần và cùng thời điểm của các tuần trước (mặc định 4; ngày không có doanh thu không tính, ít nhất hai ngày để so sánh):
- doanh thu đến giờ thấp hơn (và/hoặc cao hơn) bình thường quá biên độ, chỉ khi doanh thu bình thường đạt một số tiền đã đặt;
- thời gian bếp (hóa đơn xuống bếp đến khi xong trên màn hình bếp) trong giờ qua vượt biên độ, hoặc vượt một số phút cố định;
- hủy món hôm nay vượt biên độ, chỉ từ một số lượng tối thiểu.
Mỗi cảnh báo đến một lần (theo quy tắc, nhân viên và ngày; thời gian bếp tối đa một lần mỗi giờ) và được gửi đến:
- máy tính tiền: nút Cảnh báo (n) trên thanh trên cùng với các cảnh báo của ngày, tuần hoặc 30 ngày qua; Đã xử lý kèm ghi chú. Các màn hình khác chỉ nhận một tín hiệu nhỏ không có tên;
- thông báo đẩy qua ntfy (ứng dụng miễn phí; ntfy.sh hoặc máy chủ riêng, topic và nếu cần thì token), Pushover (API-token của ứng dụng và user key) hoặc Telegram (token của bot và chat-id);
Mỗi kênh có nút Tin nhắn thử. Token và khóa nằm lại trên máy tính tiền (các màn hình chỉ thấy là đã điền hay chưa). Cảnh báo không phải là bằng chứng: hãy xem hóa đơn và nhật ký, rồi trao đổi với nhân viên.
Hóa đơn: bản sao và trả hàng (hóa đơn ghi có)
Nút Hóa đơn trên thanh trên cùng:
- Danh sách hóa đơn kể từ lần chốt ngày gần nhất, hoặc 7 ngày gần nhất; hóa đơn cũ hơn thì tìm theo số.
- In bản sao: cùng hóa đơn đó có ghi "BẢN SAO" (ở Bỉ kèm khối FDM của hóa đơn gốc). Được ghi vào nhật ký.
- Trả hàng / phiếu hoàn tiền (quản lý hoặc quản trị viên): chọn số lượng trả lại cho từng dòng, lý do và cách hoàn tiền (tiền mặt, thẻ, thẻ quà tặng, khác). Hóa đơn cũ được giữ nguyên: một phiếu hoàn tiền mới được tạo với số riêng trong sổ nhật ký (loại phiếu
retour, số tiền âm, ở Bỉ gửi đến FDM dưới dạng NR). Không bao giờ trả lại nhiều hơn số đã bán. Trong báo cáo X và Z, trả hàng được tính là doanh thu âm. - Với CCV hoặc máy POS khác: hoàn tiền trên máy POS trước, rồi đánh dấu "Đã hoàn tiền trên máy POS".
- Tiền mặt có làm tròn đến 5 xu: số tiền hoàn lại cũng được làm tròn.
- Trả lại vào tài khoản (bán ghi nợ): nếu hóa đơn là ghi nợ của khách hàng doanh nghiệp, hãy chọn Ghi nợ. Số tiền được trừ khỏi hóa đơn còn mở và máy tính tiền lập ngay một giấy báo có (trong UBL là CreditNote, loại 381, có tham chiếu đến hóa đơn; ở Bỉ được ký bằng signInvoice, UC4122). Không thể trả vào tài khoản nhiều hơn số còn mở trên hóa đơn; hãy hoàn phần còn lại bằng tiền mặt hoặc thẻ. Giấy báo có nằm ở Hóa đơn và được gửi như một hóa đơn.
Ngăn kéo tiền có cảm biến và ngăn kéo theo nhân viên
Mặc định tắt. Cài đặt tại Cài đặt → Thanh toán → Ngăn kéo tiền.
- Cảm biến: nhiều ngăn kéo báo qua máy in hóa đơn là đang mở hay đóng (ESC/POS
DLE EOT 1, chân 3 của cổng DK). Điều này chỉ được với máy in hóa đơn qua mạng. Nhấn Đo: ngăn kéo đóng và Đo: ngăn kéo mở; nếu có khác biệt, bạn áp dụng thiết lập đúng (cao = mở hoặc thấp = mở). Không khác biệt = ngăn kéo (hoặc cáp) này không có cảm biến. Máy in không trả lời = không xác định, không bao giờ là "đóng".- Không thanh toán khi ngăn kéo đang mở: khi đó máy chủ thu ngân từ chối lần thanh toán mới với thông báo "Ngăn kéo tiền vẫn đang mở".
- Ngăn kéo riêng cho từng nhân viên: một máy in hóa đơn có thể mở hai ngăn kéo (ngăn kéo 1 và ngăn kéo 2). Chọn ngăn kéo cho từng nhân viên; khi đó máy tính tiền mở ngăn kéo của người đang đăng nhập khi thanh toán tiền mặt, khi bỏ/lấy tiền khỏi ngăn kéo và khi Mở ngăn kéo. Tại Báo cáo → Tiền mặt sẽ có Ngăn kéo theo nhân viên: tiền đầu ca theo nhân viên, tiền mặt (không tính máy thu tiền tự động), dự kiến, Đếm và chênh lệch theo từng người (trong nhật ký là
ladetelling). Việc chốt ngày thông thường vẫn giữ nguyên. - Thử ngăn kéo 1 và Thử ngăn kéo 2 mở ngăn kéo để kiểm tra.
- Mở ngăn kéo không bán hàng (kèm lý do) vốn luôn được ghi vào nhật ký và vào tệp kiểm toán máy tính tiền (XAA), theo yêu cầu của Cơ quan Thuế Hà Lan (Belastingdienst) (các ngoại lệ như "no sale").
Phần 3 · Quản trị viên
Bắt đầu
Cài đặt. Bạn cài HorecaPOS bằng chương trình cài đặt cho hệ điều hành của mình, có trên trang tải về của OptimumPOS: Android (ứng dụng), Windows (chương trình cài đặt), macOS (trình cài đặt cho máy Mac dùng Apple Silicon và Intel), Linux (trình cài đặt đồ họa, hoặc gói .deb hay .rpm), Raspberry Pi (trình cài đặt đồ họa hoặc .deb cho Raspberry Pi 3, 4 hoặc 5 với Raspberry Pi OS 64-bit) và Chromebook (ứng dụng Android từ Google Play). Chọn cho tất cả người dùng nếu muốn làm máy chủ tính tiền để máy tính bảng và màn hình bếp kết nối, hoặc chỉ cho tôi nếu chỉ dùng một máy tính tiền trên thiết bị đó. Trình cài đặt cài sẵn mọi thứ cần thiết, kể cả cơ sở dữ liệu, và sao lưu mỗi đêm. Muốn cập nhật thì cài phiên bản mới: dữ liệu của bạn vẫn được giữ nguyên. Chương trình cài đặt khởi động bằng ngôn ngữ của máy tính (nếu không có thì tiếng Anh); trên Windows và Linux bạn có thể chọn ngôn ngữ khác ở màn hình đầu tiên. Sau đó máy tính tiền khởi động ngay bằng ngôn ngữ đó. Các gói .deb, .rpm và ứng dụng Android theo ngôn ngữ của hệ thống, nếu không có thì tiếng Hà Lan.
Quản trị viên thiết lập máy tính tiền qua Cài đặt. Ở đó có các thẻ như Cửa hàng, Nhân viên, Quyền, Giờ làm, Sản phẩm, Happy hour, Tồn kho, Sơ đồ bàn, Thanh toán, Máy in, Kế toán, Sao lưu, Nhập/xuất và Cơ sở dữ liệu. Quản lý thấy được những thẻ nào tùy theo quyền.
Cơ sở dữ liệu. Trong Cài đặt → Cơ sở dữ liệu (chỉ quản trị viên) bạn chọn giữa MySQL / MariaDB, cơ sở dữ liệu tích hợp và PostgreSQL; khi chuyển đổi, toàn bộ dữ liệu được chuyển theo (xem Cơ sở dữ liệu). Nếu Optimum POS đã thiết lập sẵn một địa chỉ cố định khi cài đặt thì địa chỉ đó được áp dụng và không có ô nhập. Nếu không, bạn tự điền Máy chủ, Cổng, Cơ sở dữ liệu, Người dùng và Mật khẩu. Máy tính tiền tự lưu chúng, sau đó hiển thị lại đã điền sẵn và bạn luôn có thể thay đổi bằng Thay đổi thông tin MySQL/MariaDB hoặc Thay đổi thông tin PostgreSQL. Để trống mật khẩu nghĩa là: giữ mật khẩu đã lưu (với cùng người dùng). Trình cài đặt và bản cập nhật không thay đổi gì ở DATABASE_URL hay cơ sở dữ liệu đã chọn.
Kế toán
Mọi thứ cho kế toán đều nằm ở Cài đặt → Kế toán. Cùng kế toán của bạn điền sổ nhật ký và các tài khoản sổ cái. Muốn máy thu ngân tự ghi doanh thu ngày mỗi ngày? Hãy chọn phần mềm của bạn ở trên cùng tại Phần mềm kế toán, kể cả Exact Online: bạn chỉ thấy các phần mềm hoạt động ở quốc gia của cửa hàng. Ngay bên dưới, bạn điền thông tin của phần mềm đó và kết nối. Với các phần mềm cần đăng nhập (như Exact Online, Twinfield hoặc Xero), trước tiên hãy điền ứng dụng: client ID và client secret. Nếu Optimum POS đã thiết lập cố định phần mềm hoặc một thông tin khi cài đặt, bạn sẽ không thấy lựa chọn hoặc trường đó. Ở đó cũng có bảng tổng quan tất cả phần mềm: phần mềm nào có thể kết nối trực tiếp và phần mềm nào nhận tệp. Tệp được tạo tại Báo cáo → Doanh thu theo kỳ → Xuất cho kế toán: chọn định dạng của phần mềm của bạn, hoặc UBL (Peppol), XAF hoặc báo cáo ngày. Luôn nhờ kế toán kiểm tra lần ghi sổ hoặc lần nhập đầu tiên.
Với cửa hàng tại Hà Lan, ở đó còn có Tệp kiểm toán máy thu ngân (XAA): XML Auditfile Afrekensystemen của Cơ quan Thuế Hà Lan (Belastingdienst) với tất cả hóa đơn, các dòng, thanh toán và sự kiện của máy thu ngân trong kỳ đã chọn. Bạn đưa tệp này cho kế toán viên của mình hoặc cho Belastingdienst khi bị kiểm tra.
Lương và lập lịch
Nếu nhân viên của bạn chấm công vào và ra, thì ở cuối Cài đặt → Giờ làm việc có mục Lương và lập lịch, gồm hai khối. Tại Quản lý tiền lương, bạn chọn phần mềm tính lương hoặc (tại Bỉ) văn phòng thư ký xã hội của bạn, và nhập mã số nhân viên của từng người trong phần mềm đó. Sau đó bạn tạo tệp cho một kỳ với giờ làm việc thực tế và doanh thu theo nhân viên, rồi nhập tệp đó vào phần mềm tính lương. Tại Lập lịch nhân sự, bạn chọn hệ thống lập lịch: với Deputy, Dyflexis và Shiftbase, doanh thu được gửi tự động mỗi giờ; với các hệ thống khác, bạn tạo tệp doanh thu. Nhờ vậy trong lịch làm việc bạn thấy chi phí nhân sự bên cạnh doanh thu. Nếu bạn làm việc không có chấm công vào và ra, bạn vẫn có thể gửi doanh thu đến lịch làm việc: khi đó mục này nằm ở cuối Cài đặt → Kế toán, tại Doanh thu cho lịch của bạn. Nếu Optimum POS đã cố định một thiết lập khi cài đặt, bạn sẽ không thấy lựa chọn hoặc trường đó.
Sao lưu
Máy tính tiền tự động sao lưu mỗi đêm, và luôn sao lưu trước khi cập nhật. Tại Cài đặt → Sao lưu bạn xem tất cả bản sao lưu (thời gian, ai tạo hoặc tự động, dung lượng) và có thể tự tạo bằng Tạo bản sao lưu. Nếu bản sao lưu gần nhất đã quá hai ngày, sẽ hiện cảnh báo màu đỏ: khi đó hãy liên hệ Optimum POS.
Khôi phục bằng nút Khôi phục bên cạnh một bản sao lưu. Mọi thứ xảy ra sau bản sao lưu đó sẽ bị mất. Bạn phải đánh dấu xác nhận và nhập lại mã PIN của mình. Máy tính tiền sẽ tạo thêm một bản sao lưu an toàn của trạng thái hiện tại rồi đăng xuất tất cả mọi người. Ở Bỉ không thể làm việc này từ máy tính tiền (bộ đếm của hộp đen vẫn chạy tiếp); ở đó Optimum POS sẽ thực hiện.
Cơ sở dữ liệu
Trong Cài đặt → Cơ sở dữ liệu (chỉ quản trị viên) bạn thấy máy tính tiền lưu dữ liệu ở đâu. Phía trên là cơ sở dữ liệu hiện tại với chương trình, phiên bản, số bảng, số dòng và địa chỉ hoặc thư mục. Với nhân viên và máy tính bảng, máy tính tiền hoạt động như nhau với mọi cơ sở dữ liệu. Trên Windows, macOS, Linux và Raspberry Pi bạn chọn một trong ba cơ sở dữ liệu:
- MySQL / MariaDB: một chương trình cơ sở dữ liệu riêng (MySQL 8.0 trở lên, MariaDB 10.6 trở lên), ví dụ trên máy chủ hoặc NAS bạn đã có. Khi đó toàn bộ dữ liệu nằm trong các bảng thông thường của MySQL hoặc MariaDB, đọc được bằng chương trình báo cáo hoặc BI của bạn. Máy tính tiền tính toán y hệt như với PostgreSQL.
- Tích hợp (PGlite): nằm ngay trong máy tính tiền, không cần cài gì. Lựa chọn tốt nhất cho hầu hết các quán, và là cơ sở dữ liệu trên Android và Chromebook.
- PostgreSQL: một chương trình cơ sở dữ liệu riêng trên máy tính của quầy thu ngân hoặc ở nơi khác trong mạng.
Khi nào chọn MySQL hoặc MariaDB? Khi quán của bạn đã có máy chủ MySQL hoặc MariaDB, khi người quản trị CNTT của bạn làm việc với nó, hoặc khi bạn muốn đọc dữ liệu trong báo cáo, Excel hay chương trình BI của riêng mình. Nếu phân vân, hãy chọn tích hợp: dùng được ngay.
Cần gì cho MySQL hoặc MariaDB?
- MySQL 8.0 trở lên, hoặc MariaDB 10.6 trở lên, truy cập được từ máy chủ thu ngân.
- Một cơ sở dữ liệu riêng cho máy tính tiền (hoặc cho các máy tính tiền của một chuỗi), với bộ ký tự utf8mb4.
- Một người dùng cơ sở dữ liệu được phép tạo, sửa, đổi tên và xóa bảng trong cơ sở dữ liệu đó (CREATE, ALTER, DROP, INDEX, SELECT, INSERT, UPDATE, DELETE), ví dụ như sau:
CREATE DATABASE horecapos CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'horecapos'@'localhost' IDENTIFIED BY 'wachtwoord';
GRANT ALL PRIVILEGES ON horecapos.* TO 'horecapos'@'localhost';
Nếu MySQL hoặc MariaDB chạy trên máy tính khác, ở hai dòng cuối hãy thay localhost bằng địa chỉ IP của máy chủ thu ngân.
Chuyển đổi sang MySQL / MariaDB:
- Trong Địa chỉ MySQL/MariaDB, hãy điền các ô: Máy chủ (mặc định localhost), Cổng (mặc định 3306), Cơ sở dữ liệu (mặc định horecapos), Người dùng và Mật khẩu; MariaDB cũng vậy. Nếu địa chỉ đã được thiết lập, các ô đã được điền sẵn; nếu để trống mật khẩu, mật khẩu đã lưu được giữ nguyên (với cùng người dùng). Máy tính tiền tự lưu địa chỉ; nếu Optimum POS đã thiết lập sẵn một địa chỉ cố định thì địa chỉ đó được áp dụng và không có ô nào. Nếu máy tính tiền đã chạy trên MySQL/MariaDB, sau này bạn thay đổi thông tin bằng Thay đổi thông tin MySQL/MariaDB. Kết nối mã hóa sẽ do Optimum POS thiết lập cho bạn.
- Chạm Kiểm tra kết nối: bạn thấy chương trình và phiên bản, hoặc lý do không kết nối được.
- Chạm Chuyển đổi sang MySQL/MariaDB, đánh dấu rằng bạn đã hiểu và nhập mã PIN của mình.
Chuyển đổi được theo mọi chiều giữa ba cơ sở dữ liệu, và toàn bộ dữ liệu đi theo:
- Máy tính tiền tạm thời không nhận yêu cầu (thường chưa đến một phút); sau đó máy tính bảng tự tiếp tục.
- Trước tiên máy tính tiền tạo bản sao lưu trạng thái hiện tại (trong Cài đặt → Bản sao lưu).
- Mọi thứ được chuyển sang cơ sở dữ liệu mới và máy tính tiền đếm theo từng bảng xem mọi thứ có đủ chính xác không.
- Chỉ khi mọi thứ khớp, máy tính tiền mới tiếp tục với cơ sở dữ liệu mới. Nhân viên đang đăng nhập vẫn giữ đăng nhập.
Nếu có gì thất bại, không có gì thay đổi và máy tính tiền tiếp tục làm việc với cơ sở dữ liệu cũ. Cơ sở dữ liệu cũ vẫn được giữ nguyên, nên bạn luôn có thể quay lại. Dữ liệu thu ngân đã có sẵn trong cơ sở dữ liệu MySQL/MariaDB hoặc PostgreSQL mới sẽ bị thay thế. Ở Bỉ cũng làm được: bộ đếm của hộp đen được chuyển sang chính xác.
Sao lưu và khôi phục hoạt động như nhau với cả ba cơ sở dữ liệu (Cài đặt → Bản sao lưu). Bản sao lưu của một cơ sở dữ liệu có thể khôi phục vào bất kỳ cơ sở dữ liệu nào khác, kể cả bản sao lưu của PostgreSQL vào MySQL hoặc MariaDB.
Trong MySQL hoặc MariaDB có gì? Mọi bảng của máy tính tiền, với cùng tên và cùng cột (giờ theo UTC). Mỗi bảng có thêm cột khóa _hp_sleutel, và trong các bảng phụ _horecapos_stand, _horecapos_kolom, _horecapos_reeks và _horecapos_wijziging (nhật ký thay đổi, lưu 14 ngày) máy tính tiền ghi trạng thái, loại cột, bộ đếm và các thay đổi. Các chương trình khác đọc dữ liệu; chỉ các máy tính tiền ghi.
Cách hoạt động: máy tính tiền tính toán trong một bản sao làm việc nhanh trên máy chủ thu ngân và ghi mọi thay đổi vào MySQL/MariaDB trong cùng một bước. Nếu không ghi được, thay đổi không được thực hiện và máy tính tiền báo lỗi; vì vậy hãy giữ MySQL/MariaDB luôn truy cập được. Khi khởi động, máy tính tiền đọc mọi thứ từ MySQL/MariaDB.
Nhiều máy tính tiền trên một cơ sở dữ liệu. Giống như với PostgreSQL, nhiều máy tính tiền có thể dùng cùng một cơ sở dữ liệu MySQL/MariaDB, ví dụ mỗi cửa hàng của một chuỗi có máy chủ thu ngân riêng. Các thay đổi được thực hiện lần lượt và mỗi máy tính tiền trước tiên nhận lại những gì máy khác đã làm, nên không mất gì khi thay đổi cùng lúc. Nếu một máy tính tiền khôi phục bản sao lưu hoặc một máy có phiên bản mới hơn cập nhật cơ sở dữ liệu, các máy khác tự động đọc lại toàn bộ; vì vậy hãy cập nhật tất cả máy tính tiền cùng lúc. Máy tính tiền tắt quá 14 ngày sẽ đọc lại toàn bộ khi khởi động.
Khi cài đặt bạn cũng chọn cơ sở dữ liệu: MySQL / MariaDB, tích hợp (khuyên dùng) hoặc PostgreSQL kèm địa chỉ. Nếu không truy cập được, máy tính tiền sẽ cài với cơ sở dữ liệu tích hợp; sau đó bạn có thể chuyển đổi tại đây. Khi cập nhật, lựa chọn được giữ nguyên.
Ghép nối máy tính bảng và màn hình
- Trên mỗi máy tính bảng/máy tính tiền, mở địa chỉ của máy chủ tính tiền, vd.
http://192.168.1.20:3000, và thêm lối tắt ra màn hình chính (Chrome: Thêm vào màn hình chính). - Màn hình bếp:
http://192.168.1.20:3000/keuken. - Màn hình khách (hướng về phía khách, tùy chọn):
http://192.168.1.20:3000/klantscherm, xem Màn hình khách. - Các màn hình tự tìm thấy máy chủ tính tiền (cùng địa chỉ, cổng 4000).
Màn hình khách hàng
Một màn hình trên quầy hướng về phía khách. Khách thấy sơ lược những gì đã gọi và thấy thật rõ số tiền cũng như cách thanh toán. Màn hình không có nút điều khiển: nó chỉ hiển thị theo máy tính tiền. Mặc định tắt; bật tại Cài đặt → Cửa hàng → Màn hình khách. Trên máy tính thu ngân có hai màn hình, máy thu ngân tự bật nó lần đầu tiên; nếu sau đó bạn tắt đi, nó sẽ giữ trạng thái tắt. Không có màn hình khách (tắt, hoặc không lắp) thì mọi thứ vẫn hoạt động y như trước: máy tính tiền gửi hình ảnh ngầm phía sau, nhân viên không bao giờ bị ảnh hưởng bởi lỗi hay màn hình bị thiếu.
Khách thấy gì:
- Chờ (không ai đang thanh toán): tên cửa hàng và lời chào riêng của bạn (Cài đặt → Cửa hàng; để trống = "Xin chào").
- Gọi món: các sản phẩm với số lượng và số tiền (dòng giống nhau gộp lại, combo thành một dòng với các món nhỏ bên dưới, giảm giá thành một dòng), và tổng tiền chữ lớn. Số tiền đã trả khi chia hóa đơn hiện bên dưới. Với Cài đặt → Cửa hàng → Ảnh sản phẩm → trên màn hình khách, mỗi sản phẩm có kèm một ảnh nhỏ.
- Thanh toán: phương thức thanh toán (Quẹt thẻ, Tiền mặt, Thẻ quà tặng), tiền tip và chữ lớn Cần thanh toán. Tiền mặt: số tiền khách đưa và tiền thối lại, ngay khi đã nhập trên máy tính tiền. Thẻ: "Làm theo hướng dẫn trên máy quẹt thẻ".
- Cảm ơn: sau khi thanh toán, hiện "Cảm ơn!" kèm số tiền đã trả trong vài giây (tiền mặt: tiền thối cho khách), rồi trở lại màn hình chờ.
Kết nối, theo hai cách (cả hai đều thiết lập ngay trên thiết bị):
- Màn hình thứ hai trên máy tính thu ngân (Windows, Linux/Raspberry Pi, macOS): tự động. Khi đăng nhập và sau khi cài đặt, máy thu ngân mở màn hình khách toàn màn hình trên màn hình nhỏ nhất không phải màn hình chính (nếu cùng kích thước thì chọn màn hình ngoài cùng bên phải); trên Windows luôn ở màn hình khác với máy thu ngân (máy thu ngân nằm trên màn hình cảm ứng và cũng tự mở khi khởi động). Kích thước và vị trí do hệ thống cung cấp, nên mọi cỡ màn hình đều dùng được. Không có màn hình thứ hai thì không có gì xảy ra. Trên Windows, màn hình khách đã đóng sẽ tự động mở lại; trên Linux và macOS, lối tắt HorecaPOS màn hình khách trong menu sẽ chỉnh lại cho đúng. Trên Windows, nó mở ở chế độ kiosk của Chrome (hoặc Edge): toàn màn hình, không có thanh tiêu đề và không có thanh tác vụ (đóng bằng Alt+F4). Màn hình khách đi theo máy thu ngân trên cùng máy tính mà không cần mã ghép nối.
- Trên mọi trình duyệt, nhấn giữ lâu không bao giờ mở menu trình duyệt ở bất kỳ đâu và không xuất hiện câu hỏi dịch trang.
- Máy thu ngân đóng = màn hình khách đóng. Nếu phần mềm thu ngân dừng (Khởi động lại, một bản cập nhật, máy thu ngân bị dừng hoặc bị gỡ bỏ), màn hình khách cũng đóng sau hơn 10 giây một chút; khi máy thu ngân chạy lại, nó tự trở lại. Trên Windows nó cũng đóng nếu bạn chỉ đóng cửa sổ máy thu ngân. Dưới Wayland (Linux), máy thu ngân không thể tự đóng cửa sổ.
- Lỡ đóng màn hình khách? Trên Windows nó tự trở lại sau vài giây, miễn là máy thu ngân đang mở và màn hình thứ hai được kết nối.
- Luôn chỉ có một màn hình khách. Trên Windows, màn hình khách chỉ chạy ở chế độ kiosk trên màn hình thứ hai. Màn hình khách nằm trong cửa sổ máy thu ngân (ví dụ do Edge khôi phục sau khi mất điện, hoặc được mở bằng nút trong máy thu ngân) sẽ tự đóng trong vòng vài giây; khi đó màn hình khách đúng sẽ thế chỗ.
- Không ai đăng nhập = chỉ lời chào. Nếu máy thu ngân đang ở màn hình mã PIN (kể cả sau khi khởi động lại hoặc đăng xuất), màn hình khách chỉ hiển thị dòng chào mừng, không bao giờ hiển thị hóa đơn trước đó.
- Trên Windows, bạn cũng có thể tắt việc tự động mở bằng ô đánh dấu Màn hình khách tự động ... trong trình cài đặt.
- Trên Linux, máy thu ngân di chuyển cửa sổ bằng wmctrl (đi kèm trong gói). Trên Wayland (ví dụ Raspberry Pi OS với labwc) thì không làm được: hãy tự kéo màn hình khách sang màn hình thứ hai một lần (trình duyệt sẽ ghi nhớ), hoặc chọn X11 trong raspi-config. Trên macOS, lần đầu máy Mac sẽ xin quyền trong Trợ năng.
- Thủ công: Cài đặt → Cửa hàng → Màn hình khách → Mở màn hình khách (màn hình thứ hai). Trong Chrome và Edge (cả trên Chromebook), nút này đặt ngay cửa sổ lên màn hình khách (lần đầu trình duyệt sẽ xin quyền); một cú nhấp trên màn hình khách sẽ chuyển sang toàn màn hình. Trong các trình duyệt khác: kéo sang và nhấn F11.
- Máy thu ngân Android có màn hình khách tích hợp (ví dụ Sunmi D2/T2) hoặc màn hình qua HDMI/USB-C: cũng tự động. Ngay khi ứng dụng có trên máy thu ngân, màn hình khách hiện lên màn hình thứ hai; cắm và rút đều có tác dụng ngay.
- Sunmi T1 mini / T2 mini có màn hình chữ nhỏ (2 dòng): ứng dụng tự động hiển thị số tiền ở đó: Tổng cộng, Cần thanh toán, khi trả tiền mặt Tiền thừa, sau khi thanh toán Cảm ơn! và khi rảnh là tên cửa hàng. Màn hình khách phải được bật.
- iPad (màn hình thao tác) có màn hình ngoài qua HDMI/USB-C hoặc AirPlay: ứng dụng tự động đặt màn hình khách lên màn hình đó (đã chuẩn bị; ứng dụng iOS chưa phát hành).
- Chromebook: khi dùng làm màn hình thao tác trong Chrome, nút Mở màn hình khách (màn hình thứ hai) hoạt động như trên. Trong ứng dụng Android, màn hình khách tự động hiện lên màn hình thứ hai ngay khi ChromeOS chuyển màn hình đó cho ứng dụng Android; nếu không, hãy dùng một thiết bị riêng với mã ghép nối.
- Thiết bị riêng (máy tính bảng hoặc máy tính riêng cạnh quầy): mở
http://<kassaserver>:3000/klantscherm. Màn hình hiện một mã ghép nối gồm 6 ký tự ở góc dưới bên phải. Nhập mã đó trên máy tính tiền tại Cài đặt → Cửa hàng → Màn hình khách → Ghép nối. Hủy ghép nối đưa màn hình trở về mã ghép nối. Việc ghép nối được lưu theo từng máy tính tiền (trong trình duyệt của máy đó), nên mỗi máy tính tiền có thể có màn hình khách riêng.
Màn hình khách không hỏi mã PIN (không có gì để thao tác) và chỉ hiện hình ảnh của máy tính tiền đã ghép nối. Hình ảnh chỉ nằm trong bộ nhớ của máy chủ tính tiền; sau khi khởi động lại, màn hình sẽ trống cho đến lần thay đổi tiếp theo. Cài đặt (bật/tắt và lời chào) được đưa vào bản sao lưu và vào Nhập/xuất (Cài đặt khác).
Hóa đơn điện tử qua QR (tùy chọn)
Mặc định tắt. Bật tại Cài đặt → Cửa hàng → Bếp và màn hình khách → Hóa đơn điện tử (tùy chọn này xuất hiện khi màn hình khách đã được lưu ở trạng thái bật). Sau khi thanh toán, tại Cảm ơn! sẽ có một mã QR; mã này khi đó hiển thị 45 giây thay vì vài giây. Khách quét mã bằng điện thoại của mình và xem hóa đơn, giống hệt hóa đơn giấy (cùng nội dung, với máy tính tiền ở Bỉ có cả khối FDM). Trên điện thoại, khách có thể in hóa đơn, lưu dưới dạng pdf hoặc tải về dưới dạng tệp văn bản.
- Việc này đi qua cổng quản lý:
https://kassa.<portaal>/__bon/<kassa>/<sleutel>. Vì vậy máy tính tiền phải được kết nối với cổng; nếu không sẽ không có mã QR và không có gì thay đổi. - Khóa được tạo ngẫu nhiên, không thể đoán được, và có hiệu lực 30 ngày. Sau đó máy tính tiền tự xóa khóa. Cổng không lưu gì cả.
- Hoạt động với màn hình thứ hai và với màn hình khách riêng. Hóa đơn giấy và hóa đơn qua e-mail vẫn hoạt động như bình thường.
Màn hình khách khi chờ: trình chiếu (tùy chọn)
Mặc định tắt. Bật tại Cài đặt → Cửa hàng → Bếp và màn hình khách → Màn hình khách khi chờ. Khi không có hóa đơn nào trên màn hình khách, các trang trình chiếu sẽ luân phiên (mặc định mỗi 8 giây, có thể đặt từ 4 đến 60):
- Chương trình: các khung happy hour (nếu happy hour đang bật), kèm mức giảm giá, ngày và giờ, sản phẩm hoặc nhóm; khung đang diễn ra hiển thị trước, kèm "Ngay bây giờ!".
- Sản phẩm nổi bật (tối đa 12, ví dụ món mới trong thực đơn), kèm giá và (nếu ảnh sản phẩm trên màn hình khách đang bật) ảnh. Sản phẩm hết hàng sẽ được màn hình bỏ qua.
- Thẻ tích điểm: số điểm cho mỗi euro, phần thưởng và thẻ tích dấu (chỉ khi thẻ thành viên đang bật).
- Nội dung tự soạn: tối đa 5, mỗi nội dung một trang (ví dụ "Từ thứ Sáu có mới: thực đơn mùa hè của chúng tôi").
Khi không có trang trình chiếu nào, màn hình khách hiển thị màn hình chào mừng như mọi khi.
Giờ vàng (Happy hour)
Mặc định tắt. Bật tại Cài đặt → Cửa hàng → Dùng happy hour; sau đó thẻ Cài đặt → Happy hour sẽ xuất hiện.
- Cho mỗi happy hour: tên (in trên hóa đơn), các ngày, từ–đến (có thể qua nửa đêm, vd. 23:00–01:00), giảm giá theo % hoặc giá cố định, và áp dụng cho nhóm sản phẩm và/hoặc từng sản phẩm nào.
- Trong khung giờ đó, máy tính tiền tự tính giá happy hour khi nhập món (không bao giờ đắt hơn bình thường; với giá cố định, tùy chọn vẫn được cộng thêm như thường). Trên nút sản phẩm, giá cũ bị gạch ngang kèm giá mới và HH; trong đơn hàng và trên hóa đơn có tên của happy hour. Món đã nhập trước đó giữ nguyên giá.
- Ưu đãi trong ngày: tích chọn Cả ngày (00:00–24:00) và chọn (các) ngày, ví dụ mỗi thứ Ba sườn nướng với giá cố định.
- Mùa: tích chọn Chỉ trong một mùa (hằng năm) và chọn từ và đến hết (ngày và tháng, ví dụ 1 tháng 6 đến 31 tháng 8; có thể qua năm mới, ví dụ 1 tháng 12 đến 28 tháng 2). Ngoài mùa, giờ vàng không áp dụng.
- Các thay đổi được ghi vào nhật ký.
Khung giờ phục vụ và mùa
Mặc định tắt. Bật tại Cài đặt → Cửa hàng → Khung giờ và hình thức phục vụ → Thực đơn theo khung giờ và mùa; sau đó thẻ Cài đặt → Khung giờ phục vụ sẽ xuất hiện. Nếu tắt, mọi sản phẩm lại luôn được bán và các khung giờ vẫn được giữ lại.
- Mỗi khung giờ: tên (ví dụ Bữa sáng, Bữa trưa, Bữa tối, Thực đơn mùa hè), các ngày, từ–đến (có thể qua nửa đêm; Cả ngày = 00:00–24:00), nếu cần một mùa (hằng năm, ngày và tháng), và những nhóm sản phẩm và/hoặc sản phẩm riêng lẻ thuộc khung giờ đó.
- Sản phẩm và nhóm sản phẩm nằm trong một hoặc nhiều khung giờ chỉ được bán khi một trong các khung giờ đó đang diễn ra; món không nằm trong khung giờ nào thì luôn được bán. Màn hình gọi món chỉ hiển thị những gì đang bán và tự chuyển khi một khung giờ bắt đầu hoặc kết thúc; máy chủ từ chối phần còn lại ("hiện không bán, chỉ có trong Bữa sáng").
- Cửa hàng trực tuyến hiển thị và tính cùng thực đơn đó (tại thời điểm đặt hàng).
- Giá khác vào một ngày hoặc trong một mùa là giờ vàng (ưu đãi trong ngày, xem ở trên).
- Thực đơn theo địa điểm: mỗi máy tính tiền (chi nhánh) có sản phẩm, khung giờ và giá riêng.
- Các thay đổi được ghi vào nhật ký.
Thực đơn và giá theo hình thức phục vụ
Mặc định tắt. Bật tại Cài đặt → Cửa hàng → Khung giờ và hình thức phục vụ → Thực đơn và giá theo hình thức phục vụ. Nếu tắt, giá thường lại áp dụng ở mọi nơi và mọi thứ đều được bán ở mọi nơi; các giá đã nhập vẫn được giữ lại.
- Tại Cài đặt → Sản phẩm cho từng sản phẩm: Giá mang đi và Giá giao hàng (trống = giá thường) và Bán cho (tại chỗ, mang đi, giao hàng; ít nhất một). Ở nhóm sản phẩm cũng có Bán cho, áp dụng cho mọi sản phẩm trong nhóm.
- Với đơn mang đi hoặc giao hàng, màn hình gọi món hiển thị giá của hình thức phục vụ đó và chỉ những món được bán ở đó; máy chủ tính giá đó và từ chối phần còn lại. Giờ vàng, combo và tùy chọn đều tính theo giá đó.
- Thuế suất VAT cho mang đi (ở sản phẩm) vẫn tách riêng như trước giờ.
- Cửa hàng trực tuyến hiển thị giá và sản phẩm của lựa chọn mang đi hoặc giao hàng (khi đổi, trang thực đơn tải lại), và tại bàn thì theo tại chỗ.
- Xuất và nhập cấu hình (Cài đặt → Nhập/xuất) bao gồm giá theo hình thức phục vụ, "bán cho", khung giờ phục vụ và mùa của giờ vàng.
Thực đơn
Mặc định tắt. Bật tại Cài đặt → Cửa hàng → Dùng combo.
- Combo là một sản phẩm bình thường (với giá combo), trong đó bạn thiết lập các phần tại Cài đặt → Sản phẩm → (sản phẩm) → Combo:
- cố định: luôn là sản phẩm này (vd. "Đồ uống: Rượu vang nhà");
- tùy chọn: chọn 1 (hoặc nhiều hơn) từ một nhóm sản phẩm, có thể giới hạn ở một số sản phẩm (vd. "Món chính: chọn 1 từ Món chính").
- Mỗi phần có lượt món (1 = ra ngay, 2/3 = chờ gọi ra).
- Khi nhập combo, bạn chọn món cho từng phần. Với mỗi món (kể cả món cố định), bạn có thể chọn tùy chọn như với sản phẩm lẻ (độ chín, thêm phô mai; tùy chọn bắt buộc phải được chọn) và ghi chú. Phụ thu của tùy chọn được cộng thêm vào giá combo. Combo hiện thành một dòng với các món (và tùy chọn của chúng) bên dưới.
- Các món được gửi đến bếp/quầy bar thành từng dòng riêng (phiếu bếp và màn hình bếp), theo lượt món của chúng. Riêng dòng combo thì không.
- Để tính VAT, giá combo được chia cho các phần theo tỷ lệ giá bình thường của chúng, để đồ ăn và đồ uống đều có đúng thuế suất. Trên hóa đơn có combo với tổng giá và các món bên dưới.
- Nếu bản thân combo có tùy chọn (vd. cỡ), bạn chọn ở phía trên cửa sổ combo. Tùy chọn này hiện cạnh dòng combo trên hóa đơn, và cạnh mỗi món của combo trên phiếu bếp và màn hình bếp dưới dạng "(combo)".
- Bỏ/hủy món được thực hiện cho cả combo (chạm vào dòng combo).
- Tách / chuyển: chọn dòng combo; các món sẽ đi theo. Với 2× cùng một combo, bạn cũng có thể chuyển 1 (tiêu đề và các món được tách ra).
- Không có kết nối bạn vẫn nhập combo được; chúng được lưu trên máy tính bảng và gửi đi ngay khi có kết nối lại (giống như sản phẩm lẻ).
- Happy hour cũng có thể áp dụng cho combo.
Công thức và giá vốn (Apicbase)
Kết nối với Apicbase (công thức, giá vốn, tồn kho và mua hàng) qua Generic POS API của Apicbase (mặc định tắt, mỗi phần bật hoặc tắt riêng). Thiết lập tại Cài đặt → Công thức (quyền Thiết lập cửa hàng, thanh toán và máy in). Máy tính tiền tự giao tiếp với Apicbase (chỉ lưu lượng đi ra, không cần cổng thông tin).
- Kết nối (quản trị viên điền tất cả), theo một trong ba cách:
- Dán token: trong Apicbase Library Settings → API Settings → New token → Service Account Token (scope accounts, library, sales); dán access token và refresh token;
- Đăng nhập bằng API-app riêng của cửa hàng (client-id và mã bí mật từ API Settings): Đăng nhập Apicbase rồi dán mã mà Apicbase hiển thị sau đó;
- Token hết hạn (sau 7 ngày) được máy tính tiền tự gia hạn bằng refresh token.
- Outlet: Tải outlet và chọn outlet của cửa hàng này. Máy tính tiền đặt POS ở đó thành Generic POS API với location-id riêng (có thể nhập; mặc định
HORECAPOS-…, duy nhất cho mỗi máy). - Bật, với các ô đánh dấu:
- Sản phẩm, nhóm và tùy chọn tới Apicbase: nhóm sản phẩm, sản phẩm (PLU = số PLU của sản phẩm, nếu không thì mã, nếu không thì id), tùy chọn dưới dạng modifier, kèm giá và VAT. Tự động sau mỗi thay đổi (sau một phút) và mỗi ngày. Sau đó trong Apicbase bạn liên kết từng sản phẩm của máy tính tiền với một công thức;
- Mọi hóa đơn đã thanh toán tới Apicbase: cũ nhất trước, tối đa 100 mỗi lần, trong vòng mười lăm phút sau khi thanh toán (và mỗi 5 phút). Giảm giá được chia cho các dòng; số tiền tự do, phí bao bì dùng một lần và tiền cọc là sản phẩm riêng trong Apicbase; sản phẩm cân là 1 cái với tổng tiền. Nếu không thành công, máy tính tiền dừng lại (Apicbase cần hóa đơn theo thứ tự) và thử lại sau: việc thanh toán không bị ảnh hưởng. Khi bật, bạn chọn từ ngày nào (mặc định từ bây giờ);
- Lấy giá vốn mỗi phần (mỗi 6 giờ): với mỗi công thức liên kết là food cost (nguyên liệu và hao hụt), kèm chi phí nhân sự, giá bán và biên lợi nhuận theo Apicbase. Tính theo nhà cung cấp rẻ nhất, giá đặt hàng gần nhất hoặc giá trị tồn kho trung bình;
- Lấy giá bán từ Apicbase (mặc định tắt): đặt giá bán của các sản phẩm liên kết vào máy tính tiền (ghi vào nhật ký).
- Bên dưới: Giá vốn theo sản phẩm với giá vốn, giá vốn kèm nhân sự, giá trên máy tính tiền, giá vốn % và biên lợi nhuận. Các nút Gửi danh mục ngay, Gửi hóa đơn ngay và Lấy giá vốn ngay.
Mã: apps/pos-server/src/lib/apicbase.ts, routes/apicbase.ts; màn hình Apicbase.tsx. Nhật ký: Apicbase. Điều kiện: mô-đun API của Apicbase. Cho ứng dụng của Pin Voordeel dành cho mọi khách hàng: hợp tác và chứng nhận với Apicbase (xem backlog). Tài liệu: https://developers.apicbase.com/docs/generic-pos-api-guide
Phần mềm khách sạn: tính vào phòng
Dành cho nhà hàng hoặc quầy bar trong khách sạn: tính hóa đơn vào phòng của khách. Mặc định tắt: Cài đặt → Khách sạn (quyền Cài đặt cửa hàng, thanh toán và máy in).
- Một danh sách gồm mọi phần mềm khách sạn (Phần mềm khách sạn của khách sạn). Các kết nối có sẵn:
- Mews (Connector API: client token và access token, dịch vụ của nhà hàng và với mỗi mức thuế VAT là mã VAT của Mews), apaleo (ứng dụng riêng với client ID và client secret, property ID; với mỗi mức thuế VAT có thể cần loại VAT) và Cloudbeds (khóa API và property ID), mỗi loại có môi trường thử nghiệm và môi trường thật;
- Oracle OPERA Cloud (OHIP), protel (protel I/O), RoomRaccoon, Booking Experts, Amadeus (XMLPOS), VIPS, Stayntouch, Clock PMS+, Guestline (Rezlynx), Hotelogix, eviivo, Little Hotelier, Shiji và Infor HMS (Databridge). Sau khi chọn sẽ hiện đúng các trường thuộc phần mềm khách sạn đó (khóa, ID khách sạn, có thể cả địa chỉ API của họ và mã của họ cho mỗi mức thuế VAT), kèm giải thích ngắn về những gì cần yêu cầu từ nhà cung cấp. Các kết nối này được xây dựng theo tài liệu của nhà cung cấp; hãy nhờ nhà cung cấp xác nhận kết nối và thử trước bằng Kiểm tra kết nối và một hóa đơn;
- một bản demo (bốn phòng suite, phòng 4 đến 7) để dùng thử;
- Sirvoy, dưới dạng kết nối một nửa và chỉ với Sirvoy Pro. Sirvoy không có API để máy tính tiền ghi thêm gì vào đặt phòng, kể cả bằng tệp (nhập CSV chỉ tạo đặt phòng mới). Nhờ đó máy tính tiền biết khách (phòng, tên, ngày đến, ngày đi): tìm kiếm ở Tính vào phòng và tự phục vụ trên kiosk và trong cửa hàng trực tuyến hoạt động bình thường. Hóa đơn không tự vào Sirvoy: sau khi thanh toán, hóa đơn hiện tại Cài đặt → Khách sạn trong mục Cần nhập vào Sirvoy, kèm phòng, khách, số hóa đơn và số tiền theo từng thuế suất VAT. Khách sạn nhập tay thành khoản phụ vào đặt phòng rồi bấm Đã nhập (hoàn tác bằng Vẫn chưa). Cần có:
- tốt nhất là máy tính tiền được kết nối với cổng quản trị: khi đó địa chỉ đi qua cổng quản trị (
https://<portaal>/hotel/<kassa-id>/sirvoy?sleutel=...) và không cần mở port tại khách sạn. Nếu không, chính máy tính tiền phải truy cập được từ internet qua https (tên miền riêng có chứng chỉ hoặc chuyển tiếp cổng; Sirvoy yêu cầu TLS 1.2 trở lên) và bạn nhập địa chỉ đó; - Địa chỉ chỉ hiển thị một lần; máy tính tiền chỉ lưu mã hash. Tạo địa chỉ mới = địa chỉ cũ không còn hoạt động;
- tốt nhất là máy tính tiền được kết nối với cổng quản trị: khi đó địa chỉ đi qua cổng quản trị (
Sirvoy chỉ gửi khi một đặt phòng thay đổi: các đặt phòng từ trước khi kết nối, máy tính tiền chỉ biết sau khi có thay đổi trong Sirvoy. Tin nhắn có thể đến không theo thứ tự; tin nhắn cũ hơn (generatedAt) dữ liệu máy tính tiền đã có sẽ bị bỏ qua. Trong khách sạn = chưa hủy và chưa trả phòng, đã nhận phòng hoặc ngày đến là hôm nay hay sớm hơn, và ngày đi là hôm nay hay muộn hơn. Kiểm tra kết nối cho biết đã nhận bao nhiêu đặt phòng.
Tất cả phần mềm khách sạn đều được bán ở Hà Lan và/hoặc Bỉ. Kiểm tra kết nối kiểm tra dữ liệu. Mã cho từng kết nối: apps/pos-server/src/lib/pms/<naam>.ts.
- Tự phục vụ (mặc định tắt): khách lưu trú tự tính đơn hàng vào phòng của mình, trên kiosk và/hoặc trong cửa hàng trực tuyến (mang đi và giao hàng, không áp dụng khi gọi món tại bàn). Khách nhập số phòng và họ; máy tính tiền kiểm tra trong phần mềm khách sạn xem khách đó hiện có đang ở phòng đó không. Có giới hạn tối đa mỗi đơn (mặc định € 150), và sau 5 lần nhập sai trong mười lăm phút thì khách phải đến quầy lễ tân trước. Thông báo không bao giờ cho biết ai đang ở trong phòng.
- Thanh toán: khi bật kết nối, sẽ có phương thức thanh toán Tính vào phòng. Tìm khách theo tên hoặc số phòng (chỉ khách đang lưu trú) và chạm Tính vào phòng .... Máy tính tiền ghi hóa đơn theo từng thuế suất VAT vào hóa đơn khách sạn của khách; khách thanh toán khi trả phòng.
- Bỉ: nếu đơn hàng đã nằm ở bàn trong hộp đen, trước tiên nó được chuyển từ bàn sang phòng (signCostCenterChange sang ROOM, UC4101); hóa đơn được gửi dưới dạng tín dụng phòng (ROOM_CREDIT) đến hộp đen.
- Nếu ghi vào phần mềm khách sạn không thành công (không có internet), giao dịch bán vẫn được ghi và lần ghi đó hiện là Thất bại tại Cài đặt → Khách sạn, kèm Thử lại.
- Báo cáo và kế toán: Tính vào phòng (khách sạn) là một phương thức thanh toán riêng trên báo cáo X và Z, trong báo cáo ngày và tệp kiểm toán (XAA).
Mã: apps/pos-server/src/lib/hotel.ts, routes/hotel.ts, các kết nối trong lib/pms/, danh mục packages/shared/src/hotelcatalogus.ts; màn hình Hotel.tsx. Nhật ký: Khách sạn. Bí mật (token) chỉ lưu trong cơ sở dữ liệu, không bao giờ hiện trên màn hình.
Quản lý rượu vang với Vinify
Cài đặt → Quản lý rượu vang (mặc định tắt; tắt đi vẫn giữ lại mọi thứ). Vinify theo dõi hầm rượu, danh sách rượu vang và tồn kho, và là nguồn dữ liệu chính về rượu vang. Theo yêu cầu POS của Vinify, máy tính tiền cung cấp một API để Vinify:
Đăng nhập, cả ba cách mà Vinify hỗ trợ (quản trị viên bật cách nào):
- API-id và khóa API (
X-Api-IdvàX-Api-Key, hoặcAuthorization: Bearer <id>:<sleutel>); - Khóa API và API-secret kèm chữ ký:
X-Api-Key,X-TimestampvàX-Signature= hex HMAC-SHA256(secret,<timestamp>\n<METHODE>\n<pad met query>\n<sha256 van de body>), không quá 5 phút.
Khóa và secret do máy tính tiền tạo (chỉ hiển thị một lần); các màn hình chỉ thấy chúng đã được điền hay chưa. Truy cập qua cổng tại https://<portaal>/vinify/<kassa-id>/... (không cần mở cổng mạng tại quán; địa chỉ nằm trong Cài đặt → Quản lý rượu vang). Sản phẩm nào là rượu vang: những gì Vinify tạo, cộng với các nhóm bạn đánh dấu. Nếu Vinify cung cấp địa chỉ để gửi doanh số, máy tính tiền cũng tự gửi (push, kèm token): sau mỗi hóa đơn đã thanh toán và cứ 5 phút gửi lại những gì chưa thành công. Vinify bật kết nối với HorecaPOS (hello@vinify.no). Mọi thứ đều ghi trong nhật ký. Đừng nhầm với Vinify.nl, một cửa hàng rượu vang trực tuyến: nó nằm trong danh sách nhà cung cấp (Đặt hàng nhà cung cấp).
Nhập địa chỉ nhanh bằng mã bưu chính và số nhà
Bật tại Cài đặt → Cửa hàng → Nhập địa chỉ nhanh (mặc định tắt; chỉ dành cho cửa hàng ở Hà Lan). Gõ mã bưu chính và số nhà (có thể kèm chữ cái hoặc phần bổ sung, vd. 12A hoặc 12-1) rồi nhấn Tìm địa chỉ: tên đường, số nhà, mã bưu chính và thành phố sẽ được điền. Nếu số nhà đó có nhiều địa chỉ (12, 12A, 12B), bạn chọn địa chỉ đúng. Sau đó bạn vẫn có thể tự sửa mọi thứ.
- Ở thông tin cửa hàng (Cài đặt → Cửa hàng, phía trên địa chỉ).
- Ở khách hàng có thẻ thành viên: tại máy thu ngân khi tạo khách mới và tại Báo cáo → Khách hàng. Khách hàng có thêm địa chỉ (tùy chọn): tên đường và số nhà, mã bưu chính và thành phố.
- Địa chỉ lấy từ Locatieserver của PDOK miễn phí (địa chỉ chính thức của Hà Lan, BAG): không cần tài khoản hay khóa, nhưng cần internet. Khi không có internet hoặc với địa chỉ ở Bỉ, bạn chỉ cần tự gõ địa chỉ.
Thông báo khi có phiên bản mới
Bật tại Cài đặt → Cửa hàng → Thông báo cập nhật (mặc định tắt).
- Máy tính tiền đã cập nhật: nếu máy chủ tính tiền đã được cập nhật trong khi máy tính bảng vẫn mở màn hình cũ, phía trên sẽ hiện "Máy tính tiền đã được cập nhật (phiên bản …)" với nút Làm mới. Máy tính bảng kiểm tra mỗi 5 phút, khi màn hình hiển thị lại và sau khi máy chủ khởi động lại.
- Có bản cập nhật: nếu máy tính tiền được liên kết với cổng quản lý (
PORTAAL_URL/PORTAAL_SLEUTEL) và ở đó đã điềnNIEUWSTE_VERSIE, người có quyền quản lý cài đặt sẽ thấy "Có bản cập nhật: phiên bản …" (kèm giải thích từUPDATE_NOTITIE). Để sau ẩn thông báo trên máy tính bảng đó cho đến khi có phiên bản mới hơn. Cập nhật vẫn như trước bằngscripts\windows\update.cmd(xem Cập nhật).
Nền tảng đặt bàn
Đặt bàn từ TheFork, Formitable, Zenchef, Resengo (chỉ Bỉ), OpenTable (chỉ Hà Lan), PlanPanther, RestoManager và Aqqo (chỉ Hà Lan) tự động vào máy tính tiền và lên sơ đồ bàn. Bật tại Cài đặt → Nền tảng đặt bàn (mặc định tắt). Chỉ hoạt động khi Đặt bàn được bật.
- Quốc gia của cửa hàng: bạn chỉ có thể chọn các nền tảng hoạt động ở quốc gia của cửa hàng (Resengo chỉ ở Bỉ, OpenTable và Aqqo chỉ ở Hà Lan). Máy chủ cũng kiểm tra điều này.
- Nhiều nền tảng cùng lúc: bạn có thể kết nối nhiều nền tảng song song, ví dụ TheFork và Formitable. Hai nền tảng không bao giờ nhận cùng một bàn trong cùng khung giờ; khi đó đặt chỗ thứ hai sẽ vào mà không có bàn.
- + Kết nối nền tảng: chọn nền tảng và điền thông tin. Thông tin bí mật (client secret, khóa báo lại) không bao giờ hiển thị trong danh sách; để trống = giữ nguyên, Xóa trắng = xóa.
- TheFork (API B2B công khai): Restaurant-UUID, Client ID và Client Secret (yêu cầu từ TheFork). Nếu máy tính tiền hủy, đặt bàn cũng bị hủy trên TheFork.
- Formitable, Zenchef, Resengo, OpenTable, PlanPanther, RestoManager, Aqqo: API của họ chỉ dành cho đối tác hoặc không công khai (PlanPanther, RestoManager và Aqqo: kết nối máy tính tiền được thỏa thuận với họ). Các sự kiện Formitable (
booking.created,.changed,.canceled,.checkin,.checkout) được nhận diện. - Trên sơ đồ bàn: nếu một bàn trong máy tính tiền có cùng tên với bàn của nền tảng và trống trong khung giờ đó, đặt bàn sẽ được xếp vào bàn đó; nếu không thì không có bàn (chọn khi khách đến). Đặt bàn gửi lại sẽ được cập nhật, không bị trùng. Trong danh sách hiển thị "qua TheFork".
- Trạng thái: nếu nền tảng hủy hoặc báo no-show, máy tính tiền sẽ cập nhật theo. Khách đã được ghi nhận đến trong máy tính tiền thì vẫn là đã đến.
- Báo lại (gửi lại no-show): nhập một địa chỉ báo lại (ví dụ của dịch vụ tích hợp của bạn). Máy tính tiền gửi mọi thay đổi từ máy tính tiền (đã đến, no-show, đã hủy, đã thanh toán kèm số tiền) dưới dạng JSON:
{ platform, id, status, statusEn, bedrag, valuta, tafel, tijdstip, gemeldOp }(số tiền tính bằng cent, chỉ khi đã thanh toán), kèmAuthorization: Bearer <terugmeld-sleutel>nếu bạn đã nhập. Nếu không thành công, máy tính tiền thử lại mỗi phút và lỗi hiển thị ở nền tảng. Những gì đến từ chính nền tảng sẽ không được gửi lại. - Đặt bàn thử: tạo một đặt bàn giống như nền tảng sẽ gửi.
- Xóa: kết nối và khóa bị xóa; các đặt bàn vẫn giữ lại.
- Mọi thay đổi đều có trong nhật ký (không có thông tin bí mật).
Chương trình khách hàng thân thiết và đánh giá
Hai công tắc riêng tại Cài đặt → Tích điểm và đánh giá (cả hai mặc định tắt, khi đó không thấy gì ở đâu cả). Nếu bạn tắt chúng, các cài đặt và những gì đã diễn ra vẫn được giữ lại.
Chương trình khách hàng thân thiết của nền tảng khác: khách tích điểm với Joyn (Bỉ) và/hoặc Piggy (Leat; Hà Lan và Bỉ). Việc này tách biệt với thẻ thành viên riêng của máy tính tiền; hai thứ có thể cùng bật.
- Nhiều chương trình cùng lúc: ở Bỉ, Piggy và Joyn có thể cùng bật, mỗi bên với thông tin riêng (chọn nền tảng, điền thông tin, Lưu; Sửa và Xóa cho từng nền tảng). Khách nhận cho mỗi chương trình một mã QR riêng trên hóa đơn, một liên kết riêng trong hóa đơn gửi qua email và một nút riêng trong cửa hàng trực tuyến, và tích điểm ở mỗi chương trình một lần cho mỗi đơn hàng. Những gì đã thiết lập trước đó vẫn tiếp tục hoạt động.
- Mã QR trên hóa đơn: sau khi thanh toán, dưới hóa đơn có mã QR với "Quét và tích điểm với ...". Trong hóa đơn qua email có một link, và trong cửa hàng trực tuyến (lấy tại chỗ và giao hàng) có nút trên trang đặt hàng và link trong email xác nhận. Mỗi đơn hàng chỉ được tích điểm một lần: hóa đơn, email và cửa hàng trực tuyến dùng cùng một mã duy nhất (số đơn hàng). Bạn có thể tắt "Mã QR trên hóa đơn in"; email và cửa hàng trực tuyến vẫn có link.
- Piggy, cách "Mã QR và link": nhập địa chỉ cổng khách hàng Piggy của bạn, Shop UUID và Account secret (Piggy Business Dashboard). Hoạt động không cần internet: máy tính tiền tự tạo link.
- Piggy, cách "Cộng điểm ngay": nhập thêm personal access token (Piggy → Marketplace → Private App). Nếu máy tính tiền gửi hóa đơn qua email và khách với địa chỉ email đó đã là thành viên, máy tính tiền cộng điểm ngay; trên hóa đơn sẽ ghi "Đã cộng điểm tại Piggy". Máy tính tiền không bao giờ tạo thành viên mới; không phải thành viên (hoặc không có email) = mã QR.
- Joyn, cách "Mã QR và link": với partner key, shop reference và shared secret của Joyn (yêu cầu qua api-integration@joyn.be). Hoạt động không cần internet. Mã QR có hiệu lực 2 giờ.
- Joyn, cách "Qua API": với shop API key (bật kết nối trong cổng merchant của Joyn). Khi thanh toán, máy tính tiền xin Joyn một mã tích điểm. Đổi điểm vẫn như thường lệ trên Joyn-iPad.
- Tạo link mẫu: kiểm tra thông tin có đúng không (một link trị giá € 10; chỉ mở để xem).
- Chỉ chọn được các nền tảng của quốc gia cửa hàng; các khóa bí mật chỉ nằm trong cơ sở dữ liệu và không bao giờ hiện trên màn hình (để trống = giữ nguyên).
Xin đánh giá: sau lượt ghé thăm, một email có nút dẫn đến Google và/hoặc Trustpilot.
- Vài giờ sau (có thể cài đặt, mặc định 3) khách nhận email, bằng ngôn ngữ của hóa đơn.
- Cửa hàng trực tuyến: với lấy tại chỗ và giao hàng, cửa hàng trực tuyến tự gửi email, vài giờ sau khi đơn hàng được hoàn tất trong máy tính tiền, bằng ngôn ngữ của khách.
- Google: dán link đánh giá từ Hồ sơ doanh nghiệp của bạn (Google → Hồ sơ doanh nghiệp của bạn → Xin đánh giá,
https://g.page/r/.../review) hoặc nhập Place ID. - Trustpilot: nhập tên miền cửa hàng của bạn (nút dẫn đến
trustpilot.com/evaluate/<domein>). Nếu bạn có địa chỉ mời tại Trustpilot (Automatic Feedback Service,...@invite.trustpilot.com), hãy nhập cả địa chỉ đó: email khi đó được gửi BCC cho Trustpilot, kèm tên, địa chỉ email và số hóa đơn ở dạng ẩn, và Trustpilot tự gửi lời mời (khi đó không có nút Trustpilot riêng). Chỉ Trustpilot với địa chỉ mời: máy tính tiền chỉ gửi email cho Trustpilot. - Không quá thường xuyên: cùng một khách (địa chỉ email) nhận tối đa một yêu cầu mỗi kỳ (mặc định 90 ngày; 0 = mỗi lần). Để làm vậy máy tính tiền chỉ lưu mã hash của địa chỉ; bản thân địa chỉ email bị xóa ngay khi email đã gửi (nếu không gửi được thì sau ba lần thử, và nếu không thì sau 14 ngày).
- Mã QR trên hóa đơn (không bắt buộc): thêm mã QR để đánh giá dưới hóa đơn in.
- Xem trước email và Xóa email đang chờ (các địa chỉ sẽ bị xóa ngay). Nhật ký hiển thị review_gevraagd với a***@domein.nl.
- Google và Trustpilot cấm tặng thưởng cho đánh giá và chỉ hỏi khách hài lòng ("review gating"). Vì vậy máy tính tiền hỏi mọi người như nhau và không tặng gì để đổi lấy đánh giá.
- Đọc và trả lời đánh giá trên máy POS: xem Quản lý đánh giá bên dưới.
Kết nối với Mailchimp và Klaviyo
Khách có thẻ thành viên trong chương trình email của riêng bạn: tại Cài đặt → Cửa hàng → Mailchimp và Klaviyo (bên dưới tiếp thị qua SMS và email). Không có công tắc: nếu chưa kết nối với một danh sách đã chọn thì không có gì xảy ra.
- Kết nối: bằng khóa API (Mailchimp: Hồ sơ → Extras → API keys; Klaviyo: khóa riêng
pk_…có quyền ghi cho Lists, Profiles, Subscriptions, Events, Campaigns và Templates). Client secret và khóa sẽ không bao giờ hiển thị lại trên màn hình (để trống = giữ nguyên). Sau đó bạn chọn danh sách (Mailchimp: audience). - Khách hàng: ai đồng ý nhận email sẽ vào danh sách (đã đăng ký), kèm tên, họ, điện thoại, sinh nhật và điểm tích lũy (Mailchimp: trường
PUNTEN, do máy tính tiền tự tạo; Klaviyo: thuộc tínhpunten). Rút lại sự đồng ý, đổi địa chỉ email hoặc xóa khách: hủy đăng ký. Chỉ những gì thay đổi mới được gửi lại. Khi có kết nối, máy tính tiền (và ô "ưu đãi" trong cửa hàng trực tuyến) cũng hỏi khách mới có đồng ý nhận email không, và có thể thay đổi tại Báo cáo → Khách hàng, kể cả khi không dùng tiếp thị email tích hợp. - Hủy đăng ký: ai hủy đăng ký trên Mailchimp hoặc Klaviyo cũng không còn đồng ý nhận email trong máy tính tiền (nhật ký: "đã hủy đăng ký trên Mailchimp"). Ai tự hủy đăng ký sẽ không bị máy tính tiền đăng ký lại.
- Đơn hàng: mỗi hóa đơn đã thanh toán của khách trong danh sách được gửi kèm dưới dạng sự kiện (Mailchimp:
bestelling, kèm số tiền, số hóa đơn và số lượng; Klaviyo:Placed Order, kèm giá trị bằng euro). Nhờ đó bạn tạo email tự động trong chương trình email, ví dụ sau đơn đầu tiên hoặc khi ai đó một tháng không ghé. Hóa đơn trước khi chọn danh sách sẽ không được gửi. - Chương trình: tại Báo cáo → Tiếp thị bạn cũng có thể gửi chương trình qua Mailchimp hoặc Klaviyo (xem Tiếp thị qua SMS và email); khi đó máy tính tiền tạo chiến dịch ở đó và gửi đi.
- Cập nhật: mỗi 5 phút, hoặc bằng Cập nhật ngay. Hủy ghép nối: gỡ khỏi máy tính tiền; mọi thứ trong Mailchimp và Klaviyo vẫn giữ nguyên. Khóa được lưu trong cơ sở dữ liệu (có trong bản sao lưu, không có trong bản xuất cấu hình).
Mã: lib/mailinglijst.ts, routes/mailinglijst.ts và MailingKoppelingen.tsx.
BI và xuất dữ liệu
Dữ liệu bán hàng sang Power BI, Looker Studio, Excel, Google Sheets, Tableau, Qlik Sense, Metabase, một dịch vụ BI (ví dụ YourBI, BI4Horeca hoặc Moore DRV) hoặc kho dữ liệu riêng. Bật tại Cài đặt → BI và xuất dữ liệu (mặc định tắt). Chỉ đọc: qua kết nối không thể thay đổi gì trong máy thu ngân. Không có dữ liệu của khách.
- Dữ liệu: hóa đơn (kể cả hóa đơn hoàn tiền), sản phẩm đã bán (dòng hóa đơn), thanh toán, doanh thu theo ngày, doanh thu theo giờ, hủy món, sản phẩm, nhân viên (không có mã PIN) và giờ làm việc. Số tiền tính bằng euro với dấu chấm làm dấu thập phân, thời gian theo giờ của cửa hàng.
- + Kết nối: chọn phần mềm và cách thức. Mỗi phần mềm hỗ trợ một hoặc nhiều cách; bạn có thể có nhiều kết nối cùng lúc (kể cả cho cùng một phần mềm).
- Phần mềm tự lấy (API): máy thu ngân cấp một lần khóa chỉ đọc. Khoảng thời gian bằng
?van=&tot=(YYYY-MM-DD) hoặc địa chỉ cố định với?periode=(vandaag, gisteren, 7d, 30d, 90d, 365d, week, maand, vorigemaand, jaar); tối đa 366 ngày, tối đa 200.000 dòng. Khóa đặt trongAuthorization: Bearer,X-Sleutelhoặc?sleutel=. - Qua cổng thông tin: nếu máy thu ngân đã liên kết với cổng khách hàng, cùng địa chỉ đó dùng được cả từ bên ngoài cửa hàng mà không cần mở cổng:
https://<portaal>/bi/<kassa-id>/<gegevens>?periode=90d&formaat=csv&sleutel=.... Nhờ vậy dịch vụ Power BI làm mới theo lịch (không cần gateway) và Google Sheets có thể lấy bằng=IMPORTDATA("...")(cũng là nguồn cho Looker Studio). Máy thu ngân hiển thị địa chỉ tại kết nối. - Tổng quan chuỗi qua cổng khách hàng (nhiều cửa hàng): một địa chỉ và một khóa cho tất cả máy tính tiền của bạn. Trên mỗi máy tính tiền cần tham gia, hãy bật Tổng quan chuỗi qua cổng khách hàng (bên dưới công tắc BI) và tạo khóa trong cổng khách hàng tại Máy tính tiền của tôi → BI cho tất cả cửa hàng của bạn. Sau đó:
https://<portaal>/bi/keten/<gegevens>?periode=90d&formaat=csv&sleutel=hpk_.... Cổng lấy dữ liệu từ từng máy tính tiền và gộp lại, mỗi dòng cókassaIdvàzaak. Các máy tính tiền đang ngoại tuyến hoặc không tham gia được liệt kê trongontbrekend(JSON) và trong tiêu đềX-Ontbrekend. Bản thân máy tính tiền không cần khóa riêng cho việc này; tắt trên máy tính tiền hoặc trong cổng khách hàng sẽ dừng tính năng này. - Khi có token, token được gửi dưới dạng
Authorization: Bearervà có chữ ký trongX-HorecaPOS-Handtekening(sha256=HMAC của nội dung). Nếu không thành công, máy thu ngân thử lại mỗi phút; không gì bị gửi trùng. Với từ nó gửi cả hóa đơn cũ hơn. - Máy thu ngân cung cấp tệp: mỗi ngày (vào một giờ định sẵn, cho ngày hôm trước; ngày bị lỡ sẽ được bù) hoặc mỗi giờ (hôm nay đến hiện tại), dạng CSV (dấu phẩy, hoặc dấu chấm phẩy cho Excel tiếng Hà Lan) hoặc JSON, vào một thư mục trên máy tính thu ngân (ví dụ thư mục OneDrive hoặc SharePoint cho Power BI hoặc Excel), một máy chủ FTP(S) hoặc SFTP hoặc qua email. Tên tệp:
horecapos_<gegevens>_<datum>.csv. - Gửi thử (push) và Xuất ngay (tệp) tại kết nối.
- Tự tải xuống: chọn dữ liệu, khoảng thời gian và định dạng.
- Mẫu Power BI (
.pbit): báo cáo dựng sẵn cho Power BI Desktop, với Tải mẫu Power BI trong BI và xuất dữ liệu. Trước tiên hãy tạo kết nối API (Power BI). Trong mô hình: một bảng cho mỗi tập dữ liệu với kiểu đúng, một lịch (năm, tháng, tuần, thứ), các quan hệ (ngày → lịch, dòng hóa đơn → sản phẩm, giờ làm việc → nhân viên) và các phép đo (doanh thu gồm và không gồm VAT, VAT, tiền tip, hóa đơn, khách, trung bình mỗi hóa đơn và mỗi khách, số lượng bán, doanh thu sản phẩm, đã thanh toán, hủy món, giờ làm việc, doanh thu mỗi giờ làm). Ba trang: Tổng quan (chỉ số chính, doanh thu theo ngày, thứ và giờ, phương thức thanh toán), Sản phẩm (theo nhóm và theo sản phẩm) và Nhân sự (giờ và doanh thu theo nhân viên). Qua cổng, dịch vụ Power BI cũng làm mới báo cáo theo lịch. - Thông tin bí mật (token, mật khẩu, khóa) không bao giờ hiện trong tổng quan; để trống = giữ nguyên, Xóa = bỏ đi. Mọi thứ được ghi vào nhật ký (không kèm thông tin bí mật).
Lương và lập lịch
Khi Chấm công vào và ra đang bật (Cài đặt → Cửa hàng), ở cuối Cài đặt → Giờ làm việc có mục Lương và lập lịch (quyền Quản lý cài đặt), gồm hai khối riêng. Nếu chấm công tắt thì không có giờ làm: khi đó chỉ có khối Lập lịch nhân sự (doanh thu, trực tiếp hoặc dưới dạng tệp doanh thu) ở cuối Cài đặt → Kế toán, dưới tiêu đề Doanh thu cho lịch của bạn:
- Quản lý tiền lương (payroll): chọn phần mềm tính lương hoặc (Bỉ) văn phòng thư ký xã hội, điền các trường của nó và mã số nhân viên của từng người trong phần mềm đó. Sau đó bạn tạo tệp cho một kỳ với giờ làm việc thực tế (các ca đã đóng, theo nhân viên theo ngày chấm công vào) và doanh thu theo nhân viên (chưa gồm VAT, số tiền người đó đã thu): sẵn dùng cho Loket.nl (Variabele gegevens, tổng theo nhân viên trong kỳ, dòng tiêu đề
aanslnr;persnr;ploeg;<looncomponent>) và SD Worx Bỉ (Tijdsregistratie, vị trí cố định, theo nhân viên theo ngày), còn lại là bảng giờ công (CSV: Ngày; Mã số nhân viên; Tên; Giờ; Doanh thu chưa gồm VAT). Nhân viên không có mã số nhân viên sẽ không có trong tệp của Loket hoặc SD Worx; máy thu ngân sẽ báo đó là những ai. - Lập lịch nhân sự (WFM): chọn hệ thống lập lịch. Gửi lại sẽ ghi đè. Ngoài ra còn có danh sách doanh thu (CSV theo ngày và giờ, chưa gồm và đã gồm VAT) và cho Strobbo tệp Excel cho Importeer omzet.
- Chỉ những phần mềm hoạt động ở quốc gia của cửa hàng, theo nhóm và theo thứ tự chữ cái; máy chủ từ chối phần mềm của quốc gia khác (400).
- Khóa và token không bao giờ hiển thị trên màn hình.
- Liên quan đến kế toán: chi phí nhân sự do phần mềm tính lương ghi sổ kế toán, doanh thu do máy thu ngân ghi sổ (Cài đặt → Kế toán). AFAS Payroll và Exact Online Loon nằm trong cùng môi trường với kế toán của AFAS và Exact.
- Không thể làm việc này trên bản sao của máy thu ngân trên cổng thông tin (máy thu ngân tại cửa hàng sẽ thực hiện).
- Một số phần mềm có API không công khai hoặc chỉ dành cho đối tác (vd. Loket, Nmbrs, Nostradamus, Employes, Shyfter, Planday, Eitje): những phần mềm này được ghi là theo yêu cầu; trong thời gian chờ, dùng tệp. Định dạng của SD Worx và Strobbo lấy từ tài liệu của họ: hãy nhờ kiểm tra lần nhập đầu tiên.
| Phần mềm | NL | BE | Live | Tệp | Ghi chú |
|---|---|---|---|---|---|
| Phần mềm tính lương và đơn vị dịch vụ tính lương | |||||
| ADP | ✓ | ✓ | theo yêu cầu | Bảng giờ công theo nhân viên và ngày (CSV) | Kết nối qua ADP (theo yêu cầu); trong thời gian chờ, dùng bảng giờ công theo nhân viên và ngày. |
| AFAS Payroll | ✓ | – | theo yêu cầu | Bảng giờ công theo nhân viên và ngày (CSV) | Quản lý tiền lương trong AFAS Profit (cùng môi trường với kế toán trong AFAS); kết nối theo yêu cầu, trong thời gian chờ dùng bảng giờ công. |
| BCS HR | ✓ | – | theo yêu cầu | Bảng giờ công theo nhân viên và ngày (CSV) | Kết nối qua BCS (theo yêu cầu); trong thời gian chờ, dùng bảng giờ công. |
| Buddee | ✓ | – | theo yêu cầu | Bảng giờ công theo nhân viên và ngày (CSV) | Phần mềm nhân sự và tính lương; kết nối theo yêu cầu, trong thời gian chờ, dùng bảng giờ công theo nhân viên và ngày. |
| Employes | ✓ | – | theo yêu cầu | Bảng giờ công theo nhân viên và ngày (CSV) | Employes có API cho giờ làm việc thực tế (token của khách hàng); kết nối sẽ có sau khi thống nhất với Employes. Trong thời gian chờ, dùng bảng giờ công. |
| Exact Online Loon | ✓ | – | theo yêu cầu | Bảng giờ công theo nhân viên và ngày (CSV) | Quản lý tiền lương trong Exact Online (cùng môi trường với kế toán trong Exact); kết nối theo yêu cầu, trong thời gian chờ dùng bảng giờ công. |
| Humanwave | ✓ | – | theo yêu cầu | Bảng giờ công theo nhân viên và ngày (CSV) | Kết nối qua Humanwave (theo yêu cầu); trong thời gian chờ, dùng bảng giờ công. |
| Loket.nl | ✓ | – | theo yêu cầu | Loket.nl Variabele gegevens (CSV), Bảng giờ công theo nhân viên và ngày (CSV) | Tệp cho Werkgever → Collectieve mutaties → Importeren → Variabele gegevens (giờ theo nhân viên trong kỳ). Trực tiếp qua Loket API sau khi đăng ký với Loket. |
| Nmbrs | ✓ | – | theo yêu cầu | Bảng giờ công theo nhân viên và ngày (CSV) | Bảng giờ công theo nhân viên và ngày, để nhập vào Nmbrs. Trực tiếp qua Nmbrs API sau khi đăng ký ứng dụng với Nmbrs. |
| Salar (Van Winckel) | ✓ | – | – | Bảng giờ công theo nhân viên và ngày (CSV) | Bảng giờ công theo nhân viên và ngày cho văn phòng kế toán; định dạng nhập của Salar không công khai. |
| Văn phòng thư ký xã hội | |||||
| Acerta | – | ✓ | theo yêu cầu | Bảng giờ công theo nhân viên và ngày (CSV) | Văn phòng thư ký xã hội: bạn nhận định dạng tệp công việc từ Acerta; trong thời gian chờ, dùng bảng giờ công. |
| Group S | – | ✓ | theo yêu cầu | Bảng giờ công theo nhân viên và ngày (CSV) | Văn phòng thư ký xã hội: bạn nhận định dạng tệp công việc từ Group S; trong thời gian chờ, dùng bảng giờ công. |
| Liantis | – | ✓ | theo yêu cầu | Bảng giờ công theo nhân viên và ngày (CSV) | Văn phòng thư ký xã hội có API mà Liantis mở cho từng doanh nghiệp; trong thời gian chờ, dùng bảng giờ công. |
| Partena Professional | – | ✓ | theo yêu cầu | Bảng giờ công theo nhân viên và ngày (CSV) | Văn phòng thư ký xã hội: bạn nhận định dạng tệp công việc từ Partena; trong thời gian chờ, dùng bảng giờ công. |
| SD Worx | ✓ | ✓ | – | SD Worx Tijdsregistratie (TXT), Bảng giờ công theo nhân viên và ngày (CSV) | Bỉ: tệp Tijdsregistratie (ghi nhận thời gian; vị trí cố định, theo nhân viên theo ngày) cho "Tijdsregistratie importeren". Hà Lan: bảng giờ công. |
| Securex | – | ✓ | theo yêu cầu | Bảng giờ công theo nhân viên và ngày (CSV) | Văn phòng thư ký xã hội: kết nối thực hiện qua đối tác; trong thời gian chờ, dùng bảng giờ công. |
| Lập lịch và ghi nhận giờ làm | |||||
| Book'u | – | ✓ | theo yêu cầu | Doanh thu theo ngày và giờ (CSV) | Book'u thực hiện khai báo Dimona; kết nối máy thu ngân theo yêu cầu. Trong thời gian chờ, dùng danh sách doanh thu. |
| Deputy | ✓ | ✓ | ✓ | Doanh thu theo ngày và giờ (CSV) | Trực tiếp: doanh thu theo giờ được gửi mỗi giờ đến Deputy (Sales). Bạn tạo token vĩnh viễn trong Deputy tại mục kết nối API. |
| Dyflexis | ✓ | – | ✓ | Doanh thu theo ngày và giờ (CSV) | Trực tiếp: doanh thu theo giờ được gửi mỗi giờ đến Dyflexis (information streams). Bạn nhận API token qua Dyflexis. |
| Eitje | ✓ | – | theo yêu cầu | Doanh thu theo ngày và giờ (CSV) | Eitje kết nối qua chương trình đối tác của mình; trong thời gian chờ, dùng danh sách doanh thu theo ngày và giờ. |
| Exact Horeko | ✓ | – | theo yêu cầu | Doanh thu theo ngày và giờ (CSV) | Kết nối qua Horeko (theo yêu cầu); trong thời gian chờ, dùng danh sách doanh thu. |
| Fooks | ✓ | – | theo yêu cầu | Doanh thu theo ngày và giờ (CSV) | Fooks tự xây dựng kết nối máy thu ngân; trong thời gian chờ, dùng danh sách doanh thu theo ngày và giờ. |
| L1NDA | ✓ | – | theo yêu cầu | Doanh thu theo ngày và giờ (CSV) | L1NDA xây dựng kết nối máy thu ngân cùng với đối tác; trong thời gian chờ, dùng danh sách doanh thu theo ngày và giờ. |
| Mr. Einstein | ✓ | – | theo yêu cầu | Doanh thu theo ngày và giờ (CSV) | Nhân sự, lịch làm việc và chi phí lương cho ngành nhà hàng; Mr. Einstein xây dựng kết nối máy thu ngân cùng với nhà cung cấp máy tính tiền (yêu cầu qua mreinstein.nl/contact). Trong thời gian chờ, dùng danh sách doanh thu theo ngày và giờ. |
| Nostradamus | ✓ | ✓ | theo yêu cầu | Doanh thu theo ngày và giờ (CSV) | Nostradamus nhận doanh thu qua giao diện máy thu ngân của mình (token API và tên miền của cơ sở, sau khi yêu cầu với Nostradamus); trước đó dùng danh sách doanh thu theo ngày và giờ. |
| Plan-Me | – | ✓ | theo yêu cầu | Doanh thu theo ngày và giờ (CSV) | Plan-Me thực hiện khai báo Dimona; kết nối máy thu ngân theo yêu cầu. Trong thời gian chờ, dùng danh sách doanh thu. |
| Planday | ✓ | ✓ | theo yêu cầu | Doanh thu theo ngày và giờ (CSV) | Planday có API mở cho hệ thống tính tiền; kết nối sẽ có sau khi thống nhất. Trong thời gian chờ, dùng danh sách doanh thu. |
| Shiftbase | ✓ | – | ✓ | Doanh thu theo ngày và giờ (CSV) | Trực tiếp: doanh thu theo ngày được gửi mỗi giờ đến sổ nhật ký của bộ phận trong Shiftbase. Bạn tạo khóa API trong Shiftbase tại App center. |
| Shyfter | – | ✓ | theo yêu cầu | Doanh thu theo ngày và giờ (CSV) | Shyfter thực hiện khai báo Dimona và nhận doanh thu theo ngày qua API của mình; kết nối sẽ có sau khi thống nhất với Shyfter. Trong thời gian chờ, dùng danh sách doanh thu. |
| Strobbo | ✓ | ✓ | – | Nhập doanh thu Strobbo (Excel), Doanh thu theo ngày và giờ (CSV) | Tệp Excel cho Planning → € → Importeer omzet (doanh thu theo ngày theo khu vực làm việc). |
| Tamigo | ✓ | ✓ | theo yêu cầu | Doanh thu theo ngày và giờ (CSV) | Kết nối qua Tamigo (theo yêu cầu); trong thời gian chờ, dùng danh sách doanh thu. |
| Werktijden.nl | ✓ | – | – | Doanh thu theo ngày và giờ (CSV), Bảng giờ công theo nhân viên và ngày (CSV) | Werktijden.nl tự ghi nhận giờ làm và (chưa) nhận doanh thu qua API của mình; các danh sách dùng để đối chiếu. |
| XPS Logic | ✓ | – | theo yêu cầu | Doanh thu theo ngày và giờ (CSV) | XPS Logic dành cho nhân sự linh hoạt và nhân sự thời vụ qua công ty cung ứng; kết nối theo yêu cầu. Trong thời gian chờ, dùng danh sách doanh thu. |
Yêu cầu pháp lý tại Bỉ và Hà Lan
Pháp luật yêu cầu gì và HorecaPOS làm gì để đáp ứng (hãy nhờ kế toán xác nhận điều gì áp dụng cho cửa hàng của bạn):
| Quốc gia | Yêu cầu | HorecaPOS |
|---|---|---|
| Bỉ | Hệ thống tính tiền đã đăng ký (GKS 2.0) với hộp đen cho các cơ sở nhà hàng phải tuân thủ (ví dụ khi doanh thu từ bữa ăn trên € 25.000 mỗi năm, chưa gồm VAT) | kết nối với hộp đen (FDM), các thông tin bắt buộc trên hóa đơn và bộ đếm trong báo cáo Z (quốc gia Bỉ tại Cài đặt → Cửa hàng, FDM_API_KEY và FDM_TERMINAL_ID); ở đầu Cài đặt → Cửa hàng, bạn chọn cửa hàng có thuộc diện GKS không: Có = chỉ thanh toán với hộp đen đang hoạt động, Không = không có hộp đen, kèm xác nhận của quản trị viên (mỗi năm xác nhận lại); khi chưa chọn thì không thể thanh toán. Máy tính tiền đếm doanh thu bữa ăn và cảnh báo khi vượt 25.000 € |
| Bỉ | Hóa đơn điện tử qua Peppol: từ ngày 1 tháng 1 năm 2026, hóa đơn giữa các doanh nghiệp Bỉ chịu thuế VAT bắt buộc phải ở dạng điện tử có cấu trúc (UBL, Peppol BIS 3); hóa đơn bán lẻ cho người tiêu dùng không thuộc diện này | xuất doanh thu ngày dưới dạng UBL theo Peppol BIS Billing 3.0 cho phần mềm kế toán (Xuất kế toán); và hóa đơn từ phiếu thu cho khách hàng doanh nghiệp (Cài đặt → Hóa đơn): UBL theo Peppol BIS Billing 3.0 cùng hóa đơn để in, gửi qua email, qua Billit đến mạng Peppol, đến địa chỉ riêng hoặc tải xuống (xem Hóa đơn cho khách hàng doanh nghiệp) |
| Bỉ | VAT nhà hàng từ ngày 1 tháng 3 năm 2026: đồ ăn mang đi và đồ uống không cồn 12% (cả tại chỗ lẫn mang đi), rượu bia 21%, món ăn khách còn tự chế biến (fondue, gourmet) 6% | Trợ lý VAT (Cài đặt → Luật và quy định): loại cho từng sản phẩm, mức đúng ngay lập tức hoặc từ một ngày; mô tả các mức A/B/C đã được cập nhật |
| Hà Lan | Alcoholwet: không bán rượu bia cho người dưới 18 tuổi, kể cả khi bán trực tuyến và giao hàng (kiểm tra tuổi khi giao) | Kiểm tra tuổi: sản phẩm có cồn; trên cửa hàng trực tuyến khách hàng tự xác nhận 18+ (ô không đánh dấu sẵn) kèm thông báo rằng tuổi sẽ được kiểm tra khi giao; "18+" trên phiếu bếp, phiếu giao hàng và hóa đơn |
| Hà Lan | Cốc và hộp dùng một lần (SUP): từ 2024 có giá riêng, hiển thị rõ cho bao bì nhựa dùng một lần khi mang đi và giao hàng | Phụ phí bao bì dùng một lần theo từng sản phẩm, thành dòng riêng trên hóa đơn (VAT của sản phẩm) và tách riêng trong doanh thu |
| Hà Lan | Tiền cọc cho lon và chai nhựa | Tiền cọc theo từng sản phẩm (€ 0,15 / € 0,25), dòng riêng không có VAT khi mang đi và giao hàng, tách riêng trong doanh thu |
| Hà Lan | Thanh toán tiền mặt: từ ngày 1 tháng 1 năm 2026 không được nhận tiền mặt từ € 3.000 trở lên cho hàng hóa | Cảnh báo khi mang đi và giao hàng (cả tại máy thu tiền mặt); có thể xác nhận, được ghi vào nhật ký |
| Hà Lan và Bỉ | Thay đổi VAT: một mức hoặc một sản phẩm nhận phần trăm VAT khác từ một ngày | Lên lịch thay đổi VAT: máy tính tiền thực hiện ngay trong ngày đó (tại Bỉ theo từng sản phẩm, các chữ A/B/C/D là cố định) |
| Hà Lan | Lưu trú (qua đêm) 21% từ ngày 1 tháng 1 năm 2026 | có thể đặt mức VAT cho từng sản phẩm |
| EU | Chỉ thị Omnibus: giá "gốc" bị gạch chỉ được là giá thấp nhất trong 30 ngày qua | cửa hàng trực tuyến chỉ gạch giá so với giá thấp nhất trong 30 ngày (máy tính tiền lưu lịch sử giá; giờ vàng lặp lại hằng tuần cũng được tính) |
| EU | European Accessibility Act (từ ngày 28 tháng 6 năm 2025): cửa hàng trực tuyến dễ tiếp cận (WCAG 2.1 AA) | cửa hàng trực tuyến dùng được với bàn phím và trình đọc màn hình (liên kết "Đến nội dung", tiêu điểm hiển thị, nhãn) và có tuyên bố về khả năng tiếp cận (liên kết ở cuối trang) |
| Hà Lan | XML Auditfile Financieel (XAF): tiêu chuẩn của Belastingdienst (Cơ quan Thuế Hà Lan) để chuyển giao (một phần) sổ sách; XAF 4.0 bắt buộc từ năm 2027 | xuất dưới dạng XAF 4.0 (Xuất cho kế toán) |
| Hà Lan | Hệ thống tính tiền đáng tin cậy: lưu giữ dữ liệu máy thu ngân (tất cả hóa đơn, điều chỉnh và sự kiện) và có thể cung cấp dưới dạng số khi bị kiểm tra; Belastingdienst khuyến nghị dùng XML Auditfile Afrekensystemen (XAA) cho việc này | xuất dưới dạng XAA 3.2 (Báo cáo → Doanh thu theo kỳ → Tệp kiểm toán máy thu ngân), có thể ký bằng chứng chỉ của nhà cung cấp nếu muốn |
| Bỉ | Ghi nhận có mặt trong hệ thống tính tiền đã đăng ký: ghi nhận thời điểm bắt đầu và kết thúc giờ làm việc của người lao động vào hệ thống tính tiền | Chấm công vào và ra (Cài đặt → Cửa hàng; Bắt buộc = phải chấm công vào trước) được ghi nhận vào hộp đen |
| Bỉ | Dimona: khai báo mọi việc làm (kể cả flexi-job và sinh viên) với RSZ trước khi bắt đầu | việc này do văn phòng thư ký xã hội hoặc công cụ lập lịch của bạn thực hiện (vd. Shyfter, Book'u, Plan-Me); HorecaPOS cung cấp giờ làm việc thực tế và doanh thu (Cài đặt → Giờ làm việc → Lương và lập lịch) |
| Hà Lan | Ghi nhận thời gian làm việc và nghỉ ngơi (Luật Thời gian Làm việc, Arbeidstijdenwet) | Chấm công vào và ra với giờ làm việc thực tế theo nhân viên, quản trị viên có thể chỉnh sửa (có nhật ký), và bảng giờ công cho phần mềm tính lương |
| Hà Lan và Bỉ | HACCP / an toàn thực phẩm: ghi nhận nhiệt độ (làm lạnh, tủ đông, giữ nóng, nấu chín, làm nguội lại, nhận hàng) và vệ sinh; NL Hygiënecode voor de Horeca (NVWA), BE tự kiểm soát FAVV (hướng dẫn G-023) | Ghi nhận HACCP trên máy tính tiền (Cài đặt → Luật và quy định, nút HACCP phía trên): điểm đo có giới hạn, công việc vệ sinh và kiểm tra, bắt buộc biện pháp khắc phục khi có sai lệch, không thể chỉnh sửa, tổng quan bản ghi bị bỏ sót dạng CSV hoặc bản in (xem Ghi nhận HACCP) |
| Hà Lan và Bỉ | Nghĩa vụ lưu trữ (NL 7 năm, BE 10 năm) | hóa đơn, báo cáo Z và nhật ký hệ thống được lưu trong cơ sở dữ liệu và trong bản sao lưu; nhật ký hệ thống không thể bị sửa hoặc xóa từ máy thu ngân |
Luật và quy định
Cài đặt → Luật và quy định (quản trị viên; trợ lý VAT cũng dùng được với quyền Quản lý sản phẩm). Mọi thứ mặc định đều tắt; không có các cài đặt này máy tính tiền vẫn hoạt động như thường.
- Kiểm tra tuổi khi bán rượu bia (18+): đánh dấu Có cồn tại Sản phẩm (hoặc dùng trợ lý VAT). Khi mang đi và giao hàng có rượu bia, "18+" xuất hiện trên phiếu bếp, hóa đơn và trong màn hình đơn hàng. Trên cửa hàng trực tuyến khách hàng tự xác nhận mình từ 18 tuổi trở lên (ô không đánh dấu sẵn) và thấy rằng tuổi sẽ được kiểm tra khi giao.
- Phụ phí bao bì dùng một lần (Hà Lan): một số tiền cho từng sản phẩm (giá tham khảo: cốc € 0,25, hộp đựng bữa ăn € 0,50, hộp nhỏ € 0,05). Khi mang đi và giao hàng máy tính tiền tự thêm dòng "Phụ phí bao bì dùng một lần" vào hóa đơn (với VAT của sản phẩm); dòng này tự động đi kèm sản phẩm (cơ sở dữ liệu theo dõi nó, kể cả sau khi xóa, di chuyển hoặc đổi loại đơn hàng) và tách riêng trong doanh thu. Tại chỗ không có phụ phí. Thuisbezorgd.nl và cửa hàng trực tuyến tính phụ phí riêng của họ.
- Tiền cọc (Hà Lan): theo từng sản phẩm (€ 0,15 lon/chai, € 0,25 chai lớn), dòng "Tiền cọc" không có VAT, chỉ khi mang đi và giao hàng.
- Tiền mặt từ € 3.000 trở lên (Hà Lan, cấm đối với hàng hóa từ 1-1-2026): khi mang đi và giao hàng có cảnh báo lúc thanh toán và tại máy thu tiền mặt; nhân viên có thể xác nhận (vd. dịch vụ catering), việc này được ghi vào nhật ký. Ăn uống tại chỗ là dịch vụ: không có cảnh báo.
- Trợ lý VAT: loại cho từng sản phẩm (bữa ăn, đồ uống không cồn, đồ uống có cồn, thực phẩm không cần chế biến, khác; ban đầu là đoán dựa trên tên và nhóm). Máy tính tiền hiển thị mức đúng cho tại chỗ và mang đi (Bỉ từ 1-3-2026: bữa ăn và nước ngọt 12%, cả mang đi; rượu bia 21%; thực phẩm không cần chế biến 6%. Hà Lan: 9% và 21%) và áp dụng, ngay lập tức hoặc từ một ngày.
- Lên lịch thay đổi VAT: một sản phẩm sang mức khác, hoặc (chỉ Hà Lan) một mức với phần trăm mới, từ một ngày. Máy tính tiền tự thực hiện vào ngày đó (kiểm tra mỗi 15 phút, và khi khởi động).
Hóa đơn (bắt buộc giữa các doanh nghiệp tại Bỉ) nằm ở mục Hóa đơn cho khách hàng doanh nghiệp. Việc cần làm: GKS 2.0, hỏi tình trạng chứng nhận (xem docs/backlog-concurrenten.md).
Hóa đơn cho khách hàng doanh nghiệp
Cài đặt → Hóa đơn (quản trị viên; mặc định tắt): bật Hóa đơn cho khách hàng doanh nghiệp (UBL / Peppol). Khi bật, bên dưới có Mua ghi nợ, Thông tin trên hóa đơn, Dịch vụ Peppol, Kết nối ngân hàng (cùng mua ghi nợ) và danh sách tất cả hóa đơn. Tại Bỉ, hóa đơn điện tử giữa các doanh nghiệp là bắt buộc từ 1-1-2026.
- Hóa đơn cho khách hàng doanh nghiệp: Biên lai → chọn biên lai → Hóa đơn. Nhập khách hàng (hoặc chọn khách hàng trước đó); máy tính tiền tạo hóa đơn có số (vd. F2026-0001, tăng dần theo năm), dưới dạng UBL theo Peppol BIS Billing 3.0 và dạng hóa đơn để in hoặc lưu thành PDF. Gửi qua e-mail (cả hai dưới dạng tệp đính kèm, có thể gửi bản sao cho kế toán), qua Billit đến mạng Peppol (
BILLIT_API_KEY,BILLIT_PARTY_ID), qua Storecove (STORECOVE_API_KEY,STORECOVE_LEGAL_ENTITY_ID; người nhận được xác định từ Peppol-ID của khách hàng, vd. 0208 → BE:EN, 0106 → NL:KVK, nếu không thì gửi e-mail qua Storecove) hoặc qua Banqup của Unifiedpost (BANQUP_CLIENT_ID,BANQUP_CLIENT_SECRET,BANQUP_SPACE_ID;BANQUP_SANDBOX=1cho môi trường thử nghiệm; Banqup kiểm tra UBL và tự gửi đi), đến địa chỉ riêng (FACTUUR_HTTP_URL, vd. phần mềm kế toán hoặc dịch vụ Peppol khác) hoặc tải xuống. Một hóa đơn cho mỗi biên lai; biên lai đã được thanh toán nên ghi "đã thanh toán". Số KvK/số doanh nghiệp, IBAN, Peppol-ID, tiền tố và thời hạn thanh toán tại Thông tin trên hóa đơn. Tất cả hóa đơn ở cuối tab (quyền Doanh thu theo kỳ). - Khóa, secret và header không bao giờ được hiển thị (chỉ "đã điền"; để trống = giữ nguyên, Xóa = gỡ bỏ) và không được ghi vào nhật ký (chỉ ghi các trường đã thay đổi). Chúng được lưu trong cơ sở dữ liệu (
vestiging.peppol_gegevens): có trong bản sao lưu, không có trong bản xuất cấu hình.
Kiosk tự phục vụ
Khách tự gọi món trên trụ hoặc máy tính bảng, như ở nhà hàng thức ăn nhanh, và thanh toán tại quầy hoặc bằng thẻ tại kiosk. Màn hình gọi món là một phần của chính máy tính tiền, nên thực đơn, giá, tùy chọn, combo, happy hour, khung giờ, ảnh, chất gây dị ứng, ngôn ngữ và hóa đơn đều lấy từ máy tính tiền và không cần thiết lập ở nơi khác. Trên kiosk chạy ứng dụng PinPortal Kiosk 2 (Android, cả Sunmi, và Windows, Linux, macOS), hiển thị trang và in hóa đơn. Mặc định tắt.
Bật và cài đặt (quản trị viên): Cài đặt → Cửa hàng → Màn hình và thao tác → Kiosk tự phục vụ.
- Chọn những gì khách có thể chọn: Ăn tại chỗ và/hoặc Mang đi (mang đi tính theo giá mang đi và thuế suất VAT mang đi, nếu đã cài).
- Lời chào, sau bao nhiêu giây không chạm thì kiosk quay về đầu (giỏ hàng khi đó được xóa), và những nhóm sản phẩm nào có trên kiosk (không chọn gì = tất cả).
- Thêm gì nữa không?: chọn các nhóm sản phẩm (vd. đồ uống, tráng miệng); ở giỏ hàng kiosk sẽ gợi ý vài sản phẩm từ các nhóm đó.
- Thanh toán, theo từng kiosk (xem Thêm và kết nối kiosk):
- Tại quầy (mặc định, như kiosk cũ): khách gọi món, nhận số lấy món và thanh toán tại quầy. Không cần máy POS ở kiosk.
- Bằng thẻ tại kiosk: khách thanh toán trên máy POS ở kiosk.
- Khách tự chọn: tại quầy hoặc bằng thẻ. Nếu kiosk không có máy POS thì thanh toán tại quầy.
- Vào bếp (khi thanh toán tại quầy): ngay sau khi gọi món tại kiosk (mặc định), hoặc chỉ khi đã thanh toán tại quầy.
- Hóa đơn: trên máy in của kiosk (mặc định), trên máy in hóa đơn của quầy, hoặc không in (chỉ số trên màn hình). Khi thanh toán tại quầy, kiosk in một phiếu có số và chưa thanh toán; hóa đơn được in khi tính tiền tại quầy.
- Trạng thái đơn trên điện thoại (tùy chọn, mặc định tắt): mã QR xuất hiện trên hóa đơn của kiosk và màn hình cuối. Khách quét mã, thấy số và trạng thái (đã đặt, đang chuẩn bị, xong) và nhận thông báo khi đơn đã xong. Tính năng chạy qua cổng quản lý, nên máy tính tiền phải được kết nối với cổng.
- Đồ uống có cồn và sản phẩm bán theo ký không bao giờ có trên kiosk: không có nhân viên thì không kiểm tra được tuổi và không có cân.
- Máy quét mã vạch (tùy chọn, mặc định tắt hết): đánh dấu những gì một lần quét trên kiosk được làm:
- một sản phẩm vào giỏ hàng (mã của sản phẩm);
- một mã giảm giá;
- một thẻ thành viên (khách được tích điểm);
- một thẻ quà tặng hoặc thẻ trả trước để thanh toán. Nếu đủ số dư, đơn hàng được thanh toán ngay. Nếu không, thẻ trả một phần và khách trả phần còn lại bằng thẻ hoặc tại quầy (khi đó cũng được phép trên kiosk chỉ nhận thẻ). Sau khi thanh toán một phần như vậy, khách không thể hủy nữa; đơn hàng hiện trên máy POS là Kiosk … · số.
Bản thân máy quét được cài đặt trên kiosk: trong ứng dụng PinPortal Kiosk 2 tại quản lý → Máy quét mã vạch (như bàn phím, máy quét tích hợp hoặc cổng COM), có kiểm tra máy quét. Máy quét hoạt động như bàn phím cũng chạy được mà không cần ứng dụng.
- Nạp thêm số dư (tùy chọn, mặc định tắt; chỉ hoạt động khi Số dư nạp thêm đang bật): khi đó màn hình bắt đầu của kiosk có Nạp thêm số dư. Khách quét thẻ thành viên hoặc thẻ quà tặng (hoặc nhập mã), xem số dư và chọn số tiền. Bạn tự cài đặt các số tiền (từ 1 đến 6, mặc định € 10, € 20 và € 50). Thanh toán theo cài đặt của kiosk: bằng thẻ, hoặc tại quầy với số lấy món. Sau khi thanh toán, số tiền được cộng vào số dư. Lần nạp thêm như vậy không gửi vào bếp, không hiện trên màn hình gọi số và không có mã QR. Số dư tối đa của Số dư nạp thêm cũng áp dụng ở đây.
- Tính vào phòng của tôi (kết nối khách sạn, mặc định tắt; Cài đặt → Khách sạn → Tự phục vụ): khi đó ở giỏ hàng có nút Tính vào phòng của tôi. Khách lưu trú nhập số phòng và họ; nếu khớp với một khách đang ở phòng đó, đơn hàng được gửi xuống bếp và được ghi là đã thanh toán vào phòng (xem Phần mềm khách sạn: tính vào phòng).
- Bỉ (hộp đen): những gì chưa được kiểm thử với hộp đen sẽ tự động tắt trên kiosk (thẻ quà tặng hoặc số dư làm phương thức thanh toán, nạp tiền, mã giảm giá, set menu, tùy chọn có phụ thu, happy hour), giống như tại máy tính tiền.
Thêm và kết nối kiosk
- Ở Các kiosk, nhập tên (vd. Kiosk lối vào) và chọn Thêm kiosk. Bạn nhận được mã kết nối 6 chữ số (hiệu lực 30 phút).
- Chọn ở kiosk cách khách thanh toán: mặc định tại quầy. Nếu là kiosk có máy POS, chọn bằng thẻ hoặc khách tự chọn, rồi chọn máy POS của kiosk này (từ Cài đặt → Thanh toán).
- Mở trang kiosk trên kiosk:
- tại cửa hàng: trong ứng dụng ở mục quản lý → Vast adres, nhập địa chỉ ghi ở phần cài đặt, vd.
http://192.168.1.20:3000/kiosk; - hoặc qua cổng quản lý (https, kể cả khi kiosk không cùng mạng): liên kết địa chỉ kiosk ghi ở phần cài đặt với mã kiosk của ứng dụng, giống như với kiosk cũ.
- tại cửa hàng: trong ứng dụng ở mục quản lý → Vast adres, nhập địa chỉ ghi ở phần cài đặt, vd.
- Nhập mã kết nối trên kiosk. Xong: kiosk ghi nhớ khóa riêng của mình. Kết nối lại cho mã mới; Xóa ngắt kết nối.
Mỗi kiosk hiển thị có đang trực tuyến hay không.
Khách gọi món như thế nào
- Màn hình bắt đầu với lời chào; khách chọn ngôn ngữ (mọi ngôn ngữ của máy POS) và chạm để gọi món.
- Ăn tại chỗ hoặc mang đi.
- Thực đơn theo nhóm sản phẩm, có ảnh, giá (có happy hour), chất gây dị ứng và món đã hết. Sản phẩm có lựa chọn hoặc combo sẽ mở cửa sổ chọn.
- Giỏ hàng: đổi số lượng và có thể Thêm gì nữa không?.
- Gọi món (thanh toán tại quầy): khách thấy số lấy món lớn trên màn hình cùng số tiền, nhận phiếu và thanh toán tại quầy. Trong máy tính tiền, đơn mở với tên Kiosk Lối vào · 42 (số khách nói); tính tiền như bình thường. Sau đó đơn hiện là đã thanh toán trên màn hình gọi số và vào bếp nếu điều đó chỉ xảy ra sau khi thanh toán.
- Thanh toán bằng thẻ: máy tính tiền gửi số tiền đến máy POS của kiosk này (cùng kết nối thanh toán như tại quầy). Nếu không thành công, khách có thể thử lại hoặc hủy (hoặc, nếu được chọn, thanh toán tại quầy). Chỉ khi thanh toán thành công, đơn mới vào bếp và được tính tiền. Khách thấy số lấy món lớn trên màn hình và nhận hóa đơn.
- Sau vài giây kiosk quay về màn hình đầu.
Khi có sự cố: thông báo và chế độ khẩn cấp (trong ứng dụng kiosk, quản lý → Bij storing; mặc định tắt). Nếu kiosk không kết nối được máy tính tiền, màn hình hiện Even gesloten. Hai tính năng thêm:
- Teams, Slack, Discord, ntfy, Home Assistant, Make hoặc Zapier), và tin nhắn hersteld khi hoạt động lại. Dùng Testmelding sturen để kiểm tra địa chỉ.
- Chế độ khẩn cấp: kiosk lưu một thực đơn đơn giản do trang kiosk chuyển sang: sản phẩm không có lựa chọn hay combo, với giá ăn tại chỗ (hoặc mang đi nếu đó là lựa chọn duy nhất).
- Nếu máy tính tiền mất kết nối một lúc (mặc định 60 giây), khách gọi món từ thực đơn đó.
- Khách thanh toán bằng thẻ hoặc tại quầy. Chỉ thanh toán thẻ được khi Pinbetaling được bật trong ứng dụng.
- Có hai phiếu khẩn cấp: một cho khách (N1, N2 …) và một cho quầy/bếp. Trên phiếu có ghi rằng đây không phải hóa đơn tính tiền.
- Khi máy tính tiền hoạt động lại, trang kiosk đưa các đơn khẩn cấp vào máy tính tiền với tên Nood N… <kiosk>. Các đơn này không gửi xuống bếp (bếp đã có phiếu khẩn cấp) và không hiện trên màn hình gọi số.
- Đã thanh toán bằng thẻ và cùng số tiền như trong máy tính tiền: quyết toán là Thanh toán thẻ thủ công. Nếu không (thanh toán tại quầy, hoặc số tiền khác), đơn vẫn để mở cho nhân viên phục vụ.
- Mọi thứ đều được ghi trong nhật ký.
- Bỉ: với hệ thống tính tiền đã đăng ký (GKS, hộp đen), mọi giao dịch bán phải đi ngay qua máy tính tiền và FDM. Khi đó chế độ khẩn cấp nhiều khả năng không được phép; hãy hỏi rõ trước. Ở Bỉ, ứng dụng kiosk chỉ bật chế độ này sau một bước xác nhận thêm, và máy tính tiền hiển thị cảnh báo ở phần kiosk.
Trong máy tính tiền, đơn từ kiosk là đơn bình thường (mang đi hoặc ăn tại chỗ, tên Kiosk Lối vào) đứng tên nhân viên Kiosk. Máy tính tiền tự tạo nhân viên này; không ai đăng nhập được. Đừng đặt là ngừng hoạt động, nếu không kiosk không thể gọi món. Đơn từ kiosk có trong báo cáo, trong Hóa đơn và trên màn hình gọi số. Đơn chưa hoàn tất trên kiosk (chưa gọi hoặc chưa thanh toán bằng thẻ) tự hết hạn sau 30 phút.
Thanh toán thẻ ở chế độ thử (Cài đặt → Thanh toán)? Khi đó kiosk không thu tiền thật; tiện để thử. Không có internet thì không thể thanh toán bằng thẻ; kiosk sẽ báo có thể gọi món tại quầy.
Sự cố: nếu không kết nối được máy tính tiền, ứng dụng kiosk hiển thị "Tạm đóng cửa" và tự tiếp tục. Nếu kiosk chạy qua cổng quản lý và mất internet, ứng dụng có thể chuyển sang máy tính tiền trong mạng nội bộ (trong ứng dụng: quản lý → Tiện ích mở rộng → Khi có sự cố, chuyển sang mạng nội bộ); kiosk tự chuyển địa chỉ đó.
Tắt: kiosk báo đang tạm đóng. Các kiosk và cài đặt vẫn được giữ. Nhật ký ghi lại bật/tắt, cài đặt, kiosk được thêm và xóa, việc kết nối và các đơn bị hủy.
Bảng menu điện tử
Thực đơn có giá trên tivi (hoặc màn hình khác có trình duyệt), lấy trực tiếp từ máy tính tiền. Mặc định tắt; bật tại Cài đặt → Cửa hàng → Màn hình và thao tác → Bảng menu điện tử. Sau đó mở trên tivi http://<kassaserver>:3000/menubord (hoặc nút Trên màn hình riêng / Trên máy tính bảng hoặc điện thoại với mã QR). Không cần đăng nhập và không cần ghép nối.
- Theo từng nhóm sản phẩm, các sản phẩm kèm giá, theo thứ tự như trên máy tính tiền. Bạn tự chọn nhóm nào (và theo thứ tự nào), 1 đến 4 cột, nền tối hoặc sáng, tiêu đề riêng (để trống = tên cửa hàng), ảnh sản phẩm và chất gây dị ứng.
- Luôn chính xác: bảng lấy thực đơn mỗi 10 giây (và ngay khi có thay đổi), nên sản phẩm hết hàng (gạch ngang kèm Hết hàng, hoặc bị gỡ khỏi bảng), tồn kho trống, happy hour (giá khuyến mãi với giá thường bị gạch ngang, cùng tên và giờ kết thúc ở phía trên) và khung giờ phục vụ (chỉ những gì đang bán) đều tự động hiển thị đúng.
- Nếu không vừa hết trên màn hình, các trang sẽ luân phiên (mặc định mỗi 12 giây, có thể đặt từ 5 đến 120).
Nhân viên và mã PIN
Cài đặt → Nhân viên (chỉ quản trị viên): thêm nhân viên, đổi tên, vai trò và mã PIN, và cho ngừng hoạt động.
- Vai trò: phục vụ (gọi món, thanh toán, báo cáo X), quản lý (thêm giảm giá, trả hàng, chốt ngày, ngăn kéo tiền và nhật ký) và quản trị viên (tất cả, kể cả mọi Cài đặt). Đó là mặc định; quyền của phục vụ và quản lý có thể điều chỉnh (xem Quyền theo vai trò).
- Mã PIN từ 4 đến 8 chữ số, không trùng giữa các nhân viên đang hoạt động. Mã PIN chỉ được lưu dạng mã hóa (hash) trong cơ sở dữ liệu và không thể đọc lại.
- Không thể xóa hẳn (hóa đơn và nhật ký có liên kết đến nhân viên); ngừng hoạt động = không thể đăng nhập nữa.
- Luôn phải còn ít nhất một quản trị viên đang hoạt động.
- Đổi vai trò, mã PIN mới hoặc ngừng hoạt động: các phiên đang mở của nhân viên đó bị kết thúc ngay.
- Bỉ: có thể nhập số đăng ký quốc gia để đăng ký nhân viên.
- Ngôn ngữ: ngôn ngữ màn hình cho nhân viên này (hoặc "Ngôn ngữ của thiết bị"). Sau khi đăng nhập, máy tính tiền hiện ngay bằng ngôn ngữ đó; nhân viên cũng có thể tự đổi bằng lá cờ nhỏ ở góc dưới bên phải (xem Ngôn ngữ).
- Mẹo: hãy thay mã PIN demo 1111 và 2222 trước khi máy tính tiền chính thức hoạt động.
Đăng nhập bằng thẻ (tùy chọn)
Mặc định tắt. Bật: Cài đặt → Nhân viên, đánh dấu Đăng nhập bằng thẻ (NFC, RFID hoặc iButton). Cần có: đầu đọc thẻ USB hoạt động như bàn phím (cho thẻ NFC hoặc RFID, móc khóa, vòng đeo tay hoặc khóa iButton). Đầu đọc như vậy "gõ" số thẻ và nhấn Enter; không cần trình điều khiển hay kết nối.
- Liên kết: chạm vào nhân viên, rồi Liên kết thẻ và đưa thẻ vào đầu đọc. Mỗi thẻ thuộc về một nhân viên. Gỡ thẻ khi bị mất.
- Đăng nhập: trên màn hình đăng nhập, đưa thẻ vào đầu đọc. Mã PIN vẫn dùng bình thường.
- Chấm công vào và ra (nếu đang bật): trên màn hình đăng nhập chọn Chấm công vào / ra và đưa thẻ vào đầu đọc.
- Số thẻ chỉ được lưu dạng mã hóa (hash) trong cơ sở dữ liệu, giống như mã PIN. Nhân viên ngừng hoạt động cũng không thể đăng nhập bằng thẻ của mình.
- Tắt: chỉ đăng nhập bằng mã PIN, như mọi khi. Các thẻ đã liên kết vẫn được giữ lại.
Quyền theo vai trò
Cài đặt → Quyền (chỉ quản trị viên): đánh dấu cho từng vai trò những gì phục vụ và quản lý được phép làm. Mặc định mọi thứ y như trên (như máy tính tiền vẫn làm từ trước); ô nào khác mặc định sẽ được tô màu.
| Quyền | Phục vụ | Quản lý |
|---|---|---|
| Xóa dòng sau khi đã gọi món (hủy món) | có | có |
| Giảm giá / bỏ giảm giá | không | có |
| Đánh dấu sản phẩm là "hết hàng" | có | có |
| In bản sao hóa đơn | có | có |
| Trả hàng (hóa đơn hoàn tiền) | không | có |
| Thanh toán ghi nợ và nhận thanh toán ghi nợ (chỉ khi bật mua ghi nợ) | không | có |
| Báo cáo tạm thời (báo cáo X) | có | có |
| Chốt ngày (báo cáo Z) | không | có |
| Doanh thu theo kỳ | không | có |
| Quản lý ngăn kéo tiền | không | có |
| Quản lý thẻ quà tặng (chỉ với thẻ quà tặng có số dư) | không | có |
| Đọc và trả lời đánh giá (chỉ khi bật quản lý đánh giá) | không | có |
| Quản lý thẻ thành viên (chỉ khi bật thẻ thành viên) | không | có |
| Xem nhật ký | không | có |
| Xem hình camera (chỉ khi bật hình camera) | không | có |
| Quản lý tồn kho (chỉ khi bật tồn kho) | không | có |
| Quản lý sản phẩm | không | không |
| Quản lý sơ đồ bàn | không | không |
| Cài đặt cửa hàng, thanh toán và máy in | không | không |
| Xem và chỉnh sửa giờ làm việc | không | không |
- Quản trị viên luôn được làm mọi thứ. Việc thay đổi nhân viên và quyền luôn chỉ dành cho quản trị viên (nếu không, ai đó có thể tự cấp thêm quyền cho mình).
- Các nút và thẻ mà một vai trò không được phép dùng sẽ bị ẩn với vai trò đó; máy chủ thu ngân cũng kiểm tra điều này. Ví dụ, nếu quản lý được quyền Quản lý sản phẩm, họ sẽ thấy nút Cài đặt chỉ với thẻ Sản phẩm.
- Thay đổi có hiệu lực ngay trên tất cả máy thu ngân và được ghi vào nhật ký. Khôi phục mặc định đưa mọi thứ về như ban đầu.
Thông tin của quán
Cài đặt → Cửa hàng (chỉ quản trị viên): tên, địa chỉ, mã bưu chính, thành phố, điện thoại và mã số VAT của chi nhánh. Các thông tin này nằm ở đầu mỗi hóa đơn và hóa đơn pro forma. Bạn cũng có thể đặt dòng chữ cuối hóa đơn tại đây (được nhiều dòng; để trống = không có chữ; mặc định "Cảm ơn và hẹn gặp lại!"), và bên dưới là ngôn ngữ của hóa đơn (mặc định tiếng Hà Lan; xem Ngôn ngữ). Bản xem trước hóa đơn thay đổi theo ngay lập tức. Sau khi lưu, hóa đơn tiếp theo dùng ngay thông tin mới. Quốc gia và dữ liệu thuế (GKS) cố ý không thể thay đổi tại đây. Ở Bỉ, mã số VAT là bắt buộc. Khi tích ô Làm tròn thanh toán tiền mặt đến 5 cent (mặc định tắt), tổng tiền mặt sẽ được làm tròn (€ 6,62 → € 6,60, € 6,63 → € 6,65); phần chênh lệch ghi là "Làm tròn" trên hóa đơn. Thanh toán thẻ luôn chính xác đến từng cent.
Quản lý sản phẩm
Đăng nhập với tư cách quản trị viên và chọn Cài đặt → Sản phẩm.
- Thêm, sửa (tên, giá, nhóm, mức VAT ăn tại chỗ và mang đi, tên trên hóa đơn, mã, hết hàng) và xóa nhóm sản phẩm và sản phẩm. Cả nhóm lẫn sản phẩm đều có thể có màu riêng; sản phẩm có màu sẽ có nút màu trên màn hình gọi món (chữ tự động trắng hoặc tối để dễ đọc).
- Thay đổi thứ tự bằng cách kéo nhóm hoặc sản phẩm tại ≡. Dùng được bằng chuột và bằng ngón tay trên máy tính bảng. Màn hình gọi món sẽ hiển thị đúng thứ tự đó; các màn hình thu ngân đang mở tự cập nhật ngay.
- Xóa sẽ gỡ sản phẩm khỏi máy thu ngân, nhưng các đơn cũ và nhật ký thuế vẫn giữ sản phẩm đó. Chỉ có thể xóa một nhóm khi nhóm đã trống.
- Tùy chọn: mở một sản phẩm hoặc nhóm sản phẩm và thêm nhóm tùy chọn dưới "Tùy chọn", ví dụ "Độ chín" (đúng một, bắt buộc), "Sốt" (tối đa một) hoặc "Thêm" (nhiều, có tối thiểu và tối đa; để trống tối đa = không giới hạn). Mỗi lựa chọn có tên và giá cộng thêm (có thể âm, ví dụ -0,50). Nhóm tùy chọn của nhóm sản phẩm áp dụng cho tất cả sản phẩm trong nhóm đó, cộng thêm vào tùy chọn riêng của sản phẩm. Sắp xếp bằng ▲▼. Luôn có thể xóa: các đơn và hóa đơn hiện có tự lưu các tùy chọn đã chọn. Máy chủ cũng kiểm tra lựa chọn bắt buộc và số tối đa.
- Ảnh cho từng sản phẩm: xem Ảnh sản phẩm.
- Giá theo kg, số PLU và bì (chỉ khi bật cân): xem Cài đặt cân. Nếu không tích, sản phẩm vẫn tính theo cái như bình thường.
Ảnh sản phẩm
Mỗi sản phẩm có thể có một ảnh.
- Đặt ảnh: Cài đặt → Sản phẩm → chọn sản phẩm → Chọn ảnh (trên máy tính bảng hoặc điện thoại cũng có thể chụp ngay bằng camera). Ảnh được thu nhỏ trong trình duyệt xuống tối đa 512 × 512 pixel (JPEG, thường 20–80 kB) và lưu ngay; Ảnh khác để thay ảnh, Xóa ảnh để gỡ ảnh. Trong danh sách sản phẩm có một ảnh nhỏ trước tên. Chỉ với quyền Quản lý sản phẩm; jpg, png và webp, tối đa 512 kB.
- Quản trị viên chọn Hiển thị tại Cài đặt → Cửa hàng → Ảnh sản phẩm, riêng biệt từng mục và mặc định tắt:
- Ảnh sản phẩm trên nút của màn hình gọi món: ảnh ở phía trên nút sản phẩm, tên và giá ở bên dưới.
- Ảnh sản phẩm trên màn hình khách hàng: một ảnh nhỏ trước mỗi dòng trên màn hình khách hàng (màn hình khách hàng cũng phải được bật). Sản phẩm không có ảnh vẫn giữ nguyên; nếu tắt, mọi thứ hoạt động đúng như trước.
Máy quét mã vạch
Với máy quét mã vạch tại máy POS, bạn quét sản phẩm, mã giảm giá, thẻ thành viên và thẻ quà tặng. Bật tại Cài đặt → Máy quét (thẻ cạnh máy in và cân; mặc định tắt). Đánh dấu những gì một lần quét làm trên màn hình gọi món:
- Sản phẩm vào hóa đơn: sản phẩm có mã đó (Cài đặt → Sản phẩm, ô Mã; vd. mã vạch EAN trên bao bì). Nếu có lựa chọn, thực đơn hoặc giá theo kg, cửa sổ lựa chọn hoặc cân sẽ mở trước, giống như khi chạm. Việc này cũng do Quét trên màn hình gọi món ở In nhãn làm; tính năng đó vẫn hoạt động như thường.
- Mã giảm giá vào hóa đơn (nếu Mã giảm giá đang bật).
- Thẻ thành viên: khách hàng có số thẻ đó được đưa vào hóa đơn (nếu thẻ thành viên đang bật). Nếu bạn quét một mã không xác định trên hóa đơn có khách hàng, máy POS sẽ hỏi đó có phải thẻ mới của khách không.
- Thẻ quà tặng hoặc thẻ trả trước: máy POS hiển thị số dư (nếu thẻ quà tặng có số dư đang bật). Thanh toán tại Thanh toán → Thẻ quà tặng; ở đó bạn cũng có thể quét thẻ.
Máy POS tìm trước trong sản phẩm, sau đó trong thẻ thành viên, thẻ quà tặng và mã giảm giá. Quét hoạt động trên màn hình gọi món, khi bạn không ở trong ô nhập. Trong ô nhập, mã chỉ đơn giản được điền vào ô đó.
Kiểm tra máy quét: tại Cài đặt → Máy quét, với mỗi lần quét bạn thấy mã và máy POS hiểu thế nào, kể cả khi máy quét vẫn đang tắt. Nếu không hoạt động:
- Đặt máy quét ở chế độ bàn phím (USB-HID), với Enter sau mã. Hầu hết máy quét đã như vậy sẵn.
- Máy quét tích hợp (vd. của máy POS Sunmi) được đặt trong cài đặt máy quét của thiết bị thành nhập bằng bàn phím.
- Nhãn của cân TS6X (trọng lượng và giá) do chính cân xử lý, kể cả khi máy quét đang bật.
Trên kiosk, máy quét được cài đặt riêng (Cài đặt → Cửa hàng → Kiosk); xem Kiosk tự phục vụ.
In nhãn
Nhãn sản phẩm có tên, giá và mã vạch, in trên máy in nhãn (Brother, Dymo, Zebra ...) đã cài trên máy tính hoặc máy tính bảng. Bật tại Cài đặt → Cửa hàng → In nhãn (mặc định tắt). Tại đó bạn cũng chọn kích thước nhãn (38 × 25, 57 × 32, 62 × 29 hoặc 100 × 50 mm) và có in giá và mã vạch lên nhãn hay không. In thử in một nhãn mẫu.
- Cài đặt → Sản phẩm → (sản phẩm) → Nhãn: chọn số lượng và In.
- Mua hàng → (đơn đặt hàng đã nhận) → In nhãn: mỗi sản phẩm in số nhãn bằng số lượng đã nhận (số đơn vị đặt hàng đã nhận × số lượng mỗi đơn vị đặt hàng; không tính nguyên liệu). Tối đa 500 nhãn mỗi lần.
- Máy tính tiền mở hộp thoại in: tại đó chọn máy in nhãn và khổ giấy của cuộn nhãn. Mỗi nhãn là một trang.
- Mã vạch là mã của sản phẩm (Cài đặt → Sản phẩm): 8 hoặc 13 chữ số với chữ số kiểm tra đúng = EAN (12 chữ số: chữ số kiểm tra được thêm vào), nếu không thì Code 128 (chữ cái, chữ số và dấu câu, tối đa 30 ký tự). Không có mã thì không có mã vạch.
- Quét trên màn hình gọi món (ô đánh dấu, mặc định tắt): máy quét mã vạch hoạt động như bàn phím sẽ thêm sản phẩm có mã đó, với các lựa chọn thông thường (tùy chọn, cân, dị ứng). Không dùng chung với cân TS6X, vốn có nhãn riêng ghi trọng lượng và giá.
- Quyền: Quản lý sản phẩm hoặc Quản lý kho.
Thiết lập cân (A&D, Aclas, Adam Equipment, Avery Berkel, Avery Weigh-Tronix, Balanzas Marques, Baxtran, Bizerba, Brecknell, CAS, Datalogic, Dibal, DIGI, Dini Argeo, Excell Precision, Gram, Ishida, Kern & Sohn, Mettler Toledo, Minebea Intec, Ohaus, Precia Molen, Precisa, Rice Lake, Rongta, Sartorius, Star Micronics, T-Scale, UWE, Wedderburn, Wintec, Zebra)
Thẻ riêng Cài đặt → Cân (quyền Cài đặt cửa hàng, thanh toán và máy in, mặc định chỉ quản trị viên; thẻ này luôn có, kể cả khi cân chưa bật). Mặc định tắt: khi đó máy thu ngân hoạt động đúng như trước. Không thấy thẻ này?
Tự động tìm. Nếu chưa cài đặt gì, máy thu ngân sẽ tự tìm khi mở mục này (nút Tìm để tìm lại):
- máy thu ngân (máy chủ) có chạy ngay trên cân PC hoặc cân AI của Aclas (TS6X, TS3X, TS5EX/NX/GX, iS6X, iS2X, iR6X, Ti6X, iL8X; hãng/model thiết bị: Windows qua WMI, Android qua
getprop, Linux qua DMI) và Aclas Scale Module có phản hồi không? Khi đó cân này được thiết lập sẵn là Trên thiết bị này, và cả cân in tem; trên Linux (không có Scale Module) là cân tích hợp trên cổng nội bộ tìm thấy (/dev/ttyS...) với tên "TS6X (tích hợp)", kèm theo model; - có OS6X nối vào cổng COM/USB không? Mỗi cổng được thử với 9600, 4800, 2400 và 19200 baud: trước tiên nghe một lúc (liên tục), sau đó gửi
W(Toledo), nếu không được thì Dialog 06 (9600, 7 bit dữ liệu, chẵn lẻ lẻ: hỏi trạng thái).
Tìm thấy = được điền vào biểu mẫu với nút Bật và sử dụng: chạm một lần là chạy. (Tìm kiếm gửi W đến mọi cổng COM còn trống; cổng đang bận, ví dụ bởi máy thanh toán thẻ, sẽ được bỏ qua.)
Tất cả cân Aclas. Với mỗi cân, bạn chọn model; máy thu ngân sẽ biết cách kết nối với cân đó. Có hai loại:
- Trên thiết bị này (cài đặt một lần): máy thu ngân chạy trên cân (cân PC hoặc cân AI). Với Windows hoặc Android, cân hoạt động qua Aclas Scale Module, không cần cổng, tốc độ hay giao thức; với Linux (không có Scale Module) qua cổng nội bộ của cân (thường là
/dev/ttyS0hoặc/dev/ttyS1), có cổng, tốc độ và giao thức. Mỗi máy thu ngân chỉ có một cân loại này; Tìm sẽ tự tìm thấy. Cân PC hoặc cân AI (TS6X, iS6X ...) luôn là Trên thiết bị này: chỉ được có một lần trong danh sách, các model PC/AI khác sẽ không chọn được nữa. Một TS6X đặt ở chỗ khác trong cửa hàng vẫn có thể in tem (khi đó chỉ bật Quét tem). - Được kết nối (nhiều cân cùng lúc): cân được nối bằng cáp (RS232/USB), Bluetooth hoặc mạng với máy chủ thu ngân. Bao nhiêu cũng được (tối đa 8), mỗi cân có tên riêng.
Một danh sách, hai ô tích. Tất cả cân nằm trong một danh sách. Với mỗi cân, bạn bật chức năng của nó: Cân tại quầy thu ngân (máy thu ngân lấy trọng lượng khi gọi món) và/hoặc Quét tem (cân in tem có mã vạch để máy thu ngân quét, và nhận PLU từ máy thu ngân). Cân PC hoặc cân AI như TS6X làm được cả hai; cân in tem LS chỉ in tem. Mỗi cửa hàng chỉ có một cân làm tem.
| Model | Loại | Kết nối | Trong máy thu ngân |
|---|---|---|---|
| OS6X | Cân POS | RS232, USB, Bluetooth | được kết nối, nhiều cân cùng lúc |
| OS2X | Cân POS | RS232, USB | được kết nối, nhiều cân cùng lúc |
| CS6X, CS3X | Cân thu ngân | RS232, USB, Ethernet, Wi-Fi | được kết nối, nhiều cân cùng lúc |
| TS6X, TS3X, TS5EX, TS5NX, TS5GX | Cân PC (Windows, Android, Linux) | RS232, USB, Ethernet, Wi-Fi | trên thiết bị này (1x), cũng làm cân in tem |
| iS6X, iS2X, iR6X, Ti6X, iL8X | Cân AI nhận diện sản phẩm (Windows, Android, Linux) | RS232, USB, Ethernet, Wi-Fi | trên thiết bị này (1x), cũng làm cân in tem |
| iS5X, OiT2X | Cân AI (chỉ Linux) | RS232, USB, Ethernet | được kết nối hoặc làm cân in tem |
| LS2S, LS2RX, LS2CX, LS2NX, LS5SX, LS5RX, LS5CX, LS5NX, LS6CX, LS6RX, LS6NX | Cân in tem | RS232, Ethernet, Wi-Fi | quét tem và PLU |
| PS1CX, PS1DX, PS6CX, PS6DX | Cân tính giá | RS232 | được kết nối, nhiều cân cùng lúc |
| PS1BX | Cân tính giá không kết nối | không có | nhập trọng lượng thủ công |
| LH15X | Cân treo có máy in tem | RS232, Ethernet, Wi-Fi | được kết nối hoặc làm cân in tem |
A&D, Adam Equipment, Avery Berkel, Avery Weigh-Tronix, Balanzas Marques, Baxtran, Bizerba, Brecknell, CAS, Datalogic, Dibal, DIGI, Dini Argeo, Excell Precision, Gram, Ishida, Kern & Sohn, Mettler Toledo, Minebea Intec, Ohaus, Precia Molen, Precisa, Rice Lake, Rongta, Sartorius, Star Micronics, T-Scale, UWE, Wedderburn, Wintec và Zebra. Danh sách có các model phổ biến của những hãng này mà đã xác định được cách máy thu ngân giao tiếp (cần kiểm tra = giao thức không được ghi nguyên văn trong tài liệu nguồn nào; máy thu ngân chọn phương án hợp lý nhất). Tất cả đều được kết nối (nhiều cân cùng lúc), hoặc làm cân in tem để máy thu ngân quét tem:
| Hãng | Model | Loại | Kết nối | Giao thức (mặc định nhà máy) | Trong máy thu ngân |
|---|---|---|---|---|---|
| A&D | EK-i (gồm cả EK-610i), HV-WP | Cân thu ngân (chỉ trọng lượng) | RS232, EK-i cũng có USB | Liên tục (chế độ stream), 2400 baud, 7E1 | được kết nối, nhiều cân cùng lúc |
| Adam Equipment | Swift | Cân tính giá | RS232, USB (tùy chọn) | Liên tục (liên tục tới PC), 9600 8N1 (cần kiểm tra) | được kết nối, nhiều cân cùng lúc |
| Avery Berkel | FX110, FX120, FX131 (loại lắp âm, có máy quét) | Cân thu ngân | RS232, FX131 cả USB | Mettler Toledo 82/7 = Toledo 8217 (máy thu ngân gửi W), 9600 baud, 7E1 | được kết nối, nhiều cân cùng lúc |
| Avery Berkel | FX125 | Cân tính giá | RS232 | Checkout-Dialog 06 (9600, 7O1) | được kết nối, nhiều cân cùng lúc |
| Avery Berkel | Xs, XTs, XTi | Cân in tem | Ethernet, Wi-Fi, USB | PLU riêng trên cân | quét tem |
| Avery Weigh-Tronix | 7820, 7829, ZP900 | Cân thu ngân | RS232, 7820 cũng có USB, ZP900 cũng có USB và Ethernet | NCI (máy thu ngân gửi W), 9600 baud, 7E1 | được kết nối, nhiều cân cùng lúc |
| Balanzas Marques | BM1000P TOP | Cân thu ngân (chỉ trọng lượng) | RS232 | METTLER (máy thu ngân gửi W, Toledo), 9600 baud, 7E1 | được kết nối, nhiều cân cùng lúc |
| Balanzas Marques | BM5 Junior Tower Label, BM500 ETQ | Cân in tem | Ethernet, USB, RS232, BM500 ETQ cũng có Wi-Fi | PLU riêng trên cân | quét tem |
| Baxtran | TW, VW, XTA, XTA-P | Cân tính giá | RS232 | Toledo (máy thu ngân gửi W), 9600 baud, 7E1 | được kết nối, nhiều cân cùng lúc |
| Bizerba | CS 300 (cả loại lắp âm) | Cân thu ngân | RS232 | Checkout-Dialog 06 (9600, 7O1) | được kết nối, nhiều cân cùng lúc |
| Bizerba | K-Class Flex, KH II | Cân in tem | Ethernet | PLU riêng trên cân | quét tem |
| Brecknell | 6702U, 6710U, 6720U | Cân thu ngân | RS232, USB (cổng COM ảo) | NCI (máy thu ngân gửi W), 9600 baud, 7E1 | được kết nối, nhiều cân cùng lúc |
| CAS | PD-II, PDN, PDI, PDS-B | Cân thu ngân | RS232, PDN cũng có USB và Bluetooth, PDI cũng có USB | ECR type 2 = Toledo (máy thu ngân gửi W), 9600 baud, 7E1 | được kết nối, nhiều cân cùng lúc |
| CAS | CL3000, CL5500, CL7200 | Cân in tem | Ethernet, USB, RS232, CL5500 và CL7200 cũng có Wi-Fi | PLU riêng trên cân | quét tem |
| Datalogic | Magellan 9300i, 9400i, 9800i (máy quét có cân) | Cân thu ngân | RS232 (cổng cân riêng), USB | Mettler Toledo 8217 (máy thu ngân gửi W), 9600 baud, 7E1 | được kết nối, nhiều cân cùng lúc |
| Dibal | KS-400, D-POS 400 | Cân thu ngân | RS232, D-POS 400 cả USB | Checkout-Dialog 06 (9600, 7O1) | được kết nối, nhiều cân cùng lúc |
| Dibal | G-325, PI-100 | Cân tính giá | RS232 | Checkout-Dialog 06 (9600, 7O1) | được kết nối, nhiều cân cùng lúc |
| Dibal | M-500 (Mistral), D-900, CS-2200 | Cân in tem | Ethernet, Wi-Fi, USB | PLU riêng trên cân | quét tem |
| DIGI | DS-781 | Cân tính giá | RS232 | DIGI Type B (máy thu ngân gửi ENQ), 9600 8N1 | được kết nối, nhiều cân cùng lúc |
| DIGI | SM-120, SM-6000 | Cân in tem | Ethernet, Wi-Fi | PLU riêng trên cân | quét tem |
| Dini Argeo | DFW, DGT, 3590E | Cân thu ngân (chỉ trọng lượng) | RS232, USB, Ethernet, DFW và 3590E cũng có Wi-Fi | Liên tục (ST,GS, 0.512,kg), 9600 8N1 | được kết nối, nhiều cân cùng lúc |
| Excell Precision | TPE, AM4, FD4-P, FDP4-P, GE4, GEP4 | Cân tính giá | RS232 | Liên tục (ST,GS,+0.876kg), 9600 8N1 (riêng TPE cần kiểm tra) | được kết nối, nhiều cân cùng lúc |
| Gram | XFOC RS, XFOC+ RS, ZFOC RS | Cân tính giá | RS232, USB (cáp của Gram) | Gram (máy thu ngân gửi ENQ, sau đó DC1), 9600 8N1 (XFOC cần kiểm tra) | được kết nối, nhiều cân cùng lúc |
| Ishida | Uni-3, Uni-5, Uni-7, Uni-9 | Cân in tem | Ethernet, Wi-Fi, USB | PLU riêng trên cân | quét tem |
| Kern & Sohn | RPB, RFC | Cân tính giá | RS232, USB | Checkout-Dialog 06 (Prot = DLG-06, 9600, 7O1) | được kết nối, nhiều cân cùng lúc |
| Kern & Sohn | RFE (tính giá), IFB, EOC | Cân tính giá / cân thu ngân | RS232 | Liên tục, 9600 8N1 | được kết nối, nhiều cân cùng lúc |
| Mettler Toledo | Ariva-S | Cân thu ngân | RS232, USB (cổng COM ảo) | Toledo 8217 (máy thu ngân gửi W), 9600 baud, 7E1 | được kết nối, nhiều cân cùng lúc |
| Mettler Toledo | Viva | Cân thu ngân | RS232 | Toledo 8217, 9600 baud, 7E1 | được kết nối, nhiều cân cùng lúc |
| Mettler Toledo | bPlus, UC Evo | Cân in tem | Ethernet, Wi-Fi | PLU riêng trên cân | quét tem |
| Minebea Intec | Signum, Combics, Midrics, Puro | Cân thu ngân (chỉ trọng lượng) | RS232, USB, Signum và Combics cũng có Ethernet | Liên tục (SBI, in tự động), 9600 8N1 | được kết nối, nhiều cân cùng lúc |
| Ohaus | Aviator 7000 | Cân tính giá | RS232 hoặc USB | Checkout-Dialog 06 (9600, 7O1) | được kết nối, nhiều cân cùng lúc |
| Ohaus | Valor 7000, Ranger 3000, Ranger 4000, Ranger 7000, Defender 3000 | Cân thu ngân (chỉ trọng lượng) | RS232, USB, Ethernet | Liên tục (Auto Print Continuous), 9600 8N1 | được kết nối, nhiều cân cùng lúc |
| Precia Molen | DP400 | Cân thu ngân | RS232, USB | Checkout-Dialog 06 (9600, 7O1) | được kết nối, nhiều cân cùng lúc |
| Precia Molen | DPOS CR, C 210 B, C 210 C | Cân tính giá | RS232 | Checkout-Dialog 06 (9600, 7O1; C 210 cần kiểm tra) | được kết nối, nhiều cân cùng lúc |
| Precia Molen | Corail 500 | Cân in tem | Ethernet, Wi-Fi | PLU riêng trên cân | quét tem |
| Precisa | XB, XT, LS, LX (cân chính xác) | Cân thu ngân (chỉ trọng lượng) | RS232, LS và LX cũng có USB | Liên tục (chế độ in CONTINUOUS), 9600 8N1 | được kết nối, nhiều cân cùng lúc |
| Rice Lake | BenchPro BP-S, BenchPro BP-R | Cân thu ngân | RS232 | BP-S Toledo 8213, BP-R NCI (cả hai: máy thu ngân gửi W), 9600 baud, 7E1 (cần kiểm tra) | được kết nối, nhiều cân cùng lúc |
| Rongta | RLS1000, RLS1100 | Cân in tem | Ethernet, RS232, Wi-Fi | PLU riêng trên cân | quét tem |
| Sartorius | Entris, Quintix | Cân thu ngân (chỉ trọng lượng) | RS232, USB | Liên tục (SBI, in tự động), 9600 8N1 | được kết nối, nhiều cân cùng lúc |
| Star Micronics | mG-T12, mG-T30, mG-T60, mG-S8200 | Cân thu ngân (chỉ trọng lượng) | RS232, USB (cổng COM ảo) | Liên tục, 9600 8N1 (cần kiểm tra) | được kết nối, nhiều cân cùng lúc |
| T-Scale | PA10, PA15, PEA10 | Cân in tem | Ethernet | PLU riêng trên cân | quét tem |
| UWE | ASEP | Cân tính giá | RS232 | Liên tục, 9600 8N1 (cần kiểm tra) | được kết nối, nhiều cân cùng lúc |
| Wedderburn | TSDS983 | Cân thu ngân | RS232 | DIGI Type B (máy thu ngân gửi ENQ), 9600 8N1 (cần kiểm tra) | được kết nối, nhiều cân cùng lúc |
| Wedderburn | TSDS781T, TSDS782T | Cân tính giá | RS232 | DIGI Type B, 9600 8N1 (cần kiểm tra) | được kết nối, nhiều cân cùng lúc |
| Wedderburn | TSSM120 | Cân in tem | Ethernet, RS232 | PLU riêng trên cân | quét tem |
| Wintec | ScalePOS ACS-S60E (máy thu ngân có cân tích hợp) | Cân thu ngân | COM6 nội bộ (Windows) hoặc COM4 (Android) | Liên tục, 9600 8N1 (cần kiểm tra) | được kết nối |
| Zebra | MP7000, MP72 (máy quét có cân) | Cân thu ngân | RS232 (cổng AUX) | SASI = Toledo (máy thu ngân gửi W), 9600 baud, 7E1 (cần kiểm tra) | được kết nối, nhiều cân cùng lúc |
- A&D EK-i và HV-WP: đặt cân sang stream (EK-i:
prt 0; mặc định từ nhà máy là phím PRINT) và máy thu ngân sang Liên tục với 2400 baud và 7E1 (mặc định từ nhà máy của A&D). Bản tin làST,+00512.00 g(US= chưa ổn định,OL= quá nặng). - Adam Equipment Swift: đặt cân sang liên tục tới PC (8N1); khi đó máy thu ngân đặt ở Liên tục.
- Avery Berkel FX110, FX120 và FX131: trên cân, chọn giao thức Mettler Toledo 82/7 và đặt máy thu ngân sang Truy vấn (Toledo) với 7E1 (9600 baud). Dialog 06 cũng được. FX125 (có màn hình giá) không hỗ trợ Toledo: ở đó dùng Dialog 06. Máy thu ngân tự thiết lập sẵn khi bạn chọn model.
- Avery Weigh-Tronix 7820, 7829 và ZP900 và Brecknell 6702U, 6710U và 6720U: NCI, giao thức của Weigh-Tronix. Máy thu ngân gửi
W(giống như với Toledo), cân trả lời bằng trọng lượng (1.234KG) và một dòng trạng thái; dòng này cho biết cân chưa ổn định, quá nặng hay quá nhẹ. Máy thu ngân đặt ở Truy vấn (Toledo) với 7E1 (9600 baud). USB hoạt động như cổng COM ảo. Với ZP900, nối máy thu ngân vào cổng 2 (NCI). Với 67xxU, trên cân cũng có thể chọn 8213 (SCP03). - Balanzas Marques BM1000P TOP: tại cổng COM, chọn giao thức B (METTLER) và 9600 baud, 7 bit dữ liệu, chẵn lẻ chẵn; khi đó máy thu ngân đặt ở Truy vấn (Toledo) với 7E1.
- Baxtran TW, VW, XTA và XTA-P (cân tính giá; VW và XTA-P có cột): trong menu RS232 của cân, chọn giao thức Toledo, 9600 baud và 7 bit dữ liệu với chẵn lẻ chẵn (7E1); khi đó máy thu ngân đặt ở Truy vấn (Toledo) với 7E1. Máy thu ngân tự thiết lập sẵn khi bạn chọn model. CONT (cân tự gửi) cũng hoạt động: khi đó đặt máy thu ngân sang Liên tục với cùng tốc độ và bit dữ liệu. Kết nối bằng cáp RS232 (9 chân) hoặc cáp USB sang RS232.
- Bizerba CS 300: Checkout-Dialog 06 (đặc tả của Bizerba): máy thu ngân gửi giá theo kg, cân đã kiểm định tính thành tiền. Nếu cân yêu cầu mã kiểm tra, bạn nhận mã đó từ Bizerba hoặc nhà cung cấp.
- CAS PD-II, PDN, PDI và PDS-B (PDS-B có ở LRE và nơi khác): trên cân, chọn ECR type 2 (Toledo) và đặt máy thu ngân sang Truy vấn (Toledo) với 7E1 (9600 baud).
- Datalogic Magellan 9300i, 9400i và 9800i: đặt Scale Interface Type của cổng cân riêng sang Mettler Toledo 8217 và máy thu ngân sang Truy vấn (Toledo) với 7E1.
- Dibal KS-400, D-POS 400, G-325 và PI-100: trên cân, chọn giao thức Checkout_Dialog06 (giao thức 24) và 9600 baud, 7 bit dữ liệu, chẵn lẻ lẻ (loại tham số 5); khi đó máy thu ngân đặt ở Dialog 06. D-POS 400 cũng có thể kết nối qua USB.
- DIGI DS-781: đặt cân sang Type B / lệnh tiêu chuẩn (data transmission
00011); máy thu ngân gửiENQvà nhận lại trọng lượng tịnh, bì, giá theo kg và thành tiền. - Dini Argeo DFW, DGT và 3590E: đặt cổng nối tiếp sang gửi liên tục (9600 8N1); khi đó máy thu ngân đặt ở Liên tục.
- Excell Precision TPE (và thế hệ thứ 4 AM4, FD4-P, FDP4-P, GE4, GEP4): đặt đầu ra RS232 sang liên tục (9600 8N1); khi đó máy thu ngân đặt ở Liên tục.
- Gram XFOC RS, XFOC+ RS và ZFOC RS: giao thức Gram (9600 8N1). Máy thu ngân gửi
ENQ, cân trả lờiACK, máy thu ngân gửiDC1và cân gửi trọng lượng:SOH STX S/U/F teken gewicht eenheid BCC ETX EOT(S= ổn định,U= đang dao động,F= lỗi; BCC = XOR từ trạng thái đến hết đơn vị). Kết nối bằng RS232 hoặc cáp USB của Gram. - Kern & Sohn RPB và RFC: trên cân, đặt
Prot = DLG-06(cổng nối máy thu ngân là tùy chọn 965-419); khi đó máy thu ngân đặt ở Dialog 06. RFE, IFB và EOC: gửi liên tục (8N1), máy thu ngân đặt ở Liên tục. - Mettler Toledo Ariva/Viva: đặt cân sang giao thức Toledo (8217) và máy thu ngân sang Truy vấn (Toledo) với Bit dữ liệu / chẵn lẻ = 7E1 (Mettler: 9600 baud, 7 bit dữ liệu, chẵn lẻ chẵn; Ariva cũng có thể qua USB như cổng COM ảo). Máy thu ngân tự thiết lập sẵn khi bạn chọn model.
- Minebea Intec Signum, Combics, Midrics và Puro và Sartorius Entris và Quintix: SBI với in tự động (9600 8N1); khi đó máy thu ngân đặt ở Liên tục. Bản tin là
N + 0.512 kg; không có đơn vị nghĩa là cân vẫn chưa ổn định. - Ohaus Aviator 7000: trong cài đặt của cân (bước 20), chọn giao thức Dialog 06; khi đó máy thu ngân đặt ở Dialog 06. RS232 hoặc USB, tùy theo cáp.
- Ohaus Valor 7000, Ranger 3000/4000/7000 và Defender 3000 (cân không tính giá): đặt cân sang Auto Print Continuous (9600 baud, 8N1) và máy thu ngân sang Liên tục. Cân gửi
0.512 kg G; dấu?sau trọng lượng nghĩa là cân vẫn chưa ổn định. Ranger 7000 cũng có thể kết nối qua Ethernet (cổng TCP 9761). - Precia Molen DP400, DPOS CR và C 210 (từ năm 2025, các cân thương mại thuộc về Dibal): Dialog 06 (9600 7O1), giống như Dibal. Nếu với C 210 không được, hãy thử Truy vấn (Toledo) với 7E1.
- Precisa XB, XT, LS và LX: đặt chế độ in sang CONTINUOUS và 9600 8N1, không có ngày, giờ và ID trên dòng; khi đó máy thu ngân đặt ở Liên tục. Không có đơn vị nghĩa là trọng lượng vẫn chưa ổn định.
- Rice Lake BenchPro BP-S (Toledo 8213) và BP-R (NCI): máy thu ngân đặt ở Truy vấn (Toledo) với 7E1.
- Star Micronics mG-T và mG-S8200: qua RS232 hoặc USB (cổng COM ảo, với driver của Star) ở chế độ Liên tục.
- UWE ASEP: RS232 tới PC/máy thu ngân, máy thu ngân đặt ở Liên tục (cần kiểm tra).
- Wedderburn TSDS983, TSDS781T và TSDS782T là cân DIGI mang số model riêng: DIGI (Type B), giống như DIGI DS-781. Nếu không được, hãy thử Truy vấn (Toledo) với 7E1.
- Wintec ScalePOS ACS-S60E: máy thu ngân chạy ngay trên ScalePOS; cân tích hợp nằm ở COM6 (Windows) hoặc COM4 (Android), 9600 8N1. Chọn Liên tục; nếu cân không gửi gì, Tìm sẽ tìm ra giao thức đúng.
- Zebra MP7000 và MP72: cổng AUX RS232 mặc định từ nhà máy là SASI (9600 7E1, máy thu ngân gửi
W): đặt máy thu ngân sang Truy vấn (Toledo) với 7E1. - Cân in tem của các hãng này (Avery Berkel, Balanzas Marques, Bizerba, CAS, Dibal, DIGI, Ishida, Mettler Toledo, Precia Molen, Rongta, T-Scale, Wedderburn) là hệ thống độc lập với tệp PLU riêng. Bật Quét tem cho cân đó và cài đặt cùng loại mã vạch như trên cân (EAN-13, đầu số 20–29, PLU và trọng lượng hoặc giá). PLU được nhập trên chính cân hoặc bằng phần mềm của hãng; Gửi đến TS6X và Tải tệp PLU chỉ có cho Aclas.
Danh sách tương tự có trong máy thu ngân tại Cài đặt → Cân → Tất cả cân (ACLAS_MODELLEN trong packages/shared/src/weegschaal.ts, kèm hãng của từng model).
Nhập càng ít càng tốt: khi bạn chọn một model, máy thu ngân tự thiết lập phần còn lại như hãng cài đặt từ nhà máy: kết nối Cổng COM / USB trên cổng trống đầu tiên, 9600 baud (A&D: 2400) và giao thức của hãng (Toledo: Aclas với 8N1, và với 7E1 Avery Berkel FX, Avery Weigh-Tronix, Balanzas Marques, Baxtran, Brecknell, CAS, Datalogic, Mettler Toledo, Rice Lake và Zebra; Dialog 06: Avery Berkel FX125, Bizerba, Dibal, Kern & Sohn RPB/RFC, Ohaus Aviator và Precia Molen; DIGI Type B: DIGI và Wedderburn; Gram: Gram; Liên tục: A&D, Adam Equipment, Dini Argeo, Excell Precision, các cân Kern & Sohn khác, Minebea Intec, các cân Ohaus khác, Precisa, Sartorius, Star Micronics, UWE và Wintec), và một tên (vd. OS6X, OS6X 2). Cân PC hoặc cân AI sẽ là Trên thiết bị này (vd. TS6X (tích hợp); trên Linux ở cổng nội bộ /dev/ttyS0). Nếu có gì không đúng, Tìm sẽ tìm ra cổng, tốc độ và giao thức đúng.
Trên thiết bị này (Aclas Scale Module): cân hiển thị trọng lượng đã kiểm định; máy thu ngân gửi giá theo kg và bì (dạng bì trước) và lấy số tiền do cân tính, giống như với Dialog 06.
- Android: ứng dụng AclasScaleDriver của Aclas (
com.aclas.aclasscaledriver) thường đã có sẵn trên cân; nếu chưa có, hãy càiaclas-android/AclasScaleDriver.apk. Ứng dụng HorecaPOS giao tiếp trực tiếp với dịch vụ của ứng dụng đó, nên không cần thêm thư viện. - Linux: Aclas không có Scale Module cho Linux. Chỉ cần chọn model (vd. TS6X): kết nối sẽ là Trên thiết bị này (cổng nội bộ) trên
/dev/ttyS0, 9600 baud, Toledo. Cân tích hợp thường nằm ở/dev/ttyS0hoặc/dev/ttyS1; Tìm sẽ thử các cổng đó và điền cổng, tốc độ và giao thức đúng. Ở đây cũng chỉ được một lần.
Phần mềm của Aclas đi kèm máy tính tiền: Scale Module cho Windows (aclas-module), AclasScaleDriver cho Android (aclas-android) và Aclas Sync SDK cho Windows và Linux (aclas-sdk). Aclas cho phép chúng tôi phân phối kèm. Bộ cài cho Windows và Linux đã có sẵn chúng; không cần tải hay cài đặt riêng gì.
Bluetooth (vd. OS6X): ghép nối cân trước. Windows tạo một cổng COM cho cân (Cài đặt Bluetooth → Tùy chọn Bluetooth khác → Cổng COM), Linux tạo /dev/rfcomm0: nhập cổng đó. Trong ứng dụng Android, bạn nhập địa chỉ Bluetooth (00:11:22:AA:BB:CC); ứng dụng xin quyền Thiết bị ở gần một lần và kết nối qua Bluetooth SPP.
Cân AI (nhận diện sản phẩm): camera nhận diện sản phẩm trong phần mềm của Aclas trên cân. Cân hoạt động qua Scale Module (trên thiết bị này) hoặc cổng RS232; cân in tem AI sau khi nhận diện sẽ in tem có mã vạch để máy thu ngân quét (như với TS6X).
Aclas AI Recognition Plugin (cân AI có máy thu ngân chạy trên đó, ví dụ iS6X với Windows): plugin của Aclas nhận diện sản phẩm và gõ mã vạch của sản phẩm vào máy thu ngân, giống như máy quét (kèm Enter sau đó); màn hình gọi món thêm sản phẩm cùng trọng lượng vào đơn. Cách cài đặt:
- Bật Quét tem cho cân với cùng loại mã vạch như trong plugin. Khuyến nghị: bắt đầu bằng
27, PLU 5 chữ số, trọng lượng (Aclas loại 17): khi đó máy thu ngân tự tính theo giá mỗi kg. Dùng giá (loại 12, bắt đầu bằng22) cũng được. - Tắt Cân tại quầy thu ngân cho cân đó: plugin và Scale Module không thể cùng lúc truy cập cân. Trọng lượng lấy từ mã vạch. Nếu plugin phản hồi khi Tìm, máy thu ngân sẽ đề xuất kết quả đó và không khởi động Scale Module. Không có mã kích hoạt, plugin vẫn cân và tính số tiền, nhưng không nhận diện sản phẩm.
- Trong chính plugin: mã vạch tại Scale and Barcode Format Settings → Default Barcode Format (loại 17), và trong cài đặt cửa sổ là điểm mà plugin nhấp vào và gõ mã. Hãy chọn một chỗ trống trên màn hình gọi món, không phải trên nút. Sản phẩm mới do cửa hàng tự dạy cho plugin trên cân (huấn luyện AI).
- Gán số PLU cho các sản phẩm cân và gửi PLU đến cân (Gửi đến TS6X hoặc tệp PLU); plugin nhận diện theo số PLU.
- Máy thu ngân chỉ cho plugin nhận diện khi màn hình gọi món đang mở trên chính cân (
POST /aiplugin/resume, khi đóng/aiplugin/suspend, cổng 5003 trên cân; lần đầu cũng EmployeeMode: màn hình khách hàng của cân không hiển thị sản phẩm). Trên các máy thu ngân và máy tính bảng khác và qua cổng quản trị thì không có gì xảy ra. - Plugin luôn khởi động ở chế độ Resume và không thể báo trạng thái của nó. Vì vậy màn hình gọi món gửi lại resume mỗi 30 giây; nếu không còn gửi (màn hình đóng, plugin hoặc cân khởi động lại), máy thu ngân sẽ chuyển plugin sang Suspend trong vòng một phút và giữ ở đó.
- Plugin cần mã kích hoạt của Aclas cho mỗi cân (gắn với số sê-ri). Hiện chạy trên Windows; phiên bản Android của Aclas sẽ có sau (máy thu ngân làm điều tương tự ở đó).
Aclas OS6X (cân POS tại quầy thu ngân, RS232/USB; các cân được kết nối khác cũng hoạt động như vậy):
- Một hoặc nhiều cân (tối đa 8), mỗi cân có tên (vd. Quầy, Bar) và kết nối riêng: Cổng COM / USB (
COM3trên Windows,/dev/ttyUSB0trên Linux/Android) kèm tốc độ, hoặc mạng qua bộ chuyển đổi nối tiếp sang mạng (địa chỉ IP và cổng TCP, vd. 4001). - Giao thức: Truy vấn (Toledo) = máy thu ngân gửi
Wvà cân trả lời bằng trọng lượng (Toledo 8217, OS6X thường được đặt như vậy; kể cả các thông báo trạng thái chưa ổn định/quá tải/dưới không) hoặc Liên tục = cân tự gửi trọng lượng liên tục (ST,GS, 0.512kg,US= chưa ổn định) hoặc Dialog 06 (đã kiểm định), xem bên dưới, hoặc DIGI (Type B) = máy thu ngân gửiENQvà DIGI trả lời bằng trạng thái, trọng lượng tịnh, bì, giá theo kg và thành tiền (37 ký tự:<status> <toestand> CR 0<netto> CR 4<tarra> CR U<kiloprijs> CR T<bedrag> CR LF; bit trạng thái 1 = ổn định, bit 2 = dưới không, bit 3 = quá nặng, bit 4 = quá nhẹ), hoặc Gram = máy thu ngân gửiENQ, chờACK, gửiDC1và đọcSOH STX <S/U/F> <teken> <gewicht> <eenheid> <BCC> ETX EOT. Đặt cùng giao thức và cùng tốc độ trên cân. Bit dữ liệu / chẵn lẻ: 8N1 (Aclas, Adam Equipment, DIGI, Dini Argeo, Excell Precision, Gram, Kern & Sohn, Minebea Intec, Ohaus, Precisa, Sartorius, Star Micronics, UWE, Wedderburn, Wintec) hoặc 7E1 (A&D, Avery Berkel, Avery Weigh-Tronix, Balanzas Marques, Baxtran, Brecknell, CAS, Datalogic, Mettler Toledo 8217, Rice Lake, Zebra); Dialog 06 luôn là 7O1. Truy vấn cũng đọc được NCI (Avery Weigh-Tronix, Brecknell, Rice Lake BP-R): khi nhậnW, cân trả lờiLF 1.234KG CR LF S00 CR ETX; dòng trạng thái (S+ 2 hoặc 3 byte) cho biết cân chưa ổn định (byte 1 bit 0), quá nhẹ (byte 2 bit 0) hay quá nặng (byte 2 bit 1);^^^^^= quá nặng,_____= quá nhẹ. - Dialog 06 (Checkout-Dialog 06, giao thức châu Âu cho cân đã kiểm định nối với máy thu ngân): máy thu ngân gửi giá theo kg (và bì của sản phẩm) đến cân; cân cân hàng, tự tính số tiền và hiển thị giá theo kg, trọng lượng và số tiền trên màn hình riêng (đã kiểm định). Máy thu ngân lấy trọng lượng và số tiền; trong cửa sổ cân có dòng "do cân tính". Luôn là 9600 baud, 7 bit dữ liệu, chẵn lẻ lẻ, 1 bit dừng (tốc độ trong cài đặt khi đó không có tác dụng). Quy trình:
EOT STX 01 ESC <kiloprijs 6> ESC ETX(có bì: bản ghi03với 4 chữ số gam) → ACK;ENQ→STX 02 ESC 3 ESC <gram 5> ESC <kiloprijs 6> ESC <bedrag 6> ETX; NAK →EOT STX 08 ETX→STX 09 ESC <code> ETX(22 = chưa sẵn sàng, thử lại sau 100 ms; 20 = đang dao động; 21 = nhấc hàng lên trước; 30/31 = quá nhẹ; 32 = quá nặng; 11 = giá không hợp lệ). Mã kiểm tra: nhiều cân Dialog 06 thỉnh thoảng (vd. sau mỗi 30 lần cân) yêu cầu mã kiểm tra của phần mềm thu ngân (bản ghi 11 → bản ghi 10). Nhà sản xuất cân chỉ cung cấp các mã này và cách tính cho nhà cung cấp máy thu ngân. Nhập chúng tại Mã kiểm tra (các cặp 4 ký tự thập lục phân, vd.74AE 1B2C); máy thu ngân sẽ gửi khi cân yêu cầu. Nếu cân tính bằng một số thay đổi (Z) và vì vậy mã cố định không đúng, máy thu ngân sẽ báo; khi đó hãy nhờ nhà cung cấp cài đặt cân không có bước kiểm tra này, hoặc dùng Toledo. - Các cân được nối với máy tính hoặc thiết bị chạy máy chủ thu ngân; tất cả máy thu ngân và máy tính bảng đều cân qua máy chủ thu ngân và chọn cân sẽ dùng trong cửa sổ cân. Kiểm tra cân một lần.
- Mạng hoạt động ở mọi nơi.
- Cũng nhập trọng lượng thủ công: bật = kể cả khi có cân vẫn được nhập trọng lượng bằng tay; không có OS6X thì luôn được.
Quét tem (ô tích ở cân: Aclas TS6X, cân PC hoặc cân AI khác, dòng LS hoặc LH15X; cân + máy in tem, một cái mỗi cửa hàng):
- Địa chỉ IP: chỉ cần cho Gửi đến TS6X. Cân hàng và quét tem hoạt động mà không cần. Nếu máy thu ngân chạy ngay trên TS6X, hãy để trống: máy thu ngân sẽ gửi cho chính nó (127.0.0.1). Nếu cùng cân đó cũng dùng để cân tại quầy thu ngân, cả hai ô tích nằm ở cùng một cân (Tìm sẽ thiết lập như vậy).
- Quét tem: quét tem trên màn hình gọi món. Cài đặt dạng mã vạch, giống như trên TS6X: bắt đầu bằng (20–29, mặc định
28), số chữ số cho PLU (4, 5 hoặc 6) và sau đó là trọng lượng tính bằng gam hoặc giá tính bằng cent, cộng với chữ số kiểm tra (EAN-13). Bên dưới cài đặt có một ví dụ. - Số PLU: tại Cài đặt → Sản phẩm, sản phẩm cân được sẽ có giá theo kg, có thể có bì và số PLU (duy nhất). Bạn chọn số PLU từ danh sách (Không có PLU, trống kế tiếp, Số khác…); khi tích Giá theo kg, số trống kế tiếp đã được điền sẵn. Chỉ cần cho tem và PLU của TS6X: nếu không có TS6X, có thể để Không có PLU.
- Gửi trực tiếp hoạt động trên Windows và Linux; trên Android và macOS hãy dùng tệp PLU. Khi cài đặt lần đầu, hãy kiểm tra tên trường của tệp PLU và các mã trong
aclas-plu.ps1với hướng dẫn SDK của cân được giao (một chỗ duy nhất để chỉnh:ACLAS_PLU_KOLOMMENtrongpackages/shared/src/weegschaal.ts).
Cổng quản trị: thông báo gửi đến cổng có chức năng Cân (A&D, Aclas, Adam Equipment, Avery Berkel, Avery Weigh-Tronix, Balanzas Marques, Baxtran, Bizerba, Brecknell, CAS, Datalogic, Dibal, DIGI, Dini Argeo, Excell Precision, Gram, Ishida, Kern & Sohn, Mettler Toledo, Minebea Intec, Ohaus, Precia Molen, Precisa, Rice Lake, Rongta, Sartorius, Star Micronics, T-Scale, UWE, Wedderburn, Wintec, Zebra) với bật/tắt và các cân theo model (vd. TS6X (op dit apparaat), 2x OS6X, PS1CX, Ariva-S, DS-781, LS6RX, 5 producten per kilo); không có địa chỉ IP, cổng COM hay địa chỉ Bluetooth.
Luật đo lường: cân dùng để bán hàng phải được kiểm định (cấp III, như OS6X). Với Toledo/liên tục, máy thu ngân tính theo trọng lượng cân đưa ra; với Dialog 06, cân đã kiểm định tự tính giá.
Mã nguồn: packages/shared/src/weegschaal.ts (giao thức, tem, tệp PLU), apps/pos-server/src/lib/weegschaal.ts và routes/weegschaal.ts; màn hình WeegschaalInstellingen.tsx và WeegDialoog.tsx.
Thuisbezorgd.nl / Takeaway.com
Đơn hàng từ Thuisbezorgd.nl vào thẳng máy thu ngân, không qua bên trung gian (không Deliverect, HubRise hay tương tự): Just Eat Takeaway JET Connect giao tiếp với cổng quản trị của Pin Voordeel, và máy thu ngân lấy tin nhắn từ đó.
Ở Bỉ, nền tảng có tên là Takeaway.com: cùng công ty (Just Eat Takeaway) và cùng cách kết nối. Với cửa hàng ở Bỉ, các màn hình, thông báo, phiếu bếp và cổng quản trị đều ghi Takeaway.com thay cho Thuisbezorgd.nl. Bên dưới, Thuisbezorgd dùng cho cả hai.
Tại sao qua cổng? Máy thu ngân chỉ cần PORTAAL_URL và PORTAAL_SLEUTEL (xem Cổng quản trị) và chỉ gửi yêu cầu ra ngoài.
Cài đặt (Cài đặt → Nền tảng giao hàng → Thuisbezorgd.nl / Takeaway.com, quyền Cài đặt cửa hàng, thanh toán và máy in; trước đây mục này nằm ở Cài đặt → Cửa hàng):
- Bật Dùng Thuisbezorgd (có hiệu lực ngay, không cần Lưu).
- Đăng ký với Thuisbezorgd. Sau đó cửa hàng chọn OptimumPOS / Pin Voordeel làm máy thu ngân tại Thuisbezorgd (Partner Hub hoặc người quản lý tài khoản). JET sẽ bắt đầu một phiên onboarding; cổng tìm máy thu ngân đã đăng ký (theo mã bưu chính và tên, nếu không Pin Voordeel sẽ gán phiên thủ công trong cổng), gửi cấu hình và yêu cầu máy thu ngân gửi thực đơn. Sau đó kết nối đi vào hoạt động.
- Tích chọn các sản phẩm có thể đặt qua Thuisbezorgd (theo nhóm hoặc riêng lẻ), có thể kèm mô tả cho Thuisbezorgd. Thực đơn (giá, tùy chọn dạng modifier, chất gây dị ứng, VAT) được gửi tự động; PLU = id của sản phẩm/tùy chọn. Sau khi thay đổi danh mục, máy thu ngân cập nhật thực đơn trong vòng 30 giây; chỉ "hết"/"có lại" đi qua API tình trạng hàng.
- Giờ mở cửa Thuisbezorgd: riêng cho giao hàng và mang đi (vd.
16:00-22:00, nhiều khung cách nhau bằng dấu phẩy). Chúng được lưu bằng nút Lưu giờ mở cửa bên dưới và được gửi đến Thuisbezorgd dưới dạng service times ngay khi kết nối sẵn sàng. - Tạm đóng / Mở lại (ở NL/BE mở lại chậm nhất vào 07:00 sáng hôm sau).
Đơn hàng. Mỗi đơn trở thành một đơn bình thường không có bàn (bezorgen hoặc afhalen, tên nhóm TB <ordernummer>) với giá khách đã trả, cộng phí giao hàng/phí dịch vụ là dòng riêng và giảm giá của Thuisbezorgd là dòng giảm giá; nếu tổng vẫn không khớp thì thêm một dòng "Chênh lệch Thuisbezorgd". Phiếu bếp được gửi ngay đến bếp/bar (có thể tắt). Máy thu ngân xác nhận với cổng trong vài giây, cổng báo lại cho JET; nếu không được trong 3 phút hoặc máy thu ngân ngoại tuyến, JET nhận "thất bại" và cửa hàng quay về dùng Orderpad.
Nút Thuisbezorgd ở thanh trên cùng (kèm số đơn đang xử lý): danh sách, khách hàng và địa chỉ, giờ sẵn sàng/giao hàng và dòng thời gian (track & trace): đã nhận, tài xế đang đến cửa hàng, tài xế tại cửa hàng, đang giao đến khách, đã giao (từ JET), cùng các bước riêng (đang chế biến, sẵn sàng, đang giao/đã giao khi tự giao, đã lấy). JET Connect không cung cấp bản đồ trực tiếp vị trí tài xế cho máy thu ngân; khách hàng xem được trong ứng dụng Thuisbezorgd. Đơn mới, đơn bị hủy và "tài xế tại cửa hàng" sẽ hiện thanh màu cam và phát âm thanh. Hoàn tất (đã thanh toán online) thanh toán với phương thức online; nếu khách trả tiền tại cửa, cứ thanh toán bình thường. Khi Thuisbezorgd hủy đơn, đơn hàng bị hủy bỏ và in phiếu bếp "ĐÃ HỦY".
Mã nguồn: apps/pos-server/src/lib/thuisbezorgd.ts, routes/thuisbezorgd.ts; màn hình ThuisbezorgdInstellingen.tsx và Thuisbezorgd.tsx. Phía cổng: horecapos-portaal/src/thuisbezorgd.mjs (xem README của cổng).
Thống kê trong cổng quản trị. Số đơn Thuisbezorgd mỗi ngày được gửi kèm trong thông báo đến cổng quản trị (verkoopTelling trong lib/portaal.ts): đã nhận và không bị hủy, tính theo ngày nhận. Đơn Thuisbezorgd được thanh toán trong máy thu ngân (kể cả Hoàn tất (đã thanh toán online)) không bị tính thêm lần nữa vào mang đi/giao hàng. Dữ liệu Thuisbezorgd nằm trong cơ sở dữ liệu của máy thu ngân nên cũng có trong các bản sao lưu của máy thu ngân.
Cửa hàng trực tuyến và đặt hàng online
Mỗi cửa hàng có thể có cửa hàng trực tuyến riêng: một trang đặt hàng (và ứng dụng) theo nhận diện thương hiệu riêng để mang đi, giao hàng, gọi món tại bàn bằng mã QR và đặt bàn, với thanh toán online (MultiSafepay hoặc Buckaroo) hoặc trả tiền khi lấy/khi giao. Cửa hàng trực tuyến là một dự án riêng, horecapos-webshop (Node.js, xem README ở đó), và chạy trên cùng máy chủ với cổng quản lý.
Bật và thiết lập được thực hiện trong trang quản lý cửa hàng trực tuyến: nút Quản lý cửa hàng trực tuyến trong cổng khách hàng (chủ cửa hàng) hoặc tại bản cài đặt trong cổng quản lý (Pin Voordeel). Tại đó có bật/tắt, địa chỉ web (<zaak>.<webshopdomein> hoặc tên miền riêng), nhận diện thương hiệu (màu sắc, logo, ảnh đầu trang, phông chữ), giờ mở cửa và khung giờ cho mang đi và giao hàng, khu vực giao hàng (mã bưu chính, bán kính hoặc vùng trên bản đồ, kèm phí và tối thiểu), thanh toán, mã giảm giá, văn bản, ngôn ngữ, mã QR cho các bàn, đặt bàn và ứng dụng (cài được dưới dạng PWA; ứng dụng Android qua Trusted Web Activity). Ngoài ra còn có thông báo đẩy (tùy chọn, mặc định tắt): khách bật thông báo trên trang đơn hàng của mình và nhận thông báo đẩy khi đơn hàng sẵn sàng hoặc đang giao; ai muốn cũng thỉnh thoảng nhận ưu đãi do cửa hàng gửi từ trang quản lý cửa hàng trực tuyến (thẻ Thông báo đẩy). Hoạt động trên Android và máy tính (Chrome, Edge, Firefox, Samsung Internet), trong ứng dụng Android, và trên iPhone và iPad (iOS 16.4 trở lên) nếu khách thêm cửa hàng trực tuyến vào màn hình chính. Không gửi SMS hay email và không lưu tên hay số điện thoại. Chi tiết trong README của cửa hàng trực tuyến.
Thực đơn. Máy tính tiền tự động gửi thực đơn: tất cả sản phẩm đang hoạt động (trừ hàng bán theo kg), theo nhóm sản phẩm, kèm giá, tùy chọn, chất gây dị ứng, hết hàng và ảnh sản phẩm, cùng các bàn và thông tin cửa hàng, và những kênh tiếp thị đang bật (cho ô "nhận ưu đãi" khi thanh toán, xem Tiếp thị qua SMS và email). Việc này diễn ra khi khởi động, ngay khi bật cửa hàng trực tuyến, trong vòng 30 giây sau khi danh mục thay đổi và trong vài giây sau khi thay đổi ở Cài đặt → Cửa hàng, như tiếp thị hoặc thẻ thành viên (hoặc bằng Gửi thực đơn ngay). Có thể ẩn một sản phẩm khỏi cửa hàng trực tuyến trong trang quản lý cửa hàng trực tuyến (ẩn), hoặc trong cơ sở dữ liệu bằng artikel.webshop = false.
Đơn hàng. Mang đi và giao hàng trở thành một đơn thường không có bàn (tên nhóm WEB <bestelnummer>) với giá khách đã thấy, cộng phí giao hàng và phí giao dịch thành dòng riêng và mã giảm giá thành dòng giảm giá; nếu tổng vẫn không khớp thì thêm dòng "Verschil webshop". Tiền tip của khách không tính vào doanh thu: tip được ghi khi Hoàn tất (đã thanh toán online) dưới dạng tip trong khoản thanh toán. Gọi món tại bàn (mã QR) được thêm vào hóa đơn đang mở của bàn đó (đã thanh toán online: thành nhóm riêng tại bàn đó). Phiếu bếp được gửi ngay đến bếp/quầy bar (có thể tắt trong cửa sổ Cửa hàng trực tuyến). Máy tính tiền xác nhận trong vài giây kèm số hóa đơn; khi đó khách nhận được "đã nhận" và một email. Nếu máy tính tiền ngoại tuyến, cửa hàng trực tuyến không nhận đơn (khách thấy ngay) và gửi email cho cửa hàng nếu một đơn bị treo quá lâu. Đặt bàn từ cửa hàng trực tuyến vào mục Đặt bàn (chỉ khi tính năng đặt bàn trong máy tính tiền đang bật). Nếu có giới hạn mỗi khung giờ (Giao hàng và khung giờ), các đơn trực tuyến có giờ trong khung đó cũng được tính.
Bỉ (hộp đen). Đơn hàng từ cửa hàng trực tuyến được gửi ngay đến hộp đen dưới dạng đơn đặt (signOrder), trước phiếu bếp, giống như Gọi món tại máy tính tiền. Nếu không thành công, đơn sẽ không vào máy tính tiền và cửa hàng trực tuyến sẽ gửi lại sau. Những gì chưa được kiểm thử với hộp đen sẽ bị tắt trong menu cho cửa hàng trực tuyến (thẻ quà tặng, mã giảm giá, ghi nợ, tính vào phòng, set menu, tùy chọn có phụ thu, happy hour và tiền tip) và bị từ chối nếu một cửa hàng trực tuyến cũ vẫn gửi đến. Hoàn tất kiểm tra tiền tip, ghi nợ và tính vào phòng giống như máy tính tiền.
Tính vào phòng (kết nối khách sạn, Cài đặt → Khách sạn → Tự phục vụ → Trong cửa hàng trực tuyến): menu nhận kamer: { maxBedrag }; cửa hàng trực tuyến gửi betaling.wijze = "kamer" cùng với kamer và achternaam. Máy tính tiền kiểm tra khách trong phần mềm khách sạn (không áp dụng tại bàn, không dùng với thẻ quà tặng) và lưu thông tin khách cùng đơn hàng; Hoàn tất (tính vào phòng) thanh toán vào phòng và ghi hóa đơn vào tài khoản khách sạn. Hóa đơn tổng hợp khi ghi nợ: hóa đơn khi đó hiển thị là khoản còn mở.
Nút Cửa hàng trực tuyến ở thanh trên cùng (kèm số đơn đang xử lý): danh sách, khách và địa chỉ, giờ mong muốn hoặc "càng sớm càng tốt", phương thức thanh toán và dòng thời gian. Khách thấy trực tiếp các bước Đang chế biến, Xong và Đang giao trên cửa hàng trực tuyến (và qua email, nếu cửa hàng muốn). Tính tiền trong máy tính tiền = Đã hoàn tất; Hủy chỉ hủy các dòng của đơn trực tuyến đó, in phiếu bếp "GEANNULEERD", và với đơn đã thanh toán online thì cửa hàng trực tuyến hoàn tiền. Trạng thái đã đến, không đến hoặc hủy của một lượt đặt bàn cũng được gửi lại cửa hàng trực tuyến. Đơn hoặc lượt đặt bàn mới hiện thanh màu cam và phát âm thanh.
Mã nguồn: apps/pos-server/src/lib/webshop.ts, routes/webshop.ts; màn hình Webshop.tsx. Phía cổng: horecapos-portaal/src/webshop.mjs.
Máy tính tiền và cửa hàng trực tuyến đồng bộ (mỗi phần bật riêng, mặc định tắt; cửa hàng trực tuyến phiên bản cũ bỏ qua các trường mới). Những gì đang bật trên máy tính tiền cũng hoạt động trên cửa hàng trực tuyến:
- Giờ vàng (happy hour): cửa hàng trực tuyến tính cùng giá với máy tính tiền tại thời điểm đó (giá thường bị gạch và tên của giờ vàng), kể cả khi có mùa.
- Khung giờ và hình thức phục vụ (nếu đang bật): cửa hàng trực tuyến chỉ hiển thị những gì đang bán, và khi mang đi hoặc giao hàng thì giá và sản phẩm của lựa chọn đó (tại bàn: tại chỗ). Thực đơn nhận cho mỗi sản phẩm
prijzen(afhalen,bezorgen) vànietBij, cùng danh sáchdagdelen. - Combo: khách chọn các món (cố định và tự chọn, kèm tùy chọn của chúng); trên máy tính tiền, combo hiện thành một dòng với các món bên dưới và giá combo được chia ra (VAT theo từng món chính xác). Các món chỉ thuộc combo được gửi kèm dưới dạng
menuArtikelen. Cửa hàng trực tuyến cũ không có lựa chọn: combo hiện trên hóa đơn như sản phẩm bình thường, như trước đây. - Hết tồn kho = hết hàng, kể cả các tùy chọn có nguyên liệu đã hết.
- Chất gây dị ứng: tắt trên máy tính tiền = không hiện trên cửa hàng trực tuyến.
- Thẻ thành viên: khi thanh toán, khách có thể tích điểm (theo số điện thoại hoặc email); máy tính tiền liên kết khách với đơn hàng, điểm được cộng khi tính tiền (đổi điểm tại cửa hàng). Cửa hàng trực tuyến hiển thị số dư.
- Thẻ quà tặng (Cài đặt → Cửa hàng → Thẻ quà tặng → Bán thẻ quà tặng trên cửa hàng trực tuyến, chỉ với số dư): khách mua thẻ và thanh toán trực tuyến; máy tính tiền tạo thẻ, có hiệu lực ngay, và mã được gửi qua cổng thông tin về cửa hàng trực tuyến (trạng thái và email). Nếu Thẻ quà tặng làm phương thức thanh toán cũng đang bật, khách mang đi có thể chọn "bằng thẻ quà tặng tại cửa hàng".
- Mã giảm giá (Cài đặt → Mã giảm giá, với công tắc ở Cửa hàng): theo từng mã tại máy tính tiền và/hoặc trên cửa hàng trực tuyến; lượt dùng được tính chung cho cả hai.
- Tạm dừng và đông khách: nút Cửa hàng trực tuyến trên thanh trên cùng: Tạm dừng cửa hàng trực tuyến (kèm thông báo cho khách) và Đông khách (phút thêm). Được chuyển đến cửa hàng trực tuyến trong vài giây.
- Đặt bàn trực tuyến theo quy tắc của máy tính tiền (Cài đặt → Cửa hàng → Đặt bàn): số người tối đa, số ngày đặt trước, khung giờ, thời gian đặt trước tối thiểu và giờ theo từng ngày trong tuần.
- Giao hàng và khung giờ: xem Cửa hàng trực tuyến theo máy tính tiền tại Giao hàng và khung giờ.
- Buffet tại bàn (Cài đặt → Quán → Buffet → Cả khi gọi món tại bàn qua mã QR): nếu bàn đang có gói buffet, khách thấy các món thuộc gói là Đã bao gồm với giá € 0, kèm số lượt, mức tối đa mỗi người, thời gian chờ và giới hạn thời gian. Phần còn lại khách trả như bình thường; tất cả được tính vào hóa đơn của bàn. Nếu tình trạng của bàn vừa thay đổi, máy tính tiền từ chối đơn và khách gọi lại.
- Ghi nợ (Cài đặt → Hóa đơn → Mua ghi nợ → Cả trong cửa hàng trực tuyến): xem Trong cửa hàng trực tuyến tại Mua ghi nợ.
- Đăng ký danh sách chờ trực tuyến (Cài đặt → Quán → Danh sách chờ): xem Đăng ký danh sách chờ trực tuyến tại Danh sách chờ cho khách vãng lai.
- Upsell: "Thêm gì nữa không?" (tùy chọn, mặc định tắt; Cài đặt → Cửa hàng → Thanh toán → Upsell trên cửa hàng trực tuyến): chọn các nhóm sản phẩm (ví dụ đồ uống, nước sốt, tráng miệng) và số gợi ý. Khi đó trên cửa hàng trực tuyến, ở giỏ hàng và khi thanh toán sẽ hiện sản phẩm từ các nhóm đó chưa có trong giỏ (chỉ những gì đang bán, chưa hết hàng và không có lựa chọn bắt buộc); khách thêm chúng chỉ với một chạm. Không chọn nhóm nào = tắt, như trước đây. Kiosk có upsell riêng (xem Kiosk tự phục vụ).
Vì vậy thực đơn cho cửa hàng trực tuyến có versie: 2 với các trường menuArtikelen, allergenenAan, happyhours, menus, klantenkaart, cadeaubon, kortingscodes, pauze, drukteMin, volgt, bezetting, reserveren.online, ayce, opRekening, wachtlijst và upsell. Ngoài ra, xác nhận gửi đến cổng thông tin có cadeaubonnen (mã), klant (điểm) và plek (danh sách chờ).
Thống kê trong cổng quản lý. Mang đi và giao hàng qua cửa hàng trực tuyến được tính riêng (webshop, webshopGeannuleerd trong verkoopTelling), theo ngày nhận đơn, và không tính lại vào mang đi/giao hàng. Gọi món tại bàn vẫn tính vào bàn như bình thường.
Thanh toán thẻ và máy POS
Cài đặt → Thanh toán (chỉ quản trị viên):
- Thiết bị đầu cuối: với mỗi thiết bị đầu cuối, nhập tên, ID thiết bị đầu cuối và khóa API riêng từ PinPortal (Klant → Bewerk klant → Overige → API Keys). Sau khi lưu, chỉ còn thấy phần cuối của khóa; khóa không bao giờ được gửi lại trình duyệt. Dùng Kiểm tra kết nối để kiểm tra khóa và thiết bị đầu cuối.
- Chế độ thử: giả lập một thiết bị đầu cuối (thành công sau ±7 giây; số tiền kết thúc bằng 13 cent sẽ bị từ chối). Tiện để thử mà không cần máy thanh toán thẻ.
Khi có ít nhất một thiết bị đầu cuối có khóa API (hoặc chế độ thử đang bật), Thanh toán → Thẻ / Bancontact sẽ tự động bắt đầu giao dịch trên thiết bị đầu cuối, với số tiền do máy chủ tính.
Khi kết nối đang bật, máy chủ chỉ chấp nhận "thẻ" khi có giao dịch thành công trên thiết bị đầu cuối cho đúng đơn đó và đúng số tiền đó. Các yêu cầu được gửi dưới dạng biểu mẫu thông thường giống như trong PHP-SDK chính thức, với API dự phòng (api-backup.pinvandaag.com) nếu API chính không phản hồi. Mỗi phản hồi từ API được ghi với [pin] trong cửa sổ máy chủ, tiện khi có sự cố. Một giao dịch thành công nhưng chưa được xử lý (vd. máy tính bảng bị tắt) sẽ được tìm lại ở lần thanh toán tiếp theo của đơn đó.
Tiền tip (thẻ, tiền mặt và thẻ quà tặng)
Trong màn hình thanh toán, mỗi phương thức thanh toán có một hàng nút tiền tip: Không, 5%, 10%, 15% (làm tròn lên đến 10 cent), Làm tròn (lên số euro chẵn tiếp theo) và Số tiền khác. Với thẻ, khách trả số tiền + tiền tip một lần trên thiết bị đầu cuối; với tiền mặt, tiền tip được tính vào tiền thối và vào ngăn kéo tiền. Trên hóa đơn có số tiền đã quẹt thẻ với dòng "trong đó tiền tip" bên dưới; TỔNG và VAT giữ nguyên, vì tiền tip không phải doanh thu. Trong báo cáo X/Z, tiền boa được ghi theo từng phương thức thanh toán và dưới dạng "Tổng tiền boa".
Quản trị viên cài đặt các nút tiền tip tại Cài đặt → Cửa hàng → Tiền tip: bật/tắt, tỷ lệ phần trăm nào (tối đa 4, vd. "5, 10, 15"), có nút "Làm tròn" hay không và với phương thức thanh toán nào (thẻ, tiền mặt, thẻ quà tặng) thì được tip. "Không" và "Số tiền khác" luôn có sẵn.
"Cứ lấy tròn … đi" luôn có sẵn, với mọi phương thức thanh toán, kể cả khi nút tiền tip đang tắt (không cần cài đặt): khách tự làm tròn hóa đơn lên và phần chênh lệch là tiền tip. Có các nút với số euro chẵn tiếp theo và các số tròn tiếp theo (vd. € 28,00 → 29, 30, 40; € 44,00 → 45, 50, 60) và Tổng khác để tự nhập tổng. Chạm lại vào nút đã chọn = không làm tròn. Tối đa € 500 tiền tip (cùng giới hạn với máy chủ thu ngân).
Không có internet
Máy thu ngân hoạt động trong mạng nội bộ và không cần internet; chỉ thanh toán thẻ qua kết nối mới cần. Nếu cửa hàng không có internet, thanh trên cùng hiển thị Không có internet · quẹt thẻ thủ công (kiểm tra mỗi phút). Khi đó, và cả sau khi khởi động giao dịch trên thiết bị đầu cuối thất bại, màn hình thanh toán sẽ hiện nút Đã quẹt thẻ trên thiết bị đầu cuối: quẹt số tiền trên chính thiết bị đầu cuối rồi ghi nhận như vậy.
Sơ đồ và bàn
Cài đặt → Sơ đồ bàn (chỉ quản trị viên):
- Thêm sơ đồ bàn (vd. Phòng chính, Sân hiên, Nhà kính), đổi tên, xóa và thay đổi thứ tự bằng ◀ ▶.
- Thêm bàn bằng các nút phía trên lưới (tròn, vuông, dài, bàn đứng) và kéo đến vị trí bằng chuột hoặc ngón tay. Góc xanh của bàn đang chọn dùng để phóng to hoặc thu nhỏ.
- Với mỗi bàn, đặt tên/số, số người (các ghế nhỏ quanh bàn sẽ hiện theo) và hình dạng; nhân bản hoặc xóa.
- Bằng bàn phím: phím mũi tên để di chuyển (Shift = bước lớn hơn), Delete để xóa.
- Thay đổi chỉ có hiệu lực sau khi Lưu; "Hoàn tác" đưa mọi thứ về như cũ.
- Không thể xóa bàn hoặc sơ đồ bàn có đơn đang mở. Bàn đã xóa vẫn được lưu trong các đơn cũ.
Chuyển cấu hình sang quán thứ hai
Cài đặt → Nhập/xuất (chỉ quản trị viên). Khi đã thiết lập xong một cửa hàng, hãy xuất cấu hình ra tệp .json và nhập tệp đó vào máy thu ngân của cửa hàng thứ hai. Có thể chọn từng phần:
- Sản phẩm: nhóm, sản phẩm, giá (cả theo hình thức phục vụ), VAT, tùy chọn, combo, giờ vàng (có mùa), khung giờ phục vụ, chất gây dị ứng, nguyên liệu/công thức, thẻ tích dấu, các gói buffet và ảnh sản phẩm.
- Sơ đồ bàn: khu vực và bàn.
- Cài đặt khác: tất cả tùy chọn của cửa hàng, máy in (không có địa chỉ IP), quyền theo vai trò và kế toán.
Không bao giờ được chuyển theo: tên, địa chỉ, mã bưu chính, thành phố, điện thoại, e-mail, mã số VAT và dòng cuối hóa đơn của cửa hàng, địa chỉ e-mail nhận báo cáo Z, thiết bị đầu cuối thanh toán thẻ và khóa của chúng, nhân viên và mã PIN, cùng tất cả doanh thu, hóa đơn, khách hàng và số lượng tồn kho.
Việc nhập được bảo vệ chặt chẽ: một cảnh báo lớn màu đỏ, ô tích "Tôi hiểu...", nhập lại mã PIN riêng của quản trị viên, không có đơn đang mở, cùng quốc gia (mức VAT) và tự động sao lưu trước. Việc nhập diễn ra trong một giao dịch: nếu có lỗi, sẽ không có gì thay đổi. Sản phẩm, nhóm, nguyên liệu và bàn hiện có không bị xóa hẳn mà được gỡ khỏi máy thu ngân (như khi Xóa), để hóa đơn và báo cáo cũ vẫn chính xác.
Nhập từ máy thu ngân khác
Chuyển đổi mà không phải gõ lại mọi thứ. Luôn có sẵn (không cần công tắc): tại Cài đặt → Nhập/xuất (chỉ quản trị viên) có mục Nhập từ máy thu ngân khác.
- Những gì: sản phẩm (tên, giá gồm VAT, VAT, nhóm, mã/PLU, tồn kho) hoặc khách hàng có thẻ thành viên (tên, điện thoại, email, điểm, địa chỉ, mã bưu chính, thành phố; tên và họ được ghép lại).
- Tệp: tệp xuất từ máy thu ngân cũ của bạn (Dobizzz/DoPos, Lightspeed, MplusKASSA, unTill, Tebi ...) hoặc danh sách tự lập: CSV (; , tab hoặc |; UTF-8 hoặc Excel tiếng Hà Lan) hoặc Excel (.xlsx), trang tính đầu tiên, với tên cột ở dòng đầu tiên. Tệp .xls cũ hãy lưu lại thành .xlsx hoặc CSV trước.
- Xem trước: máy thu ngân nhận diện cột theo tên (Omschrijving, Verkoopprijs incl. BTW, BTW %, Omzetgroep, Artikelnummer, GSM, Spaarpunten ...) và hiển thị 10 dòng đầu tiên. Nếu cột không đúng, bạn tự chọn. Chỉ khi nhấn Nhập thì dữ liệu mới thay đổi.
- Sản phẩm: giá dạng 3,50, € 3,50 hoặc 1.234,50; VAT dạng 21, 9%, 0,09, cao hoặc thấp (không rõ hoặc trống: thuế suất bạn chọn, mặc định là cao nhất). Nhóm sản phẩm chưa có sẽ được tạo (không có nhóm: "Đã nhập").
- Tồn kho (cột Voorraad, Stock, Aantal ...): nếu Theo dõi kho đang bật (Cài đặt → Quán), sản phẩm sẽ theo dõi kho và tồn kho được đặt bằng số lượng đó (một lần kiểm kê trong lịch sử kho, lý do "Đã nhập"). Để trống: tồn kho giữ nguyên.
- Tệp mẫu (CSV): một danh sách để tự điền (Naam;Productgroep;Prijs;Btw;Voorraad;Code), ví dụ trong Excel.
- Khách hàng: điểm được cộng thêm dưới dạng điều chỉnh "Nhập từ máy thu ngân khác" (xem được trong lịch sử). Sự đồng ý nhận SMS hoặc email không được chuyển sang (GDPR): bạn cần hỏi lại. Hãy bật thẻ thành viên trước.
- Sản phẩm đã có (cùng mã, hoặc nếu không có mã thì cùng tên) và khách hàng (cùng số điện thoại hoặc email) sẽ được bỏ qua, hoặc được cập nhật nếu bạn đánh dấu tích (với sản phẩm: tên, giá, VAT, nhóm và tồn kho). Các dòng trùng trong tệp chỉ được lấy một lần.
- Khi xong: số mới, đã cập nhật và bỏ qua, kèm theo từng dòng có gì không đúng (vd. không có giá). Tối đa 5000 dòng mỗi lần. Trong nhật ký ghi là "Đã nhập cấu hình".
Ngôn ngữ (42, trong đó có tiếng Thổ Nhĩ Kỳ, tiếng Ả Rập, Darija, tiếng Berber, tiếng Ba Lan, tiếng Bulgaria, tiếng Hungary, tiếng Nga, tiếng Serbia, tiếng Albania, tiếng Ba Tư, tiếng Tigrinya, tiếng Amhara, tiếng Somali, tiếng Papiamento, tiếng Sranan Tongo, tiếng Hindi, tiếng Urdu, tiếng Indonesia, tiếng Việt, tiếng Aram Syriac, tiếng Trung và tiếng Ukraina)
Cạnh nút © ở góc dưới bên phải, mỗi màn hình có một nút hiển thị ngôn ngữ (vd. NL và lá cờ nhỏ). Chạm vào để mở menu chọn: các ngôn ngữ được xếp theo thứ tự chữ cái, với tên bằng chính ngôn ngữ đó trước lá cờ: Bahasa Indonesia (tiếng Indonesia), Čeština (tiếng Séc), Darija (tiếng Ả Rập Maroc viết bằng chữ Latinh), Deutsch, English, Español, Français, Hrvatski (tiếng Croatia), Italiano, Kurdî (Kurmancî), Latviešu (tiếng Latvia), Lietuvių (tiếng Litva), Magyar (tiếng Hungary), Nederlands, Papiamentu (tiếng Papiamento), Polski, Português, Română, Shqip (tiếng Albania), Slovenčina (tiếng Slovakia), Soomaali (tiếng Somali), Sranantongo, Srpski (tiếng Serbia, chữ Latinh), Tarifit (tiếng Berber Rif), Tiếng Việt, Türkçe, tiếp theo là chữ Kirin: Български (tiếng Bulgaria), Русский (tiếng Nga) và Українська (tiếng Ukraina), sau đó là các ngôn ngữ chữ Ả Rập: اردو (tiếng Urdu), الدارجة (Darija), العربية (tiếng Ả Rập), دری (tiếng Dari), فارسی (tiếng Ba Tư, Farsi), پښتو (tiếng Pashto) và کوردی (سۆرانی) (tiếng Kurd Soranî), rồi chữ Syriac ܣܘܪܝܝܐ (tiếng Aram Syriac, Suryoyo), chữ Devanagari हिन्दी (tiếng Hindi), chữ Ge'ez ትግርኛ (tiếng Tigrinya) và አማርኛ (tiếng Amhara), chữ Tifinagh ⵜⴰⵎⴰⵣⵉⵖⵜ (tiếng Tamazight, Berber), và cuối cùng là 中文(简体)(tiếng Trung, chữ giản thể). Tất cả màn hình, nút, thông báo và thông báo lỗi của máy chủ thu ngân đều được dịch.
- Theo từng nhân viên: ngôn ngữ đã chọn được lưu cho nhân viên đang đăng nhập (
gebruiker.taal). Khi ai đó đăng nhập với ngôn ngữ khác, máy thu ngân chuyển ngay. Trên chính thiết bị, ngôn ngữ dùng gần nhất được ghi nhớ, nên màn hình nhập mã PIN cũng đã ở ngôn ngữ đó. Nếu bạn chọn một ngôn ngữ (trên màn hình mã PIN hoặc khi đã đăng nhập) và đăng nhập (lại) trong vòng 10 phút, lựa chọn đó được ưu tiên và trở thành ngôn ngữ của nhân viên đó. Khi đổi ngôn ngữ, màn hình được tải lại; bạn vẫn đăng nhập và hóa đơn đang mở vẫn mở. - Lần đầu trên một thiết bị: nếu máy tính bảng hoặc máy tính chưa có ngôn ngữ, máy thu ngân khởi động bằng ngôn ngữ đã chọn khi cài đặt. Nếu chưa chọn ngôn ngữ nào, dùng ngôn ngữ của chính thiết bị (trình duyệt hoặc hệ điều hành, kể cả trong ứng dụng Android), và nếu ngôn ngữ đó không có thì dùng tiếng Hà Lan. Sau đó mỗi thiết bị ghi nhớ lựa chọn riêng.
- Đông Âu: tiếng Ba Lan, Séc, Slovakia, Hungary, Romania, Bulgaria, Croatia (cũng dùng cho tiếng Bosnia), Litva, Latvia, Ukraina và Nga: ngôn ngữ của phần lớn lao động nhập cư từ Trung và Đông Âu ở Hà Lan và Bỉ.
- Balkan: tiếng Serbia (chữ Latinh, như phần lớn người Serbia ở Hà Lan và Bỉ vẫn viết; cũng dùng cho tiếng Montenegro) và tiếng Albania (Albania, Kosovo và Bắc Macedonia).
- Sừng châu Phi: tiếng Tigrinya (Eritrea) và tiếng Amhara (Ethiopia), cả hai đều dùng chữ Ge'ez, và tiếng Somali (chữ Latinh).
- Iran: tiếng Ba Tư (Farsi). Thiết bị dùng tiếng Ba Tư của Afghanistan (fa-AF) sẽ nhận tiếng Dari, còn lại là Farsi.
- Hà Lan Caribe và Suriname: tiếng Papiamento (Papiamentu, chính tả của Curaçao và Bonaire; cũng dùng cho Aruba) và Sranantongo.
- Châu Á: tiếng Hindi (Devanagari; cũng dùng cho Sarnami Hindustani), tiếng Urdu (từ phải sang trái), tiếng Indonesia và tiếng Việt (chữ Latinh, cả trên hóa đơn).
- Maroc: Darija (tiếng Ả Rập Maroc, ngôn ngữ nói) bằng chữ Ả Rập và cả chữ Latinh (như nhiều người Hà Lan gốc Maroc vẫn nhắn tin), bên cạnh tiếng Ả Rập chuẩn. Tiếng Berber: Tarifit (tiếng Rif, chữ Latinh; phần lớn người Hà Lan gốc Maroc đến từ vùng Rif) và tiếng Tamazight Maroc chuẩn bằng chữ Tifinagh.
- Từ phải sang trái: tiếng Ả Rập (Ả Rập chuẩn), tiếng Urdu, Darija bằng chữ Ả Rập, tiếng Dari và Pashto (Afghanistan), tiếng Ba Tư (Farsi, Iran), tiếng Kurd Soranî (Iraq/Iran) và tiếng Aram Syriac (Suryoyo, chữ Syriac). Số tiền, mã và các phím số vẫn từ trái sang phải. Tiếng Kurd Kurmancî (Thổ Nhĩ Kỳ/Syria) dùng chữ Latinh.
- Phiếu bếp (bếp/bar): mặc định theo ngôn ngữ của nhân viên gửi đơn. Với mỗi máy in, tại Cài đặt → Máy in → Ngôn ngữ phiếu bếp cũng có thể chọn một ngôn ngữ cố định (vd. của đầu bếp), bằng chữ Latinh: Nederlands, Čeština, Darija, Deutsch, English, Español, Français, Hrvatski, Italiano, Kurdî, Latviešu, Lietuvių, Magyar, Papiamentu, Polski, Português, Română, Shqip, Slovenčina, Soomaali, Sranantongo, Srpski, Tarifit, Tiếng Việt, Bahasa Indonesia hoặc Türkçe. Tiếng Bulgaria, Nga và Ukraina được in trên phiếu bếp bằng phiên âm Latinh (máy in hóa đơn không có chữ Kirin). Chữ Ả Rập, Syriac, Devanagari, Ge'ez, Tifinagh và tiếng Trung không in được trên máy in hóa đơn: khi đó Darija in bằng chữ Latinh, Tamazight in thành Tarifit và các ngôn ngữ còn lại in bằng tiếng Hà Lan. Các chữ cố định (BÀN, Lượt món, CHỜ gọi ra, GỌI LƯỢT MÓN, IN SAU, Mang đi, Quầy) được dịch; tên sản phẩm và ghi chú giữ nguyên như khi nhập. Máy in đang đặt tiếng Hà Lan sẽ theo ngôn ngữ của nhân viên.
- Hóa đơn (cho mọi khách hàng): mặc định tiếng Hà Lan, độc lập với ngôn ngữ màn hình. Chọn ngôn ngữ khác tại Cài đặt → Cửa hàng → Ngôn ngữ của hóa đơn (ngay dưới dòng chữ cuối hóa đơn), chỉ các ngôn ngữ chữ Latinh. Điều này cũng áp dụng cho hóa đơn pro forma, phiếu trả hàng, bản sao, thẻ quà tặng và hóa đơn gửi qua e-mail. Số tiền, mã VAT, mã số VAT của cửa hàng và các dòng thuế (Bỉ) giữ nguyên; dòng chữ riêng cuối hóa đơn vẫn như cửa hàng đã nhập.
- Sản phẩm, nhóm và tùy chọn giữ tên như cửa hàng đã nhập; chúng không được dịch.
- Ngôn ngữ của từng nhân viên cũng được đặt tại Cài đặt → Nhân viên.
- Giới thiệu và hướng dẫn sử dụng cũng có bằng tất cả các ngôn ngữ này. Qua nút ©, chúng mở bằng ngôn ngữ của máy thu ngân; ở phía trên, bạn chọn ngôn ngữ khác bằng các lá cờ (không thay đổi gì trong máy thu ngân).
Dành cho lập trình viên: mọi chữ hiển thị nằm trong mã nguồn dưới dạng vt('Nederlandse tekst') (apps/pos-web/lib/i18n.ts); chữ tiếng Hà Lan là khóa. Các bản dịch nằm trong apps/pos-web/lib/vertalingen/<taal>.ts. Nếu thiếu bản dịch, máy thu ngân hiển thị tiếng Hà Lan; bài kiểm tra i18n (pos-web) kiểm tra rằng mọi chữ đều được dịch sang mọi ngôn ngữ và các vị trí {0} đều khớp. Thông báo của máy chủ thu ngân vẫn bằng tiếng Hà Lan và được dịch trong trình duyệt (kể cả với {0}, vd. tên sản phẩm trong thông báo).
Thiết lập máy in
Máy thu ngân mới chưa có máy in. Đăng nhập với tư cách quản trị viên (demo: 1111) và chọn Cài đặt ở thanh trên cùng.
- Máy in: thêm bao nhiêu máy in tùy theo cửa hàng (vd. thu ngân, bếp, bar, pizza), mỗi máy có một kết nối (thường là mạng: địa chỉ IP và cổng 9100) và khổ giấy. Dùng In thử để kiểm tra máy có hoạt động không. Ở phía trên, chọn máy in sẽ in hóa đơn và pro forma (và mở ngăn kéo tiền). Với mỗi máy in, bạn cũng chọn ngôn ngữ phiếu bếp (xem Ngôn ngữ); hóa đơn vẫn bằng tiếng Hà Lan.
- Kết nối cho từng máy in:
- Mạng (địa chỉ IP): địa chỉ IP và cổng (thường là 9100). Trước đây luôn hoạt động như vậy và vẫn tiếp tục như vậy: các máy in hiện có tự động được đặt là mạng.
- USB: trên Linux là thiết bị, ví dụ
/dev/usb/lp0. Trên Android là máy in USB gắn vào thiết bị (cáp OTG; để trống = máy in USB đầu tiên). Trên Windows và macOS, chọn Máy in hệ thống. - Nối tiếp (COM / ttyUSB): một cổng COM (Windows),
/dev/ttyUSB0hoặc/dev/ttyS0(Linux, Android) hoặc/dev/cu.…(macOS), kèm tốc độ (thường là 9600, 19200 hoặc 38400 baud). Cũng dùng cho máy in Bluetooth mà Windows hoặc Linux ghép nối thành cổng COM hoặc/dev/rfcomm0. - Bluetooth: trong ứng dụng HorecaPOS trên Android, với địa chỉ Bluetooth của máy in đã ghép nối (vd. máy in hóa đơn di động). Hãy ghép nối máy in trước trong cài đặt Bluetooth của Android.
- Máy in hệ thống (Windows / CUPS): máy in như Windows hoặc CUPS (Linux, macOS) nhận biết, với trình điều khiển riêng của nó hoặc dưới dạng Generic / Text Only. Phiếu được gửi thô (RAW) đến máy in, không qua định dạng của trình điều khiển.
- Tích hợp (Sunmi, iMin ...): máy in nằm ngay trong máy tính tiền Android.
- Tìm hiển thị các máy in và cổng mà máy tính tiền nhìn thấy. Chọn một cái là địa chỉ được điền sẵn.
- Giao thức: ESC/POS (hầu hết các máy in hóa đơn, kể cả máy in Star ở chế độ ESC/POS) hoặc Star (Star Line Mode). Với Star, máy tính tiền tự chuyển đổi phiếu; phiếu trông vẫn giống hệt.
- Màn hình phục vụ có máy in riêng: màn hình phục vụ Android có ứng dụng HorecaPOS (vd. máy cầm tay có máy in Bluetooth di động, hoặc một máy Sunmi làm màn hình phục vụ) có thể tự in. Hãy đăng ký nó trên chính thiết bị đó (Cài đặt → Máy in → Màn hình phục vụ có máy in riêng) và ở máy in chọn Kết nối với. Màn hình phục vụ lấy phiếu của nó từ máy tính tiền; hãy để ứng dụng mở trên đó. Nếu không được (ứng dụng đã đóng, ngoài vùng phủ sóng Wi-Fi), phiếu bếp sẽ vào hàng đợi in, giống như với máy in mạng đang tắt. Hủy đăng ký thiết bị sẽ chuyển các máy in về lại chính máy tính tiền.
- Máy in theo nhóm / sản phẩm: chọn cho từng nhóm hàng máy in nào sẽ in phiếu bếp. Với từng sản phẩm, bạn có thể ghi đè bằng máy in riêng hoặc "không in phiếu bếp".
Sản phẩm giống nhau được gộp lại khi in: hai lần 1x Cola thành 2x Cola, trên phiếu bếp và trên hóa đơn. Chỉ những sản phẩm có cùng tùy chọn và ghi chú mới được gộp.
Trình cài đặt Linux thêm người dùng của máy tính tiền vào các nhóm lp và dialout, để máy tính tiền được phép dùng máy in USB và máy in nối tiếp.
Cần trợ giúp?
Optimum POS · 085 560 00 60 · support@optimumpos.nl · T2–T6 9:00–20:00, T7–CN 14:00–20:00