Phần mềm + AISản xuất2026

Xưởng thạch đen — Phần mềm sản xuất, bán hàng, giao hàng và công nợ

Phần mềm cho một xưởng thạch đen có hai cơ sở: sản xuất theo mẻ, kho từng xưởng, chuyến giao đêm, sổ nợ tiền và sổ nợ vỏ xô, kèm trợ lý AI đọc tin nhắn và ảnh phiếu viết tay.

Màn Hôm nay của phần mềm quản lý xưởng thạch, dữ liệu mẫu: bốn ô sản lượng, hàng bán ra, tồn trong kho và công nợ; ô Hàng bán ra đang mở, liệt kê bán tại quầy và hai chuyến ô tô đêm kèm nút Khớp số & chốt đơn
Trang chủ bản điện thoại, dữ liệu mẫu: dòng nhắc một chuyến ô tô đêm chưa chốt đơn và lưới nút Hôm nay, Lên chuyến, Đi thu, Bán tại quầy, Ghi sản lượng, Chuyển kho, Kho, Trợ lý, Đơn hàng
Màn Hôm nay trên máy tính và trang chủ bản điện thoại. Trang chủ bản điện thoại. Mọi màn hình trên trang này chụp từ phần mềm thật chạy với dữ liệu mẫu: tên khách, số lượng và giá đều là ví dụ.

Khách hàng

Một xưởng làm thạch đen có hai cơ sở sản xuất. Xưởng 1 làm thạch xô và là nơi duy nhất bán hàng. Xưởng 2 làm thạch hộp 1 kg và 0,5 kg, làm xong thì chuyển sang Xưởng 1 để bán.

Xưởng có khoảng 20 khách quen lấy hàng thường xuyên, cộng khách lẻ mua tại quầy. Phần mềm có 8–10 tài khoản cho chủ xưởng và nhân viên bán hàng, sản xuất, giao hàng.

Bài toán

Hàng của xưởng lên xe từ tối, khi khách chưa chốt lấy bao nhiêu. Vì vậy đơn hàng chỉ có được sau khi xe về, trong khi phần mềm bán hàng thông thường bắt lập đơn trước rồi mới giao.

Trước khi có phần mềm, xưởng theo dõi mọi thứ bằng tay:

Công nợ
Ghi trên sổ giấy. Muốn biết khách còn nợ bao nhiêu thì lật sổ ra cộng.
Phiếu giao
Viết tay cho từng chuyến.
Vỏ xô
Theo dõi riêng, vì khách hay trả hết tiền mà vẫn giữ vỏ.
Tiền đi thu
Mang về đếm két rồi đối chiếu với kế toán.
Người ở xưởng
Không mở trang web và không bấm đổi trạng thái.

Điều cuối cùng là ràng buộc lớn nhất. Chủ xưởng nói thẳng rằng thợ sẽ không bấm đổi trạng thái, nên con số nào dựa vào một cú bấm như thế đều sẽ sai.

Cách giải

Chúng tôi làm một web app nội bộ có hai giao diện riêng. Người quản lý làm việc trên máy tính. Người ở xưởng, người chở hàng và người đi thu dùng bản điện thoại cài lên màn hình chính, chọn số bằng nút bấm thay vì gõ.

Phần mềm đi theo cách xưởng đang làm: phiếu chuyến lập trước, đơn sinh ra khi xe về; vỏ xô có sổ riêng; hàng tính là đã rời kho ngay khi viết phiếu chuyến, không đợi ai bấm. Ai ngại màn hình thì nhắn cho trợ lý AI như nhắn cho người, hoặc chụp ảnh tờ phiếu viết tay. Trợ lý dựng bản nháp, người dùng soát lại rồi mới ghi.

01Telegram

Ra lệnh bằng Telegram

Người ở xưởng không phải mở phần mềm. Báo mẻ, báo thu tiền và thu vỏ thì nhắn cho bot của xưởng trên Telegram như nhắn cho người; trợ lý AI dựng bản nháp, người nhắn bấm xác nhận thì phần mềm mới ghi. Thêm điểm ghé và xem chuyến thì phần mềm tự đọc lệnh. Việc gì xảy ra trong phần mềm thì bot báo ngược vào nhóm của xưởng và tin riêng của chủ xưởng.

Bot của xưởngKhải nhắn riêng

  1. 1Khải nhắn một dòng
  2. mẻ 3 33 xô

    09:02

  3. 2Trợ lý AI dựng thẻ nháp
  4. Mẻ 3 · Xưởng 1 · 26/10/2026

    33 thạch xô

    Người làm: Khải

    Đúng chưa ạ?

    09:02

    Nút trong tin: Đúng, ghi đi (đã bấm)Bỏ

  5. 3Khải soát số, bấm Đúng, ghi đi: thẻ đổi thành
  6. Đã ghi nhận mẻ 3: 33 thạch xô

    Hôm nay Xưởng 1 đã làm 3 mẻ, tổng 99 thạch xô.

    đã sửa 09:03

