Tạo công cụ theo dõi chi tiêu trên Telegram với Google Sheets

Piotr Grudzień
Ngày đăng Thời gian đọc: 17 phút
Cuộc trò chuyện thực tế của Pocket Ledger trên Telegram bên cạnh bảng tổng hợp Google Sheets với 12,20 EUR và 6,00 USD

Một ly cà phê, một vé xe buýt, một cuốn sổ. Bạn rất dễ quên những khoản mua nhỏ trước khi mở bảng tính. Sẽ thế nào nếu chỉ cần một tin nhắn Telegram để ghi lại khoản chi và một tin nhắn nữa để xem tổng tháng?

Hướng dẫn này xây dựng Pocket Ledger, một công cụ theo dõi chi tiêu trên Telegram với Google Sheets. Gửi thông tin mua hàng, xác nhận các chi tiết được đề xuất rồi hỏi tổng chi trong tháng. Bảng tính lưu các dòng và thực hiện phép tính, còn bot đảm nhiệm cuộc trò chuyện. Đây là kết quả sau khi hoàn thành.

Cột mốc đầu tiên là lưu một ly cà phê. Cột mốc thứ hai là một tổng số có thể đối chiếu trong bảng tính. Bạn cũng sẽ hiểu vì sao câu trả lời “đã lưu” trong cuộc trò chuyện chỉ là một nửa bằng chứng.

Tải bộ thiết lập Pocket Ledger để lấy sổ tính mẫu đã định dạng, ảnh đại diện, prompt, cài đặt Action và bảng kiểm thử. Nhập sổ tính vào bảng do Quickchat AI tạo, sau đó làm theo các bước dưới đây. Các ví dụ có thể sao chép đều sử dụng tiếng Anh và tháng 11 năm 2026 để bạn đối chiếu kết quả với ảnh chụp.

Bạn cần gì để tạo công cụ theo dõi chi tiêu trên Telegram?

Bạn cần Telegram, tài khoản Google và tài khoản Quickchat AI. Việc thiết lập sử dụng các cài đặt trên bảng điều khiển và một công thức bảng tính, không cần lưu trữ chương trình nào trên máy chủ.

  1. Tạo tài khoản Quickchat AI, hoàn tất xác minh và tạo một Agent tên là Pocket Ledger.
  2. Chuẩn bị tài khoản Google cho bảng tính mới. Bắt đầu bằng các bản ghi giả định bên dưới.
  3. Dùng một bot Telegram mới cho bài thực hành này. Chuẩn bị thêm một tài khoản Telegram đáng tin cậy để kiểm tra quyền truy cập ở cuối bài.

Gói Free của Quickchat AI dành cho việc học tập cá nhân, phi thương mại và có hạn mức sử dụng giới hạn. Các cuộc trò chuyện AI và Simulation Testing tiêu thụ tín dụng. Xem các gói và hạn mức hiện tại trước khi chọn gói để sử dụng lâu dài.

Sơ đồ một Action ghi các dòng chi tiêu và một Action riêng đọc bảng tổng hợp Hai chiều, hai Actions. Lưu được một dòng không có nghĩa Agent có cách đọc các tổng số trước đó.

Bước 1: Kết nối bot Telegram riêng tư như thế nào?

BotFather tạo danh tính cho bot. Quickchat AI cung cấp Agent trả lời các tin nhắn của bot.

Mở tài khoản chính thức @BotFather, gửi /newbot, đặt tên bot là Pocket Ledger và chọn một tên người dùng còn trống kết thúc bằng bot. Dùng /setuserpic để tải ảnh đại diện trong bộ thiết lập lên. Giữ token bí mật; bạn sẽ dán trực tiếp token vào Quickchat AI.

BotFather tạo bot Pocket Ledger với token đã được che

Chọn tên hiển thị và tên người dùng duy nhất. Token của BotFather đã được che.

Trong Quickchat AI, mở External Apps → Telegram → Your own bot. Chọn Connect to Telegram, dán thông tin xác thực vào Bot Token rồi gửi hộp thoại. Bật Enable your own bot và chọn Save. Hướng dẫn BotFather giải thích chi tiết từng màn hình.

Quickchat AI hiển thị Pocket Ledger đã kết nối và công tắc Enable your own bot đang bật Bot đã kết nối mang cùng tên Pocket Ledger mà bạn sẽ thấy trên Telegram.

