EzTech

Đối chiếu hóa đơn đầu vào với cổng thuế: 6 bước tự động

2026-08-23 · Power Query & Excel

Đối chiếu hóa đơn đầu vào với cổng thuế: 6 bước tự động

Đầu tháng, việc đầu tiên nhiều bạn làm là đăng nhập cổng hóa đơn điện tử, kết xuất bảng kê hóa đơn mua vào, rồi mở sổ chi tiết tài khoản 1331 từ phần mềm kế toán ra. Hai file, mỗi file vài trăm dòng, cùng một tháng. Về lý thuyết chúng phải trùng nhau.

Thực tế thì không. Và cách kiểm tra phổ biến nhất — kéo một cột VLOOKUP để xem hóa đơn nào "có", hóa đơn nào "#N/A" — chỉ trả lời được đúng một nửa câu hỏi. Nó cho biết hóa đơn nào chưa vào sổ, nhưng không cho biết hóa đơn nào đã vào sổ mà cổng thuế không có, cũng không cho biết hóa đơn nào khớp số nhưng lệch tiền.

Bài này đi qua cách đối chiếu hóa đơn đầu vào bằng Power Query: ba nhóm sai lệch cần tìm, sáu bước dựng, và việc phải làm với từng nhóm sau khi có kết quả.

Kế toán bấm máy tính và ghi chép bên tập chứng từ, minh họa việc đối chiếu hóa đơn đầu vào thủ công
Đối chiếu hóa đơn đầu vào là việc lặp lại mỗi tháng — càng lặp thì càng đáng tự động hóa. (Ảnh: StockSnap)

Ba nhóm sai lệch cần tìm, không phải một

Sai lầm khiến việc đối chiếu tốn thời gian mà vẫn sót là coi nó như một phép tìm kiếm một chiều. Khi ghép hai nguồn lại đúng cách, các bạn sẽ thấy sai lệch rơi vào ba nhóm khác hẳn nhau, hậu quả cũng khác nhau.

Nhóm 1 — Có trên cổng thuế, chưa có trong sổ. Đây là những hóa đơn nhà cung cấp đã phát hành và đã được cơ quan thuế tiếp nhận, nhưng chưa được hạch toán. Thường là hóa đơn phát sinh những ngày cuối tháng, nhà cung cấp gửi muộn hoặc gửi vào hòm thư mà không ai mở. Hậu quả trực tiếp: số thuế được khấu trừ trong kỳ bị thiếu.

Nhóm 2 — Có trong sổ, không thấy trên cổng thuế. Nhóm này nguy hiểm hơn nhóm 1 nhưng lại hay bị bỏ qua, vì cách kiểm tra một chiều không nhìn thấy nó. Nguyên nhân có thể lành: số hóa đơn nhập sai một ký tự, hóa đơn thuộc kỳ khác, hoặc hóa đơn đã bị thay thế bằng hóa đơn điều chỉnh mang số mới. Nhưng cũng có thể nặng: hóa đơn chưa được nhà cung cấp gửi lên cơ quan thuế. Số thuế đã kê khai khấu trừ trên một hóa đơn như vậy có rủi ro bị loại.

Nhóm 3 — Khớp số hóa đơn, khớp tiền hàng, lệch tiền thuế. Nhóm khó thấy nhất. Hai bên cùng một số hóa đơn, cùng một nhà cung cấp, cùng một số tiền chưa thuế — chỉ dòng tiền thuế là khác. Nguyên nhân phổ biến nhất hiện nay là hóa đơn xuất thuế suất 8% trong khi kế toán hạch toán 10%, hoặc ngược lại. Vì tiền hàng khớp nên mọi phép kiểm tra dựa trên số hóa đơn đều báo "đã có", và sai sót đi thẳng vào tờ khai.

Sơ đồ ba nhóm sai lệch khi đối chiếu hóa đơn đầu vào giữa cổng thuế và sổ kế toán
Ghép hai chiều thì sai lệch tự tách thành ba nhóm, mỗi nhóm một cách xử lý.

Khóa ghép: vì sao số hóa đơn một mình là chưa đủ

Trước khi bàn tới thao tác, phải chốt khóa ghép. Số hóa đơn không duy nhất trên phạm vi toàn bộ hóa đơn đầu vào của một doanh nghiệp — mỗi nhà cung cấp đánh số theo dải riêng của họ, nên hai nhà cung cấp khác nhau hoàn toàn có thể cùng phát hành hóa đơn số 00001234.

