hitava

Khoảng 25 phút · làm một lần

Cài đặt Bán hàng 360 PRO

Dành cho bản Google Trang tính. Sau khi cài, menu “Bán hàng 360” hiện cạnh Trợ giúp và mọi tính năng tự động chạy trong file của bạn.

Menu sau khi cài
Bán hàng 360
Số file phải dán
3 file
Thời gian
~25 phút
Web App
Có

Nếu bạn lấy file bằng nút Tạo bản sao Google Sheets trong Tài liệu của tôi: bản sao đã có sẵn script. Bỏ qua bước 1 và 2, đi thẳng tới cấp quyền — riêng Web App vẫn phải tự triển khai một lần.

Xem video hướng dẫn

Toàn bộ các bước bên dưới — mở file, dán mã, cấp quyền, việc làm một lần — trong một video. Xem trước rồi làm theo từng bước bằng chữ và hình ở phần sau.

  1. Video hướng dẫn cài đặt & sử dụng Bán hàng 360 PRO

    Xem trên YouTube ↗

Thêm video khác trên kênh YouTube HiTaVa.

Bước 1 — Mở file bằng Google Trang tính

Bỏ qua nếu bạn đã tạo bản sao từ Tài liệu của tôi.

  1. Tải file .xlsx trong thư mục 1-File-chinh lên Google Drive.
  2. Chuột phải file › Mở bằng › Google Trang tính › Tệp › Lưu dưới dạng Google Trang tính.
  3. Từ đây dùng file Google Trang tính vừa tạo, không dùng file .xlsx nữa.

Đặt đúng múi giờ trước khi làm tiếp

Tệp › Cài đặt › Ngôn ngữ Việt Nam, Múi giờ (GMT+07:00) Bangkok, Hà Nội, Tính lại Khi thay đổi và mỗi giờ. File chuyển từ .xlsx sang thường nhận múi giờ khác, làm ngày tháng trong file lệch.

Bước 2 — Dán mã vào Apps Script

Gói của mẫu này gồm 3 file trong thư mục 2-Apps-Script:

  • Code.gs — phần chạy trên máy chủ Google (mã đã thu gọn, dòng rất dài — đừng sửa gì): menu, đăng nhập, bán hàng, kho, nhập hàng, công nợ, đại lý, sản xuất, báo cáo, sao lưu
  • App — web app toàn màn hình: một trang dùng chung cho máy tính, điện thoại, máy bán tại quầy và cổng đặt hàng của đại lý
  • appsscript.json.txt — tệp kê khai: múi giờ GMT+7, quyền, cấu hình web app và dịch vụ đọc nhanh Google Sheets — thiếu tệp này mỗi trang web app tải mất 15–30 giây
  1. Mở file Google Trang tính › Tiện ích mở rộng › Apps Script.
  2. Xoá hết đoạn mã mẫu trong Mã.gs, mở Code.gs bằng Notepad hoặc TextEdit, chọn tất cả, sao chép, dán vào.
  3. Bấm dấu + cạnh “Tệp” › HTML cho từng file: App. Gõ tên đúng từng chữ, viết hoa như trên và không thêm đuôi .html; xoá nội dung mẫu rồi dán toàn bộ file tương ứng.
  4. Cài đặt dự án (bánh răng bên trái) › tick Hiển thị tệp kê khai “appsscript.json” trong trình chỉnh sửa. Quay lại Trình chỉnh sửa (biểu tượng <>) › mở appsscript.json › xoá hết › dán toàn bộ nội dung appsscript.json.txt. Đuôi .txt chỉ để tải về được — dán phần nội dung, không đổi tên tệp.
  5. Bấm 💾 Lưu. Cài đặt dự án (bánh răng bên trái) › Múi giờ: (GMT+07:00) Bangkok, Hà Nội — giống bảng tính.
  6. Quay lại tab bảng tính, nhấn F5. Menu Bán hàng 360 hiện cạnh Trợ giúp sau vài giây.