Mở liên kết bot mới trong Telegram, gửi /start, rồi gửi Hello trong cuộc trò chuyện riêng tư. /start gửi tin nhắn chào mừng; tin nhắn thông thường mới tạo cuộc trò chuyện trong Inbox và metadata người gửi cần dùng bên dưới. Giữ các Actions xử lý dữ liệu cá nhân ở trạng thái không hoạt động trong lúc thiết lập.

Pocket Ledger trả lời start và Hello trong cuộc trò chuyện riêng tư thực tế trên Telegram

Câu trả lời cho Hello xác nhận Telegram đã kết nối tới Quickchat AI. Cuộc trao đổi Hello cũng xuất hiện trong Quickchat Inbox.

Mở cuộc trò chuyện này trong Quickchat AI qua Inbox → Details → Visitor. Tìm Telegram User Id và Telegram Chat Type (các khóa metadata là telegram_user_id và telegram_chat_type). Sao chép ID người dùng dạng số bằng nút hiện khi di chuột, rồi xác nhận loại cuộc trò chuyện là private.

Chi tiết khách truy cập trong Inbox hiển thị trường Telegram User Id và Telegram Chat Type là private, các giá trị cá nhân đã được che Lấy ID người gửi từ trường này. Các mã định danh cá nhân được che trong ảnh; hãy dùng giá trị thực tế của chính bạn.

ID này đến từ metadata người gửi của Telegram. Tên người dùng, một con số gõ trong tin nhắn và ID của chính bot là những giá trị khác nhau. Bạn sẽ dùng ID người gửi để giới hạn cả hai Actions trong các bước tiếp theo.

Bước 2: Chuẩn bị Google Sheet như thế nào?

Tích hợp Google Sheets tạo một bảng tính và một Action ban đầu. Hãy dùng lại tệp đó để Action và quyền Google cùng trỏ đến một tài nguyên.

  1. Mở Actions & MCPs → Add Action → Google Sheets và cấp quyền cho tài khoản Google. Hướng dẫn kết nối Google Sheets giải thích bước đồng ý cấp quyền và cấu hình ban đầu.
  2. Tắt Action ban đầu ngay lập tức. Khi được tạo, Action này đang hoạt động. Giữ tên log_lead_to_google_sheet vì quá trình kết nối lại dùng tên này để tìm Action. Chúng ta sẽ đổi mục đích của nó sang lưu chi tiêu.
  3. Mở bảng tính vừa tạo và đặt tên là Pocket Ledger demo. Trong tệp demo mới này, chọn File → Import → Upload, chọn pocket-ledger-starter.xlsx từ bộ thiết lập rồi chọn Replace spreadsheet và nhấp Import data. Thao tác này chuẩn bị cả Expenses và Summary trong tệp mà Quickchat AI có thể truy cập. Chỉ dùng tùy chọn này trong bảng tính demo mới.
  4. Kiểm tra ba dòng dữ liệu ban đầu bên dưới. Trong Summary, các tổng ban đầu phải là 7,70 EUR và 6,00 USD. Bước 6 giải thích công thức và kết nối Action đọc dữ liệu.

Hộp thoại kết nối Google Sheets của Quickchat AI giải thích bảng tính và Action ban đầu được tạo Bắt đầu bằng kết nối Google Sheets. Việc cấp quyền tạo bảng tính dùng cho cả hai Actions.

Bạn muốn tự tạo các trang tính? Đổi tên trang ban đầu thành Expenses. Với các ví dụ tiếng Anh này, đặt File → Settings → Locale → United States. Định dạng A:D và F:H là Plain text, còn E là Number với hai chữ số thập phân, rồi dán khối bên dưới vào A1. Cố định hàng tiêu đề và tăng độ rộng các cột. Thêm Summary theo Bước 6. Google cũng có hướng dẫn nhập sổ tính Excel vào một bảng tính hiện có.

Sao chép ba khoản chi ban đầu
date	month	item	category	amount	currency	note	conversation_url
2026-11-01	2026-11	coffee	food	4.50	EUR	synthetic example
2026-11-02	2026-11	bus ticket	transport	3.20	EUR	synthetic example
2026-11-03	2026-11	notebook	stationery	6.00	USD	synthetic example

