Skip to main content

Tạo hóa đơn nháp

API này cho phép tạo hóa đơn nháp (draft/preview) và trả về file PDF Base64 của hóa đơn vừa tạo.

POST
URLhttps://uat-open-api.tingee.vn/v1/e-invoice/create

Tạo hóa đơn nháp (draft/preview) và trả về file PDF Base64.

Header Request

HeaderBắt buộcMô tả
Content-Typeapplication/json
x-client-idMã định danh của đối tác do TINGEE cung cấp.
x-signatureChữ ký xác thực HMAC SHA512. Xem thêm tại Cách sinh chữ ký.
x-request-timestampThời gian gửi request (format: yyyyMMddHHmmssSSS, múi giờ UTC+7)

Body Parameter

TrườngKiểuBắt buộcMô tả
merchantIdnumberMã Merchant.
(Bắt buộc nếu kết nối bằng tài khoản Master Merchant).
accountIdnumberID cấu hình tài khoản (nếu để trống sẽ lấy tài khoản mặc định).
invoicePatternstringMẫu số hóa đơn. Xem Lấy mẫu hóa đơn.
invoiceSeriesstringKý hiệu hóa đơn. Xem Lấy mẫu hóa đơn.
invoiceCodestringMã hóa đơn (unique key).
invoiceDatedateNgày lập hóa đơn (format: YYYY-MM-DD, ví dụ: 2025-12-09).
invoiceTypestringLoại hóa đơn (provider-specific).
buyerTaxCodestringMã số thuế người mua.
buyerNamestringTên người mua.
(Bắt buộc nếu sử dụng SInvoice).
buyerLegalNamestringTên đơn vị mua.
buyerAddressstringĐịa chỉ người mua.
buyerPhonestringSố điện thoại người mua.
buyerEmailstringEmail người mua.
buyerBankAccountstringSố tài khoản ngân hàng người mua.
buyerBankNamestringTên ngân hàng người mua.
paymentMethodnumberPhương thức thanh toán: 1=TM, 2=CK, 3=TM/CK.
paymentMethodNamestringTên phương thức thanh toán.
currencystringMã tiền tệ (Mặc định: VND).
exchangeRatestringTỷ giá ngoại tệ.
amountInWordsstringSố tiền bằng chữ (tự sinh nếu không truyền).
notestringGhi chú hóa đơn.
itemsarrayDanh sách hàng hóa/dịch vụ (xem bảng bên dưới).
totalDiscountstringTổng tiền chiết khấu (hệ thống tự tính nếu không truyền).
totalBeforeTaxstringTổng tiền trước thuế (hệ thống tự tính nếu không truyền).
totalTaxstringTổng tiền thuế (hệ thống tự tính nếu không truyền).
totalAfterTaxstringTổng tiền sau thuế (hệ thống tự tính nếu không truyền).
taxRateSummariesarrayTổng hợp thuế suất (hệ thống tự tính nếu không truyền, xem bảng bên dưới).

items[] — Chi tiết hàng hóa / dịch vụ

TrườngKiểuBắt buộcMô tả
itemCodestringMã hàng hóa.
itemNamestringTên hàng hóa / dịch vụ.
unitNamestringĐơn vị tính.
quantitystringSố lượng.
unitPricestringĐơn giá.
discountstringPhần trăm chiết khấu.
discountAmountstringSố tiền chiết khấu.
totalBeforeTaxstringTổng tiền trước thuế (hệ thống tự tính nếu không truyền).
taxRateCodestringMã thuế suất: 0, 5, 8, 10, -1 (KCT), -2 (KKKNT).
taxAmountstringTiền thuế (hệ thống tự tính nếu không truyền).
totalAfterTaxstringTổng tiền sau thuế (hệ thống tự tính nếu không truyền).
itemTypenumberLoại dòng: 1=hàng hóa, 2=khuyến mại, 3=chiết khấu, 4=ghi chú.
adjustmentTypenumberĐiều chỉnh tăng/giảm (cho hóa đơn điều chỉnh).

taxRateSummaries[] — Tổng hợp thuế suất

TrườngKiểuBắt buộcMô tả
taxRateCodestringMã thuế suất.
totalTaxableAmountstringTổng tiền chịu thuế.
taxAmountstringTổng tiền thuế.

Ví dụ mã nguồn

curl --location --request POST 'https://uat-open-api.tingee.vn/v1/e-invoice/create' \
--header 'x-signature: YOUR_SIGNATURE' \
--header 'x-request-timestamp: 20251209103911111' \
--header 'x-client-id: YOUR_CLIENT_ID' \
--header 'Content-Type: application/json' \
--data '{
"invoicePattern": "1",
"invoiceSeries": "C25TAB",
"invoiceCode": "INV-20251209-001",
"invoiceDate": "2025-12-09",
"buyerName": "Nguyen Van A",
"buyerLegalName": "CONG TY TNHH ABC",
"buyerTaxCode": "0109876543",
"buyerAddress": "123 Nguyen Hue, Quan 1, TP.HCM",
"paymentMethod": 2,
"paymentMethodName": "Chuyển khoản",
"items": [
{
"itemName": "Dịch vụ thanh toán",
"unitName": "Gói",
"quantity": "1",
"unitPrice": "1000000",
"taxRateCode": "10"
}
]
}'

Response mẫu

{
"code": "00",
"message": "Success",
"data": {
"invoiceCode": "INV-20251209-001",
"pdfBase64": "JVBERi0xLjQKMSAwIG9iago8PA..."
}
}
TrườngKiểuMô tả
codestringMã trạng thái.
messagestringThông điệp kết quả.
data.invoiceCodestringMã hóa đơn.
data.pdfBase64stringNội dung file PDF dạng Base64.

Mã lỗi thường gặp

CodeMô tảHướng xử lý
90Sai format timestampKiểm tra format yyyyMMddHHmmssSSS.
91Request quá hạnKiểm tra thời gian gửi request.
97Sai chữ kýKiểm tra lại Secret Key và logic tạo Signature.
OthersLỗi khácXem Danh sách mã lỗi.