EcoStartupAI
Tài chính

Báo Cáo Lưu Chuyển Tiền Tệ Bằng Excel Và AI: Lãi Mà Hết Tiền?


Mục lục (10 mục)

Chủ doanh nghiệp hay hỏi tôi một câu: "Báo cáo kết quả kinh doanh lãi rõ ràng, sao tài khoản ngân hàng cứ cạn dần?"

Câu trả lời ngắn gọn: lợi nhuận không phải là tiền. Lợi nhuận là con số kế toán ghi nhận theo doanh thu và chi phí. Tiền là thứ bạn thật sự cầm trong tay để trả lương, trả nhà cung cấp, trả nợ.

Để chỉ ra tiền đang nằm ở đâu, bạn cần báo cáo lưu chuyển tiền tệ (LCTT). Bài này hướng dẫn dựng LCTT gián tiếp bằng Excel, dùng AI để rà soát và diễn giải, và tùy chọn tự động hóa bằng Python.

1. Vì sao lãi mà vẫn hết tiền: 3 nơi tiền thường kẹt

Khi lãi mà tiền cạn, tiền thường đã chuyển sang dạng khác:

  1. Phải thu tăng (bán chịu): doanh thu đã ghi nhận nhưng khách chưa trả. Lãi nằm trên sổ, tiền nằm trong túi khách hàng.
  2. Tồn kho tăng (nhập nhiều): tiền đã trả cho nhà cung cấp, nhưng hàng vẫn nằm trong kho, chưa thành doanh thu.
  3. Đầu tư tài sản cố định và trả nợ vay: mua máy móc là dòng tiền ra ngay, nhưng chi phí chỉ vào báo cáo kết quả kinh doanh dần dần qua khấu hao. Trả gốc vay là dòng tiền ra nhưng không phải chi phí.

Hai khái niệm liên quan là chu kỳ chuyển đổi tiền (CCC) và dự báo dòng tiền 13 tuần. Tôi đã có bài riêng cho từng chủ đề trên ecostartupai.com nên không nhắc lại chi tiết ở đây. Bài này tập trung vào việc nhìn lại tiền đã đi đâu bằng LCTT.

2. Cấu trúc LCTT gián tiếp chỉ trong 3 dòng

LCTT chia dòng tiền thành 3 nhóm:

  • CFO – dòng tiền từ hoạt động kinh doanh.
  • CFI – dòng tiền từ hoạt động đầu tư (mua bán tài sản cố định, góp vốn...).
  • CFF – dòng tiền từ hoạt động tài chính (vay, trả nợ gốc, góp vốn chủ sở hữu, chia cổ tức...).

Tiền thuần trong kỳ = CFO + CFI + CFF

Phương pháp gián tiếp tính CFO bằng cách đi từ lợi nhuận rồi điều chỉnh:

CFO = Lợi nhuận + Chi phí không dùng tiền (khấu hao...) ± Thay đổi vốn lưu động

Lưu ý quan trọng: mẫu biểu B03 và cách phân loại lãi vay, thuế thu nhập doanh nghiệp đã nộp phụ thuộc vào chế độ kế toán doanh nghiệp bạn đang áp dụng (TT 200, TT 133 hoặc TT 99). Điểm xuất phát của mẫu chính thức cũng có thể là lợi nhuận trước thuế, rồi điều chỉnh tiếp lãi vay và thuế đã nộp. Bài này dùng cách trình bày đơn giản hóa để dễ hiểu. Hãy kiểm tra văn bản hiện hành và hiệu lực trước khi lập báo cáo chính thức.

3. Ví dụ minh họa: Công ty X

Lưu ý: Số liệu dưới đây là minh họa, số tròn cho dễ tính, không phải số liệu thật của doanh nghiệp nào.

Công ty X trong kỳ có:

Khoản mụcSố tiền (triệu đồng)Dấu
Lợi nhuận sau thuế500+
Khấu hao (chi phí không dùng tiền)100+
Phải thu khách hàng tăng400−
Hàng tồn kho tăng300−
Phải trả người bán tăng150+

CFO = 500 + 100 − 400 − 300 + 150 = 50 triệu

Lãi 500 triệu nhưng tiền thật từ kinh doanh chỉ còn 50 triệu. Tiếp theo:

  • Mua máy 200 triệu: CFI = −200
  • Vay thêm 100 triệu: CFF = +100