Trang Expenses thực tế trước khi lưu qua Telegram, với ba khoản mua giả định ban đầu Ba khoản chi ban đầu đã sẵn sàng đón khoản thứ tư. Số tiền trong E là số; mã tiền tệ trong F là các giá trị văn bản riêng.

Cột conversation_url sẽ liên kết mỗi khoản chi mới với cuộc trò chuyện của nó. Để trống cột này cho ba ví dụ nhập thủ công. Quyền drive.file của Google bao gồm các tệp do ứng dụng tạo hoặc được cấp quyền rõ ràng. Hướng dẫn này dùng Sheet do tích hợp tạo và không cấp quyền truy cập toàn bộ Drive.

Bước 3: Giới hạn chi tiêu trong cuộc trò chuyện của chính bạn như thế nào?

Đặt Run only when cho mọi Action đọc hoặc ghi sổ chi tiêu. Cả hai điều kiện phải khớp, nên chỉ có ID của bạn là chưa đủ trong cuộc trò chuyện nhóm.

Khóa metadataPhép so sánhGiá trị
telegram_user_idequalsID người gửi dạng số thực tế của bạn từ Bước 1
telegram_chat_typeequalsprivate
  1. Mở Action log_lead_to_google_sheet đang không hoạt động và tìm Run only when.
  2. Thêm cả hai điều kiện ở trên. Dùng chính xác các khóa metadata và các chữ số ID của bạn, không dùng tên người dùng hay tiền tố @.
  3. Lưu Action và giữ trạng thái không hoạt động. Áp dụng cùng các điều kiện cho Action đọc khi tạo nó ở Bước 6.

Trình chỉnh sửa Action chi tiêu với điều kiện chạy theo ID chủ sở hữu và cuộc trò chuyện riêng tư Các điều kiện của Action lưu trong bản demo cục bộ. Thay ID giả định bằng ID người gửi thật của bạn và lặp lại cả hai điều kiện trên Action đọc.

Sơ đồ yêu cầu danh tính chủ sở hữu và cuộc trò chuyện Telegram riêng tư trước khi một trong hai Actions dữ liệu cá nhân được chạy Cả hai Actions đều cần cả hai điều kiện. Người gửi khác hoặc cuộc trò chuyện nhóm phải bị chặn ở bước kiểm tra trước khi yêu cầu HTTP đến Google Sheets.

Đây là các điều kiện Action được thực thi phía máy chủ. Viết “chỉ trả lời tôi” trong prompt không phải là kiểm tra quyền truy cập. Đồng thời giới hạn cài đặt chia sẻ Sheet và quyền truy cập tài khoản Quickchat AI.

Bước 4: Làm sao để bot lưu khoản chi đã xác nhận?

Chỉnh Action ban đầu để thêm một dòng theo đúng thứ tự các cột trong Sheet. Đặt When to run → AI decides để nó có thể chờ xác nhận. Sau đó đặt quy tắc xác nhận cho Agent trước khi bật Action.

Cấu hình các trường chi tiêu

Trong What to ask the user first, thay các trường khách hàng tiềm năng bằng những tham số sau. Giữ nguyên tên tham số đúng như minh họa.

Tham sốĐịnh dạngBắt buộcMô tả cần nhập
dateTextCóNgày chi tiêu theo YYYY-MM-DD, được chủ sở hữu xác nhận. Hỏi khi còn thiếu.
monthTextCóYYYY-MM lấy từ ngày đã xác nhận.
itemTextCóTên ngắn gọn của món đã mua.
categoryTextCóDanh mục đơn giản thống nhất với chủ sở hữu, như đồ ăn hoặc đi lại.
amountDecimal NumberCóSố tiền dương, không kèm ký hiệu tiền tệ.
currencyTextCóMã tiền tệ ISO đã xác nhận, như EUR hoặc USD. Làm rõ các ký hiệu không rõ nghĩa.
noteTextKhôngGhi chú tùy chọn. Để trống nếu không được cung cấp.

Giữ ID bảng tính thực tế trong API Endpoint hiện tại. Đổi phạm vi thành Expenses!A:H, giữ phương thức POST và đặt Query Params thành valueInputOption=RAW và insertDataOption=INSERT_ROWS. Xóa các thiết lập truy vấn trùng nếu chúng đã có trong URL.