Dựng lại bằng HTML theo đúng câu bot gửi (bỏ biểu tượng cảm xúc); tên người và con số là ví dụ. Ở xưởng phải khai nguyên liệu, bấm Đúng, ghi đi xong bot còn hỏi từng thứ một, “Mẻ này hết bao nhiêu đường? Nhắn số thôi ạ, đơn vị kg.”, rồi tới bột, và gửi lại thẻ nháp có số nguyên liệu để soát trước khi ghi. Ảnh tờ phiếu viết tay thì gửi trong khung chat của phần mềm: xem phần 03.

Nhóm Telegram của xưởng

Nhóm xưởngnhóm của nhân viên

  1. Bot của xưởng

    CHUYẾN Ô TÔ ĐÊM 26/10/2026 — chuyến 1

    Người giao: Khải

    1. Cô Hạnh
    10 xô · 5 hộp 1kg

    2. Anh Lộc
    8 túi

    3. Bác Quế
    12 xô · 4 hộp 0.5kg

    TỔNG: 22 xô · 8 túi · 5 hộp 1kg · 4 hộp 0.5kg
    3 điểm ghé

    Số trên là DỰ KIẾN. Xe về thì vào màn Hôm nay bấm “Khớp số & chốt đơn”.

    đã sửa 21:40

  2. Bot của xưởng

    Ô TÔ BAN NGÀY 26/10/2026 — chuyến 1 CÓ THAY ĐỔI

    Thêm 1 điểm:
    2. Chị Mận
    6 xô

    TỔNG MỚI: 16 xô
    2 điểm ghé

    Phiếu cũ bỏ đi, lấy theo bản này.

    10:12

  3. Bot của xưởng

    CHUYỂN KHO

    Xưởng 2 → Xưởng 1

    · Hộp 1kg — 60
    · Hộp 0.5kg — 40

    Người chuyển: Phượng · 26/10/2026

    15:30

Phiếu ô tô đêm được sửa đè mỗi lần khai thêm khách, nên nhóm chỉ có một tờ luôn đúng.

Sau mỗi mẻ, mỗi chuyến: tin riêng chủ xưởng

Bot của xưởngtin riêng của chủ xưởng

  1. Mẻ 3 — Xưởng 1

    Khải · 26/10/2026

    • Thạch xô: làm 33 · tồn tổng 210

    09:04

  2. CHUYẾN Ô TÔ ĐÊM 26/10/2026 — chuyến 1

    Người chở: Khải

    • Thạch xô: chở đi 30 · kho còn 180
    • Hộp 1kg: chở đi 5 · kho còn 83
    • Hộp 0.5kg: chở đi 4 · kho còn 56

    Kho còn lại đã trừ chuyến này rồi. Giao thiếu thì khớp lại số lúc chuyến về, tồn tự cộng lên.

    đã sửa 21:40

Cuối ngày: chốt đợt thu và tổng kết

Bot của xưởngtin riêng của chủ xưởng

  1. ĐÃ CHỐT ĐỢT ĐI THU

    Ngày 26/10/2026 · 4 khách

    Tiền mặt: 1.800.000 đ
    Vỏ thu về: 14

    18:30

  2. TỔNG KẾT 26/10/2026

    Bán hàng
    Bán ra: 2.250.000 đ · 6 đơn
    Tiền thu về: 1.800.000 đ

    Sản lượng
    · Xưởng 1: 99 xô (3 mẻ)
    · Xưởng 2: 85 hộp 1kg · 60 hộp 0.5kg (1 mẻ)

    Nợ cần chú ý (quá 10 ngày)
    · Cô Mai hàng nước: 1.500.000 đ, treo 30 ngày
    · Anh Dũng quán chè: 2.300.000 đ, treo 30 ngày

    Nợ nhiều nhất
    · Anh Dũng quán chè: 2.300.000 đ
    · Bà Tuyết: 1.900.000 đ
    · Cô Yến: 1.800.000 đ

    21:00