Bản sao của mẫu HiTaVa
docs.google.com/spreadsheets/d/1XyZ…/edit
Bản sao của Quản lý lớp học PRO v1.0
TệpChỉnh sửaXemChènĐịnh dạngDữ liệuCông cụTiện ích mở rộngTrợ giúpBán hàng 360Mở ứng dụngMở bán tại quầyCài đặt lần đầuBật/tắt tự mở ứng dụng khi mở fileSao lưu ngayĐối soát lại toàn bộGhi sổ hàng đợi bán hàng ngayLink riêng của nhân viênĐặt lại PIN nhân viênKiểm tra cài đặt
ABCDEFG
1Mã HSHọ tênLớpBuổi trong kỳĐã họcHọc phíCòn nợ
2HS0007Nguyễn AnTA-3B871.440.0000
3HS0008Trần BìnhTA-3B881.440.000240.000
4HS0012Lê ChiTA-5A12112.160.0000
5HS0015Phạm DungTA-5A12102.160.000360.000
6HS0021Vũ GiangTT-1A881.200.0000
7       
8       
Hướng dẫnThiết lậpHọc sinhLịch họcĐiểm danhHọc phíLương giáo viên
Vuốt ngang trong hình để xem hết màn hình.Lưu script và tải lại bảng tính xong, ① menu “Bán hàng 360” nằm cạnh Trợ giúp. Bấm vào đó rồi chọn ② “Cài đặt lần đầu” — lần đầu bấm chính là lúc Google hỏi quyền.

Bước 3 — Cấp quyền cho script

Bấm menu Bán hàng 360 › Cài đặt lần đầu. Google hỏi quyền — đây là việc làm một lần cho mỗi tài khoản và mỗi file.

  1. Cửa sổ “Cần cấp quyền” › Tiếp tục.
  2. Chọn tài khoản Google đang giữ file.
  3. “Google chưa xác minh ứng dụng này” › Nâng cao › Chuyển đến … (không an toàn).
  4. Giữ đủ các tick › Cho phép.
Đăng nhập bằng Google
accounts.google.com/o/oauth2/auth?client_id=…

Google chưa xác minh ứng dụng này

Ứng dụng đang yêu cầu quyền truy cập vào thông tin nhạy cảm trong Tài khoản Google của bạn. Chỉ tiếp tục nếu bạn tin tưởng nhà phát triển.

ten.cua.ban@gmail.com

Nâng caoQuay lại nơi an toàn

Bấm “Nâng cao” xong, dòng này hiện ra ngay bên dưới:

Chuyển đến Bán hàng 360 PRO (không an toàn)
Vuốt ngang trong hình để xem hết màn hình.Bấm ① Nâng cao ở góc dưới bên trái, rồi ② dòng “Chuyển đến … (không an toàn)” vừa hiện ra. Dòng cảnh báo này là bình thường với mọi Apps Script tự dán vào file của mình.

Mẫu này xin những quyền nào

Xem, sửa, tạo, xoá bảng tính
đọc và ghi hàng hoá, chứng từ, kho, công nợ, báo cáo trong file này
Xem, sửa, tạo, xoá tệp trong Google Drive
bản sao lưu trong thư mục "Bán hàng 360 – Sao lưu" và bộ nhớ đệm của ứng dụng
Gửi email thay bạn
email nhắc việc cho chủ. Script không đọc hộp thư Gmail
Chạy khi bạn không có mặt
ghi sổ hàng đợi bán hàng mỗi 10 phút, đối soát lại lúc 02:00, nhắc việc lúc 07:00, sao lưu
Hiện và chạy nội dung bên thứ ba
menu Bán hàng 360 và hộp nhỏ "Mở ứng dụng" trong bảng tính
Xem địa chỉ email của bạn
biết ai đang bấm menu: chủ file hay người có vai trò Chủ. Script không xin quyền kết nối dịch vụ bên ngoài Google, dữ liệu không gửi về HiTaVa
Đăng nhập bằng Google
accounts.google.com/signin/oauth/consent?…

Bán hàng 360 PRO muốn truy cập vào Tài khoản Google của bạn

ten.cua.ban@gmail.com