Sao chép mẫu tham chiếu yêu cầu thêm dòng
POST https://sheets.googleapis.com/v4/spreadsheets/YOUR_CREATED_SHEET_ID/values/Expenses!A:H:append
Query Params:
valueInputOption = RAW
insertDataOption = INSERT_ROWS
Headers:
Authorization = Bearer {{google_sheets_access_token}}
Content-Type = application/json

YOUR_CREATED_SHEET_ID là giá trị giữ chỗ để giải thích. Giữ ID thật đã có trong URL ban đầu, không dán giá trị giữ chỗ đè lên nó. Chọn System Token Google Sheets có sẵn trong giá trị Authorization và biến URL cuộc trò chuyện tích hợp sẵn trong phần thân.

Trong thẻ Body, nhập:

{"values":[["{{date}}","{{month}}","{{item}}","{{category}}","{{amount}}","{{currency}}","{{note}}","{{conversation_url}}"]]}

Trình chỉnh sửa Body của API Endpoint thực tế hiển thị dòng chi tiêu và các thẻ tham số Cấu hình Action chi tiêu cục bộ. Phần thân xác định thứ tự ô; định dạng tham số số tiền xác định kiểu dữ liệu số.

Giữ dấu ngoặc kép quanh {{amount}} trong trình chỉnh sửa. Vì đúng giá trị giữ chỗ này tham chiếu đến tham số Decimal Number, phép thay thế tạo ra một số JSON như 4.5. Xóa dấu ngoặc kép sẽ làm JSON trong trình chỉnh sửa không hợp lệ. Trong Sheet kết quả, hãy kiểm tra E là số và được tính trong công thức.

API append của Google thêm dòng. RAW giữ nguyên văn bản, chẳng hạn ghi chú bắt đầu bằng =, thay vì tính nó như công thức. Tham số dạng số xác định kiểu dữ liệu của số tiền.

Sao chép mô tả Action lưu
Save one personal expense to the configured Google Sheet. Call only after the owner explicitly confirms the proposed date, item, category, amount and currency. Ask for missing or ambiguous fields before saving. After confirmation, append one row once. Report success only after a successful API response. If the outcome is uncertain, tell the owner to inspect the Sheet before submitting again.

Đưa hướng dẫn cho Pocket Ledger

Mở Identity → Main Prompt và dán nội dung sau. Nội dung gọi tên cả hai Actions để cột mốc thứ hai hoạt động sau khi bạn thêm Action đọc tổng hợp.

Trình chỉnh sửa Main Prompt của Pocket Ledger trong Quickchat AI Main Prompt nằm trong Identity. Ảnh cục bộ này chỉ vị trí của trường; hãy dùng toàn bộ khối nội dung có thể sao chép bên dưới.

Quy tắc xác nhận tạo ra một khoảng dừng để bạn kiểm tra. Bạn có thể sửa “EUR 4.50” thành “EUR 5.00” trước khi chấp thuận khoản mua; Agent cần cập nhật đề xuất rồi yêu cầu xác nhận lại.

Sao chép Main Prompt của Pocket Ledger
You are Pocket Ledger, a personal expense notebook.

For an expense, collect its date, item, positive amount and ISO currency code. Suggest a simple category and include an optional note only when supplied. Ask for an explicit YYYY-MM-DD date if it is missing or relative; do not guess today's date or the owner's timezone. Clarify ambiguous currency symbols. Derive month as YYYY-MM from the confirmed date.

Show the proposed date, item, category, amount and currency. Wait for explicit confirmation. Apply corrections and ask for confirmation again. Only then call log_lead_to_google_sheet once for that expense. Do not claim it was saved unless the Action succeeds. If a request fails or its outcome is uncertain, explain that and ask the owner to inspect the Sheet before retrying.

For monthly totals, ask for an explicit month and currency when unclear, then call read_expense_summary. Quote the matching month, currency and total returned from the Sheet. Keep currencies separate. A missing summary row is unavailable, not zero. Never calculate totals from remembered conversation messages.

Personal-data Actions are restricted to the owner's private Telegram chat. If a condition blocks an Action, do not claim success or suggest changing identity values in chat. This notebook handles typed expenses, not bank accounts, voice transcription or PDF receipts.

Lưu prompt, kiểm tra lại cả hai điều kiện chạy rồi bật Action chi tiêu. Tên vẫn là log_lead_to_google_sheet; các tham số, mô tả và phần thân mới đã xác định quy trình chi tiêu.

