Read Vietnamese E-invoice XML (Hóa đơn điện tử) Online

Turn a Vietnamese e-invoice XML (QĐ 1450/QĐ-TCT) into clean JSON or CSV: seller, buyer, lines, VAT groups, totals, with arithmetic and symbol checks.

Free tool: 20 requests per minute.

Result

Press “Run” to see the result.

Send the XML file of a Vietnamese electronic invoice (hóa đơn điện tử, the format of QĐ 1450/QĐ-TCT used by every provider: MISA, Viettel, VNPT, BKAV, FPT…). The API reads the HDon / DLHDon structure, also inside the TDiep message wrapper and with namespace prefixes, and returns clean JSON: invoice template, symbol, number and date, currency, the seller and the buyer (name, tax code, address, bank account), each line (code, name, unit, quantity, unit price, discount, amount, VAT rate), the VAT groups, fees and totals, the tax authority code (MCCQT) and the signatures that are present (signer subject, signing time). format=csv returns the lines as CSV for a spreadsheet.

Every invoice is re-checked: quantity × price − discount per line, the sum of lines per VAT rate, VAT = amount × rate, the totals, and the amount in words (TgTTTBChu) read back as a number. The symbol (ký hiệu) such as 1C26TAA is explained part by part (VAT invoice, with a tax authority code, year 2026, registered by the seller…) and checked against the issue year, following TT 91/2026/TT-BTC (same structure as TT 32/2025 and TT 78/2021, plus letter F). Tax codes get a check-digit test.

Signatures are listed, not verified cryptographically, and the invoice is not looked up on the tax authority portal. Files are processed in memory (up to 5 MB) and never stored.

Use this in your code

curl -X POST "https://apibox.io.vn/v1/vn-einvoice" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/xml" \
  --data-binary '<HDon><DLHDon Id="data"><TTChung><PBan>2.1.0</PBan><THDon>HÓA ĐƠN GIÁ TRỊ GIA TĂNG</THDon><KHMSHDon>1</KHMSHDon><KHHDon>C26TAA</KHHDon><SHDon>123</SHDon><NLap>2026-11-10</NLap><DVTTe>VND</DVTTe><HTTToan>TM/CK</HTTToan></TTChung>
<NDHDon><NBan><Ten>CÔNG TY TNHH THƯƠNG MẠI ABC</Ten><MST>0312345673</MST><DChi>12 Nguyễn Huệ, Phường Sài Gòn, TP. Hồ Chí Minh</DChi></NBan>
<NMua><Ten>CÔNG TY CỔ PHẦN XYZ</Ten><MST>0100109106</MST><DChi>1 Tràng Tiền, Phường Hoàn Kiếm, Hà Nội</DChi></NMua>
<DSHHDVu><HHDVu><TChat>1</TChat><STT>1</STT><THHDVu>Máy tính xách tay</THHDVu><DVTinh>Chiếc</DVTinh><SLuong>2</SLuong><DGia>15000000</DGia><ThTien>30000000</ThTien><TSuat>10%</TSuat></HHDVu>
<HHDVu><TChat>1</TChat><STT>2</STT><THHDVu>Dịch vụ cài đặt</THHDVu><DVTinh>Gói</DVTinh><SLuong>1</SLuong><DGia>1500000</DGia><STCKhau>150000</STCKhau><ThTien>1350000</ThTien><TSuat>8%</TSuat></HHDVu></DSHHDVu>
<TToan><THTTLTSuat><LTSuat><TSuat>10%</TSuat><ThTien>30000000</ThTien><TThue>3000000</TThue></LTSuat><LTSuat><TSuat>8%</TSuat><ThTien>1350000</ThTien><TThue>108000</TThue></LTSuat></THTTLTSuat>
<TgTCThue>31350000</TgTCThue><TgTThue>3108000</TgTThue><TgTTTBSo>34458000</TgTTTBSo><TgTTTBChu>Ba mươi tư triệu bốn trăm năm mươi tám nghìn đồng</TgTTTBChu></TToan></NDHDon></DLHDon></HDon>'

API documentation → Get a free API key

FAQ

Which providers are supported?

All that follow QĐ 1450/QĐ-TCT (the tax authority format). Provider-specific fields in TTKhac are returned as extra key / value pairs.

Is the digital signature verified?

No. The API lists the signatures present (subject, time, algorithm) but does not validate the certificate chain or the XML digest.

What does a failed check mean?

A total that does not add up within rounding (1 VND per line), a symbol whose year differs from the issue date, a tax code with a wrong check digit or amount-in-words that does not match the number.