Việc này sẽ cho phép Bán hàng 360 PRO:

  • Xem, sửa, tạo và xoá tất cả bảng tính Google Trang tính của bạn
  • Xem, sửa, tạo và xoá tất cả tệp Google Drive của bạn
  • Gửi email thay bạn
  • Hiện và chạy nội dung bên thứ ba trong lời nhắc và thanh bên
HuỷCho phép
Vuốt ngang trong hình để xem hết màn hình.Màn hình cuối: giữ nguyên các tick rồi bấm ① Cho phép. Bỏ bớt một quyền thì phần tính năng tương ứng sẽ báo thiếu quyền khi dùng.

Dữ liệu ở lại trong Drive của bạn. Script chạy bằng tài khoản Google của bạn, không gửi dữ liệu ra ngoài và HiTaVa không xem được file của bạn.

Bước 4 — Việc làm một lần

  1. Menu Bán hàng 360 › Cài đặt lần đầu (chỉ chủ file chạy được): ứng dụng hỏi cửa hàng có tự sản xuất / pha chế / đóng gói không — Có = chế độ Có sản xuất (định mức, lệnh sản xuất, giá thành), Không = chế độ Thương mại (ẩn phần sản xuất), đổi lại được ở Cài đặt. Bước này tạo khoá đăng nhập, cài lịch tự chạy (ghi sổ hàng đợi bán hàng mỗi 10 phút, đối soát lại lúc 02:00, nhắc việc lúc 07:00) và tạo link riêng cho nhân viên. Mỗi 10 phút thay vì mỗi phút để không vượt hạn mức chạy nền 90 phút / ngày của tài khoản gmail.com — đơn bán vẫn hiện ngay trên mọi màn hình. Chạy lại lúc nào cũng an toàn.
  2. Hiện hộp "Ứng dụng web CHƯA được triển khai": bấm Huỷ, làm Bước 5 bên dưới rồi mở link /exec một lần. Xong thì menu › Kiểm tra cài đặt phải thấy link ứng dụng kết thúc bằng /exec, khoá phiên, 4 lịch tự chạy và "Ghi sổ hàng đợi + giữ ấm: mỗi 10 phút".
  3. Menu › Mở ứng dụng: ứng dụng mở toàn màn hình ở tab mới, tự đăng nhập với vai trò Chủ. Trình duyệt chặn cửa sổ bật lên thì bấm nút "Mở Bán hàng 360" trong hộp nhỏ. Muốn ứng dụng tự mở mỗi lần mở file (mặc định tắt): menu › Bật/tắt tự mở ứng dụng khi mở file.
  4. Trong ứng dụng › Cài đặt › Cửa hàng: tên, địa chỉ, mã số thuế (in trên hoá đơn), ngân hàng nhận tiền + số tài khoản (để tạo VietQR). Rồi Chế độ & thuế, Bán hàng & duyệt (giảm tối đa không cần duyệt, hạn mức nợ, ẩn giá vốn với thu ngân, mục tiêu ngày), Kho & lô (FEFO, cận date).
  5. Cài đặt › Kho, cửa hàng (tối đa 5): bật Bán tại quầy cho cửa hàng. Cài đặt › Nhân viên: vai trò (Chủ, Quản lý cửa hàng, Kế toán, Thủ kho, Thu ngân, Bán hàng, Sản xuất), kho, % hoa hồng.
  6. Hàng hoá › Nhập từ Excel hoặc thêm từng mã. Mỗi biến thể (màu, dung tích, size) là một mã có Mã gốc + Biến thể; đơn vị quy đổi (thùng, lốc), combo, bảng giá, khuyến mãi ở các tab của Hàng hoá. Chưa có mã vạch: Hàng hoá › Tem mã vạch. Thêm khách hàng, nhà cung cấp (hạn mức nợ, hạn trả, nợ đầu kỳ).
  7. Tồn đầu: Kho › Phiếu kho › Nhập khác (lý do "Tồn đầu kỳ") với số lượng, giá vốn, lô + hạn dùng.
  8. Giới hạn trong một file: tới 5.000 mã hàng (mỗi biến thể một mã), 3.000 khách, 5 kho / cửa hàng / xưởng, 80.000 dòng hàng — khoảng một năm của cửa hàng 70 hoá đơn mỗi ngày.