Bước 5: Lưu khoản chi đầu tiên như thế nào?

Giờ hãy thêm bản ghi mới đầu tiên vào sổ. Giữ Telegram, Inbox và bảng tính mở cùng lúc để theo dõi cùng một khoản cà phê đi qua từng nơi.

  1. Trong cuộc trò chuyện riêng tư trên Telegram, gửi Coffee, 4.50 euros on 2026-11-04.
  2. Kiểm tra đề xuất: ngày 2026-11-04, mặt hàng Coffee, danh mục Food, số tiền 4.50, tiền tệ EUR. Action suy ra month là 2026-11 khi lưu dòng.
  3. Trước khi xác nhận, kiểm tra Expenses: vẫn chỉ được có ba dòng dữ liệu ban đầu.

Gửi Save it một lần, sau đó mở cuộc trò chuyện trong Inbox của Quickchat AI. Câu trả lời đã lưu có mục mở rộng 1 action called. Mở mục này để xem những gì diễn ra phía sau câu trả lời ngắn trên Telegram.

Câu trả lời đã lưu khoản cà phê trong Quickchat Inbox với mục mở rộng one action called Cùng xác nhận trong Inbox, kèm Action để bạn kiểm tra.

Mở rộng Result → Show full. Kiểm tra ngày, tháng được suy ra, số tiền dạng số, tiền tệ và trạng thái HTTP. Trong lần chạy thực tế này, Google trả về HTTP 200, updatedRows: 1 và updatedRange: Expenses!A5:H5.

Action chi tiêu được mở rộng trong Inbox hiển thị đầu vào thực tế và phản hồi thêm thành công một dòng, các mã định danh riêng tư đã được che Action lưu gửi số tiền 4.5 dưới dạng số và ghi một dòng. Các mã định danh riêng tư đã được che; phạm vi trả về và kết quả vẫn hiển thị.

Cuối cùng, mở Expenses. Dòng 5 phải chứa cùng khoản cà phê đó, với 2026-11 trong cột tháng, 4.50 ở số tiền và EUR ở tiền tệ. Cột cuối liên kết về cuộc trò chuyện trong Inbox để bạn truy ngược một bản ghi về tin nhắn đã tạo ra nó.

Google Sheets sau khi xác nhận trên Telegram, với khoản cà phê mới ở dòng 5 của Expenses Khoản chi thứ tư được thêm qua Telegram. Liên kết Inbox riêng tư đã được che trong ảnh xuất bản.

Đến đây bạn đã có thói quen hữu ích hằng ngày: gửi, xác nhận, kiểm tra. Tiếp theo, cung cấp cho bot một nguồn đáng tin cậy để đọc khi bạn hỏi tiền trong tháng đã đi đâu.

Bước 6: Hỏi tổng chi theo tháng như thế nào?

Để Google Sheets tính tổng, rồi để Action đọc lấy kết quả. Giữ phép tính trong Sheet giúp bạn kiểm tra câu trả lời ngay cả sau khi cuộc trò chuyện kết thúc.

Thêm trang tính Summary

Nếu đã nhập sổ tính mẫu, Summary và các công thức đều đã được chuẩn bị. Các giá trị ban đầu là 7,70 EUR và 6,00 USD; lưu khoản cà phê chỉ thay đổi dòng EUR. Nếu tạo bảng tính thủ công, hãy làm theo các bước dưới đây.

Trang Summary ban đầu hiển thị 7,70 EUR và 6,00 USD trước khi lưu khoản cà phê Điểm bắt đầu: hai loại tiền tệ, hai tổng số độc lập.

  1. Tạo một trang tính tên Summary. Đặt các cột A:B thành Plain text, sau đó nhập month, currency, total vào A1:C1.
  2. Nhập 2026-11 và EUR vào A2:B2, sau đó 2026-11 và USD vào A3:B3.
  3. Nhập công thức này vào C2 rồi điền xuống C3. Định dạng C là số với hai chữ số thập phân.
=SUMIFS(Expenses!$E$2:$E$501,Expenses!$B$2:$B$501,A2,Expenses!$F$2:$F$501,B2)

Hàm SUMIFS cộng các số tiền có tháng và loại tiền khớp với dòng tổng hợp. Nếu thiết lập vùng của Sheet yêu cầu dấu chấm phẩy giữa các đối số, thay dấu phẩy trong công thức bằng dấu chấm phẩy. Số trong yêu cầu JSON vẫn dùng dấu chấm thập phân.

