Google Sheets Tips

Template Quản Lý Thu Chi Cá Nhân & Gia Đình Trên Google Sheets

Tuân HoangTuân Hoang
27 tháng 2, 2026
Cập nhật: 25 tháng 3, 2026
18 phút đọc
Template Quản Lý Thu Chi Cá Nhân & Gia Đình Trên Google Sheets

Tại Sao Bạn Cần Quản Lý Thu Chi?

Theo khảo sát của Manulife năm 2025, 76% người Việt Nam không có thói quen theo dõi chi tiêu hàng ngày. Kết quả là nhiều người rơi vào tình trạng "không biết tiền đi đâu" dù thu nhập tương đối ổn định. Một nghiên cứu khác từ Ngân hàng Thế giới (World Bank) cho thấy chỉ có 9% người Việt trưởng thành có quỹ tiết kiệm dự phòng đủ cho 3 tháng chi tiêu.

Lý do lớn nhất? Không phải vì thu nhập thấp, mà vì thiếu thói quen theo dõi và kiểm soát chi tiêu. Rất nhiều người có thu nhập 15-20 triệu/tháng vẫn "cháy túi" vào cuối tháng vì không biết tiền chi vào đâu. Ngược lại, có những người thu nhập 10 triệu nhưng vẫn tiết kiệm được 2-3 triệu mỗi tháng nhờ thói quen quản lý tài chính tốt.

Bạn không cần app phức tạp hay phần mềm đắt tiền. Google Sheets là công cụ miễn phí, quen thuộc, dùng được trên cả máy tính lẫn điện thoại, và hoàn toàn đủ mạnh để quản lý tài chính cá nhân & gia đình một cách chuyên nghiệp.

Lợi ích khi quản lý thu chi trên Google Sheets:

  • Miễn phí 100% - không quảng cáo, không giới hạn tính năng, không mất phí subscription
  • Dùng trên mọi thiết bị - điện thoại, tablet, laptop, máy tính bàn đều truy cập được
  • Tùy chỉnh 100% - thêm cột, thay đổi danh mục, tạo công thức riêng theo nhu cầu
  • Dữ liệu đồng bộ real-time - thay đổi trên điện thoại, máy tính tự cập nhật qua Google Drive
  • Chia sẻ cho vợ/chồng - cùng quản lý tài chính gia đình, ai nhập cũng được
  • Không lo mất dữ liệu - đổi điện thoại, hỏng laptop vẫn có dữ liệu trên cloud
  • Lịch sử đầy đủ - xem lại chi tiêu bất kỳ tháng nào, năm nào
  • Tự động hóa - dùng Apps Script gửi email nhắc nhở, tạo báo cáo tự động

Bạn biết không?

Theo nghiên cứu của Đại học Cambridge, người có thói quen ghi chép thu chi tiết kiệm được nhiều hơn 20-30% so với người không theo dõi. Chỉ cần 5 phút mỗi ngày, bạn có thể tiết kiệm thêm 3-5 triệu/tháng nhờ nhận ra những khoản chi không cần thiết.

Tổng Quan Cấu Trúc Template Quản Lý Thu Chi

Template được thiết kế gồm 4 sheet chính, mỗi sheet phục vụ một chức năng cụ thể. Hệ thống liên kết với nhau: bạn chỉ cần nhập dữ liệu ở sheet "Giao dịch", các sheet còn lại sẽ tự động tính toán và cập nhật.

Sheet Chức năng Tần suất sử dụng Ghi chú
Giao dich Nhap thu/chi hang ngay Hang ngay Sheet chinh, nhap lieu o day
Danh muc Phan loai thu chi + dropdown Setup 1 lan Tao danh sach dropdown cho sheet Giao dich
Ngan sach Lap ngan sach theo thang, so sanh thuc te Dau thang Tu dong tinh chi thuc te tu sheet Giao dich
Dashboard Tong hop, bieu do, ty le tiet kiem Tu dong cap nhat Chi xem, khong can nhap gi

Sheet 1: Giao Dich - Nhap Thu Chi Hang Ngay

Day la sheet ban se dung nhieu nhat - noi nhap moi khoan thu va chi hang ngay. Cau truc don gian, toi uu de nhap nhanh tren dien thoai:

Cot Ten Kieu du lieu Vi du Bat buoc?
A Ngay Date (dd/mm/yyyy) 15/02/2026 Co
B Loai Dropdown (Thu/Chi) Chi Co
C Danh muc Dropdown (tu sheet Danh muc) An uong Co
D Mo ta Text tu do Ca phe sang Highland Co
E So tien Number (VND) 45,000 Co
F Phuong thuc Dropdown Momo Tuy chon
G Ghi chu Text (tuy chon) Tuy chon

Du lieu mau - 1 ngay chi tieu binh thuong

De ban hinh dung ro hon, day la vi du giao dich 1 ngay cua mot nhan vien van phong o TP.HCM:

