ANTRONICPRO

ANTRONICPRO CCM / HƯỚNG DẪN 3

QUẢN TRỊ CCM

🗺️ Toàn bộ 10 lệnh trong menu (đúng thứ tự hiển thị)

LệnhCông dụng một dòng
⚙️ Cấu hình Bot TelegramNhập Bot Token, Chat ID và ngưỡng biến động.
📩 Gửi Báo Cáo Chốt SổGửi báo cáo tài chính lên Telegram và chốt mốc so sánh.
⏰ Bật tự động gửi báo cáo hàng ngàyTạo lịch gửi tự động vào giờ bạn chọn.
🔕 Tắt tự động gửi báo cáo hàng ngàyXóa lịch gửi tự động.
📋 Tổng hợp số liệu thanh toánDựng 6.THTT và cập nhật cột R của 3.NS.
📥 Tạo dữ liệu_Thanh toánSinh dòng thanh toán vào 7.data_Thanh toán từ dòng chọn ở 3.NS.
🛠 Điều chỉnh đơn giá NTPCập nhật đơn giá nhà thầu phụ, lưu lịch sử vào 8.data_ĐG_NTP.
📦 Tạo mới KHO VẬT TƯDựng lại 9.KHO_Vật tư từ Mục III của 3.NS (cấp UID mới).
🔄 Cập nhật KHO VẬT TƯBổ sung vật tư mới vào kho, giữ nguyên dữ liệu cũ.
☁️ Đẩy vật tư lên Web App MỚIĐồng bộ danh mục vật tư Mục III lên Web App.

📅 Nhịp làm việc chuẩn của một ngày

1

Cập nhật đơn giá nhà thầu phụ (nếu có thay đổi)

Mở 3.NS, bôi đen ô đơn giá ở cột O → 🛠 Điều chỉnh đơn giá NTP → nhập khối lượng thực tế + đơn giá mới.

2

Nhập dữ liệu thanh toán mới

Bôi đen các dòng công tác cần thanh toán ở 3.NS → 📥 Tạo dữ liệu_Thanh toán → sang 7.data_Thanh toán điền nốt các cột thủ công (xem tab "Thanh toán").

3

Tổng hợp lại số liệu

📋 Tổng hợp số liệu thanh toán → cập nhật 6.THTT và cột R (Đã thanh toán) của 3.NS. Chạy lại mỗi khi có dữ liệu mới.

4

Chốt sổ & báo cáo

Bấm 📩 Gửi Báo Cáo Chốt Sổ, hoặc để trigger tự gửi vào giờ đã đặt. Đây cũng là thời điểm add-on chốt mốc so sánh cho báo cáo lần sau.

🔄 Khi BOQ có bản điều chỉnh (revision)

🛑
Chạy lại Bước 2 sẽ xóa và dựng lại 3.NS — mọi chỉnh tay (ghi chú, đơn giá NTP, phân nhóm) trên 3.NS sẽ mất. Sao lưu file trước.
  1. Cập nhật số liệu mới vào 1.BOQ (và 2a.data DGCT nếu có).
  2. Đổi ô 4.BAO CAO!M4 về "Đang thiết lập" — lịch gửi tự động sẽ tự tắt khi lần chạy kế tiếp thấy M4 ở trạng thái này.
  3. Chạy lại Bước 0 → 1 → 2 → 3 (menu TẠO DỰ ÁN).
  4. Chạy 📦 Tạo mới KHO VẬT TƯ → 🔄 Cập nhật KHO VẬT TƯ để vá #REF!.
  5. Chạy lại 📋 Tổng hợp số liệu thanh toán để dựng lại cột R của 3.NS mới.
  6. Đổi M4 về "Bắt đầu tổ chức báo cáo" và bật lại lịch tự động (⏰).

📥 Tạo dữ liệu_Thanh toán