Công thức Summary thực tế và tổng tháng 11 đã cập nhật sau khi lưu khoản cà phê Chọn C2 để xem công thức tạo ra 12,20 EUR. Dòng USD vẫn là 6,00.

Phép tính mẫu giữ tổng tháng 11 là 12,20 EUR tách biệt với 6,00 USD 7,70 EUR ban đầu cộng ly cà phê mới 4,50 EUR bằng 12,20 EUR. Cuốn sổ 6,00 USD thuộc một tổng riêng.

Công thức ban đầu bao phủ các dòng từ 2 đến 501. Trong lần chạy được chụp lại, cả ba phạm vi đều kết thúc ở 502 sau khi dòng mới được chèn. Sheets có thể điều chỉnh tham chiếu khi chèn dòng; hãy kiểm tra để cả ba phạm vi Expenses luôn khớp nhau và mở rộng chúng cùng lúc trước khi bản ghi vượt ra ngoài phạm vi. Thêm một dòng tổng hợp tháng và tiền tệ cho mỗi tổ hợp bạn muốn hỏi.

Thêm Action đọc

Mở Actions & MCPs → Add Action → API Action. Dùng Generate với yêu cầu bên dưới; các Actions được tạo theo cách này bắt đầu ở trạng thái không hoạt động. Đặt tên là read_expense_summary và giữ When to run ở AI decides để kết quả có thể được dùng trong câu trả lời. Dùng lại cùng ID bảng tính thực tế và System Token Google Sheets. Không cần tham số do người dùng cung cấp.

Sao chép yêu cầu cho trình tạo Action
Create a read-only Google Sheets Action named read_expense_summary. Use GET for the Summary!A1:C25 range of the spreadsheet already created by this Agent's Google Sheets integration. Reuse its actual spreadsheet ID and google_sheets_access_token System Token. Set valueRenderOption=UNFORMATTED_VALUE, no body, and no visitor parameters. Preserve the response headers and values. Leave it inactive so I can review the configuration and add my owner-ID and private-chat Run only when conditions before enabling it.

Đối chiếu cài đặt được tạo với mẫu tham chiếu sau. Nếu chọn Create manually, hãy thêm cả hai điều kiện trước lần lưu hợp lệ đầu tiên, vì lần lưu đó có thể kích hoạt Action. Để trống Response filter trên cả hai Actions để giữ lại các trường dùng trong phép kiểm tra.

Sao chép yêu cầu đọc tổng hợp
GET https://sheets.googleapis.com/v4/spreadsheets/YOUR_CREATED_SHEET_ID/values/Summary!A1:C25
Query Params:
valueRenderOption = UNFORMATTED_VALUE
Headers:
Authorization = Bearer {{google_sheets_access_token}}
Body: none

Endpoint values.get trả về values của phạm vi, bao gồm tiêu đề và các số tiền đã tính. UNFORMATTED_VALUE trả kết quả dạng số thay vì chuỗi được định dạng tiền tệ. Giữ phản hồi khả dụng cho Agent để nó có thể đọc các giá trị đó.

Sao chép mô tả Action đọc
Read monthly expense totals from the configured Summary range. Use this when the owner asks for a total. Quote only the returned row matching the requested YYYY-MM and currency. If either is unclear, ask. If the row is absent or the request fails, say the total is unavailable. Never infer a total from conversation history, combine currencies, or accept a different spreadsheet ID or range from the visitor.

Áp dụng cùng hai điều kiện Run only when ở Bước 3, lưu và bật Action. Phạm vi đọc bao gồm 24 dòng tổng hợp; chủ động mở rộng phạm vi khi thêm các dòng khác.

Action đọc tổng hợp chi tiêu với cùng điều kiện ID chủ sở hữu và cuộc trò chuyện riêng tư Action thứ hai cần các điều kiện riêng của nó. Đây là ảnh cài đặt cục bộ, không phải phép kiểm tra quyền của người gửi thực tế.

Hỏi What is my November 2026 total in EUR?, rồi hỏi tiếp về USD. Trong cuộc trò chuyện Telegram của chúng tôi, Pocket Ledger trả về 12.2 EUR và 6 USD, khớp với các giá trị đã định dạng 12.20 và 6.00 trong bảng tính. Bot đã đọc bảng tổng hợp được lưu cho mỗi câu trả lời.