Hai tin này tắt sẵn; chủ xưởng bật được, và chọn gửi vào nhóm hay tin riêng. Tin tổng kết lúc 21:00 có bốn khối: bán hàng, sản lượng hai xưởng, nợ cần chú ý, ba khách nợ nhiều nhất; mỗi khối bật tắt riêng.

  • Tin nào vào đâuMỗi loại tin bật tắt riêng và chọn nơi nhận: nhóm, chủ xưởng hay cả hai. Mặc định phiếu chuyến, đơn mới cần giao và chuyển kho vào nhóm; sản lượng, hàng chở đi và nguyên liệu dưới ngưỡng nhắn riêng chủ xưởng.
  • Không làm phiền ban đêmKhai mười lăm khách cho chuyến ô tô đêm thì tờ phiếu trong nhóm được sửa đè, điện thoại người chở không kêu mười lăm lần; tin vẫn nằm trong hộp thư của app.
  • Ghi gì cũng phải xác nhậnLệnh ghi nào cũng ra thẻ nháp và nút xác nhận, chạy với đúng quyền của người nhắn trên web. Xem chuyến của mình (/chuyen) và thêm điểm ghé cho chuyến ban ngày (GHE Cô Hạnh 10) thì phần mềm tự đọc, không qua AI.
  • Ai được nhắnMỗi người nối Telegram bằng một mã cấp trong phần mềm, mã sống 30 phút. Chat chưa nối thì bot không nhận lệnh; trong nhóm, bot chỉ nghe lệnh nối.

02Máy tính và điện thoại

Các phần của phần mềm

Các phần dưới đây xếp theo một ngày ở xưởng: xem số hôm nay, ghi mẻ, chở hàng đi, bán tại quầy, đi thu nợ, cuối tháng xem báo cáo. Ảnh chụp từ phần mềm thật với dữ liệu mẫu, giá trong ảnh là giá minh họa.

Hôm nay: số của cả ngày trên một màn

Màn Hôm nay có bốn ô: sản lượng, hàng bán ra, tồn còn trong kho và công nợ. Bấm ô nào thì chi tiết xòe ra ngay bên dưới, con số gốc vẫn nằm trước mắt.

  • Việc của hôm nay làm ngay tại màn này: ghi mẻ, lập chuyến, thêm điểm ghé, thu tiền, khớp số và chốt đơn. Các màn khác để xem lại lịch sử.
  • Màn Tổng quan trả lời câu hỏi khác: việc gì đang chờ. Nguyên liệu dưới ngưỡng, chuyến hôm trước chưa chốt, đợt thu chưa chốt hiện lên đầu, mỗi dòng kèm nút sang thẳng chỗ xử lý. Khối nào không có việc thì ẩn.
  • Mỗi người chỉ thấy khối thuộc quyền của mình: thợ sản xuất thấy sản lượng và tồn kho, không thấy công nợ.
Màn Tổng quan, dữ liệu mẫu: việc cần xử lý (bột ở Xưởng 1 dưới ngưỡng, một chuyến hôm trước chưa chốt đơn, hai đợt thu chưa chốt), mỗi dòng kèm nút mở thẳng chỗ xử lý; số bán ra, tiền thu về, sản lượng và nợ của hôm nay, chuyến đang chạy và những khách nợ nhiều nhất
Tổng quan: việc đang chờ ở đầu màn, mỗi dòng có nút mở thẳng chỗ xử lý; bên dưới là số của hôm nay và những khách nợ nhiều nhất.
Màn Hôm nay trên điện thoại, dữ liệu mẫu: tồn xô và thạch hộp, sản lượng hôm nay, hàng bán ra theo xe và tại quầy, công nợ và tiền thu trong ngày
Hôm nay trên điện thoại.

Sản xuất: ghi theo mẻ, khai luôn đường và bột

Mỗi phiếu là một mẻ: xưởng nào, ngày nào, ai làm, mẻ thứ mấy và làm ra bao nhiêu từng mặt hàng. Phần mềm chặn ghi trùng số mẻ, và ghi người thực sự làm mẻ tách khỏi người bấm lưu.

  • Xưởng nào được cấu hình thì phải khai số đường và bột của mẻ, phần mềm tự sinh phiếu xuất nguyên liệu. Trước đó có xưởng không ai ghi phiếu xuất đường, nên số đường còn lại trên máy không dùng được để biết lúc nào phải mua.
  • Lá thạch cố ý không hỏi. Lá phải ninh ra cốt và mỗi mẻ cho lượng cốt khác nhau, bắt khai theo mẻ là bắt người ta bịa một con số.
  • Mỗi nguyên liệu có ngưỡng tối thiểu riêng cho từng xưởng. Xuống dưới ngưỡng thì màn Tổng quan nhắc.
Phiếu sản xuất của một mẻ, dữ liệu mẫu: Xưởng 1, mẻ thứ nhất trong ngày, 130 xô thạch làm ra và số đường, bột đã dùng cho mẻ
Phiếu sản xuất của một mẻ: xưởng, ngày, số mẻ, người làm, mặt hàng làm ra và nguyên liệu đã dùng.

Kho: hàng đang nằm ở đâu

Mỗi xưởng một bảng tồn thành phẩm. Xưởng 1 là kho bán, mọi đơn đều trừ vào đây. Xưởng 2 chỉ sản xuất, làm xong thì lập phiếu chuyển kho sang Xưởng 1.