📥 Sinh dòng vào 7.data_Thanh toán từ 3.NS taoDataThanhToan
Thao tác: mở 3.NS → bôi đen các dòng công tác (chọn được nhiều vùng rời rạc) → chạy lệnh → nhập số đợt cần nhân bản (1–10) → OK.
  • Mỗi dòng chọn sinh ra n dòng mới ở cuối 7.data_Thanh toán, gồm 14 cột, trong đó mã hiệu / tên / ĐVT / khối lượng / đơn giá là công thức liên kết sống về 3.NS.
  • Cột A (Loại CP) được điền tự động theo hạng mục La Mã: A1 Mục I & II (giao thầu) · A2 Mục III (nhà cung cấp vật tư) · A3 Mục IV–X (chi phí khác).
  • Cột C (Hạng mục) tự điền theo nhóm con của công tác; cột D là ngày chạy lệnh.

Các cột bạn phải điền tay sau đó

TrườngCộtGhi chú
Tên công tyBĐơn vị nhận thanh toán.
Ngày thanh toánDAdd-on điền sẵn ngày hôm nay — sửa nếu khác.
Đợt thanh toánE1, 2, 3… Đợt 0 = Tạm ứng.
% Giữ lạiLĐể trống nếu không giữ lại.
Tạm ứng—Đổi mã hiệu thành TU_ABC, xóa ĐVT/KL/ĐG, nhập thẳng số tiền vào cột thanh toán.

📋 Tổng hợp số liệu thanh toán

📋 Dựng 6.THTT + cập nhật cột R của 3.NS taoBangTongHopTHTT_Client
Đọc toàn bộ 7.data_Thanh toán, gom nhóm theo loại chi phí / công ty / đợt rồi ghi ra 6.THTT; sau đó cập nhật cột R (Đã thanh toán) của 3.NS.
  • Sheet 6.THTT không bị xóa mà chỉ được làm sạch nội dung — nhờ vậy các công thức từ 3.NS trỏ sang không bị vỡ.
  • Phần bảng do bạn tự thêm phía dưới (từ dòng có ký hiệu "B" ở cột D trở xuống) được giữ nguyên, kể cả công thức và định dạng.
  • Chạy lại lệnh này mỗi khi có dữ liệu thanh toán mới.

🛠 Điều chỉnh đơn giá NTP

🛠 Cập nhật đơn giá nhà thầu phụ + lưu lịch sử showSidebar → processNTPUpdate
Thao tác: mở 3.NS → bôi đen các ô ở CỘT O (đơn giá) → chạy lệnh → sidebar hiện ra → nhập tên NTP, khối lượng thực tế, đơn giá mới → Cập nhật.
  • Chọn được nhiều ô cùng lúc, kể cả nhiều vùng rời rạc — nhưng mọi vùng phải nằm trọn trong cột O, chọn lẫn cột khác sẽ báo lỗi.
  • Mỗi lần cập nhật ghi 1 dòng lịch sử vào 8.data_ĐG_NTP; ô O trong 3.NS được thay bằng công thức đơn giá bình quân gia quyền trỏ sang sheet lịch sử đó (ô chuyển nền xanh).
  • Dòng thiếu khối lượng ngân sách (cột N ≤ 0) bị bỏ qua và được liệt kê trong thông báo kết quả.

📦 Tạo mới KHO VẬT TƯ  ·  🔄 Cập nhật KHO VẬT TƯ

📦 Tạo mới — dựng lại kho từ đầu TAO_MOI_KHO_VAT_TU
Quét lại toàn bộ Mục III của 3.NS, cấp UID mới cho mọi dòng vật tư và dựng lại 9.KHO_Vật tư (dashboard KPI dòng 1–7, tiêu đề cột dòng 8, dữ liệu từ dòng 10).
⚠️
Vì UID được cấp lại nên dùng lệnh này cho dự án mới hoặc sau khi Bước 2 dựng lại 3.NS. Với kho đang có số liệu nhập/xuất, hãy dùng Cập nhật.
🔄 Cập nhật — chỉ bổ sung, không xóa dữ liệu cũ CAP_NHAT_KHO_VAT_TU
Dùng sau khi thêm / tách / gộp / đổi đơn vị vật tư bên 3.NS.
  • Vật tư nào chưa có UID sẽ được cấp mới; vật tư cũ giữ nguyên UID và số liệu kho.
  • Lệnh cũng phát hiện UID trùng (thường do copy–dán nguyên dòng trong 3.NS) và báo lại để bạn xử lý.
  • Đây cũng là lệnh vá lỗi #REF! của sheet kho sau khi chạy Bước 2.

☁️ Đẩy vật tư lên Web App MỚI

