Subscription Tracker: Công cụ theo dõi chi phí đăng ký dịch vụ
Bạn có biết mình đang trả bao nhiêu tiền subscription mỗi tháng không?
Không phải con số bạn đang nghĩ trong đầu - mà là con số thực tế, bao gồm cái app bạn đăng ký năm ngoái rồi quên, gói trial đã tự động chuyển thành paid từ 3 tháng trước, và cái tool “thử cho biết” nhưng vẫn trừ tiền đều đặn mỗi kỳ mà không ai hay.
Theo C+R Research, người dùng trung bình chi tiêu cho subscription cao hơn 80% so với ước tính ban đầu của họ. Lý do đơn giản: chúng ta đăng ký ở nhiều nơi khác nhau, thanh toán bằng nhiều phương thức khác nhau, và không có một chỗ nào để nhìn bức tranh tổng thể.
Mình đã thử build Subscription Tracker - một công cụ miễn phí, không cần đăng nhập, chạy thẳng trên trình duyệt tại tool.natecue.com/subscription-tracker. Bài này sẽ giới thiệu toàn bộ tính năng và hướng dẫn bạn setup từ A đến Z - kể cả phần đồng bộ Google Sheets và nhận nhắc lịch qua Telegram bot.
Subscription tracker giải quyết bài toán gì?
Khi số lượng dịch vụ bạn sử dụng tăng lên - từ Netflix, Spotify, Adobe, đến ChatGPT Plus, Claude Pro, Notion, GitHub Pro, domain hosting - việc theo dõi thủ công trong đầu hoặc ghi chú rải rác trở nên kém hiệu quả rõ rệt.
3 vấn đề phổ biến nhất:
Quên ngày đến hạn - Auto-renew trừ tiền mà bạn không hay. Đặc biệt với các gói thanh toán hàng năm, bạn chỉ nhận ra khi nhìn sao kê thẻ tín dụng cuối tháng.
Không biết tổng chi phí thực - Mỗi subscription lẻ trông rất nhỏ ($9.99, $15, $19.99), nhưng cộng lại có thể lên đến vài triệu đồng mỗi tháng. Con số “gây sốc” thường đến khi bạn ngồi tính tổng lần đầu tiên.
Giữ dịch vụ không dùng - “Để đó biết đâu cần” - và nó nằm đó, trừ tiền đều đặn trong nhiều tháng, nhiều năm. Đây là dạng “lifestyle creep” tài chính tinh vi nhất vì mỗi khoản riêng lẻ đều quá nhỏ để để ý.
Subscription Tracker giải quyết cả 3 bài toán này trong một giao diện duy nhất, không cần đăng ký tài khoản.
Tính năng chính của Subscription Tracker
Tool được build trên nền React + Tailwind CSS 4, tích hợp hoàn toàn vào design system của tool.natecue.com với đầy đủ Light/Dark mode và responsive trên mọi kích thước màn hình. Nếu bạn đã từng dùng Time Tracker hoặc các tool khác trên cùng nền tảng, giao diện sẽ quen ngay.