Còn lại bằng đầu kỳ cộng làm ra cộng chuyển đến, trừ chuyển đi, trừ đã bán, trừ hàng trên xe.

  • Tồn tính lại từ các phiếu mỗi lần mở màn, không lưu sẵn một con số để rồi lệch dần. Bấm vào số nào cũng ra bảng giải trình số đó từ đâu ra.
  • Xô và túi là cùng một mặt hàng trong kho, chỉ khác bán kèm vỏ hay không. Nửa xô và 1/4 xô có giá riêng nhưng rút tồn thạch xô theo tỉ lệ 0,5 và 0,25.
  • Xưởng không bán thì cột Đã bán hiện gạch ngang. Số 0 ở chỗ đó sẽ đọc thành hôm nay chưa bán được gì.
  • Tồn âm vẫn hiện ra chứ không chặn. Phiếu chuyển kho hay ghi muộn, chặn lại thì người bán hàng bị kẹt.
Màn Kho, dữ liệu mẫu: tồn thành phẩm của hai xưởng, mỗi mặt hàng có cột làm ra, chuyển đến, chuyển đi, đã bán, trên xe và còn lại
Tồn thành phẩm của hai xưởng, mỗi cột là một vế của phép tính, trừ đầu kỳ khai riêng ở dưới.
Kho trên điện thoại, dữ liệu mẫu: tồn từng mặt hàng ở Xưởng 1 và Xưởng 2, kèm đầu kỳ, làm ra, đã bán và hàng đang trên xe
Kho trên điện thoại: mỗi dòng kèm đầu kỳ, làm ra, đã bán và hàng trên xe.

Giao hàng: phiếu chuyến trước, đơn hàng sau

Đây là chỗ phần mềm làm ngược với phần mềm bán hàng thông thường. Hàng lên xe từ tối khi khách chưa chốt, nên lúc lập phiếu chỉ có số dự kiến. Đơn chỉ sinh ra sau khi xe về và khớp xong số giao thật.

  • Ba loại chuyến: ô tô đêm nhiều điểm là luồng chính, ô tô ban ngày chở hàng lên bến rồi ai gọi thì giao, xe máy giao lẻ. Một đêm chạy được nhiều chuyến.
  • Nút chốt đơn luôn mở bảng khớp số và không bao giờ lấy số dự kiến làm số giao thật. Giao thiếu mà quên sửa thì hóa đơn và công nợ sai đúng phần chênh.
  • Thứ tự điểm ghé sắp bằng kéo thả hoặc gõ số thứ tự, trên điện thoại có nút đẩy lên, đẩy xuống. Phiếu in cho người chở có ba cột trống để viết tay số thực giao, tiền khách trả và vỏ thu về.
Thứ tự làm việc của phần giao hàng: phần mềm bán hàng thường lập đơn hàng trước rồi mới lập phiếu giao và giao; ở xưởng này phiếu chuyến lập trước, xe chạy, xe về thì khớp số, đơn hàng sinh ra sau cùng.

Phần mềm bán hàng thường

  1. Đơn hàng
  2. Phiếu giao
  3. Giao hàng

Ở xưởng này

  1. Phiếu chuyến

    Điểm ghé theo thứ tự tuyến đường, số dự kiến từng mặt hàng. Viết phiếu xong là hàng tính như đã rời kho.

  2. Xe chạy

    Phiếu chuyến gửi vào nhóm Telegram của nhân viên. Tiền và vỏ thu được ghi ngay ở từng điểm.

  3. Khớp số

    Xe về, số dự kiến đứng cạnh ô thực giao của từng khách. Giao thiếu thì sửa số xuống, phần chênh tự về kho.

    Thạch xô của chuyến đêm ví dụ
    KháchDự kiếnThực giao
    Cô Hạnh1010
    Anh Lộc túi88
    Bác Quế1210sửa
    Chị Mận66
    Bác Quế lấy 10 thay vì 12: 2 xô về kho, đơn của Bác Quế ghi 10.
  4. Đơn hàng

    Mỗi điểm ghé thành một đơn theo số thực giao và giá riêng của khách, ghi nợ tiền và nợ vỏ vào sổ.

Phiếu chuyến ô tô đêm đang mở để sửa, dữ liệu mẫu: năm điểm ghé theo thứ tự, số xô, túi, dạng cắt và thạch hộp cho từng khách, dòng tổng chuyến và hai cột trả tiền, trả vỏ
Phiếu chuyến: năm điểm ghé theo thứ tự, số dự kiến từng mặt hàng, hai cột trả tiền và trả vỏ. Chưa có đơn hàng nào.
Chuyến ô tô đêm trên điện thoại, dữ liệu mẫu: năm điểm ghé đánh số theo thứ tự, nút đổi thứ tự, hàng của từng điểm, dòng tổng và nút Khớp số & chốt đơn
Chuyến ô tô đêm trên điện thoại của người chở, nút Khớp số & chốt đơn ở cuối.

Bán tại quầy và đơn hàng

