Skip to content

T-VAN Compliance

T-VAN (Tax Value Added Network) compliance requirements for Vietnam tax integration.

Overview

T-VAN providers act as intermediaries between businesses and CQT (Vietnam Tax Authority) for:

  • Tax information queries
  • Invoice submission
  • Tax compliance verification

Supported Providers

ProviderStatusFeatures
VNPAYSupportedTax lookup, Invoice validation

When to Use T-VAN

Use CaseT-VAN Feature
Verify customer tax codeTax info lookup
Validate supplier invoicesInvoice validation
Check business legitimacyTax info lookup
Pre-invoice verificationTax info lookup

Compliance Requirements

Decree 123/2020

RequirementT-VAN Support
Verify buyer tax code before B2B invoiceTax info lookup
Validate received invoicesInvoice validation
Check supplier statusTax info lookup

Decree 70/2025 (Effective Jan 2026)

RequirementT-VAN Support
Real-time tax verificationTax info lookup
Invoice authenticity checkInvoice validation

Tax Code Formats

FormatDescriptionExample
10 digitsStandard company0123456789
13 digitsBranch/subsidiary0123456789-001

Best Practices

Caching

typescript
// Cache tax info (24 hours)
const CACHE_TTL = 24 * 60 * 60 * 1000;

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

  const { data } = await this.tvanService.queryTaxInformation({
    provider: 'vnpay',
    params: { type: TVanTaxInfoQueryTypes.TAX_CODE, taxCodes: [taxCode] },
  });
  await this.cache.set(`tax:${taxCode}`, data[0], CACHE_TTL);

  return data[0];
}

Batch Operations

typescript
// queryTaxInformation accepts up to 10 tax codes per request;
// enable fetchAll to auto-batch larger arrays
const taxCodes = orders.map(o => o.customerTaxCode).filter(Boolean);
const uniqueTaxCodes = [...new Set(taxCodes)];

const { data } = await this.tvanService.queryTaxInformation({
  provider: 'vnpay',
  params: { type: TVanTaxInfoQueryTypes.TAX_CODE, taxCodes: uniqueTaxCodes },
  options: { fetchAll: true, continueOnError: true },
});

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