Quản lý danh sách subscription
Mỗi subscription lưu đầy đủ:
- Tên dịch vụ và danh mục (Entertainment, Productivity, Design, AI Tools, Health…)
- Giá tiền với đa tiền tệ: VND, USD, EUR
- Chu kỳ thanh toán: Monthly hoặc Yearly
- Ngày bắt đầu - tool tự động tính ngày đến hạn tiếp theo, không cần tính tay
- Trạng thái: Active, Paused, Cancelled
Phần filter theo trạng thái giúp bạn thấy ngay cái nào đang chạy, cái nào đã tạm dừng, cái nào đã hủy mà chưa xóa khỏi danh sách.
3 tab theo dõi chuyên biệt
Tab Danh sách - Toàn bộ subscriptions kèm status, chu kỳ và ngày đến hạn tiếp theo. Các subscription sắp đến hạn trong 7 ngày hoặc đã quá hạn sẽ được highlight để bạn xử lý kịp.
Tab Sắp đến hạn - Chỉ hiển thị những khoản cần chú ý trong 30 ngày tới. Không cần scroll toàn bộ danh sách để tìm cái cần quan tâm.
Tab Thống kê - Tổng hợp chi phí theo tháng và năm, breakdown theo danh mục với progress bar trực quan, và Top 5 subscription tốn tiền nhất. Đây là phần dễ gây “shock” nhất khi bạn nhập đủ data lần đầu.
Summary cards tổng quan
Phía trên cùng có 3 card hiển thị ngay khi vào tool:
- Tổng chi phí tháng - quy đổi tất cả subscription về cùng chu kỳ tháng
- Chi phí năm dự kiến - giúp bạn thấy con số thực sự của cả một năm
- Số khoản đến hạn trong 30 ngày - badge màu đỏ nếu có overdue
Hướng dẫn sử dụng từng bước
Bước 1 - Truy cập tool
Vào tool.natecue.com/subscription-tracker trực tiếp trên trình duyệt. Không cần tài khoản, không cần đăng nhập, không cần cài app.
Bước 2 - Thêm subscription đầu tiên
Nhấn nút ”+ Thêm Subscription” ở góc trên bên phải. Điền thông tin vào modal:
- Tên dịch vụ - ví dụ: “Claude Pro”, “Adobe CC”, “Notion”
- Danh mục - chọn từ danh sách hoặc nhập tự do
- Giá tiền và đơn vị tiền tệ (VND / USD / EUR)
- Chu kỳ: Monthly hoặc Yearly
- Ngày bắt đầu - ngày đăng ký hoặc ngày bị trừ tiền lần đầu
- Trạng thái hiện tại
Nhấn Lưu - tool sẽ tự tính ngày đến hạn tiếp theo dựa trên ngày bắt đầu và chu kỳ. Không cần nhớ hay tính tay.
Bước 3 - Audit toàn bộ subscriptions của bạn
Dành 15-20 phút để nhập đủ tất cả subscriptions đang có. Checklist gợi ý theo nhóm:
- Entertainment: Netflix, YouTube Premium, Spotify, Apple Music, Disney+
- AI Tools: ChatGPT Plus, Claude Pro, Midjourney, Perplexity Pro, Cursor
- Productivity: Notion, Obsidian Sync, 1Password, Dropbox, Google One
- Design: Adobe CC, Figma, Canva Pro
- Dev & Hosting: GitHub Pro, Vercel, domain hosting, VPS, cloud storage
- Health & Fitness: app chạy bộ, thiền định, gym tracking
Sau khi nhập đủ, qua tab Thống kê để xem con số tổng. Mình khá tự tin là con số đó sẽ cao hơn bạn nghĩ ít nhất 30%.
Bước 4 - Xử lý các khoản sắp đến hạn
Qua tab Sắp đến hạn để thấy những khoản nào cần quyết định trong 30 ngày tới:
- Giữ nguyên nếu vẫn cần dùng (tự động charge nếu bạn không làm gì)
- Hủy trước ngày đến hạn để tránh bị trừ tiền thêm một kỳ
- Chuyển sang Paused nếu tạm thời không dùng nhưng chưa muốn hủy hẳn
Lưu ý kỹ thuật quan trọng: Data được lưu vào localStorage của trình duyệt trên máy bạn - không mất khi refresh trang, nhưng sẽ mất nếu bạn xóa browser cache hoặc chuyển sang thiết bị khác. Đây là lý do cần setup đồng bộ ra ngoài ngay sau khi nhập đủ data.
Đồng bộ dữ liệu lên Google Sheets
Subscription Tracker tích hợp sẵn template Google Apps Script (GAS) để đẩy toàn bộ data lên Google Sheets của bạn chỉ với vài bước. Không cần biết code.
Cách setup Google Sheets sync
Bước 1: Trong tool, nhấn nút “Đồng bộ Google Sheets” - một modal sẽ xuất hiện kèm đoạn GAS script đã được viết sẵn, copy toàn bộ.
Bước 2: Mở Google Sheets (tạo file mới hoặc dùng file có sẵn) → menu Extensions → Apps Script.
Bước 3: Paste script vào editor, nhấn Deploy → New Deployment → chọn type là Web App. Đặt “Who has access” thành Anyone để tool có thể gọi API.
Bước 4: Copy Deployment URL được tạo ra, dán vào ô “Apps Script URL” trong tool rồi nhấn Sync.
Toàn bộ danh sách subscription sẽ được đẩy vào Sheet với các cột: Tên dịch vụ, Danh mục, Giá tiền, Chu kỳ, Ngày bắt đầu, Ngày đến hạn tiếp theo, Trạng thái.
Kết quả bạn có được: Bản backup dạng spreadsheet, dễ share với người khác (hoặc cùng quản lý chi tiêu gia đình), dễ filter và sort theo bất kỳ cột nào, truy cập được từ mọi thiết bị qua Google Sheets app. Data không bao giờ mất dù bạn xóa cache hay đổi máy.