Khách đến tận xưởng thì người bán bấm nút mặt hàng để lên đơn, không cần phiếu giao. Đơn từ quầy, từ chuyến giao hay từ trợ lý đều ghi vào sổ theo cùng một đường.

  • Giá lấy theo giá riêng của từng khách, khách chưa có giá riêng thì lấy giá mặc định. Ô giá luôn điền sẵn; bớt tiền phải có lý do và có hạn mức.
  • Ô Khách đưa là tiền khách chìa ra. Khách đưa nhiều hơn tổng đơn thì sổ chỉ ghi đúng tổng đơn, phần thối lại không thành tiền dư của khách.
  • Bán cho khách lẻ mà thiếu tiền thì nút chuyển màu cảnh báo, vì nợ của khách lẻ là nợ không biết đòi ai.
  • Mỗi khoản thu ghi tiền mặt hay chuyển khoản. Cuối ngày két đếm được phần tiền mặt, sao kê ngân hàng soi được phần chuyển khoản.
Màn Đơn hàng, dữ liệu mẫu: ba đơn từ ba nguồn trong cùng một danh sách, đơn lên bằng trợ lý, đơn bán tại cửa hàng và đơn sinh từ chuyến ô tô ban ngày; mỗi đơn có mặt hàng, đơn giá, có vỏ hay bán túi, tổng tiền, số còn nợ và số vỏ nợ thêm
Đơn hàng: đơn lên bằng trợ lý, đơn bán tại quầy và đơn sinh từ chuyến giao nằm chung một danh sách, ghi chú ở cuối mỗi đơn cho biết đơn từ đâu ra.
Bán tại quầy trên điện thoại, dữ liệu mẫu, giá minh họa: chạm để thêm từng dạng hàng, bên dưới là các đơn đã bán hôm nay
Bán tại quầy trên điện thoại, giá minh họa.

Công nợ: sổ tiền và sổ vỏ đi riêng

Khách trả hết tiền mà vẫn giữ vỏ xô là chuyện thường, nên mỗi khách có hai sổ tách hẳn nhau. Số nợ trên màn hình cộng thẳng từ hai sổ, không có bảng tổng nào lưu sẵn.

Cô Hạnh ví dụ

Sổ tiền

0 đ

hết nợ

Sổ vỏ

14 vỏ

vẫn đang giữ

Sổ tiền

Nợ
mỗi đơn hàng ghi một dòng nợ
Thu
tiền mặt hoặc chuyển khoản
Bớt
phải có lý do, có hạn mức

Sổ vỏ

Xuất
mỗi xô bán kèm vỏ
Thu về
khách trả vỏ, kể cả khi không mua gì
Mất
khách làm mất, phải có lý do
  • Nợ đầu kỳ chuyển từ sổ giấy vào, mỗi khách đúng một dòng. Nhập lại là ghi đè, nên nhập hai lần không làm nợ nhân đôi.
  • Tiền thu trừ dần vào đơn cũ nhất trước. Phần mềm tính lại mỗi lần cần, nên sửa một đơn cũ không làm lệch những khoản phía sau.
  • Đợt đi thu gom tiền và vỏ của nhiều khách để về đối chiếu với kế toán một lần. Tổng tiền mặt của đợt không cộng khoản bớt và khoản chuyển khoản, nên khớp đúng tiền trong két. Chốt rồi thì khóa, chỉ chủ xưởng mở lại được.
  • Nhân viên tự bớt cho khách tới 10.000 đ mỗi lần, quá mức đó phải là chủ xưởng.
Sổ của một khách, dữ liệu mẫu: sổ tiền và sổ vỏ tách riêng, mỗi dòng có ngày, đơn hàng hoặc đợt thu, số cộng trừ và số còn lại sau dòng đó
Sổ của một khách: sổ tiền ở trên, sổ vỏ ở dưới, mỗi dòng kèm số còn lại sau dòng đó.
Màn Đợt đi thu, dữ liệu mẫu: tiền mặt thu về, vỏ mang về, khoản bớt cho khách; từng đợt thu liệt kê khách, tiền và vỏ thu được, đang chờ chốt
Hai đợt đi thu đang chờ chốt với kế toán: tiền và vỏ của từng khách, tổng tiền mặt của đợt.
Đi thu trên điện thoại, dữ liệu mẫu: ô tìm khách gõ không dấu cũng ra, mỗi khách kèm số tiền nợ, số vỏ đang giữ và khoản nợ lâu nhất
Đi thu trên điện thoại: gõ tên không dấu cũng tìm ra khách.

Báo cáo: doanh thu và tiền thu về là hai số