Ngay Loai Danh muc Mo ta So tien PT
15/02 Chi An uong Ca phe sang Highland 45,000 Momo
15/02 Chi Di lai Do xang xe may 80,000 Tien mat
15/02 Chi An uong Com trua cong ty 35,000 Tien mat
15/02 Chi Mua sam Mua nuoc giat o Bach Hoa Xanh 120,000 ZaloPay
15/02 Chi An uong An toi + tra sua 95,000 Chuyen khoan

Tong chi trong ngay: 375,000d - Mot ngay chi tieu binh thuong cua nguoi di lam tai TP.HCM. Nhan voi 30 ngay = khoang 11.25 trieu/thang chi co ban. Day la ly do tai sao viec theo doi la quan trong!

Thiet lap Data Validation (Dropdown)

Dropdown giup nhap nhanh va tranh sai chinh ta. Cach thiet lap:

  1. Chon ca cot B (tu B2 tro xuong) → Data > Data validation
  2. Criteria: List of items → nhap: Thu,Chi
  3. Tuong tu cho cot C (Danh muc) → List from a range → chon danh muc tu sheet "Danh muc"
  4. Cot F (Phuong thuc): Tien mat,Chuyen khoan,Momo,ZaloPay,The tin dung,VNPay
  5. Tick "Show dropdown list in cell" de hien dropdown ngay trong o
  6. Chon "Reject input" de khong cho nhap gia tri ngoai danh sach

Meo nhap lieu nhanh tren dien thoai:

  • Mo Google Sheets app, bookmark file quan ly thu chi len man hinh chinh
  • Tren may tinh: nhan Ctrl+; de tu dong dien ngay hom nay
  • Dung dropdown thay vi go tay - nhanh va khong sai chinh ta
  • Nhap ngay sau moi giao dich, dung doi den toi - de quen!
  • Tren dien thoai: nhan vao o → chon tu dropdown → go so tien → xong trong 15 giay

Sheet 2: Danh Muc Thu Chi Phu Hop Nguoi Viet

Danh muc duoc thiet ke phu hop voi thoi quen chi tieu cua nguoi Viet Nam. Ban co the tuy chinh them/bot theo nhu cau gia dinh:

Danh muc THU NHAP

  • Luong chinh - Luong co dinh hang thang
  • Thuong - Thuong KPI, Tet, le, sinh nhat
  • Lam them/Freelance - Thu nhap ngoai gio, du an phu
  • Dau tu - Co tuc, lai tiet kiem, lai chung khoan
  • Cho thue - Tien cho thue nha/phong/mat bang
  • Kinh doanh online - Ban hang Shopee, TikTok Shop
  • Thu khac - Ban do cu, hoan tien, duoc tang...

Danh muc CHI TIEU

  • An uong - Com trua, ca phe, an vat, di an ngoai
  • Nha o - Tien nha, dien, nuoc, internet, gas
  • Di lai - Xang, Grab, gui xe, bao duong xe
  • Mua sam - Quan ao, do dung ca nhan, my pham
  • Giai tri - Phim, du lich, cafe, karaoke
  • Giao duc - Sach, khoa hoc, hoc phi con
  • Suc khoe - Kham benh, thuoc, bao hiem, gym
  • Gia dinh - Bieu cha me, qua tang, tiec cuoi
  • Con cai - Sua, bim, do choi, tien tieu vat
  • Tiet kiem - Gui ngan hang, mua vang
  • Tra no - Tra gop nha, xe, the tin dung
  • Chi khac - Phat sinh khong phan loai

Phan nhom danh muc theo quy tac 50/30/20

Moi danh muc can duoc gan vao 1 trong 3 nhom de ap dung quy tac ngan sach:

Nhom Cac danh muc thuoc nhom
Nhu cau thiet yeu (50%) An uong, Nha o, Di lai, Suc khoe, Giao duc (hoc phi), Con cai (thiet yeu)
Mong muon (30%) Giai tri, Mua sam, Gia dinh (qua tang), Con cai (do choi), Chi khac
Tiet kiem & Dau tu (20%) Tiet kiem, Tra no, Dau tu

Sheet 3: Ngan Sach Theo Quy Tac 50/30/20

Quy tac 50/30/20 cua Elizabeth Warren la phuong phap quan ly tai chinh don gian va hieu qua nhat cho nguoi moi bat dau. Day la quy tac duoc hang trieu nguoi tren the gioi su dung va da duoc chung minh hieu qua qua nhieu nghien cuu tai chinh.

Nhom Ty le Bao gom Vi du (thu nhap 15tr) Vi du (thu nhap 25tr)
Nhu cau thiet yeu 50% Nha o, an uong, di lai, hoa don, hoc phi 7,500,000d 12,500,000d
Mong muon 30% Giai tri, mua sam, du lich, an ngoai, cafe 4,500,000d 7,500,000d
Tiet kiem & Dau tu 20% Gui tiet kiem, tra no, dau tu, quy du phong 3,000,000d 5,000,000d

Luu y cho nguoi Viet:

