Tải hóa đơn điện tử (https://hoadondientu.gdt.gov.vn/) Excel Vba (11 người xem)

Người dùng đang xem chủ đề này

ongke0711

Thành viên gắn bó
Tham gia
7/9/06
Bài viết
2,575
Được thích
3,637
Giới tính
Nam
Chào các bạn,
Tôi ngồi mò mẫm mấy ngày mới tìm được cách tải hóa đơn điện tử từ trang https://hoadondientu.gdt.gov.vn/. Cách này có thể không chuyên nghiệp nhưng cũng giải quyết được vấn đề tải hóa đơn hàng loạt từ trang trên và ghi xuống Excel theo định dạng dễ tổng hợp dữ liệu sau này.
- Tốc độ không nhanh như các ứng dụng python siêu nhanh.
- Chưa tìm được các link tải file .xml hoặc .html
- Chưa trải nghiệm qua các định dạng hóa đơn điện tử của các nhà cung cấp giải pháp khác nhau nên sẽ không đảm bảo chạy đúng 100%.
- Chưa biết cách tích hợp code vượt Captcha của (Python, C#..) vào VBA nên phải nhập Captcha thủ công.
Nói chung cái tool cũng giải quyết được việc tải hóa đơn hàng loạt :D .
Tôi sẽ upload file demo không khóa (có khóa cũng như không) sau vì code còn lộn xộn lắm. Các bạn xem qua và đóng góp cách xử lý tốt hơn, gọn hơn nhé.


*** 12/10/2024: Cập nhật sửa một đống lỗi.
*** 15/10/2024: Cập nhật sửa lỗi Null và nhập ngày tháng.
*** 16/10/2024: Thêm tính năng lưu User/Pass.
*** 20/10/2024: Sửa lỗi hiển thị ngày tháng, sửa và thêm một số code phụ trợ.
*** 28/10/2024: Sửa lấy hóa đơn từ máy tính tiền
*** 07/11/2024: Sửa code trích xuất dữ liệu, thêm cột so sánh.
*** 13/11/2024: Dùng code của bạn Hesanbi để tự động nhập Captcha. Thêm code lấy link tra cứu của VNPT và BKAV.
*** 05/02/2025: Thêm code tải file Zip và trích xuất dữ liệu hóa đơn từ file XML. Sửa một số lỗi.
*** 10/05/2026: Cập nhật do trang hoadondientu thay đổi thiết kế.
*** 19/05/2026: Sửa lỗi hiển thị sai trạng thái hoá đơn.
*** 16/09/2026: Cập nhật code (thêm request-id)

*** 23/09/2026: Link chia sẻ file mới của 2 bạn @pycckuu410 và @dieuts.
+ link pycckuu410: https://www.giaiphapexcel.com/diend...entu-gdt-gov-vn-excel-vba.171723/post-1158547
+ link dieuts: https://www.giaiphapexcel.com/diend...entu-gdt-gov-vn-excel-vba.171723/post-1158689
 

File đính kèm

Lần chỉnh sửa cuối:
Cập nhật thêm: Mình có làm một bản tải HĐĐT bằng PowerShell, vẫn theo logic xử lý của bản gốc ban đầu, nhưng có thể chạy trên Windows / Linux / macOS, không phụ thuộc Excel/Office.

Bản này hỗ trợ tự lấy CAPTCHA, đăng nhập GDT, tải XML hóa đơn mua vào/bán ra và xuất dữ liệu ra Excel. Ngoài ra có bổ sung tùy chọn proxy, dùng trong trường hợp chạy trên VPS/máy chủ có IP nước ngoài không truy cập được hoadondientu.gdt.gov.vn.

Mã nguồn + hướng dẫn sử dụng:
https://github.com/dieutx/hddt-downloader-windows

Mình đăng bổ sung để anh em có thêm phương án chạy ngoài Office hoặc chạy tự động trên server. Có lỗi hoặc góp ý thì mọi người trao đổi thêm trong topic nhé.
 
Upvote 0
Hỏi các bạn kế toán một việc nhỏ về "hóa đơn từ máy tính tiền".
Tôi dự định tách thành 2 tùy chọn để tải: giúp giảm số lượng gửi yêu cầu truy vấn nếu không cần thiết
1. Hóa đơn bình thường
2. Hóa đơn từ máy tính tiền

Không phải các công ty đều cần phải chạy truy vấn luôn hạng mục "hđ từ máy tính tiền" đúng không? Chỉ cần chạy lấy dữ liệu hđ bình thường là được rồi?
 
Upvote 0
Hỏi các bạn kế toán một việc nhỏ về "hóa đơn từ máy tính tiền".
Tôi dự định tách thành 2 tùy chọn để tải: giúp giảm số lượng gửi yêu cầu truy vấn nếu không cần thiết
1. Hóa đơn bình thường
2. Hóa đơn từ máy tính tiền

Không phải các công ty đều cần phải chạy truy vấn luôn hạng mục "hđ từ máy tính tiền" đúng không? Chỉ cần chạy lấy dữ liệu hđ bình thường là được rồi?
Về nghiệp vụ thì 2 loại hóa đơn này là 2 nguồn dữ liệu độc lập và cần thiết như nhau cho kế toán:
- Đối với hóa đơn bán ra: Công ty chủ động được các loại hoá đơn xuất ra, nên có thể xác định được có phát sinh HĐ máy tính tiền hay không. Nếu công ty không sử dụng loại hóa đơn này thì cũng không có dữ liệu để tải, do đó có thể bỏ qua truy vấn HĐ máy tính tiền.
- Đối với hóa đơn mua vào: Công ty không kiểm soát được NCC xuất loại hóa đơn nào (hóa đơn thông thường hay HĐ máy tính tiền). NCC có thể phát hành một trong hai loại hóa đơn, nên cần kiểm tra cả hai nguồn dữ liệu để tránh bỏ sót hóa đơn phục vụ hạch toán và kê khai thuế.
Vì vậy theo em, đối với hóa đơn mua vào thì không nên bỏ truy vấn HĐ máy tính tiền. Còn đối với hóa đơn bán ra thì có thể để dạng tùy chọn, cho phép user bỏ qua nếu xác định công ty mình không phát sinh loại hóa đơn này, nhằm tối ưu số lượng truy vấn anh ạ.
 
Upvote 0
Hỏi các bạn kế toán một việc nhỏ về "hóa đơn từ máy tính tiền".
Tôi dự định tách thành 2 tùy chọn để tải: giúp giảm số lượng gửi yêu cầu truy vấn nếu không cần thiết
1. Hóa đơn bình thường
2. Hóa đơn từ máy tính tiền

Không phải các công ty đều cần phải chạy truy vấn luôn hạng mục "hđ từ máy tính tiền" đúng không? Chỉ cần chạy lấy dữ liệu hđ bình thường là được rồi?
Hóa đơn mua vào có mã cơ quan thuế, không mã cơ quan thuế và hóa đơn mua vào từ máy tính tiền
3 cái này là như nhau anh nha, tất cả đều dùng để kê khai khấu trừ thuế, ghi nhận chi phí cho doanh nghiệp.
Không bỏ cái nào được anh.

Em thì thiết kế công cụ theo kiểu tùy lựa chọn mỗi cá nhân, ai cần lấy dữ liệu hóa đơn những nhà cung cấp / hoặc khách hàng nào thì lấy, tránh phải tải nguyên cục hóa đơn to đùng của cả công ty.

1790472594727.png
 
Upvote 0
Mình thấy hóa đơn mà dùng USD chưa có bác nào xử lý về VNĐ hết. Các bác cập nhật thêm cái này đỡ phải chuyển thủ công
 
Upvote 0
Hỏi các bạn kế toán một việc nhỏ về "hóa đơn từ máy tính tiền".
Tôi dự định tách thành 2 tùy chọn để tải: giúp giảm số lượng gửi yêu cầu truy vấn nếu không cần thiết
1. Hóa đơn bình thường
2. Hóa đơn từ máy tính tiền

Không phải các công ty đều cần phải chạy truy vấn luôn hạng mục "hđ từ máy tính tiền" đúng không? Chỉ cần chạy lấy dữ liệu hđ bình thường là được rồi?
Nếu không quá phức tạp thì nên tách ạ
Vơi kinh nghiệm cá nhân thì có những lý do như sau
1. Những ngày cuối tháng tab Hđ từ máy tính liền sẽ rất lag không tải hoặc ko xem dc nếu gộp chung thì sẽ ảnh hưởng luôn khi lấy hoá đơn bình thường. Khi tải thường treo luôn cả 2
2. Nhiều DN lấy hoá đơn chủ yếu là hoá đơn thường không dùng nhiều đến hoá đơn mtt thì họ có thể đợi qua thời gian cao điểm lấy riêng phần mtt
Xin cảm ơn
 
Upvote 0
Nếu không quá phức tạp thì nên tách ạ
Vơi kinh nghiệm cá nhân thì có những lý do như sau
1. Những ngày cuối tháng tab Hđ từ máy tính liền sẽ rất lag không tải hoặc ko xem dc nếu gộp chung thì sẽ ảnh hưởng luôn khi lấy hoá đơn bình thường. Khi tải thường treo luôn cả 2
2. Nhiều DN lấy hoá đơn chủ yếu là hoá đơn thường không dùng nhiều đến hoá đơn mtt thì họ có thể đợi qua thời gian cao điểm lấy riêng phần mtt
Xin cảm ơn
Cơ sở dữ liệu của Cục thuế cho Hóa đơn thường và Hóa đơn máy tính tiền họ thiết kế không giống nhau. Khi tải chung mà MST chỉ có hóa đơn thường sẽ chạy nhanh, còn MST có cả máy tính tiền thì sẽ chậm đáng kể dù tổng số lượng hóa đơn tương tự nhau.
 
Upvote 0
Mình thấy hóa đơn mà dùng USD chưa có bác nào xử lý về VNĐ hết. Các bác cập nhật thêm cái này đỡ phải chuyển thủ công
Cái này liên quan đến nghiệp vụ hạch toán trên phần mềm kế toán hơn là tải hóa đơn. Nếu dừng ở việc thêm cột trong xuất Excel tổng hợp/chi tiết hoặc tìm kiếm/lọc hóa đơn ngoại tệ thì dữ liệu cũng đã có sẵn.
 

File đính kèm

  • Xuất Excel ngoại tệ.png
    Xuất Excel ngoại tệ.png
    106.4 KB · Đọc: 39
Lần chỉnh sửa cuối:
Upvote 0
Cập nhật thêm: Mình có làm một bản tải HĐĐT bằng PowerShell, vẫn theo logic xử lý của bản gốc ban đầu, nhưng có thể chạy trên Windows / Linux / macOS, không phụ thuộc Excel/Office.

Bản này hỗ trợ tự lấy CAPTCHA, đăng nhập GDT, tải XML hóa đơn mua vào/bán ra và xuất dữ liệu ra Excel. Ngoài ra có bổ sung tùy chọn proxy, dùng trong trường hợp chạy trên VPS/máy chủ có IP nước ngoài không truy cập được hoadondientu.gdt.gov.vn.

Mã nguồn + hướng dẫn sử dụng:
https://github.com/dieutx/hddt-downloader-windows

Mình đăng bổ sung để anh em có thêm phương án chạy ngoài Office hoặc chạy tự động trên server. Có lỗi hoặc góp ý thì mọi người trao đổi thêm trong topic nhé.
Đúng cái em cần luôn, nhiều lúc ngồi tải hoá đơn, nó treo phản hồi là treo cả excel luôn. Cảm ơn bác và OngKe nhiềuuu :D
Quá là bổ ích
 
Lần chỉnh sửa cuối:
Upvote 0
Chào anh ongke0711 và mọi người,

Trước tiên, xin cảm ơn anh ongke0711 đã chia sẻ file và ý tưởng ban đầu. Công cụ này thực sự hữu ích cho công việc tải và tổng hợp hóa đơn điện tử.

Mình chưa xin phép trực tiếp tác giả, nhưng với sự hỗ trợ của các AI Coding Agent, mình mạo muội đưa mã nguồn lên GitHub để dễ theo dõi phiên bản, sửa lỗi, đóng góp và tiếp tục phát triển. Cách này cũng giúp các AI Coding Agent có thể tham gia chỉnh sửa nhanh hơn, tiết kiệm khá nhiều thời gian.

Một số nội dung mình đã bổ sung:

  • Hiển thị tiến độ, phần trăm hoàn thành và log để biết chương trình đang xử lý tới đâu.
  • Thêm date picker nhưng vẫn cho phép nhập ngày trực tiếp.
  • Bổ sung thông tin hóa đơn liên quan đối với hóa đơn điều chỉnh, thay thế hoặc hủy.
  • Thêm cơ chế retry/backoff khi hệ thống giới hạn request, đặc biệt với lỗi HTTP 429 và một số lỗi tạm thời khác.
  • Thêm sheet BaoCao_LoiTaiHD, chỉ lưu những hóa đơn hoặc công đoạn chưa tải thành công để người dùng dễ xử lý lại.
  • Bổ sung kiểm thử và quy trình build file .xlsm từ source.
Repository:

https://github.com/dieutx/TaiHoaDonDienTu

Toàn bộ credit về ý tưởng và công cụ ban đầu vẫn được ghi rõ cho anh ongke0711 cùng bài viết này. Nếu tác giả có yêu cầu điều chỉnh cách ghi nguồn hoặc nội dung repository, mình sẽ cập nhật lại.

Mọi người sử dụng nếu gặp lỗi hoặc có đề xuất cải tiến thì có thể tạo Issue trên GitHub, nhớ che token, mã số thuế và dữ liệu hóa đơn trước khi gửi nhé.
View attachment 312708
File lỗi định dạng ngày tháng rồi bạn ơi. Bạn xem lại giúp mình. File bạn chạy ngày bị lùi 1 ngày so với hoá đơn nữa rồi bạn ơi
 

File đính kèm

  • 5314b65f-02c3-4e81-a4e4-fb8629b3dd0f.png
    5314b65f-02c3-4e81-a4e4-fb8629b3dd0f.png
    5 KB · Đọc: 11
  • IMG_20261006_160155132.jpg
    IMG_20261006_160155132.jpg
    205 KB · Đọc: 6
Lần chỉnh sửa cuối:
Upvote 0
Chào anh ongke0711 và mọi người,

Trước tiên, xin cảm ơn anh ongke0711 đã chia sẻ file và ý tưởng ban đầu. Công cụ này thực sự hữu ích cho công việc tải và tổng hợp hóa đơn điện tử.

Mình chưa xin phép trực tiếp tác giả, nhưng với sự hỗ trợ của các AI Coding Agent, mình mạo muội đưa mã nguồn lên GitHub để dễ theo dõi phiên bản, sửa lỗi, đóng góp và tiếp tục phát triển. Cách này cũng giúp các AI Coding Agent có thể tham gia chỉnh sửa nhanh hơn, tiết kiệm khá nhiều thời gian.

Một số nội dung mình đã bổ sung:

  • Hiển thị tiến độ, phần trăm hoàn thành và log để biết chương trình đang xử lý tới đâu.
  • Thêm date picker nhưng vẫn cho phép nhập ngày trực tiếp.
  • Bổ sung thông tin hóa đơn liên quan đối với hóa đơn điều chỉnh, thay thế hoặc hủy.
  • Thêm cơ chế retry/backoff khi hệ thống giới hạn request, đặc biệt với lỗi HTTP 429 và một số lỗi tạm thời khác.
  • Thêm sheet BaoCao_LoiTaiHD, chỉ lưu những hóa đơn hoặc công đoạn chưa tải thành công để người dùng dễ xử lý lại.
  • Bổ sung kiểm thử và quy trình build file .xlsm từ source.
Repository:

https://github.com/dieutx/TaiHoaDonDienTu

Toàn bộ credit về ý tưởng và công cụ ban đầu vẫn được ghi rõ cho anh ongke0711 cùng bài viết này. Nếu tác giả có yêu cầu điều chỉnh cách ghi nguồn hoặc nội dung repository, mình sẽ cập nhật lại.

Mọi người sử dụng nếu gặp lỗi hoặc có đề xuất cải tiến thì có thể tạo Issue trên GitHub, nhớ che token, mã số thuế và dữ liệu hóa đơn trước khi gửi nhé.
View attachment 312708

Chào Bạn DieuTS, mình đã dùng thử bản mới nhất của Bạn là 6.7.5; gặp 1 số lỗi

1. Trên sheet TongHopHD_Mua, ngày phát hành bị trừ lùi đi 1 ngày

2. Với các hóa đơn của hệ thống XanhSM, chỉ có hóa đơn của đơn vị chính (mst : 0110269067) là lấy được link tra cứu hóa đơn gốc, còn các đon vị thành viên (đều dùng chung đường link tra cứu https://gsm-einvoice.hilo.com.vn/ ) không lấy được link tra cứu, mình cũng đã thử thêm thông tin các đơn vị thành viên này vào trong danh sách nằm ở sheet linktracuu rồi nhưng vẫn không được, nhờ Bạn kiểm tra giúp xem lỗi ở đâu

3. dữ liệu hóa đơn trước hoặc sau khi xuất ra file excel ; Bạn cho sắp xếp theo thứ tự Ngày từ nhỏ đến lớn nữa thfi càng tiện

4. Trên sheet TonghopHD_Mua, rất nhiều dòng bị bóp chiều cao đến mức không còn nhìn thấy (trông như bị hide vậy) phải nhắp đúp chuột rất nhiều lần để mở hết ra

Cảm ơn Bạn nhiều
 
Lần chỉnh sửa cuối:
Upvote 0

Bài viết mới nhất

Back
Top Bottom