Các câu trả lời thực tế trên Telegram về tổng tháng 11 bằng EUR và USD sau khi lưu khoản cà phê

Mỗi loại tiền tệ một câu hỏi. Pocket Ledger đọc bảng tính thay vì cộng các tin nhắn mà nó nhớ trong cuộc trò chuyện.

Mở câu trả lời về tổng tháng trong Inbox và mở rộng Action tương ứng. So sánh dòng được trả về với Summary!C2. Phản hồi thực tế bên dưới gồm 2026-11, EUR, 12.2 và một dòng riêng USD, 6, với HTTP 200.

Action đọc tổng hợp chi tiêu trong Inbox trả về tổng tháng 11 thực tế bằng EUR và USD từ Google Sheets Câu trả lời, các giá trị trả về và bảng tính giờ đã khớp nhau. Đây chính là đích đến bạn thấy ở đầu bài.

Kiểm tra lỗi trước khi dùng chi tiêu thật như thế nào?

Kiểm tra yêu cầu thiếu thông tin và người gửi bị chặn kỹ lưỡng như trường hợp lưu cà phê thành công. Giữ dữ liệu demo cho đến khi các phép kiểm tra bên dưới đều đạt.

Thử tình huống nàyCần xác minh
Lunch, $12 yesterdayAgent hỏi loại tiền và ngày cụ thể. Không xuất hiện dòng mới.
Sửa số tiền được đề xuất trước khi xác nhậnĐề xuất đã sửa được xác nhận trước khi thêm đúng một dòng.
Hỏi tổng tháng 11 bằng EUR, rồi bằng USDKết quả riêng: 12,20 EUR và 6,00 USD với dữ liệu mẫu.
Hỏi tháng 12 năm 2026 khi không có dòng tổng hợp tháng 12Agent nói tổng chưa có, thay vì tự tạo số không.
Người gửi thứ hai hỏi tổng và thử lưu một khoản chiCả hai Actions đều bị từ chối và không tiết lộ giá trị cá nhân.
Chủ sở hữu gửi các yêu cầu tương tự trong nhómCả hai Actions đều bị từ chối vì cuộc trò chuyện không riêng tư.
Lưu thất bại hoặc hết thời gian chờCâu trả lời thông báo thất bại hoặc chưa chắc chắn. Kiểm tra Sheet trước khi thử lại.

Để kiểm thử ngôn ngữ có thể lặp lại, mở Testing → Create Dataset → Paste messages và dùng các tin nhắn cùng tiêu chí đánh giá trong bộ tài liệu. Chạy riêng một cuộc trò chuyện đầy đủ cho chuỗi xác nhận. Metadata của Preview hoặc Simulation là dữ liệu thử nghiệm; nó không chứng minh một người gửi Telegram thứ hai thực tế đã bị chặn.

Bộ dữ liệu kiểm thử Pocket Ledger trong giao diện Testing thực tế của Quickchat AI Bộ dữ liệu cục bộ đã được chuẩn bị để kiểm thử. Sự hiện diện của nó không phải là một lượt Simulation đã hoàn tất hay bằng chứng đã ghi vào Google Sheets.

Nếu hành vi chưa đúng, sửa một hướng dẫn liên quan rồi lặp lại cùng đầu vào và kiểm tra lại lệnh gọi cùng Sheet. Chẳng hạn, nếu thêm dòng quá sớm, cần xem kỹ cách diễn đạt yêu cầu xác nhận trong Action lưu. Xác nhận là một hướng dẫn, không phải bảo đảm tính duy nhất của cơ sở dữ liệu. Sau khi hết thời gian chờ, kiểm tra Sheet quan trọng hơn bấm gửi lại.

Khi toàn bộ quy trình hoạt động, xóa các dòng chi tiêu giả định, giữ tiêu đề và công thức, rồi thêm các dòng tổng hợp cho tháng và loại tiền bạn thực sự dùng. Khoản mua thật đầu tiên có thể theo đúng thói quen nhỏ như ly cà phê.

Trợ lý AI có thể giúp cấu hình Pocket Ledger không?