O Viet Nam, nhieu nguoi co khoan "bieu cha me" chiem 10-20% thu nhap. Ban co the dieu chinh quy tac thanh 50/20/20/10 (Thiet yeu 50%, Mong muon 20%, Tiet kiem 20%, Gia dinh 10%) cho phu hop van hoa Viet.

Cong thuc tu dong tinh ngan sach vs thuc te

Tao sheet Ngan sach voi cau truc so sanh Budget vs Actual. Cac cong thuc tu dong lay du lieu tu sheet Giao dich:

// O B1: Tong thu nhap thang hien tai (tu dong tinh)
=SUMIFS('Giao dich'!E:E, 'Giao dich'!B:B, "Thu",
  MONTH('Giao dich'!A:A), MONTH(TODAY()),
  YEAR('Giao dich'!A:A), YEAR(TODAY()))

// Ngan sach theo 50/30/20:
// B3: Nhu cau thiet yeu (50%)
=B1*0.5

// B4: Mong muon (30%)
=B1*0.3

// B5: Tiet kiem & Dau tu (20%)
=B1*0.2

// Cot C: Chi tieu thuc te theo nhom (tu dong)
// C3: Tong chi "Nhu cau thiet yeu" thang nay
=SUMPRODUCT(
  ('Giao dich'!B:B="Chi")*
  ISNUMBER(MATCH('Giao dich'!C:C, {"An uong","Nha o","Di lai","Suc khoe","Giao duc"}, 0))*
  (MONTH('Giao dich'!A:A)=MONTH(TODAY()))*
  (YEAR('Giao dich'!A:A)=YEAR(TODAY()))*
  'Giao dich'!E:E
)

// Cot D: Chenh lech = Ngan sach - Thuc te
=B3-C3

// Cot E: % da dung
=IF(B3>0, C3/B3*100, 0)

// Cot F: Trang thai (tu dong)
=IF(E3>=100, "VUOT NGAN SACH", IF(E3>=80, "CAN THAN", "ON"))

Conditional Formatting canh bao vuot ngan sach

Thiet lap mau sac tu dong de nhin la biet ngay tinh trang ngan sach:

// Conditional Formatting cho cot "% da dung" (E3:E5):

// Rule 1: Custom formula: =$E3>=100
// Format: Background #fee2e2 (do nhat), Text #dc2626 (do dam), Bold
// Y nghia: DA VUOT NGAN SACH! Can cat giam ngay

// Rule 2: Custom formula: =$E3>=80
// Format: Background #fef9c3 (vang nhat), Text #ca8a04 (vang dam)
// Y nghia: Sap vuot, can can than chi tieu

// Rule 3: Custom formula: =$E3<80
// Format: Background #dcfce7 (xanh nhat), Text #16a34a (xanh dam)
// Y nghia: On, tiep tuc phat huy

// Conditional Formatting cho cot "Chenh lech" (D3:D5):
// Rule: Custom formula: =$D3<0
// Format: Text #dc2626 (do), Bold
// Y nghia: Am = chi vuot ngan sach

Sheet 4: Dashboard Tong Hop

Dashboard tu dong cap nhat, giup ban nhin tong quan tai chinh trong nhay mat. Khong can nhap gi - chi can xem!

KPIs chinh (hang dau tien cua Dashboard)

// B2: Tong thu thang nay
=SUMIFS('Giao dich'!E:E, 'Giao dich'!B:B, "Thu",
  MONTH('Giao dich'!A:A), MONTH(TODAY()),
  YEAR('Giao dich'!A:A), YEAR(TODAY()))

// B3: Tong chi thang nay
=SUMIFS('Giao dich'!E:E, 'Giao dich'!B:B, "Chi",
  MONTH('Giao dich'!A:A), MONTH(TODAY()),
  YEAR('Giao dich'!A:A), YEAR(TODAY()))

// B4: So tien tiet kiem thang nay = Thu - Chi
=B2-B3

// B5: Ty le tiet kiem (%)
=IF(B2>0, (B2-B3)/B2*100, 0)

// B6: Chi tieu trung binh/ngay thang nay
=B3/DAY(TODAY())

// B7: Du kien chi ca thang (uoc tinh)
=B6*DAY(EOMONTH(TODAY(),0))

// B8: So voi thang truoc (%)
=IF(
  SUMIFS('Giao dich'!E:E, 'Giao dich'!B:B,"Chi",
    MONTH('Giao dich'!A:A), MONTH(TODAY())-1,
    YEAR('Giao dich'!A:A), YEAR(TODAY())) > 0,
  (B3 - SUMIFS('Giao dich'!E:E, 'Giao dich'!B:B,"Chi",
    MONTH('Giao dich'!A:A), MONTH(TODAY())-1,
    YEAR('Giao dich'!A:A), YEAR(TODAY())))
  / SUMIFS('Giao dich'!E:E, 'Giao dich'!B:B,"Chi",
    MONTH('Giao dich'!A:A), MONTH(TODAY())-1,
    YEAR('Giao dich'!A:A), YEAR(TODAY())) * 100,
  0
)

Top 5 khoan chi lon nhat thang