Bước 5 — Triển khai web app toàn màn hình

Đây chính là ứng dụng, không phải phần thêm: chủ và quản lý dùng trên máy tính (Hôm nay, Bán tại quầy, Đơn hàng, Hàng hoá, Kho, Nhập hàng, Công nợ, Sản xuất, Báo cáo, Cài đặt), thu ngân dùng máy bán tại quầy trên máy tính bảng hoặc máy tính, nhân viên dùng trên điện thoại, đại lý có cổng đặt hàng riêng. "Bất kỳ ai" để thu ngân, nhân viên, đại lý mở được mà không cần tài khoản Google; mỗi người vẫn phải đăng nhập bằng mã + PIN 6 số. Máy bán giữ sẵn danh mục, giá, tồn của kho mình (tối đa 72 giờ): mất mạng vẫn bán, vẫn in, có mạng lại đơn tự gửi. Đơn vào hàng đợi trước rồi ghi vào tab Chi tiết chứng từ mỗi 10 phút (menu › Ghi sổ hàng đợi bán hàng ngay nếu cần ngay); mọi màn hình của web app đã tính cả đơn đang chờ. Khi dán bản cập nhật: dán cả Code.gs và App.html › Triển khai › Quản lý bản triển khai › Chỉnh sửa › Phiên bản mới — link cũ giữ nguyên.

Phần này mặc định tắt và không đi theo bản sao — kể cả bản sao đã có sẵn script, bạn vẫn phải tự triển khai một lần.

  1. Bắt buộc, làm ngay sau Cài đặt lần đầu. Triển khai xong, mở link /exec một lần trong trình duyệt bằng tài khoản chủ file — ứng dụng tự lưu link của chính nó (hoặc chạy lại Cài đặt lần đầu và dán link; link /dev không được nhận). Rồi gửi link: nhân viên — menu › Link riêng của nhân viên, gửi từng người qua Zalo hoặc email, lần đầu mở tự đặt PIN 6 số, quên PIN thì menu › Đặt lại PIN nhân viên; máy bán tại quầy — mở link /exec?pos=<mã cửa hàng> trên máy tính bảng (hoặc menu › Mở bán tại quầy), thu ngân đăng nhập mã + PIN rồi thêm vào màn hình chính; đại lý — Khách hàng › mở đại lý › Link + PIN đại lý › Cấp link mới.
  2. Apps Script › Triển khai › Tuỳ chọn triển khai mới › bánh răng cạnh “Chọn loại” › Ứng dụng web.
  3. Thực thi dưới dạng: Tôi. Người có quyền truy cập: Bất kỳ ai.
  4. Bấm Triển khai, cấp quyền lần nữa nếu Google hỏi, rồi chép URL ứng dụng web kết thúc bằng /exec.
Quản lý lớp học PRO v1.0 — Apps Script
script.google.com/home/projects/1QwE…/edit
Quản lý lớp học PRO v1.0
Triển khai ▾
Tệp+
  • Mã.gs
  • App.html
  • WebApp.html

Thư viện

Dịch vụ

function onOpen() {
  SpreadsheetApp.getUi()
    .createMenu('Lớp học')
    .addItem('Bảng điều khiển', 'showHome')
    .addItem('Mở kỳ', 'showPeriod')
    .addItem('Điểm danh nhanh', 'showAttendance')
    .addItem('Học phí (QR, Zalo, PDF, email)', 'showFees')
    .addItem('Giới thiệu & cấp quyền', 'about')
    .addToUi();
}

Tuỳ chọn triển khai mới

⚙Chọn loại: Ứng dụng web
HuỷTriển khai

Triển khai xong, hộp thoại hiện:

https://script.google.com/macros/s/AKfy…/exec
Vuốt ngang trong hình để xem hết màn hình.Hộp thoại triển khai trên nền trình soạn thảo: ① Thực thi dưới dạng “Tôi”, ② Người có quyền truy cập “Bất kỳ ai”, ③ Triển khai, ④ URL kết thúc bằng /exec — đó là link đem gửi.