Xưởng bán chịu nhiều, nên tiền bán hàng trong tháng và tiền thật sự về két lệch nhau xa. Báo cáo để hai số đứng riêng, còn khoản bớt cho khách là số thứ ba.

  • Kỳ so sánh luôn dài đúng bằng kỳ đang xem. Biểu đồ sáu tháng kẻ sọc cột tháng đang chạy, để không ai so nó với một tháng đủ ngày.
  • Khách mua nhiều nhất, mặt hàng bán chạy và bán chậm, tuổi nợ với mốc 30 ngày, sản lượng theo xưởng, nguyên liệu dùng cho mỗi mẻ.
  • In thẳng từ trình duyệt. Chưa có xuất Excel vì xưởng chọn in giấy trước.
Màn Báo cáo, dữ liệu mẫu: doanh thu tháng này so với cùng kỳ tháng trước, tiền thu về, khoản bớt cho khách, khách đang nợ; biểu đồ doanh thu sáu tháng có cột tháng đang chạy kẻ sọc; khách mua nhiều nhất và mặt hàng bán chạy
Báo cáo tháng trên dữ liệu mẫu, bắt đầu ghi từ tháng 8: doanh thu, tiền thu về, khoản bớt và nợ đứng riêng; cột tháng đang chạy kẻ sọc.

Bản điện thoại, thông báo và cài lên màn hình chính

Bản điện thoại có đường dẫn, giao diện và cách nhập riêng, không phải màn máy tính thu nhỏ. Trang chủ là lưới nút như app ngân hàng, mỗi nút mở một việc.

  • Không có ô số nào hiện ra. Số chọn bằng chip: ba con số hay gõ nhất trong 90 ngày của chính khách hoặc chính mặt hàng đó, muốn số khác thì bấm nút “…” mở bàn phím. Nếu chip cố định kiểu 5, 10, 20, một chuyến năm điểm tốn 45 lần chạm thay vì 25.
  • Mọi form trên điện thoại gửi về đúng chỗ xử lý của bản máy tính, nên luật kiểm tra chỉ có một bản.
  • Cài lên màn hình chính như một app. Chuyến có thay đổi thì người chở nhận thông báo đẩy, bấm vào là mở thẳng chuyến đó. Phiếu ô tô đêm sửa lúc khuya thì không đẩy, vì người chở đang ngủ; tin vẫn nằm trong hộp thư.
  • Tin báo đi ba đường: nhóm Telegram nhận phiếu chuyến, thông báo đẩy tới đúng người đi giao, hộp thư trong app giữ 50 tin gần nhất của mỗi người. Telegram là dịch vụ bên ngoài và có thể bị chặn, nên không là đường duy nhất.
  • Có thể bật tin tổng kết gửi lúc 21:00 mỗi tối: doanh thu, sản lượng hai xưởng, nợ cần chú ý và ba khách nợ nhiều nhất (xem phần 01 ở trên).

Thạch đenbây giờ

Chuyến vừa được sửa

Ô tô ban ngày · chuyến 1 · 26/10 · 4 điểm

Bấm vào là mở thẳng phiếu chuyến này trên bản điện thoại

Thông báo đẩy trên màn hình khóa của người chở, dựng lại để minh họa.

03Trợ lý AI

AI là thêm một cách nhập liệu

Ai quen bấm màn hình thì dùng form. Ai không quen thì nhắn cho trợ lý như nhắn cho người, trong khung chat của phần mềm hoặc qua Telegram, hoặc chụp ảnh tờ phiếu viết tay. Trợ lý chỉ dựng bản nháp, người dùng soát lại và bấm xác nhận thì phần mềm mới ghi.

Trợ lý làm đượcLên đơn hàng, thêm điểm ghé cho chuyến, báo sản lượng, báo thu tiền và thu vỏ, chuyển kho, thêm khách mới, và trả lời 7 loại câu hỏi về số liệu.

Báo thu tiền qua Telegram

Một tin gom tiền và vỏ của nhiều khách. Tên chưa khớp thì bot hỏi lại từng người, khoản bớt thì phải có lý do.

Bot của xưởngKhải nhắn riêng

  1. Khải: thu cô Hạnh 230k, bác Quế 500k 14 vỏ
  2. Đợt thu 26/10/2026chờ xác nhận

    Cô Hạnh
    230.000 đ
    Bác Quế
    500.000 đ · 14 vỏ
    Tiền mặt mang về
    730.000 đ
  3. Bot, sau khi Khải bấm Ghi đi: Đã ghi đợt thu của 2 khách. Tiền mặt mang về 730.000 đ, thu về 14 vỏ. Đợt này chưa chốt, kế toán còn sửa được trên web.

Chụp phiếu viết tay trong khung chat

Ảnh phiếu thành điểm ghé với số dự kiến. Tên chưa khớp được giữ lại để người chọn, máy không đoán.