// Dung QUERY de lay top 5 danh muc chi nhieu nhat
=QUERY(
  'Giao dich'!A:E,
  "SELECT C, SUM(E)
   WHERE B='Chi'
   AND MONTH(A)+1=" & MONTH(TODAY()) & "
   AND YEAR(A)=" & YEAR(TODAY()) & "
   GROUP BY C
   ORDER BY SUM(E) DESC
   LIMIT 5
   LABEL C 'Danh muc', SUM(E) 'So tien'",
  1
)

SPARKLINE - Bieu do mini trong o

SPARKLINE la tinh nang doc dao cua Google Sheets, tao bieu do nho gon ngay trong 1 o. Rat huu ich cho Dashboard:

// Trend chi tieu 7 ngay gan nhat (line chart mini)
=SPARKLINE(
  ARRAYFORMULA(
    SUMIFS('Giao dich'!E:E, 'Giao dich'!B:B, "Chi",
      'Giao dich'!A:A, SEQUENCE(7, 1, TODAY()-6, 1))
  ),
  {"charttype","line"; "color","#dc2626"; "linewidth",2}
)

// Ty le thu/chi thang (thanh ngang 2 mau)
=SPARKLINE({B2, B3},
  {"charttype","bar"; "color1","#16a34a"; "color2","#dc2626"})

// % ngan sach da su dung (thanh tien trinh)
=SPARKLINE({C3, B3-C3},
  {"charttype","bar"; "color1","#3b82f6"; "color2","#e5e7eb"})

// Trend chi tieu 12 thang gan nhat (xem xu huong nam)
=SPARKLINE(
  ARRAYFORMULA(
    SUMIFS('Giao dich'!E:E, 'Giao dich'!B:B, "Chi",
      MONTH('Giao dich'!A:A), SEQUENCE(12, 1, MONTH(TODAY())-11, 1),
      YEAR('Giao dich'!A:A), YEAR(TODAY()))
  ),
  {"charttype","column"; "color","#f59e0b"; "lowcolor","#16a34a"; "highcolor","#dc2626"}
)

Cong Thuc Hay Cho Quan Ly Thu Chi

1. SUMIFS - Loc theo nhieu dieu kien

// Tong chi "An uong" thang 2/2026
=SUMIFS('Giao dich'!E:E,
  'Giao dich'!B:B, "Chi",
  'Giao dich'!C:C, "An uong",
  MONTH('Giao dich'!A:A), 2,
  YEAR('Giao dich'!A:A), 2026
)

// Chi trung binh moi ngay cho "An uong" thang nay
=SUMIFS('Giao dich'!E:E, 'Giao dich'!B:B,"Chi", 'Giao dich'!C:C,"An uong",
  MONTH('Giao dich'!A:A),MONTH(TODAY()), YEAR('Giao dich'!A:A),YEAR(TODAY()))
/ DAY(TODAY())

// Tong chi tieu bang Momo thang nay
=SUMIFS('Giao dich'!E:E, 'Giao dich'!B:B,"Chi", 'Giao dich'!F:F,"Momo",
  MONTH('Giao dich'!A:A),MONTH(TODAY()), YEAR('Giao dich'!A:A),YEAR(TODAY()))

2. QUERY - Tong hop du lieu manh me

// Tong hop thu/chi 12 thang cho bieu do trend
=QUERY(
  'Giao dich'!A:E,
  "SELECT MONTH(A)+1, B, SUM(E)
   WHERE YEAR(A) = 2026
   GROUP BY MONTH(A)+1, B
   PIVOT B
   ORDER BY MONTH(A)+1
   LABEL MONTH(A)+1 'Thang'",
  1
)

// Chi tieu trung binh moi ngay trong tuan
=QUERY(
  'Giao dich'!A:E,
  "SELECT DAYOFWEEK(A), AVG(E)
   WHERE B='Chi' AND YEAR(A)=2026
   GROUP BY DAYOFWEEK(A)
   ORDER BY DAYOFWEEK(A)
   LABEL DAYOFWEEK(A) 'Thu', AVG(E) 'TB chi/ngay'",
  1
)

3. Ty le chi tieu theo danh muc (%)

// % moi danh muc chi so voi tong chi thang
=TEXT(
  SUMIFS('Giao dich'!E:E, 'Giao dich'!B:B,"Chi", 'Giao dich'!C:C,A2,
    MONTH('Giao dich'!A:A),MONTH(TODAY()), YEAR('Giao dich'!A:A),YEAR(TODAY()))
  / SUMIFS('Giao dich'!E:E, 'Giao dich'!B:B,"Chi",
    MONTH('Giao dich'!A:A),MONTH(TODAY()), YEAR('Giao dich'!A:A),YEAR(TODAY())),
  "0.0%"
)