☁️ Đồng bộ danh mục vật tư Mục III lên app.antronicpro.com.vn DONG_BO_VAT_TU_LEN_WEB
Gửi toàn bộ vật tư ở Mục III của 3.NS (mã, tên, ĐVT, khối lượng/đơn giá/thành tiền theo hợp đồng – ký – thực tế, kèm UID) lên Web App để các phiếu đề xuất trên web dùng chung danh mục.

Điều kiện bắt buộc

  • Đã cấu hình ID Key Dự án (menu 🌐 ĐỀ XUẤT → ⚙️ Cấu hình ID Key Dự án).
  • Mọi vật tư phải có UID. Thiếu UID → add-on dừng, liệt kê rõ vật tư/dòng nào và yêu cầu chạy 🔄 Cập nhật KHO VẬT TƯ trước.
  • Không được trùng UID và không được trùng mã hiệu. Có trùng → add-on dừng ngay, không gửi gì (danh mục trên web giữ nguyên) và chỉ rõ cặp dòng bị trùng.
  • Add-on đọc email Google của người đang bấm để Web App kiểm tra quyền — chỉ có API Key thì không đủ để sửa danh mục.

Add-on gửi kèm

  • Nhật ký đổi đơn vị (_DVT_LOG) để web dựng lại bảng quy đổi đơn vị.
  • Mã nào đã bị bỏ khỏi 3.NS thì web tự ẩn/xóa khỏi danh mục — không ảnh hưởng các phiếu đề xuất đã tạo trước đó.

⚙️ Cấu hình Bot Telegram

⚙️ Token · Chat ID · Ngưỡng biến động UI_CAU_HINH_TELEGRAM
TrườngLấy ở đâu / ý nghĩa
Bot TokenTạo bot với @BotFather trên Telegram, copy token bot trả về.
Chat IDID nhóm/kênh nhận báo cáo. Hộp thoại có nút tự động tìm Chat ID: thêm bot vào nhóm, nhắn 1 tin bất kỳ trong nhóm rồi bấm nút.
Ngưỡng biến động MỚIMức tiền tối thiểu để một hạng mục được đưa vào phần cảnh báo của báo cáo. Mặc định 20.000.000 đ. Ngưỡng càng thấp, báo cáo càng dài.
Cấu hình lưu theo từng file Google Sheets (không dùng chung giữa các dự án).

📩 Gửi Báo Cáo Chốt Sổ

📩 Gửi báo cáo + chốt mốc so sánh GUI_BAO_CAO_TELEGRAM

Điều kiện gửi

  • Đã có Bot Token + Chat ID.
  • Ô 4.BAO CAO!M4 = Bắt đầu tổ chức báo cáo.
  • Các ô số liệu cốt lõi (I15, J15, E15, F15, M15, N15) không được lỗi công thức. Nếu đang #REF!/#DIV/0!… add-on từ chối gửi để không phát tán số liệu sai (lỗi này hay gặp ngay sau Bước 2).

Nội dung tin nhắn

📢 BAOCAO: TÌNH HÌNH TÀI CHÍNH CÔNG TRƯỜNG - 14/07/2026_SỐ 01 ━━━━━━━━━━━━━ 📊 1. TỔNG QUAN LỢI NHUẬN Lợi nhuận dự kiến hiện tại · biến động so với Kế hoạch NO.00 · biến động so với lần báo cáo gần nhất ⚠️ 2. CẢNH BÁO NGÂN SÁCH (So với NO.00) Top 10 nhóm cha vượt/tiết kiệm so với kế hoạch gốc 🛠️ 3. CHI TIẾT BIẾN ĐỘNG (So với BC ngày dd/MM HH:mm) Top 10 công tác/vật tư vượt ngưỡng, kèm LÝ DO: đổi đơn giá · đổi khối lượng · hạng mục mới phát sinh 💵 4. TÌNH HÌNH DÒNG TIỀN Đã thanh toán · ngân sách còn lại · dòng tiền hiện tại
ℹ️
Lần báo cáo đầu tiên (sau Bước 2, chưa từng chốt sổ) chỉ có Mục 1 và Mục 4 — vì chưa có mốc cũ để so sánh. Từ lần thứ 2 mới đủ 4 mục.