Khóa ghép đúng của một hóa đơn gồm ba phần: mã số thuế người bán + ký hiệu hóa đơn + số hóa đơn. Nếu sổ kế toán của các bạn không có cột ký hiệu và cột mã số thuế người bán — khá thường gặp — thì việc đầu tiên cần làm không phải là chạy Power Query, mà là bổ sung hai cột đó vào bảng kê xuất từ phần mềm. Ghép bằng số hóa đơn đơn lẻ vẫn chạy được và vẫn ra kết quả trông hợp lý, nhưng nó ghép nhầm trong im lặng.

Ba việc chuẩn hóa phải làm với khóa, làm ngay trong Power Query thay vì sửa tay trong Excel:

  • Số 0 ở đầu. Số hóa đơn 00001234 khi đi qua Excel rất dễ thành số 1234. Ép cột về kiểu Text rồi dùng Text.PadStart([Số hóa đơn], 8, "0") cho cả hai nguồn.
  • Khoảng trắng và chữ hoa. Mã số thuế hay bị nhập kèm dấu cách hoặc dấu gạch chi nhánh. Dùng Text.Trim, Text.Upper và bỏ dấu cách bên trong bằng Text.Remove.
  • Ký hiệu hóa đơn. Viết liền, viết hoa toàn bộ, bỏ mọi dấu phân cách.

Sau đó tạo một cột khóa duy nhất bằng cách nối ba phần lại, dùng dấu phân cách không xuất hiện trong dữ liệu. Ghép trên cột khóa này, không ghép trên ba cột rời.

Sáu bước dựng bằng Power Query

Bước 1 — Lấy hai nguồn. Nguồn thứ nhất: đăng nhập cổng hóa đơn điện tử của cơ quan thuế, vào mục Tra cứu, chọn tra cứu hóa đơn điện tử mua vào, chọn khoảng thời gian rồi kết xuất ra Excel. Nguồn thứ hai: sổ chi tiết tài khoản 1331 hoặc bảng kê hóa đơn đầu vào xuất từ phần mềm kế toán. Đặt cả hai vào một thư mục cố định và giữ nguyên tên file mỗi tháng — bước này quyết định tháng sau có bấm Refresh được hay không.

Bước 2 — Nạp và dọn phần đầu. Trong Excel, vào Data → Get Data → From File → From Workbook. Bảng kê từ cổng thuế có vài dòng tiêu đề văn bản phía trên (tên bảng kê, kỳ tính thuế, đơn vị tiền). Dùng Remove Rows → Remove Top Rows để bỏ đúng số dòng đó, rồi Use First Row as Headers.

Bước 3 — Chuẩn hóa khóa và kiểu dữ liệu. Áp ba việc chuẩn hóa ở mục trên cho cả hai truy vấn. Đồng thời ép cột tiền về kiểu số nguyên hoặc số thập phân cố định — để kiểu Decimal Number thì phép so sánh hai số bằng nhau có thể trả về sai vì sai số dấu phẩy động.

Bước 4 — Merge Queries kiểu Full Outer. Đây là bước quyết định. Vào Home → Merge Queries → Merge Queries as New, chọn cột khóa ở cả hai bảng, và ở ô Join Kind chọn Full Outer (all rows from both). Kiểu ghép này giữ lại cả hóa đơn chỉ có ở cổng thuế lẫn hóa đơn chỉ có trong sổ — đúng thứ mà VLOOKUP không làm được. Chi tiết về các kiểu ghép, các bạn xem thêm ở bài Merge Queries thay VLOOKUP khi dữ liệu lớn.

Bước 5 — Mở rộng và phân loại. Bấm nút mũi tên hai chiều ở cột bảng lồng để expand các cột từ bảng sổ kế toán. Sau đó thêm một cột phân loại bằng Add Column → Conditional Column: nếu khóa bên sổ rỗng thì ghi "Chỉ có trên cổng thuế"; nếu khóa bên cổng rỗng thì ghi "Chỉ có trong sổ"; còn lại ghi "Có ở cả hai".

Bước 6 — Cột chênh lệch. Với nhóm "Có ở cả hai", thêm hai cột chênh lệch: tiền hàng cổng thuế trừ tiền hàng sổ, và tiền thuế cổng thuế trừ tiền thuế sổ. Đây chính là nhóm 3. Bọc trong hàm làm tròn để chênh lệch một vài đồng do làm tròn không bị đếm thành sai lệch.