Tiền thuần thay đổi = 50 − 200 + 100 = −50 triệu

Kết luận cho SME: công ty có lãi nhưng tiền vẫn giảm 50 triệu. Chênh lệch lớn nhất nằm ở phải thu (−400) và tồn kho (−300). Muốn cải thiện tiền, hãy bắt đầu từ hai khoản này trước.

4. Dựng file Excel 5 bước

Bước 1: Lấy dữ liệu nguồn. Chuẩn bị bảng cân đối kế toán (hoặc bảng cân đối số phát sinh) đầu kỳ và cuối kỳ, cùng báo cáo kết quả kinh doanh. Đặt mỗi báo cáo trên một sheet. Cột gợi ý: Mã tài khoản | Tên | Số đầu kỳ | Số cuối kỳ.

Bước 2: Tạo cột chênh lệch. Với mỗi khoản vốn lưu động, thêm cột:

E2 = D2 - C2

Bước 3: Kéo số theo mã tài khoản. Trên sheet LCTT, lấy số bằng SUMIFS hoặc XLOOKUP. Ví dụ lấy chênh lệch phải thu (TK 131):

=SUMIFS(BCDKT!E:E, BCDKT!A:A, "131")

hoặc:

=XLOOKUP("131", BCDKT!A:A, BCDKT!E:E, 0)

Nếu nhiều tài khoản thuộc một nhóm (ví dụ hàng tồn kho gồm 151, 152, 153, 154, 155, 156), cộng nhiều SUMIFS lại. Mã tài khoản cụ thể phụ thuộc hệ thống tài khoản bạn đang dùng, hãy đối chiếu với danh mục của công ty.

Bước 4: Áp quy tắc dấu.

  • Tài sản tăng → trừ (tiền bị giữ lại trong tài sản).
  • Nợ phải trả tăng → cộng (bạn chiếm dụng được tiền, chưa phải trả).

Ví dụ: = -SUMIFS(...) cho phải thu và tồn kho, = +SUMIFS(...) cho phải trả người bán.

Bước 5: Ô kiểm tra. Tiền cuối kỳ trên LCTT phải khớp với TK 111 + TK 112 (và các khoản tương đương tiền nếu có) trên bảng cân đối:

Tiền cuối kỳ tính = Tiền đầu kỳ + CFO + CFI + CFF Ô kiểm tra: =ROUND(C40 - (SUMIFS(BCDKT!D:D,BCDKT!A:A,"111") + SUMIFS(BCDKT!D:D,BCDKT!A:A,"112")), 0)

Thêm định dạng có điều kiện (Conditional Formatting → Use a formula) để ô tự báo đỏ khi kết quả khác 0:

=$C$41<>0

Nếu lệch, nghĩa là còn sót khoản hoặc sai dấu ở đâu đó. Đừng đóng báo cáo khi ô này còn đỏ.

5. Dùng AI làm gì và không làm gì

AI rất hợp để diễn giải và rà soát. Nó không thay bạn phân loại nghiệp vụ hay chịu trách nhiệm về số liệu.

Prompt mẫu 1: giải thích chênh lệch CFO so với lợi nhuận

Bạn là trợ lý phân tích tài chính. Dưới đây là bảng điều chỉnh từ lợi nhuận sang CFO (đơn vị: triệu đồng, số minh họa):
- Lợi nhuận sau thuế: 500
- Khấu hao: 100
- Phải thu tăng: -400
- Tồn kho tăng: -300
- Phải trả người bán tăng: +150
- CFO: 50
Hãy giải thích từng khoản vì sao làm CFO thấp hơn lợi nhuận, và khoản nào đáng chú ý nhất. Trình bày ngắn gọn, dễ hiểu cho người không chuyên kế toán.

Prompt mẫu 2: rà soát lỗi

Hãy rà soát bảng LCTT gián tiếp sau (dán bảng đã ẩn tên khách hàng). Kiểm tra:
1. Lỗi dấu (tài sản tăng phải trừ, nợ phải trả tăng phải cộng).
2. Khoản bị tính trùng.
3. Khoản phi tiền tệ có thể bị bỏ sót: chênh lệch tỷ giá chưa thực hiện, dự phòng, lãi/lỗ đánh giá lại.
4. Tiền cuối kỳ có khớp TK 111 + 112 không.
Liệt kê vấn đề theo mức độ ưu tiên và nêu điều cần tôi kiểm tra lại với chứng từ.