Cơ chế "chốt sổ" — điều quan trọng nhất

Add-on gửi trước, chốt sau. Chỉ khi Telegram xác nhận đã nhận tin, add-on mới:

  • Chép khối lượng/đơn giá/thành tiền hiện tại (N:P) của 3.NS sang cột ẩn V:X, và chép mã hiệu sang cột ẩn Y → đây chính là mốc so sánh cho báo cáo lần sau.
  • Ghi lợi nhuận hiện tại vào Q15/R15, cập nhật ngày báo cáo O1 và số thứ tự báo cáo trong ngày I7.
⚠️
Nếu thông báo là "ĐÃ GỬI NHƯNG CHƯA CHỐT": tin đã lên Telegram nhưng mốc chưa lưu được. Đừng gửi lại (sẽ trùng số báo cáo) — kiểm tra 3.NS / 4.BAO CAO xem có ô nào bị khóa/lỗi.
✅
Nếu đã cấu hình ID Key Dự án, bản báo cáo này còn được đẩy song song sang nhóm Báo cáo tài chính trên Web App. Lỗi ở bước này không làm hỏng việc gửi Telegram.

⏰ Bật  /  🔕 Tắt tự động gửi báo cáo hàng ngày

⏰ Đặt lịch gửi tự động CAI_DAT_TU_DONG_7AM / HUY_TU_DONG_7AM
  • Nhập giờ theo định dạng HH:MM (24 giờ, phút tùy ý — ví dụ 07:05, 09:00, 14:23). Không bị giới hạn ở 7 giờ sáng dù tên lệnh mang chữ "7AM".
  • Điều kiện bật: M4 không ở trạng thái "Đang thiết lập".
  • Trạng thái hiển thị tại ô 4.BAO CAO!O4: ✅ Tự động HH:MM: BẬT / ❌ Tự động: TẮT.
  • Lịch chạy trên máy chủ Google — không cần mở file Sheets.
  • Báo cáo tự động dùng đúng bộ điều kiện như bản thủ công (M4, ô lỗi, ngưỡng…). Nếu bạn đổi M4 về "Đang thiết lập", lần chạy kế tiếp trigger sẽ tự xóa chính nó và ghi "TẮT" vào O4 — nhớ bật lại sau khi cập nhật dự án xong.
Thông báoNguyên nhân & cách xử lý
CẢNH BÁO: Dự án đang ở trạng thái "Đang thiết lập"Muốn gửi báo cáo / bật lịch tự động phải đặt 4.BAO CAO!M4 = "Bắt đầu tổ chức báo cáo".
⛔ SỐ LIỆU ĐANG LỖI (ô I15/J15/E15/F15/M15/N15)Công thức trong 4.BAO CAO đang lỗi (hay gặp sau Bước 2). Sửa xong mới gửi được — add-on cố tình chặn để không gửi số sai.
⛔ THIẾU CẤU HÌNHChưa nhập Bot Token / Chat ID. Vào ⚙️ Cấu hình Bot Telegram.
⚠️ ĐÃ GỬI NHƯNG CHƯA CHỐTTin đã lên Telegram, mốc chưa lưu. Không gửi lại. Kiểm tra 3.NS/4.BAO CAO có ô nào bị bảo vệ hoặc lỗi.
Báo cáo tự động im lặng, không gửiKiểm tra ô O4: nếu là "TẮT (M4 Đang thiết lập)" thì trigger đã tự xóa. Bật lại bằng ⏰.
Thiếu mã ẩn (UID) vật tưKhi đẩy vật tư lên Web App. Chạy 🔄 Cập nhật KHO VẬT TƯ rồi đồng bộ lại.
⛔ Dữ liệu trùng — chưa đồng bộ3.NS có UID trùng (do copy nguyên dòng) hoặc mã hiệu trùng. Sửa xong mới đẩy được; danh mục trên web chưa bị đụng tới.
"Vui lòng chỉ bôi đen các ô Đơn giá ở CỘT O"Vùng chọn cho lệnh NTP lấn sang cột khác. Chọn lại đúng trong cột O.
#REF! ở 9.KHO_Vật tưDo Bước 2 dựng lại 3.NS. Chạy 📦 Tạo mới → 🔄 Cập nhật KHO VẬT TƯ.