Skip to content

Tuân thủ T-VAN

Các yêu cầu tuân thủ T-VAN (Mạng giá trị gia tăng về thuế) cho tích hợp thuế tại Việt Nam.

Tổng quan

Các nhà cung cấp T-VAN đóng vai trò trung gian giữa doanh nghiệp và CQT (Cơ quan Thuế) để:

  • Tra cứu thông tin thuế
  • Gửi hóa đơn
  • Xác minh tuân thủ thuế

Các Nhà cung cấp được Hỗ trợ

Nhà cung cấpTrạng tháiTính năng
ViettelHỗ trợTra cứu thuế, Xác thực hóa đơn
VNPTHỗ trợTra cứu thuế, Xác thực hóa đơn

Khi nào Sử dụng T-VAN

Trường hợp Sử dụngTính năng T-VAN
Xác minh mã số thuế khách hàngTra cứu thông tin thuế
Xác thực hóa đơn nhà cung cấpXác thực hóa đơn
Kiểm tra tính hợp pháp của doanh nghiệpTra cứu thông tin thuế
Xác minh trước hóa đơnTra cứu thông tin thuế

Yêu cầu Tuân thủ

Nghị định 123/2020

Yêu cầuT-VAN Hỗ trợ
Xác minh mã số thuế người mua trước khi xuất hóa đơn B2BTra cứu thông tin thuế
Xác thực hóa đơn nhận đượcXác thực hóa đơn
Kiểm tra trạng thái nhà cung cấpTra cứu thông tin thuế

Nghị định 70/2025 (Hiệu lực từ tháng 1 năm 2026)

Yêu cầuT-VAN Hỗ trợ
Xác minh thuế thời gian thựcTra cứu thông tin thuế
Kiểm tra tính xác thực hóa đơnXác thực hóa đơn

Định dạng Mã số Thuế

Định dạngMô tảVí dụ
10 chữ sốCông ty tiêu chuẩn0123456789
13 chữ sốChi nhánh/công ty con0123456789-001

Các Thực hành Tốt nhất

Caching (Lưu đệm)

typescript
// Cache thông tin thuế (24 giờ)
const CACHE_TTL = 24 * 60 * 60 * 1000;

async getTaxInfoCached(taxCode: string) {
  const cached = await this.cache.get(`tax:${taxCode}`);
  if (cached) return cached;

  const info = await this.tvanService.getTaxInfo({ taxCode });
  await this.cache.set(`tax:${taxCode}`, info, CACHE_TTL);

  return info;
}

Thao tác Hàng loạt

typescript
// Hiệu quả hơn so với tra cứu riêng lẻ
const taxCodes = orders.map(o => o.customerTaxCode).filter(Boolean);
const uniqueTaxCodes = [...new Set(taxCodes)];

const taxInfoMap = await this.tvanService.batchGetTaxInfo({
  taxCodes: uniqueTaxCodes,
});

Liên quan

Proprietary and Confidential. Unauthorized copying, distribution, or use of this software is strictly prohibited.