// Xu huong chi tieu: thang nay so voi thang truoc (tang/giam %)
=IF(
  SUMIFS('Giao dich'!E:E, 'Giao dich'!B:B,"Chi", 'Giao dich'!C:C,A2,
    MONTH('Giao dich'!A:A),MONTH(TODAY())-1, YEAR('Giao dich'!A:A),YEAR(TODAY())) > 0,
  TEXT(
    (SUMIFS('Giao dich'!E:E, 'Giao dich'!B:B,"Chi", 'Giao dich'!C:C,A2,
      MONTH('Giao dich'!A:A),MONTH(TODAY()), YEAR('Giao dich'!A:A),YEAR(TODAY()))
    - SUMIFS('Giao dich'!E:E, 'Giao dich'!B:B,"Chi", 'Giao dich'!C:C,A2,
      MONTH('Giao dich'!A:A),MONTH(TODAY())-1, YEAR('Giao dich'!A:A),YEAR(TODAY())))
    / SUMIFS('Giao dich'!E:E, 'Giao dich'!B:B,"Chi", 'Giao dich'!C:C,A2,
      MONTH('Giao dich'!A:A),MONTH(TODAY())-1, YEAR('Giao dich'!A:A),YEAR(TODAY())),
    "+0.0%;-0.0%"
  ),
  "N/A"
)

Vi Du Thuc Te: Thu Chi 1 Thang Cua Gia Dinh 4 Nguoi Tai TP.HCM

Duoi day la vi du thu chi thuc te cua mot gia dinh 4 nguoi (vo chong + 2 con nho) tai TP.HCM voi tong thu nhap 30 trieu/thang, ap dung quy tac 50/30/20:

Danh muc Ngan sach Thuc te Chenh lech
CHI THIET YEU (50% = 15,000,000d)
Tien nha (thue chung cu) 6,000,000 6,000,000 0
An uong (ca nha 4 nguoi) 4,500,000 5,150,000 -650,000
Dien, nuoc, internet, gas 1,800,000 1,550,000 +250,000
Di lai (xang, Grab) 1,500,000 1,650,000 -150,000
Hoc phi con + sua/bim 1,200,000 1,200,000 0
CHI MONG MUON (30% = 9,000,000d)
Giai tri (phim, cafe, du lich) 2,500,000 2,800,000 -300,000
Mua sam (quan ao, do dung) 1,500,000 1,250,000 +250,000
Bieu cha me 2 ben 3,000,000 3,000,000 0
Suc khoe, gym 1,000,000 800,000 +200,000
Chi khac phat sinh 1,000,000 1,350,000 -350,000
TIET KIEM & DAU TU (20% = 6,000,000d)
Gui tiet kiem 3,000,000 3,000,000 0
Quy du phong khan cap 2,000,000 2,000,000 0
Dau tu (chung khoan/vang) 1,000,000 1,000,000 0
TONG CONG 30,000,000 30,750,000 -750,000

Phan tich:

Gia dinh nay chi vuot ngan sach 750K, chu yeu do an uong (+650K) va giai tri (+300K). Tuy nhien, khoan tiet kiem & dau tu van dat dung muc tieu 6 trieu - day la dieu quan trong nhat.

Giai phap cho thang sau: Giam an ngoai (nau com nha nhieu hon), han che cafe tiem (pha ca phe tai nha), va dat gioi han chi "giai tri" toi da 2.5 trieu.

So Sanh Google Sheets vs App Quan Ly Chi Tieu

Nhieu ban hoi: "Tai sao khong dung app Money Lover hay MISA cho tien?" Day la bang so sanh chi tiet:

Tieu chi Google Sheets Money Lover MISA MoneyKeeper Spendy
Gia Mien phi 100% Free/Premium 79K/thang Free/Premium 49K/thang Free (co quang cao)
Tuy chinh 100% linh hoat Han che Han che Trung binh
Nhap lieu nhanh Trung binh (15-20 giay) Rat nhanh (5 giay) Nhanh (8 giay) Nhanh (8 giay)
Bao cao nang cao Khong gioi han (QUERY, Chart) Co ban (Premium mo rong) Co ban Co ban
Chia se gia dinh Mien phi, real-time Chi co o Premium Chi co o Premium Khong ho tro
Lien ket ngan hang Khong tu dong Co (Premium) Khong Khong
Tu dong hoa (Script) Apps Script manh me Khong Khong Khong
Xuat du lieu (Export) Excel, CSV, PDF tu do Han che (Premium) Excel (Premium) CSV
Phu hop cho Ai thich tuy chinh, phan tich sau Ai can nhap nhanh, tien loi Ke toan, nguoi thich bao cao Nguoi moi bat dau

Ket luan so sanh:

Chon Google Sheets neu ban muon: tuy chinh 100%, bao cao nang cao, chia se gia dinh mien phi, tu dong hoa bang script, va khong muon tra phi subscription.

Chon App neu ban muon: nhap lieu sieu nhanh 1 cham, giao dien dep mat, va khong can bao cao phuc tap. Money Lover la lua chon tot nhat cho nguoi Viet voi giao dien tieng Viet va icon de thuong.

Apps Script: Tu Dong Gui Email Tong Ket Cuoi Tuan