Trợ lýPhượng, trên máy tính

  1. Phượng gửi ảnh một tờ phiếu viết tay, bốn dòng: Cô Hạnh 10, 5 to; A Lộc 8 túi; Bác Quế 12, 4 bé; c Mận 6. Kèm lời nhắn: chuyến đêm nay, anh Khải chở
  2. Trợ lý: Em đọc được 4 điểm ghé. Một tên chưa khớp khách nào, chị chọn giúp em.
  3. Điểm ghé nhápÔ tô đêm · đêm nay · Khải chở

    1. Cô Hạnh10 xô · 5 hộp 1kg
    2. Anh Lộc8 túi
    3. Bác Quế12 xô · 4 hộp 0.5kg
    4. “c Mận” chưa khớp6 xô

    Chưa sinh đơn hàng nào. Đơn sinh khi xe về và khớp số.

Hai đoạn hội thoại dựng lại bằng HTML để minh họa. Tên người và con số là ví dụ, không có trong phần mềm.
Màn Trợ lý, dữ liệu mẫu: người dùng gõ “Cô Yến 10 xô với 5 hộp to”, trợ lý trả về thẻ đơn hàng nháp có giá riêng của khách và tổng tiền, xác nhận xong thì báo đã tạo đơn
Trợ lý trên máy tính: câu “Cô Yến 10 xô với 5 hộp to” thành thẻ đơn hàng nháp, giá lấy theo giá riêng của khách. Bấm xác nhận thì đơn mới được tạo.
Trợ lý trên điện thoại, dữ liệu mẫu: người dùng nhắn “Thu của Chú Bảy 300K 9 vỏ, Bác Tâm bớt 5K”, trợ lý dựng thẻ đợt thu nháp và bắt gõ lý do bớt trước khi ghi
Trên điện thoại: đợt thu nháp có khoản bớt, chỉ ghi được khi người dùng tự gõ lý do.

Đường đi của một tin nhắn

  1. Nhân viên

    Nhắn trong khung chat trên máy tính, trên điện thoại hoặc qua Telegram; ảnh phiếu viết tay thì gửi trong khung chat.

  2. Nhận tin

    Phần mềm biết ai đang nhắn: phiên đăng nhập trên web, tài khoản đã liên kết trên Telegram. Chat chưa liên kết thì bị từ chối.

  3. Trợ lý AI

    AI đọc

    Chạy qua PubAutomation: tách tên khách, mặt hàng và con số, ảnh thì đọc chữ viết tay. Kết quả chỉ là bản nháp, trợ lý không ghi thẳng vào sổ.

  4. Hàng rào

    Tra lại khách và mặt hàng trong cơ sở dữ liệu, lấy đơn giá trong bảng giá, chặn số âm, số quá trần, chuyến và ngày không có thật.

  5. Người soát

    Thẻ nháp hiện lên. Tên chưa khớp thì người dùng tự chọn, lý do bớt thì người dùng tự gõ.

  6. Ghi vào sổ

    Phần mềm ghi

    Qua đúng các bước của form nhập tay, với đúng quyền của người nhắn. Nhật ký ghi người làm, giá trị cũ và mới, kênh bot.

Trợ lý chỉ làm được những việc người nhắn có quyền làm trên web. Câu hỏi về số liệu chỉ chọn trong 7 loại có sẵn, mô hình không tự viết câu truy vấn, và giá không bao giờ lấy từ mô hình.

Nhật ký: ai sửa gì, qua đường nào

Mọi thay đổi trên đơn, phiếu, sổ và danh mục đều vào nhật ký, kể cả khi đi qua trợ lý. Mỗi màn có tab Nhật ký chỉ đọc. Mật khẩu không bao giờ vào nhật ký.

  1. 09:05 Khải, qua kênh bot Tạo phiếu sản xuất mẻ 3, Xưởng 1 Thạch xô: 33 xô
  2. 06:48 Khải, qua kênh web Khớp số, điểm ghé Bác Quế Xô thực giao: 12 → 10
  3. Hôm qua 21:12 Phượng, qua kênh bot Chuyến ô tô đêm: thêm điểm ghé Cô Hạnh, 10 xô · 5 hộp 1kg
Dựng lại để minh họa; tên và số là ví dụ.

04Cách nghĩ

Vì sao làm như vậy