Một trợ lý quản lý tài khoản đã kết nối có thể giúp chuẩn bị Agent và xem lại cài đặt Actions. Làm theo Manage with AI qua mục Quickchat AI trên ChatGPT hoặc mục trên Claude. Đưa cho trợ lý bộ tài liệu thiết lập và yêu cầu sau:

Help me configure Pocket Ledger from this setup kit. Inspect the available Quickchat AI tools first. Prepare the Main Prompt and the two HTTP Actions using the exact field names, numeric amount type and fixed ranges. Keep log_lead_to_google_sheet as the starter name. Ask me to complete Google OAuth and Telegram Bot Token setup in the dashboard. Apply both owner/private run conditions before enabling either Action. Do not run credit-consuming tests or append expenses until I ask. Report any setting your tools cannot configure so I can complete it in the dashboard.

Chủ sở hữu hoàn tất cấp quyền Google và kết nối Telegram. Xem lại cài đặt và chạy cùng các phép kiểm tra ở trên, bất kể ai đã nhập chúng.

Câu hỏi thường gặp

Làm sao theo dõi chi tiêu trên Telegram bằng Google Sheets?

Kết nối bot Telegram với Quickchat AI Agent và cấp quyền Google Sheets. Cấu hình một Action để thêm khoản chi sau khi xác nhận và một Action khác để đọc tổng hợp tháng dựa trên công thức. Giới hạn cả hai Actions bằng ID người dùng Telegram của bạn và cuộc trò chuyện riêng tư.

Bot có thể cho biết tôi đã chi bao nhiêu trong tháng này không?

Có, khi tháng và loại tiền được hỏi có một dòng trong phạm vi Summary đã cấu hình. Google Sheets tính tổng bằng SUMIFS; Action đọc lấy kết quả đó. Action chỉ thêm dòng không thể lấy tổng, và thiếu dòng tổng hợp không có nghĩa là bằng không.

Người khác có thể đọc chi tiêu của tôi qua bot Telegram không?

Cả hai Actions xử lý dữ liệu cá nhân phải yêu cầu telegram_user_id đã xác minh của bạn và telegram_chat_type bằng private. Các điều kiện này chặn lệnh gọi từ người gửi khác và nhóm. Kiểm tra cả hai trường hợp trước khi thêm dữ liệu cá nhân, đồng thời giới hạn quyền truy cập Sheet và tài khoản Quickchat AI.

Công cụ theo dõi chi tiêu trên Telegram này có miễn phí không?

Tạo bot Telegram là miễn phí. Gói Free của Quickchat AI hỗ trợ học tập cá nhân, phi thương mại với số tín dụng AI giới hạn. Phản hồi AI và Simulation Testing dùng tín dụng; việc sử dụng lâu dài phụ thuộc vào hạn mức còn lại và gói của bạn.

Tôi có cần Apps Script, Python hay máy chủ tự động hóa không?

Hướng dẫn này dùng Quickchat AI Actions và một công thức Google Sheets. Bạn dán các cài đặt yêu cầu, phần thân JSON và prompt được cung cấp vào bảng điều khiển; không triển khai Apps Script, bot Python hay máy chủ tự động hóa.

Tôi có thể dùng bảng chi tiêu sẵn có không?

Hướng dẫn này dùng bảng tính do tích hợp Google Sheets của Quickchat AI tạo ra. Quyền drive.file không cấp quyền truy cập không giới hạn vào Drive. Đừng thay ID bảng tính bằng một tệp có sẵn tùy ý rồi mặc định rằng nó có thể truy cập được.

Bot có đọc được ảnh hóa đơn hoặc tin nhắn thoại không?

Hướng dẫn này dành cho các khoản chi nhập bằng văn bản. Việc trích xuất hóa đơn cần kiểm tra riêng cách Telegram chuyển ảnh và bước xác nhận trước khi bạn có thể tin dùng. Chuyển giọng nói thành văn bản và phân tích hóa đơn PDF không thuộc thiết lập này.

Hệ thống xử lý nhiều loại tiền và các bản ghi trùng như thế nào?

Mỗi loại tiền có một tổng riêng theo tháng; hướng dẫn này không chuyển đổi tiền tệ. Xác nhận giúp giảm bản ghi vô ý nhưng không bảo đảm chống trùng lặp ở mức thao tác nguyên tử. Nếu lưu hết thời gian chờ, kiểm tra Sheet trước khi gửi lại.

Quickchat AI Quickchat AI Ask Quickchat AI a question