Day la tinh nang "sat thu" ma khong app nao co: tu dong gui email bao cao thu chi hang tuan vao moi Chu nhat toi. Ban chi can cai dat 1 lan, script se tu dong chay mai:

/**
 * Gui email tong ket thu chi tuan
 * Cai trigger: Extensions > Apps Script > Triggers
 * Time-driven > Weekly > Sunday > 20:00
 */
function sendWeeklySummary() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName('Giao dich');
  const data = sheet.getDataRange().getValues();

  // Tinh ngay dau tuan (thu 2)
  const today = new Date();
  const monday = new Date(today);
  monday.setDate(today.getDate() - today.getDay() + 1);
  monday.setHours(0, 0, 0, 0);

  let weekRevenue = 0, weekExpense = 0;
  const expenseByCategory = {};

  for (let i = 1; i < data.length; i++) {
    const rowDate = new Date(data[i][0]);
    if (rowDate < monday || rowDate > today) continue;

    const type = data[i][1];     // Thu hoac Chi
    const category = data[i][2]; // Danh muc
    const amount = Number(data[i][4]) || 0;

    if (type === 'Thu') {
      weekRevenue += amount;
    } else if (type === 'Chi') {
      weekExpense += amount;
      expenseByCategory[category] =
        (expenseByCategory[category] || 0) + amount;
    }
  }

  // Top 3 khoan chi lon nhat tuan
  const topExpenses = Object.entries(expenseByCategory)
    .sort((a, b) => b[1] - a[1])
    .slice(0, 3);

  const saving = weekRevenue - weekExpense;
  const savingColor = saving >= 0 ? '#16a34a' : '#dc2626';

  // Tao noi dung email HTML
  let topHtml = '';
  topExpenses.forEach(([cat, amt], i) => {
    topHtml += '<tr>' +
      '<td style="padding:8px; border-bottom:1px solid #e5e7eb;">' +
        (i+1) + '. ' + cat +
      '</td>' +
      '<td style="padding:8px; border-bottom:1px solid #e5e7eb; text-align:right; color:#dc2626;">' +
        amt.toLocaleString('vi-VN') + 'd' +
      '</td></tr>';
  });

  const emailHtml =
    '<div style="font-family:Arial; max-width:500px; margin:0 auto;">' +
      '<div style="background:#059669; color:white; padding:16px; text-align:center; border-radius:8px 8px 0 0;">' +
        '<h2 style="margin:0;">Tong ket thu chi tuan</h2>' +
        '<p style="margin:4px 0 0; opacity:0.9;">' +
          Utilities.formatDate(monday, 'Asia/Ho_Chi_Minh', 'dd/MM') + ' - ' +
          Utilities.formatDate(today, 'Asia/Ho_Chi_Minh', 'dd/MM/yyyy') +
        '</p>' +
      '</div>' +
      '<div style="padding:20px; background:#f9fafb; border:1px solid #e5e7eb;">' +
        '<table style="width:100%;">' +
          '<tr><td style="padding:8px;">Tong thu</td>' +
            '<td style="padding:8px; text-align:right; color:#16a34a; font-weight:bold;">+' +
              weekRevenue.toLocaleString('vi-VN') + 'd</td></tr>' +
          '<tr><td style="padding:8px;">Tong chi</td>' +
            '<td style="padding:8px; text-align:right; color:#dc2626; font-weight:bold;">-' +
              weekExpense.toLocaleString('vi-VN') + 'd</td></tr>' +
          '<tr style="border-top:2px solid #d1d5db;">' +
            '<td style="padding:8px; font-weight:bold;">Con lai</td>' +
            '<td style="padding:8px; text-align:right; font-weight:bold; font-size:18px; color:' + savingColor + ';">' +
              (saving >= 0 ? '+' : '') + saving.toLocaleString('vi-VN') + 'd</td></tr>' +
        '</table>' +
        (topHtml ? '<h3 style="margin-top:20px; font-size:14px; color:#6b7280;">Top khoan chi lon nhat:</h3>' +
          '<table style="width:100%;">' + topHtml + '</table>' : '') +
        '<p style="margin-top:16px; text-align:center;">' +
          '<a href="' + ss.getUrl() + '" style="color:#059669;">Xem chi tiet</a>' +
        '</p>' +
      '</div>' +
    '</div>';

  MailApp.sendEmail({
    to: Session.getActiveUser().getEmail(),
    subject: 'Tong ket thu chi tuan ' +
      Utilities.formatDate(monday, 'Asia/Ho_Chi_Minh', 'dd/MM') + ' - ' +
      Utilities.formatDate(today, 'Asia/Ho_Chi_Minh', 'dd/MM'),
    htmlBody: emailHtml
  });

  Logger.log('Da gui email tong ket tuan thanh cong!');
}

/**
 * Script nhac nho nhap thu chi moi ngay luc 21:00
 */
