ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

Vietnam — Hóa đơn điện tử and the DGT

Vietnam generalised e-invoicing on 1 July 2022 under the aegis of the DGT (Tổng cục Thuế). The model combines two variants: invoices with a tax verification code (MCQ, by default) and invoices without a code (for certain authorised sectors).

Regulatory timeline

  • 14 May 2010 — Circular 32/2011/TT-BTC. First framework for the electronic invoice in Vietnam, on a voluntary basis.
  • 13 June 2014 — Accounting Law 88/2015/QH13. Official recognition of electronic accounting records.
  • 12 September 2018 — Decree 119/2018/NĐ-CP. First attempt to generalise the electronic invoice, with go-live planned for 1 November 2020, deferred for readiness reasons.
  • 13 June 2019 — Tax Administration Law 38/2019/QH14. Strengthens electronic record-keeping obligations and authorises DGT to mandate the electronic invoice by decree.
  • 19 October 2020 — Decree 123/2020/NĐ-CP. Comprehensive legal framework replacing 119/2018, with a phased geographic and sectoral go-live calendar.
  • 17 September 2021 — Circular 78/2021/TT-BTC. Operational implementation: technical standards, XML formats, transmission channels, registration process.
  • 21 November 2021 — Phase 1 (6 pilot provinces). Launch in Hà Nội, Hồ Chí Minh, Hải Phòng, Phú Thọ, Quảng Ninh, Bình Định.
  • 1 April 2022 — Phase 2 (national extension). Rollout to the remaining 57 provinces.
  • 1 July 2022 — Universal mandate. All businesses and all taxpayers in Vietnam must issue hóa đơn điện tử compliant with Decree 123/2020.
  • 15 March 2024 — Decree 21/2024/NĐ-CP. Technical adjustments: tightened rules on VAT refund invoices, integration of B2C data from retail and food-service sectors (e-invoice from cash registers).

Technical schema

The mandated format is HDon XML published by DGT, UTF-8 encoded and XMLDSig signed. The structure includes:

  • HDon / DLHDon: document root.
  • TTChung: general information (version PBan, type THDon, series KHHDon, number SHDon, date NLap, currency DVTTe).
  • NDHDon: content — NBan (seller), NMua (buyer), DSHHDVu (goods or services lines), TToan (totals).
  • DSCKS: list of signatures (seller, buyer if necessary).
  • THueTNCN: tax on income if applicable (payroll / commission invoice).

Minimal example of a Hóa đơn GTGT (Value Added Tax invoice):

xmlhoadon-gtgt-v400.xml
<?xml version="1.0" encoding="UTF-8"?>
<HDon>
  <DLHDon>
    <TTChung>
      <PBan>4.0.0</PBan>
      <THDon>1</THDon>
      <KHMSHDon>1</KHMSHDon>
      <KHHDon>K22TAA</KHHDon>
      <SHDon>42</SHDon>
      <NLap>2026-05-16</NLap>
      <DVTTe>VND</DVTTe>
      <TGia>1</TGia>
      <HTTToan>TM/CK</HTTToan>
      <MSTTCGP>0123456789</MSTTCGP>
    </TTChung>
    <NDHDon>
      <NBan>
        <Ten>CONG TY EDIVERSE DEMO VIETNAM</Ten>
        <MST>0123456789</MST>
        <DChi>123 Le Loi, District 1, Ho Chi Minh City</DChi>
      </NBan>
      <NMua>
        <Ten>CONG TY KHACH HANG DEMO</Ten>
        <MST>0987654321</MST>
        <DChi>456 Nguyen Hue, District 1, Ho Chi Minh City</DChi>
        <HVTNMHang>NGUYEN VAN A</HVTNMHang>
      </NMua>
      <DSHHDVu>
        <HHDVu>
          <TChat>1</TChat>
          <STT>1</STT>
          <THHDVu>Phan mem theo thang</THHDVu>
          <DVTinh>Chiec</DVTinh>
          <SLuong>1</SLuong>
          <DGia>10000000</DGia>
          <ThTien>10000000</ThTien>
          <TSuat>10%</TSuat>
        </HHDVu>
      </DSHHDVu>
      <TToan>
        <THTTLTSuat>
          <LTSuat>
            <TSuat>10%</TSuat>
            <ThTien>10000000</ThTien>
            <TThue>1000000</TThue>
          </LTSuat>
        </THTTLTSuat>
        <TgTCThue>10000000</TgTCThue>
        <TgTThue>1000000</TgTThue>
        <TgTTTBSo>11000000</TgTTTBSo>
        <TgTTTBChu>Muoi mot trieu dong chan</TgTTTBChu>
      </TToan>
    </NDHDon>
  </DLHDon>
  <DSCKS><NBan><Signature>...</Signature></NBan></DSCKS>
</HDon>

Submission flow

The issuer signs the XML with its digital certificate, then submits to the hoadondientu.gdt.gov.vn portal (directly or via an accredited T-VAN). DGT returns synchronously the MCQ (Mã của cơ quan thuế), a digital tax verification code that makes the invoice valid. Without an MCQ, the invoice has no legal value (except in sectors without code).

texthoadon-dgt-flow.txt
┌──────────────┐    ┌──────────────────┐    ┌──────────────┐
│ VN issuer    │───>│ DGT (Tổng cục    │───>│ VN buyer     │
│ (ERP)        │XML │ Thuế) or         │XML │ (download)   │
│              │sig │ accredited T-VAN │MCQ │              │
└──────────────┘    └─────────┬────────┘    └──────────────┘


                ┌──────────────────────────┐
                │ Verification code (MCQ)  │  ← Mã của cơ quan
                │ issued by DGT            │     thuế (M-tax-code)
                └──────────────────────────┘

The recipient can download the invoice from the public portal by entering the MCQ or scanning the QR code printed on the visual representation. DGT consolidates all invoices in near real time, enabling immediate VAT base auditing.

Validation

  • DGT — hoadondientu portal: hoadondientu.gdt.gov.vn.
  • XML schemas and technical documentation: published by DGT on the developer portal (access reserved after registration).
  • List of accredited T-VAN: VNPT-Invoice, Viettel-Invoice, MISA meInvoice, BKAV eHoaDon, etc. — see the DGT portal.
  • NEAC — accredited certification authorities: neac.gov.vn.

Common pitfalls

  1. MCQ ≠ optional except in authorised sectors. All taxpayers are by default on the "with code" regime; only a restricted set of sectors (electricity, water, telecoms, oil, banking, distribution) may benefit from the "without code" regime upon prior DGT authorisation.
  2. UTF-8 encoding and Vietnamese diacritics. Vietnamese uses tonal diacritics (à, á, ả, ã, ạ, etc.). Transcoding to ASCII corrupts company names and addresses, and the invoice becomes legally non-compliant. Verify encoding end to end.
  3. MST format 10 vs 13 digits. The MST of a legal entity is 10 digits; it becomes 13 digits if the business has a branch / dependent unit (the last 3 digits identify the sub-unit). Conflating the two triggers a DGT rejection with error ERR_MST_001.
  4. DGT issuance quota. DGT publishes a theoretical issuance quota per taxpayer; unjustified excess triggers an audit alert. Commercial peaks (Tết, year-end) must be anticipated and discussed in advance with the competent tax office.
  5. Amount in letters mandatory. The TgTTTBChu tag must contain the total amount written out in Vietnamese (e.g. "Muoi mot trieu dong chan" for 11,000,000 VND). A Latin transcription without diacritics is tolerated but absence renders the invoice non-compliant with Circular 78/2021.