Đây là những chỗ chúng tôi chọn làm khác cách thường thấy, kèm lý do. Nếu bạn đang tính làm phần mềm cho xưởng hay cửa hàng của mình, các câu này đáng hỏi trước khi bắt đầu.

  1. Không dựng con số trên một thao tác xưởng không làm

    Hàng tính như đã rời kho ngay khi viết phiếu chuyến, không đợi ai bấm “xe đã đi”. Phiếu bị bỏ quên thì hết hạn theo ngày và hiện đỏ trên màn Hôm nay. Trước khi có hạn này, đo trên máy thử có lúc 174 xô bị tính là “trên xe” trong khi không chuyến nào chạy.

  2. Không dùng tìm kiếm ngữ nghĩa

    Xưởng có khoảng 20 khách và 3 mặt hàng tồn kho, nên mỗi lần đọc tin, trợ lý được đưa sẵn danh sách khách và cách gọi tắt mặt hàng như “hộp to”, “hộp bé”. Dựng một kho tri thức riêng, tìm theo ngữ nghĩa, cho chừng ấy dữ liệu chỉ thêm một thứ phải nuôi.

  3. Trợ lý AI không ghi thẳng vào sổ

    Trợ lý chỉ đọc tin và trả bản nháp. Mọi thay đổi đi qua đúng quy trình và đúng quyền như khi bấm tay trên web, sau khi có người bấm xác nhận, và đều được ghi nhật ký. Mô hình đọc nhầm một con số thì người dùng thấy ngay trên thẻ nháp, và con số đó không thành nợ thật của khách.

  4. Cho sửa mọi thứ, đổi lại có nhật ký

    Xưởng hay ghi muộn và có lúc ghi nhầm. Khóa chức năng sửa chỉ đẩy người ta quay về sổ tay, nên phần mềm cho sửa và xóa, còn 25 trên 31 loại bản ghi đều lưu ai đổi gì, từ giá trị nào sang giá trị nào, qua web, bot hay dòng lệnh.

  5. Số liệu tính lại, không lưu sẵn

    Tồn kho, số nợ và việc khoản thu nào trả cho đơn nào đều tính lại từ phiếu và sổ mỗi lần cần. Khách trả ngay cũng chỉ là thêm một dòng thu, đơn không có cột “đã trả”. Một con số lưu ở hai nơi thì sớm muộn hai nơi lệch nhau.

  6. Vẫn chạy khi không có AI

    Hai việc trên Telegram không đi qua mô hình: xem chuyến của mình và thêm điểm ghé cho chuyến ban ngày (gõ “GHE Cô Hạnh 10”). Phần mềm tự đọc hai câu này nên trả lời trong khoảng 2 giây, còn câu đi qua mô hình mất từ 2 đến 40 giây. Hai việc này vẫn chạy khi phần AI gặp sự cố. Thông báo cũng do phần mềm gửi thẳng sang Telegram, nên không phụ thuộc vào trợ lý.

  7. Chạy trong giới hạn của máy chủ

    Máy chủ chạy MariaDB 10.5, cũ hơn bản trên máy phát triển. Chúng tôi đưa bản đầu tiên lên máy chủ thật khi mới có vài bảng để lỗi khác phiên bản lộ ra sớm, và không dùng tính năng nào bản 10.5 không có.

  8. Cố ý chưa làm

    Báo cáo lãi lỗ: phần mềm chưa ghi công thợ và các khoản chi, một con số lãi thiếu vế chi phí thì thà không có. Xuất Excel: xưởng chọn in giấy trước. Tự trừ nguyên liệu theo công thức: thay bằng khai đường và bột theo từng mẻ.

05Triển khai

Nền tảng và công nghệ

Cài đặt
Web app mở bằng trình duyệt. Bản điện thoại cài lên màn hình chính như một app (PWA), không qua chợ ứng dụng.
Đăng nhập
Bằng số điện thoại. Chủ xưởng cấp tài khoản và đặt mật khẩu, không có trang tự đăng ký. Người chỉ nhắn Telegram thì không cần mật khẩu.
Phân quyền
4 vai trò và 14 quyền: chủ xưởng, bán hàng, sản xuất, giao hàng. Một người giữ được nhiều vai trò, vì có hôm thợ vừa chở hàng vừa làm ở xưởng.
Tệp và ảnh
Ảnh phiếu lưu ngoài thư mục web, chỉ xem được qua đường dẫn có kiểm quyền; trợ lý AI cũng chỉ nhận một đường dẫn tạm, hết hạn sau 5 phút. Loại tệp kiểm theo nội dung, không theo đuôi tên.
Kiểm thử
Hơn 800 bài kiểm thử tự động, gồm cả kiểm tra chống chèn mã vào trang (XSS).

Công nghệ

Laravel 13 · PHP 8.3
Sổ sách, phân quyền, nhật ký, giao diện máy tính và điện thoại.
MariaDB 10.5
Cơ sở dữ liệu trên máy chủ. Giới hạn của bản này quyết định vài lựa chọn ở trên.
PubAutomation
Hệ thống tự động hóa của Pubweb chạy trợ lý AI: nhận tin, đọc và trả bản nháp. Không có quyền ghi vào sổ.
Mô hình ngôn ngữ lớn
Một mô hình đọc cả chữ lẫn ảnh phiếu viết tay, trả lời một câu nhắn trong khoảng 2 giây.
Telegram Bot API
Phiếu chuyến cho nhóm nhân viên; nhắn riêng với bot để ghi việc và hỏi số.
Web Push · PWA
Cài lên màn hình chính, nhận thông báo khi chuyến có thay đổi.