function sendDailyReminder() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName('Giao dich');
  const data = sheet.getDataRange().getValues();
  const today = new Date();
  today.setHours(0, 0, 0, 0);

  // Kiem tra hom nay da nhap chua
  let hasEntryToday = false;
  for (let i = 1; i < data.length; i++) {
    const rowDate = new Date(data[i][0]);
    rowDate.setHours(0, 0, 0, 0);
    if (rowDate.getTime() === today.getTime()) {
      hasEntryToday = true;
      break;
    }
  }

  if (!hasEntryToday) {
    MailApp.sendEmail({
      to: Session.getActiveUser().getEmail(),
      subject: 'Nhac nho: Ban chua nhap thu chi hom nay!',
      htmlBody: '<p>Ban chua nhap khoan thu chi nao cho ngay hom nay.</p>' +
        '<p><a href="' + ss.getUrl() + '">Nhap ngay</a></p>'
    });
  }
}

/**
 * Cai dat tat ca trigger (chay ham nay 1 lan)
 */
function setupAllTriggers() {
  // Xoa trigger cu
  ScriptApp.getProjectTriggers().forEach(t => ScriptApp.deleteTrigger(t));

  // Trigger tong ket tuan: Chu nhat 20:00
  ScriptApp.newTrigger('sendWeeklySummary')
    .timeBased()
    .onWeekDay(ScriptApp.WeekDay.SUNDAY)
    .atHour(20)
    .create();

  // Trigger nhac nho hang ngay: 21:00
  ScriptApp.newTrigger('sendDailyReminder')
    .timeBased()
    .everyDays(1)
    .atHour(21)
    .create();

  Logger.log('Da cai dat 2 trigger thanh cong!');
}

Cach cai dat Apps Script:

  1. Mo Google Sheets → Extensions > Apps Script
  2. Dan code vao (xoa het code cu neu co)
  3. Nhan Save (Ctrl+S)
  4. Chay ham setupAllTriggers 1 lan (nhan nut Play)
  5. Cap quyen truy cap khi duoc hoi (Allow)
  6. Xong! Script se tu dong chay moi ngay va moi tuan

10 Meo Quan Ly Thu Chi Hieu Qua

  1. Nhap ngay, dung doi: Chi tien xong → mo Google Sheets tren dien thoai → nhap ngay. Doi den toi se quen it nhat 2-3 khoan nho!
  2. Quy tac 24 gio cho khoan lon: Voi khoan chi tren 500K, doi 24 gio truoc khi quyet dinh. Neu hom sau van thay can → hay mua. Neu quen mat → chung to khong can thiet!
  3. Review cuoi tuan (15 phut): Danh 15 phut moi Chu nhat de xem lai chi tieu tuan. Hoi: "Khoan nao khong can thiet? Tuan sau bot gi duoc?"
  4. Dat muc tieu tiet kiem cu the: "Tiet kiem 5 trieu/thang cho ky nghi he Da Nang" tot hon nhieu so voi "co gang tiet kiem". Muc tieu cu the se tao dong luc.
  5. Tra tiet kiem truoc, chi tieu sau: Dau thang nhan luong → chuyen ngay phan tiet kiem vao tai khoan rieng. Chi tieu tren so con lai. Day goi la "Pay Yourself First".
  6. Dung Momo/ZaloPay de doi chieu: Thanh toan dien tu de co lich su giao dich, cuoi ngay doi chieu voi Google Sheets. Khong mat bao nhieu thoi gian.
  7. Chia se cho vo/chong: Quan ly tai chinh gia dinh can minh bach. Share file Google Sheets de ca 2 cung nhap. Moi nguoi co the nhap khoan chi cua minh.
  8. Khong qua chi tiet: Dung ghi rieng "Tra da 5K", "Nuoc mia 10K", "Banh mi 15K". Gop thanh "An vat 30K" cho nhanh. Muc dich la theo doi xu huong, khong phai ke toan.
  9. Thiet lap canh bao: Dung Conditional Formatting de chuyen do khi chi vuot 80% ngan sach danh muc. Nhin la biet ngay can cat giam.
  10. Kien nhan - thoi quen can thoi gian: Thoi quen can 21-66 ngay de hinh thanh. Dung bo cuoc neu quen vai ngay - tiep tuc lai! Nhieu nguoi bo sau 1 tuan vi "quen mai". Hay kinh nhan.

Nhung Sai Lam Thuong Gap Khi Quan Ly Thu Chi

Sai lam 1: Ghi qua chi tiet

Nhieu nguoi ghi tung khoan 3,000d, 5,000d roi chan va bo cuoc sau 1 tuan. Giai phap: Gop cac khoan nho thanh 1 dong "chi vat" cuoi ngay.

Sai lam 2: Khong phan loai danh muc

Nhap toan bo la "Chi khac" thi khong bao gio biet tien di dau. Giai phap: Dung dropdown voi 10-12 danh muc co dinh.

Sai lam 3: Chi ghi chi, khong ghi thu

Khong ghi thu nhap thi khong tinh duoc ty le tiet kiem. Giai phap: Dau thang ghi ngay khoan luong chinh, sau do ghi cac khoan thu phat sinh.

Sai lam 4: Khong dat ngan sach

