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ấp | Trạng thái | Tính năng |
|---|---|---|
| Viettel | Hỗ trợ | Tra cứu thuế, Xác thực hóa đơn |
| VNPT | Hỗ 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ụng | Tính năng T-VAN |
|---|---|
| Xác minh mã số thuế khách hàng | Tra cứu thông tin thuế |
| Xác thực hóa đơn nhà cung cấp | Xác thực hóa đơn |
| Kiểm tra tính hợp pháp của doanh nghiệp | Tra cứu thông tin thuế |
| Xác minh trước hóa đơn | Tra cứu thông tin thuế |
Yêu cầu Tuân thủ
Nghị định 123/2020
| Yêu cầu | T-VAN Hỗ trợ |
|---|---|
| Xác minh mã số thuế người mua trước khi xuất hóa đơn B2B | Tra cứu thông tin thuế |
| Xác thực hóa đơn nhận được | Xác thực hóa đơn |
| Kiểm tra trạng thái nhà cung cấp | Tra cứu thông tin thuế |
Nghị định 70/2025 (Hiệu lực từ tháng 1 năm 2026)
| Yêu cầu | T-VAN Hỗ trợ |
|---|---|
| Xác minh thuế thời gian thực | Tra cứu thông tin thuế |
| Kiểm tra tính xác thực hóa đơn | Xác thực hóa đơn |
Định dạng Mã số Thuế
| Định dạng | Mô tả | Ví dụ |
|---|---|---|
| 10 chữ số | Công ty tiêu chuẩn | 0123456789 |
| 13 chữ số | Chi nhánh/công ty con | 0123456789-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,
});