Nhận nhắc lịch tự động qua Telegram bot
Google Sheets là bước một - backup bền vững và truy cập đa thiết bị. Bước hai là chủ động nhắc bạn trước khi đến hạn, thay vì phải tự nhớ mở tool kiểm tra mỗi ngày.
Bằng cách kết hợp Google Sheets (nơi data đã được sync) với Telegram Bot API, bạn có thể tạo một automation chain gửi tin nhắn nhắc lịch mỗi sáng vào Telegram - hoàn toàn tự động, không tốn thêm bất kỳ chi phí nào.

Bước 1 - Tạo Telegram bot cá nhân
Mở Telegram, tìm @BotFather và bắt đầu cuộc trò chuyện. Gõ /newbot, đặt tên và username cho bot (username phải kết thúc bằng bot, ví dụ: mysubtracker_bot). BotFather sẽ trả về Bot Token dạng 123456789:ABC-DEF... - lưu lại cẩn thận, đây là “chìa khóa” của bot.
Tiếp theo, nhắn bất kỳ tin nhắn nào cho bot của bạn một lần, sau đó truy cập URL sau để lấy Chat ID:
https://api.telegram.org/bot{YOUR_TOKEN}/getUpdates
Tìm trường "chat": {"id": ...} trong JSON trả về - đó là Chat ID của bạn.
Bước 2 - Thêm function reminder vào Apps Script
Quay lại Apps Script đã deploy ở phần trước, thêm function sau vào cùng file:
function sendTelegramReminders() {
const BOT_TOKEN = "YOUR_BOT_TOKEN"; // thay bằng token thật
const CHAT_ID = "YOUR_CHAT_ID"; // thay bằng chat ID thật
const DAYS_AHEAD = 7; // nhắc trước 7 ngày
const sheet = SpreadsheetApp.getActiveSpreadsheet()
.getSheetByName("Subscriptions");
const data = sheet.getDataRange().getValues();
const today = new Date();
const reminders = [];
for (let i = 1; i < data.length; i++) {
const name = data[i][0];
const dueDate = new Date(data[i][5]); // cột "Ngày đến hạn"
const status = data[i][6];
if (status !== "active") continue;
const diffDays = Math.ceil((dueDate - today) / (1000 * 60 * 60 * 24));
if (diffDays >= 0 && diffDays <= DAYS_AHEAD) {
reminders.push(
`📅 *${name}* đến hạn sau *${diffDays} ngày* ` +
`(${Utilities.formatDate(dueDate, "Asia/Ho_Chi_Minh", "dd/MM/yyyy")})`
);
}
}
if (reminders.length === 0) return; // không có gì sắp đến hạn, bỏ qua
const message = `🔔 *Nhắc lịch Subscription*\n\n${reminders.join("\n")}`;
UrlFetchApp.fetch(
`https://api.telegram.org/bot${BOT_TOKEN}/sendMessage`,
{
method: "post",
contentType: "application/json",
payload: JSON.stringify({
chat_id: CHAT_ID,
text: message,
parse_mode: "Markdown"
})
}
);
}
Bước 3 - Thiết lập trigger tự động hàng ngày
Trong Apps Script, nhấn vào biểu tượng đồng hồ Triggers ở menu trái → Add Trigger:
- Function to run:
sendTelegramReminders - Event source: Time-driven
- Type of time-based trigger: Day timer
- Time of day: 8:00 - 9:00 AM (hoặc khung giờ bạn muốn nhận nhắc)
Save trigger. Từ bây giờ, mỗi sáng nếu có subscription đến hạn trong 7 ngày tới, bot sẽ tự động nhắn vào Telegram của bạn với tên dịch vụ và số ngày còn lại. Không cần mở app, không cần nhớ tự kiểm tra.
Bạn có thể điều chỉnh DAYS_AHEAD từ 7 thành 3 nếu muốn nhắc gần hơn, hoặc 14 nếu muốn có nhiều thời gian quyết định hơn trước khi đến hạn.
Câu hỏi thường gặp
Data của tôi được lưu ở đâu?
Toàn bộ data được lưu trong localStorage của trình duyệt trên máy bạn. NateCue không thu thập hay lưu trữ bất kỳ thông tin subscription nào phía server. Đây là lựa chọn có chủ đích - privacy-first, data thuộc về bạn.
Nếu tôi xóa cache trình duyệt thì mất data không?
Có, localStorage sẽ bị xóa theo. Đó là lý do mình khuyến khích sync lên Google Sheets ngay sau khi nhập đủ data. Sheet sẽ là bản backup bền vững và truy cập được từ mọi thiết bị.
Tool có tính tiền theo tỉ giá thực tế không?
Hiện tại tool hiển thị số tiền theo đơn vị gốc của từng subscription (USD, EUR, VND riêng biệt). Tính năng quy đổi tỉ giá thời gian thực đang trong roadmap cập nhật tiếp theo.
Tôi có thể dùng tool này trên điện thoại không?
Có, giao diện responsive hoàn toàn trên mobile. Bạn có thể truy cập và sử dụng đầy đủ tính năng từ trình duyệt điện thoại mà không cần cài thêm app.
Kết luận
Subscription tracker là thứ ai cũng cần, nhưng ít ai nghĩ đến cho đến khi nhìn sao kê thẻ.
Mình build tool này sau khi tự phát hiện ra đang trả tiền cho 3 AI tools mà không nhớ mình đã subscribe - hai trong số đó không dùng từ tháng trước. Con số tiết kiệm được sau khi audit lần đầu đủ để mua thêm vài tháng subscription thực sự xứng đáng.
Kết hợp với Google Sheets backup và Telegram bot reminder, bạn có một hệ thống quản lý subscription hoàn chỉnh: theo dõi trực quan trên web, backup bền vững trên Sheet, và nhắc lịch tự động vào Telegram mỗi sáng. Không cần app thứ ba, không cần trả phí, data hoàn toàn thuộc về bạn.
Trải nghiệm tại: tool.natecue.com/subscription-tracker
Nếu bạn đang muốn tìm hiểu thêm về cách mình build và tổ chức các công cụ dạng này, mình có ghi chú chi tiết hơn tại natecue.com/learn - nơi tổng hợp các kiến thức về AI tools, Productivity và Marketing mình đang dùng thực tế.
Feedback hoặc tính năng muốn thêm? Để lại comment bên dưới hoặc tìm mình trên LinkedIn. Mình đang track feature request để cập nhật tool trong thời gian tới.
Cảm ơn bạn đã đọc bài viết trên NateCue Insights!