Ghi chi tieu ma khong co budget thi chi la "nhat ky", khong phai "quan ly". Giai phap: Dau moi thang, dat ngan sach theo quy tac 50/30/20.

Sai lam 5: Khong review dinh ky

Nhap lieu nhung khong bao gio xem lai thi phung phi. Giai phap: Dat lich Chu nhat 15 phut review, hoac dung Apps Script tu dong gui report.

Cau Hoi Thuong Gap (FAQ)

Nen nhap thu chi hang ngay hay cuoi tuan?

Tot nhat la nhap ngay sau moi giao dich (mat 15 giay tren dien thoai). Neu ban, thi cuoi ngay danh 2-3 phut nhap lai. Doi den cuoi tuan se quen nhieu khoan nho - do moi la nhung khoan "ro ri" tai chinh.

Nen quan ly chung hay rieng tai khoan vo chong?

Khuyen dung "mo hinh 3 hu": 1 tai khoan chung cho chi tieu gia dinh (nha, dien nuoc, an uong, con cai), moi nguoi 1 tai khoan rieng cho chi tieu ca nhan. Tren Google Sheets, tao them cot "Nguoi chi" hoac 3 tab rieng (Chung, Anh, Chi).

Thu nhap khong deu (freelancer) thi ap dung 50/30/20 the nao?

Tinh thu nhap trung binh 3-6 thang gan nhat lam co so. Thang nao thu cao hon → don phan du vao tiet kiem/quy du phong. Thang thap hon → rut tu quy du phong bu vao. Freelancer nen co quy du phong lon hon (6 thang thay vi 3 thang).

Quan ly tren dien thoai co tien khong?

Hoan toan tien! Google Sheets co app cho ca iOS va Android. Giao dien nhap lieu don gian, dropdown van hoat dong binh thuong. Meo: pin file len dau Drive de mo nhanh, hoac tao shortcut tren man hinh chinh dien thoai.

Bao nhieu tien quy du phong la du?

Theo quy tac chung: 3-6 thang chi tieu thiet yeu. Vi du chi thiet yeu 15 trieu/thang → can quy du phong 45-90 trieu. Day la so tien giup ban an tam neu mat viec, om dau, hoac co tinh huong khan cap ma khong phai vay muon.

Co nen ghi ca khoan chi rat nho (tra da 5K)?

Khong bat buoc. Neu khoan chi duoi 10K, ban co the gop vao "Chi vat" cuoi ngay. Quan trong la ban co thoi quen theo doi tong the, khong can chinh xac den tung nghin dong. Muc dich la thay xu huong chi tieu, khong phai lam ke toan.

Template nay co su dung cho doanh nghiep nho duoc khong?

Template nay thiet ke cho ca nhan va gia dinh. Neu ban can quan ly tai chinh cho doanh nghiep nho (nhieu nguoi dung, phan quyen, hoa don VAT, bao cao thue), nen su dung phan mem quan ly ban hang chuyen nghiep nhu SheetStore - xay dung tren nen Google Sheets quen thuoc nhung co day du tinh nang doanh nghiep.

Ket Luan

Quan ly thu chi khong phai chuyen "giau moi can" hay "phuc tap lam". Voi template Google Sheets don gian, ban chi can 5 phut moi ngay de hieu ro tien minh di dau, tiet kiem bao nhieu, va co dang di dung huong tai chinh hay khong.

Nhung dieu quan trong nhat can nho:

  • Bat dau don gian: Chi can 4 sheet (Giao dich, Danh muc, Ngan sach, Dashboard)
  • Quy tac 50/30/20: Chia thu nhap thanh 3 nhom de kiem soat
  • Nhap ngay, review tuan: Tao thoi quen, dung doi den cuoi thang
  • Tiet kiem truoc, chi tieu sau: "Pay Yourself First" - chuyen tiet kiem ngay khi nhan luong
  • Kien nhan: Thoi quen can thoi gian, dung bo cuoc sau vai ngay

Hay bat dau ngay hom nay - khong can hoan hao, chi can bat dau. "Quan ly tot tien nho se dan den quan ly tot tien lon."

Can giai phap quan ly tai chinh cho doanh nghiep?

SheetStore cung cap phan mem quan ly ban hang tren nen Google Sheets voi bao cao tai chinh tu dong, quan ly ton kho, CRM khach hang - gia chi tu 699,000d/thang. Quen thuoc, de dung, khong can dao tao.

Xem san pham SheetStore

Bai viet duoc cap nhat lan cuoi: Thang 2/2026. Noi dung duoc bien soan boi doi ngu chuyen gia Google Sheets tai SheetStore. Cac so lieu chi tieu dua tren tham khao thuc te tai TP.HCM va Ha Noi.

Chia sẻ bài viết:

Tuân Hoang

Tuân Hoang

Đội ngũ SheetStore

Bạn thấy bài viết hữu ích?

Đăng ký nhận thông báo khi có bài viết mới.

Nhận thông báo khi có bài viết mới. Không spam, hứa luôn! 😊

Bình luận (0)

Vui lòng đăng nhập để tham gia thảo luận