Sơ đồ luồng Power Query đối chiếu hóa đơn đầu vào bằng Merge Full Outer và cột phân loại
Full Outer giữ cả hai phía, cột phân loại tách kết quả thành ba nhóm ngay trong một bảng.

Bẫy 8% và 10%: vì sao nhóm 3 đang nhiều lên

Theo Nghị quyết 204/2025/QH15, thuế suất thuế giá trị gia tăng được giảm từ 10% xuống 8% cho giai đoạn từ 01/7/2025 đến hết 31/12/2026. Chính sách này không áp dụng cho toàn bộ hàng hóa dịch vụ — viễn thông, hoạt động tài chính, ngân hàng, chứng khoán, bảo hiểm, kinh doanh bất động sản, sản phẩm kim loại, sản phẩm khai khoáng (trừ than) và hàng chịu thuế tiêu thụ đặc biệt (trừ xăng) vẫn giữ thuế suất cũ.

Nghĩa là trong cùng một tháng, cùng một doanh nghiệp, các bạn nhận về hóa đơn của cả hai thuế suất. Đó là lý do nhóm 3 sinh ra: hạch toán theo thói quen 10% trong khi hóa đơn ghi 8%, hoặc chọn nhầm mức trong phần mềm. Hai hệ quả trái ngược nhau, cùng sai:

  • Hạch toán 10% cho hóa đơn 8% → kê khai khấu trừ thừa, phần thừa sẽ bị loại khi cơ quan thuế đối chiếu.
  • Hạch toán 8% cho hóa đơn 10% → kê khai khấu trừ thiếu, doanh nghiệp tự chịu thiệt.

Vì vậy phép so sánh phải đặt trên số tiền thuế ghi trên hóa đơn, chứ không phải trên thuế suất mà mình suy ra từ tiền hàng. Suy ngược từ tiền hàng thì hóa đơn có nhiều dòng hàng nhiều thuế suất khác nhau sẽ ra một con số phần trăm lẻ không khớp mức nào, và bảng kết quả đầy cảnh báo giả.

Có bảng lệch rồi thì làm gì

Với nhóm 1 (bỏ sót hóa đơn đầu vào). Hóa đơn bỏ sót vẫn được khai bổ sung. Theo hướng dẫn tại Công văn 2193/CT-CS ngày 08/4/2026 của Cục Thuế, căn cứ Điều 47 Luật Quản lý thuế số 38/2019/QH14 và điểm b khoản 4 Điều 7 Nghị định 126/2020/NĐ-CP, kỳ khai phụ thuộc vào ảnh hưởng của sai sót: nếu việc khai bổ sung làm tăng số thuế phải nộp hoặc giảm số thuế được hoàn của kỳ gốc thì khai bổ sung vào chính kỳ gốc; nếu chỉ làm tăng giảm số thuế còn được khấu trừ chuyển kỳ sau thì khai vào kỳ hiện tại — kỳ phát hiện. Việc khai bổ sung phải thực hiện trước khi cơ quan thuế công bố quyết định thanh tra, kiểm tra.

Với nhóm 2 (có sổ, không có trên cổng). Đừng vội kết luận hóa đơn có vấn đề. Kiểm theo thứ tự: đọc lại số hóa đơn và ký hiệu trên bản gốc xem có nhập sai không; kiểm xem hóa đơn có thuộc kỳ khác không; kiểm xem hóa đơn đã bị thay thế hoặc điều chỉnh chưa. Loại hết ba khả năng đó mà vẫn không thấy trên cổng thì mới liên hệ nhà cung cấp.

Với nhóm 3 (lệch tiền thuế). Lấy hóa đơn gốc làm chuẩn, sửa bút toán trong sổ, rồi xem sai lệch có làm thay đổi số thuế đã kê khai của kỳ đó không để quyết định khai bổ sung theo nguyên tắc ở trên.

Một điểm cần nhớ thêm, vì nó nằm ngoài phạm vi mà bảng đối chiếu nhìn thấy được: hóa đơn khớp hoàn hảo giữa hai nguồn vẫn có thể không được khấu trừ. Theo Luật Thuế giá trị gia tăng số 48/2024/QH15 có hiệu lực từ 01/7/2025, ngưỡng bắt buộc có chứng từ thanh toán không dùng tiền mặt đã hạ từ 20 triệu đồng xuống 5 triệu đồng. Sau khi đối chiếu xong hai nguồn, việc tiếp theo là soát tiếp điều kiện chứng từ thanh toán cho các hóa đơn từ mức này trở lên.

