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ả
providerstringNhà cung cấp: x-cyber, hilo, s-invoice.
(Tự lấy từ tài khoản mặc định nếu không truyền).
taxCodestringMã số thuế.
(Tự lấy từ tài khoản mặc định nếu không truyền).
merchantIdnumberMã Merchant.
(Bắt buộc nếu kết nối bằng tài khoản Master Merchant).
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).
exchangeRatenumberTỷ 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).
totalDiscountnumberTổng tiền chiết khấu (hệ thống tự tính nếu không truyền).
totalBeforeTaxnumberTổng tiền trước thuế (hệ thống tự tính nếu không truyền).
totalTaxnumberTổng tiền thuế (hệ thống tự tính nếu không truyền).
totalAfterTaxnumberTổ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.
quantitynumberSố lượng.
unitPricenumberĐơn giá.
discountnumberPhần trăm chiết khấu.
discountAmountnumberSố tiền chiết khấu.
totalBeforeTaxnumberTổ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).
taxAmountnumberTiền thuế (hệ thống tự tính nếu không truyền).
totalAfterTaxnumberTổ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.
totalTaxableAmountnumberTổng tiền chịu thuế.
taxAmountnumberTổ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

{
"data": {
"invoiceCode": "INV-20251209-001",
"pdfBase64": "JVBERi0xLjQKMSAwIG9iago8PA..."
},
"success": true,
"error": null
}
TrườngKiểuMô tả
data.invoiceCodestringMã hóa đơn.
data.pdfBase64stringNội dung file PDF dạng Base64.
successbooleanTrạng thái xử lý (true = Thành công).
errorstringMã lỗi (nếu có), null nếu thành công.

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.