Prompt mẫu 3: nhận xét cho chủ doanh nghiệp

Dựa trên số liệu LCTT sau (CFO, CFI, CFF, lợi nhuận), hãy viết đúng 5 dòng nhận xét cho chủ doanh nghiệp không có chuyên môn kế toán: tình hình tiền, nguyên nhân chính, rủi ro và 2 hành động đề xuất. Không dùng thuật ngữ khó.

Hai lưu ý không được bỏ qua:

  • Bảo mật: ẩn tên khách hàng, nhà cung cấp, mã số thuế và dữ liệu cá nhân trước khi đưa vào AI. Xem thêm bài 7 nguyên tắc bảo mật dữ liệu khi dùng AI trên ecostartupai.com.
  • Phán đoán chuyên môn: AI có thể nhầm dấu hoặc phân loại sai. Kế toán vẫn phải kiểm tra lại số và cách phân loại dòng tiền.

6. (Tùy chọn) Python và pandas để tự động hóa theo tháng

Nếu tháng nào bạn cũng làm lại file này, có thể dùng Python. Đoạn code dưới đây giả định mỗi file có hai cột ma_tk và so_du (số dư dương cho cả tài sản và nợ phải trả). Đây là bản rút gọn để minh họa, bạn cần chỉnh nhóm tài khoản theo hệ thống của công ty.

import pandas as pd dau = pd.read_excel("bcdkt_dau_ky.xlsx") cuoi = pd.read_excel("bcdkt_cuoi_ky.xlsx") df = dau.merge(cuoi, on="ma_tk", how="outer", suffixes=("_dau", "_cuoi")).fillna(0) df["ma_tk"] = df["ma_tk"].astype(str) df["chenh_lech"] = df["so_du_cuoi"] - df["so_du_dau"] # Nhóm tài khoản (điều chỉnh theo hệ thống tài khoản của công ty) tai_san_von_luu_dong = ["131", "151", "152", "153", "154", "155", "156"] no_phai_tra_von_luu_dong = ["331"] def tong(nhom): return df.loc[df["ma_tk"].isin(nhom), "chenh_lech"].sum() ln_sau_thue = 500 # lấy từ báo cáo kết quả kinh doanh khau_hao = 100 cfo = (ln_sau_thue + khau_hao - tong(tai_san_von_luu_dong) + tong(no_phai_tra_von_luu_dong)) lctt = pd.DataFrame({ "Khoản mục": ["Lợi nhuận", "Khấu hao", "Thay đổi tài sản VLĐ", "Thay đổi nợ phải trả VLĐ", "CFO"], "Số tiền": [ln_sau_thue, khau_hao, -tong(tai_san_von_luu_dong), tong(no_phai_tra_von_luu_dong), cfo], }) lctt.to_excel("lctt_thang.xlsx", index=False)

7. Đọc kết quả LCTT: 4 tình huống và hành động

Tình huốngÝ nghĩaViệc cần làm
CFO dương, lớn hơn lãiTốt: lợi nhuận chuyển thành tiềnDuy trì kỷ luật thu tiền, tồn kho
Lãi dương, CFO âmTiền kẹt trong vốn lưu độngKiểm tra thu hồi công nợ, tuổi nợ, tồn kho chậm luân chuyển
CFO dương, CFI âm lớnGiai đoạn mở rộng, đầu tưKiểm tra nguồn vốn cho đầu tư có an toàn không
CFF dương lớn để bù CFO âmCảnh báo: sống nhờ vayKiểm tra khả năng trả nợ qua DSCR (xem bài DSCR cùng chuyên mục)

8. Sai lầm thường gặp

  • Quên cộng khấu hao: CFO bị thấp hơn thực tế, vì khấu hao là chi phí không dùng tiền.
  • Nhầm dấu: tài sản tăng phải trừ, nợ phải trả tăng phải cộng. Đây là lỗi phổ biến nhất.
  • Tính lãi vay và thuế sai nhóm: cách phân loại phụ thuộc chế độ kế toán áp dụng. Hãy đối chiếu hướng dẫn lập B03 hiện hành.
  • Bỏ sót khoản phi tiền tệ: như chênh lệch tỷ giá chưa thực hiện, dự phòng, lãi lỗ đánh giá lại.
  • Số dư tiền cuối kỳ không khớp: thường do sót khoản, sai dấu hoặc nhầm khoản tương đương tiền.

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