Vì sao chọn “Bất kỳ ai”: Web App chạy bằng tài khoản của bạn nên Google không cho script biết email người đang mở trang, chế độ “Bất kỳ ai có tài khoản Google” vì thế không kiểm được ai là ai. Việc bảo vệ nằm trong script — link riêng kèm mã bí mật, mã PIN, khoá tạm khi nhập sai nhiều lần, và nhật ký mọi lần ghi.

Dán mã bản mới về sau: Triển khai › Quản lý triển khai › ✏ Chỉnh sửa › Phiên bản: Phiên bản mới › Triển khai. Làm đúng cách này thì link /exec giữ nguyên.

Dùng hằng kỳ

  1. Tuần đầu — thử bằng file DEMO Mỹ phẩm Hoa Mai (dữ liệu giả; PIN trong DEMO là PIN giả: dùng Đặt lại PIN nhân viên cho thu ngân NV02 để lấy link và tự đặt PIN), thử máy bán với cửa hàng CH-NT, thử máy in và máy quét của bạn. Rồi chạy song song với cách đang dùng một tuần, cuối ngày so tiền chốt ca và tồn vài mã bán chạy.
  2. Mỗi ca — Mở ca (đếm tiền đầu ca), bán tại quầy: quét mã vạch hoặc gõ tên, gõ số điện thoại chọn khách quen, thanh toán tiền mặt / VietQR / thẻ / kết hợp / ghi nợ; cuối ca Chốt ca, đếm tiền theo mệnh giá. Bán dưới giá vốn, giảm quá mức, huỷ hoá đơn đã thu: quản lý nhập PIN ngay trên máy hoặc duyệt từ xa ở tab Duyệt.
  3. In hoá đơn — chọn khổ K80, K58 hoặc A5, bật Tự in khi hoàn tất; trong hộp thoại in chọn máy in nhiệt, khổ 80 / 58 mm, Lề: Không, tắt Đầu trang và chân trang. Máy in phải cài được trên chính thiết bị bán.
  4. Hằng ngày — trang Hôm nay: doanh thu, lãi gộp, % mục tiêu, đơn chờ giao, nợ quá hạn, việc chờ duyệt, hàng sắp hết / cận date. Công nợ: thu tiền, dán sao kê ngân hàng để tự khớp với mã hoá đơn, nhắc nợ qua Zalo với tin soạn sẵn kèm link trả nợ VietQR.
  5. Khi cần hàng — Nhập hàng › Gợi ý nhập › Tạo đơn mua › hàng về thì Nhận lần này (lô, hạn dùng) › Lưu phiếu nhập. Chuyển kho, kiểm kê theo khu trên điện thoại; chế độ Có sản xuất: Lên lệnh sản xuất › Xuất nguyên liệu › Nhập thành phẩm.
  6. Thuế — thuế suất mặc định 8% và bảng kê VAT: kiểm với kế toán theo danh mục hàng của bạn. Số hoá đơn là số bán lẻ nội bộ, không phải hoá đơn điện tử.

Nếu bạn dùng Excel

Trên Excel 2010 trở lên vẫn mở được cả 30 tab, không macro. Các tab báo cáo tính bằng công thức thật: Tồn kho, Thẻ kho, Lãi theo mặt hàng, Công nợ khách, Công nợ NCC, Báo cáo bán hàng, Lãi lỗ, Dòng tiền, Tổng quan — nhưng bạn tự gõ chứng từ vào Chứng từ và Chi tiết chứng từ, kể cả giá vốn dòng; Excel không tự tính giá vốn bình quân di động. Không có: web app, đăng nhập PIN, máy bán tại quầy, mã vạch, in hoá đơn, bán khi mất mạng, VietQR, khuyến mãi / bảng giá tự áp, duyệt PIN, cổng đại lý, đối soát sao kê, nhắc nợ Zalo, sản xuất, email nhắc việc, sao lưu tự động.

Apps Script chỉ chạy trên Google Trang tính

Chưa chạy được?

Các lỗi hay gặp (menu không hiện, Google hỏi quyền lại, ngày lệch một ngày, mở trên điện thoại không thấy menu) nằm ở phần lỗi thường gặp của hướng dẫn chung.

Vẫn vướng?Zalo 0935077673 (Hải Vân)