Invoice QR
Make an invoice

How to put a VietQR code on an invoice

A VietQR code lets your client pay by scanning with any Vietnamese banking app. The app fills in your bank, account number, the amount and the transfer memo, so there is nothing to retype and nothing to mistype.

What is inside the code

VietQR follows the EMVCo QR standard used by NAPAS. The code is a short text made of numbered fields, each written as a two-digit tag, a two-digit length and the value:

TagMeaningExample
00Format version01
0111 = reusable code, 12 = one payment with a fixed amount12
38NAPAS ID A000000727, your bank BIN and account, and service QRIBFTTA (transfer to account)970416 + 257678859
53Currency, 704 = Vietnamese dong704
54Amount in whole dong10000
58CountryVN
62Extra data; sub-field 08 is the transfer memoChuyen tien
63CRC-16 checksum of everything before it53E6

Why the memo has no accents

Bank transfer memos are plain ASCII in most banking cores, and many apps reject or garble accented letters. Invoice QR removes the marks for you, so Thanh toán hoá đơn becomes Thanh toan hoa don, and keeps the memo to 25 characters. Put the invoice number in the memo: it is the one thing you will search for when you reconcile your statement.

Amount or no amount

Choose VND as the invoice currency and the amount due goes into the code as a one-time payment. With any other currency the code carries only your bank and account, and your client types the converted amount. A bank QR can only move dong.

Test before you send

  1. Open your own banking app and scan the QR on screen.
  2. Check that the bank, account holder name, amount and memo are right.
  3. Cancel the transfer. Only then send the PDF.

The account holder name that your client sees comes from the bank, not from the QR, which is why it is the best check that the account number is right.

Make an invoice with a VietQR code