LCTT trực tiếp hay gián tiếp dễ làm hơn? Với SME, gián tiếp thường dễ hơn vì đi từ lợi nhuận và bảng cân đối, không phải tổng hợp từng khoản thu chi bằng tiền. Ngoài ra, gián tiếp cho thấy rõ vì sao lãi khác tiền.

Lãi vay và thuế TNDN đã nộp xếp vào đâu? Tùy chế độ kế toán và cách trình bày doanh nghiệp áp dụng. Hãy kiểm tra hướng dẫn lập B03 theo văn bản hiện hành và hiệu lực của TT 200, TT 133 hoặc TT 99.

Có thể đưa file Excel kế toán thẳng vào AI không? Không nên. Hãy ẩn tên khách hàng, nhà cung cấp, mã số thuế và dữ liệu cá nhân trước. Chỉ đưa số liệu đã ẩn danh hoặc tổng hợp.

AI có thể tự lập LCTT thay kế toán không? AI hỗ trợ giải thích, rà soát và soạn nhận xét, nhưng không thay phán đoán chuyên môn. Người lập vẫn chịu trách nhiệm về số liệu và phân loại.

Kết luận

Lãi mà hết tiền không phải điều bí ẩn, chỉ là tiền đang nằm ở phải thu, tồn kho, tài sản cố định hoặc đã đi trả nợ. LCTT gián tiếp giúp bạn nhìn thấy điều đó bằng những con số cụ thể.

Checklist 5 điểm cho kế toán trước khi chốt LCTT:

  1. Đã cộng lại khấu hao và các khoản phi tiền tệ khác chưa?
  2. Quy tắc dấu cho vốn lưu động đã đúng chưa?
  3. Lãi vay và thuế đã phân loại đúng theo chế độ kế toán đang áp dụng chưa?
  4. Tiền cuối kỳ trên LCTT có khớp TK 111 + 112 trên bảng cân đối không?
  5. Đã ẩn dữ liệu nhạy cảm trước khi dùng AI và tự kiểm tra lại kết quả AI chưa?

Hãy nhớ: AI hỗ trợ bạn làm nhanh hơn, còn phán đoán chuyên môn vẫn là của kế toán.

👉 Tải file mẫu Excel LCTT và đọc tiếp bài dự báo dòng tiền 13 tuần để chuyển từ "nhìn lại" sang "nhìn trước". Bạn cũng có thể tìm hiểu các khóa học và công cụ kế toán – tài chính ứng dụng AI tại ecostartupai.com.

Bài viết liên quan

Dự Báo Dòng Tiền 13 Tuần Là Gì? Cách Lập Cho SME Từng Bước
Tài chính19/10/2026

Dự Báo Dòng Tiền 13 Tuần Là Gì? Cách Lập Cho SME Từng Bước

Dự báo dòng tiền 13 tuần giúp SME biết trước tiền vào, tiền ra trong một quý để chủ động xoay vốn. Bài hướng dẫn cấu trúc bảng và ví dụ số nhỏ dễ làm.

NPV Và IRR Bằng Excel Và AI: SME Có Nên Mua Máy Mới Không?
Tài chính17/10/2026

NPV Và IRR Bằng Excel Và AI: SME Có Nên Mua Máy Mới Không?

Cách tính NPV và IRR bằng Excel để quyết định mua máy mới: dựng dòng tiền dự án, chọn tỷ lệ chiết khấu, kiểm tra bằng AI và tránh 4 lỗi hay gặp ở SME.

Phân Tích Chênh Lệch Ngân Sách Bằng Excel, Python Và AI
Tài chính13/10/2026

Phân Tích Chênh Lệch Ngân Sách Bằng Excel, Python Và AI

Cách phân tích chênh lệch ngân sách giữa kế hoạch và thực tế bằng Excel, Python và AI: biết khoản nào vượt, vì sao vượt và phải xử lý gì trước khi khóa sổ.