Ba phép kiểm trước khi tin bảng kết quả

Bảng đối chiếu tự động hỏng theo kiểu im lặng: nó vẫn ra bảng, vẫn có số, chỉ là thiếu dòng. Ba phép kiểm rẻ nên gắn ngay vào file:

  1. Đếm dòng vào bằng đếm dòng ra. Số dòng của bảng kết quả phải bằng số hóa đơn chỉ có ở cổng, cộng số hóa đơn chỉ có ở sổ, cộng số hóa đơn có ở cả hai. Lệch một dòng là khóa ghép có vấn đề.
  2. Đếm khóa trùng. Group By trên cột khóa ở từng nguồn, lọc những khóa xuất hiện nhiều hơn một lần. Có khóa trùng thì phép ghép sẽ nhân đôi dòng và tổng tiền phình lên mà không ai thấy.
  3. Cân tổng tiền. Tổng tiền thuế bên cổng trừ tổng tiền thuế bên sổ phải đúng bằng tổng của: tiền thuế nhóm 1, trừ tiền thuế nhóm 2, cộng tổng chênh lệch nhóm 3. Không cân là còn một nhóm chưa được đếm.

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

Tháng sau có phải làm lại từ đầu không?

Không, với điều kiện các bạn giữ nguyên tên file và vị trí thư mục ở bước 1. Thay hai file mới vào đúng chỗ rồi bấm Data → Refresh All, toàn bộ chuỗi bước chạy lại. Đây cũng là lý do nên chuẩn hóa trong Power Query thay vì sửa tay trong Excel — sửa tay thì tháng nào cũng phải sửa lại.

Dữ liệu vài nghìn dòng mỗi tháng có chạy nổi không?

Chạy được thoải mái. Phép Merge trên vài nghìn dòng chỉ mất vài giây. Nếu thấy chậm, thủ phạm thường không phải số dòng mà là các bước chuẩn hóa đặt sai thứ tự — lọc bớt dòng và bỏ cột không dùng ngay từ đầu chuỗi bước, trước khi ghép.

Không có cột mã số thuế người bán trong sổ thì sao?

Hai cách. Cách nhanh: ghép tạm bằng số hóa đơn cộng ký hiệu, rồi thêm một phép kiểm tên nhà cung cấp giữa hai bên để bắt ca ghép nhầm. Cách bền: bổ sung cột mã số thuế vào mẫu kết xuất của phần mềm kế toán, hầu hết phần mềm đều cho tùy chỉnh cột xuất ra. Bỏ công một lần cho mọi tháng sau.

Việc này có bắt buộc làm hàng tháng không?

Không có quy định bắt buộc về tần suất. Nhưng làm theo tháng thì mỗi lần chỉ vài chục dòng lệch và còn kịp xử lý trong kỳ; để dồn tới cuối năm thì khối lượng lớn hơn nhiều, và phần hóa đơn bỏ sót của các tháng đầu năm sẽ kéo theo việc khai bổ sung phức tạp hơn.

Việc lặp lại mỗi tháng thì đáng dựng một lần cho tử tế

Đối chiếu hóa đơn đầu vào là một trong những việc đúng chuẩn để tự động hóa: đầu vào cố định, quy tắc rõ ràng, lặp lại đều đặn mỗi tháng. Dựng một lần mất một buổi, các tháng sau còn đúng một nút Refresh và phần thời gian còn lại dành cho việc thật sự cần đầu người — xử lý ba nhóm lệch.

Nếu các bạn muốn làm chắc phần Power Query đứng sau những việc như thế này, khóa DATA FINANCE của đội ngũ EzTech đi thẳng vào các bài toán kế toán — tài chính theo hướng dựng quy trình chạy lại được, không dừng ở thao tác lẻ. Các bạn cũng có thể xem trước cách chúng tôi làm ở bài đối chiếu công nợ tự động — cùng một khung ghép hai nguồn, khác dữ liệu. Cần trao đổi kỹ hơn về tình huống cụ thể của doanh nghiệp mình, các bạn liên hệ với EzTech để được tư vấn.

Chat ZaloGọi điệnMessengerTìm đường