Tạo, ký và phát hành hóa đơn
Phương thức này cho phép các ứng dụng gửi lên dữ liệu hóa đơn dạng thô (chưa đúng định dạng của HĐĐT) và trả về cho ứng dụng dữ liệu ở định dạng HĐĐT. Trước khi thực hiện phát hành hóa đơn, các ứng dụng sẽ gọi đến phương thức này để tạo dữ liệu hóa đơn có định dạng điện tử. Sau đó thực hiện ký nội dung hóa đơn. Và cuối cùng là thực hiện phát hành hóa đơn điện tử.
- Mô tả:
- Từ máy client của kế toán thực hiện gửi yêu cầu xuất hóa đơn
- Dữ liệu hóa đơn thô được gửi lên MISA qua API
- Server Misa cấp số hóa đơn và trả về cho Client hóa đơn có định dạng XML theo chuẩn của Cơ quan Thuế
- Từ client gọi service ký hóa đơn định dạng XML vừa nhận được
- Sau khi ký điện tử xong gọi lên MISA để phát hành
- MISA ghi nhận yêu cầu phát hành hóa đơn điện tử và trả về trạng thái cho client
- MISA thực hiện cất hóa đơn điện tử vừa nhận và xử lý các yêu cầu nghiệp vụ tương ứng
1. Tạo hóa đơn
Chú ý: Hàm API này chỉ là tạo dữ liệu hóa đơn thô (raw) ở dưới client. Để phát hành thành công 1 hóa đơn điện tử lên MISA thì phải làm đủ 3 bước: 1. Tạo hóa đơn, 2. Ký điện tử và 3. Phát hành hóa đơn điện tử
Kiểu doanh nghiệp | Method | <BaseURL> |
---|---|---|
Không mã | POST | <BaseURL>/itg/invoicepublishing/createinvoice |
Có mã | POST | <BaseURL>/code/itg/invoicepublishing/createinvoice |
1.1 Header
Content-Type: application-json
Authorization: Bearer <token>
CompanyTaxCode: "Mã số thuế đăng nhập"
1.2 request
[
{
<đối tượng OriginalInvoiceData>
}
]
1.3 Respone
{
"Success": true,
"ErrorCode": null,
"Errors": [],{mã lỗi nếu có}
"Data": "[{
\"RefID\":\"ID hóa đơn\",
\"TransactionID\":\"Mã tra cứu\",
\"InvNo\":\"Số hóa đơn\",
\"InvCode\":null,
\"InvDate\":\"Ngày hóa đơn\",
\"InvoiceData\":"",
\"ErrorCode\":null,{mã lỗi nếu có}
\"ErrorData\":null,{mã lỗi nếu có}
\"TokenCallback\":null,
\"CallbackUrl\":null
}]",
"CustomData": null
}
1.4 Hóa đơn thay thế / điều chỉnh
Đối với háo đơn thay thế điều chỉnh phần thông tin master (OriginalInvoiceData) truyền thêm các field sau để đánh dấu hóa đơn gôc
// nếu là hoa đơn thay thế hoặc điều chỉnh thì bổ sung đoạn sau
"ReferenceType": null,//Tính chất hóa đơn (1: thay thế; 2: điều chỉnh)
"OrgInvoiceType": null,//Loại hóa đơn bị thay thế/điều chỉnh (1: Hóa đơn 123; 3: Hóa đơn 51)
"OrgInvTemplateNo": null,//Ký hiệu mẫu hđ bị thay thế/điều chỉnh (ví dụ: 1)
"OrgInvSeries": null,//Ký hiệu hđ bị thay thế/điều chỉnh (ví dụ: K21TAA)
"OrgInvNo": null,//Số hđ bị thay thế/điều chỉnh (ví dụ: 00000001)
"OrgInvDate": null,//Ngày hóa đơn bị thay thế/điều chỉnh (ví dụ: 2022-01-01)
1.5 Ví dụ:
1.5.1 request
https://testapi.meinvoice.vn/api/v3/itg/invoicepublishing/createinvoice
[
{
"RefID": "d0746fa0-8279-4f90-9281-6debd4123f0d",
"InvSeries": "1K21TAA",
"InvoiceName": "Hóa đơn giá trị gia tăng",
"InvDate": "2021-11-08T19:11:51.2675125+07:00",
"CurrencyCode": "VND",
"ExchangeRate": 1.0,
"PaymentMethodName": "TM/CK",
"BuyerLegalName": "Công ty cổ phần MISA",
"BuyerTaxCode": "0101243150",
"BuyerAddress": "Tầng 9 tòa nhà Technosoft, Duy Tân, Dịch Vọng Hậu, Cầu Giấy, Hà Nội",
"BuyerCode": "MS001",
"BuyerPhoneNumber": "0241 522 526",
"BuyerEmail": "contact@misa.com.vn",
"BuyerFullName": "Nguyễn Xuân Hoàng",
"BuyerBankAccount": "010124315087210",
"BuyerBankName": "Ngân hàng Việt Nam Thịnh Vượng",
"ReferenceType": null,
"OrgInvoiceType": null,
"OrgInvTemplateNo": null,
"OrgInvSeries": null,
"OrgInvNo": null,
"OrgInvDate": null,
"TotalSaleAmountOC": 7540000.0,
"TotalAmountWithoutVATOC": 7540000.0,
"TotalVATAmountOC": 381950.0,
"TotalDiscountAmountOC": 460000.0,
"TotalAmountOC": 7921950.0,
"TotalSaleAmount": 7540000.0,
"TotalAmountWithoutVAT": 7540000.0,
"TotalVATAmount": 381950.0,
"TotalDiscountAmount": 460000.0,
"TotalAmount": 7921950.0,
"TotalAmountInWords": "Bảy triệu chín trăm hai mươi mốt nghìn chín trăm năm mươi đồng.",
"OriginalInvoiceDetail": [
{
"ItemType": 1,
"LineNumber": 1,
"SortOrder": 1,
"ItemCode": "AOSM01",
"ItemName": "Áo sơ mi Nam 40",
"UnitName": "Chiếc",
"Quantity": 10.0,
"UnitPrice": 500000.0,
"DiscountRate": 5.0,
"DiscountAmountOC": 250000.0,
"DiscountAmount": 250000.0,
"AmountOC": 5000000.0,
"Amount": 5000000.0,
"AmountWithoutVATOC": 4750000.0,
"AmountWithoutVAT": 4750000.0,
"VATRateName": "5%",
"VATAmountOC":475000,
"VATAmount":475000
}
],
"TaxRateInfo": [
{
"VATRateName": "5%",
"AmountWithoutVATOC": 950000.0,
"VATAmountOC": 47500.0
}
],
"OptionUserDefined":
{
"MainCurrency": "VND",
"AmountDecimalDigits": "0",
"AmountOCDecimalDigits": "2",
"UnitPriceOCDecimalDigits": "0",
"UnitPriceDecimalDigits": "1",
"QuantityDecimalDigits": "2",
"CoefficientDecimalDigits": "2",
"ExchangRateDecimalDigits": "0"
}
}
]
1.5.2 Respone
{
"Success": true,
"ErrorCode": null,
"Errors": [],
"Data": "[{\"RefID\":\"19d02e93-cb8b-4a60-8b06-4a7387cd44cc\",\"TransactionID\":\"QWIGTN63E_\",\"InvNo\":\"00000321\",\"InvCode\":null,\"InvDate\":\"2022-09-22T00:00:00+07:00\",\"InvoiceData\":\"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?><HDon><DLHDon Id=\\\"QWIGTN63E_\\\"><TTChung><PBan>2.0.0</PBan><THDon>Hóa đơn giá trị gia tăng</THDon><KHMSHDon>1</KHMSHDon><KHHDon>C22TTT</KHHDon><SHDon>00000321</SHDon><NLap>2022-09-22</NLap><DVTTe>VND</DVTTe><TGia>1.00</TGia><HTTToan>TM/CK</HTTToan><MSTTCGP>0101243150</MSTTCGP></TTChung><NDHDon><NBan><Ten>MISA TEST</Ten><MST>2222222222-444</MST><DChi>HN</DChi><SDThoai>0971500731</SDThoai><DCTDTu>testmisa@yahoo.com</DCTDTu><STKNHang>342353535</STKNHang><TNHang>Viettinbank</TNHang><Fax>2344</Fax><Website>meinvvoice.vn</Website><TTKhac><TTin><TTruong>SellerBankAccount</TTruong><KDLieu>string</KDLieu><DLieu>342353535</DLieu></TTin><TTin><TTruong>SellerBankName</TTruong><KDLieu>string</KDLieu><DLieu>Viettinbank</DLieu></TTin><TTin><TTruong>SellerEmail</TTruong><KDLieu>string</KDLieu><DLieu>testmisa@yahoo.com</DLieu></TTin><TTin><TTruong>SellerFax</TTruong><KDLieu>string</KDLieu><DLieu>2344</DLieu></TTin><TTin><TTruong>SellerPhoneNumber</TTruong><KDLieu>string</KDLieu><DLieu>0971500731</DLieu></TTin><TTin><TTruong>SellerWebsite</TTruong><KDLieu>string</KDLieu><DLieu>meinvvoice.vn</DLieu></TTin><TTin><TTruong>SellerAddress</TTruong><KDLieu>string</KDLieu><DLieu>HN</DLieu></TTin></TTKhac></NBan><NMua><Ten>CÔNG TY CỔ PHẦN MISA</Ten><MST>0101243150</MST><DChi>Tầng 9, tòa nhà Technosoft, phố Duy Tân, Phường Dịch Vọng Hậu, Quận Cầu Giấy, Thành phố Hà Nội, Việt Nam</DChi></NMua><DSHHDVu><HHDVu><TChat>1</TChat><STT>1</STT><THHDVu>HH01</THHDVu><DVTinh>cais</DVTinh><SLuong>1.000000</SLuong><DGia>100000.000000</DGia><TLCKhau>0.0000</TLCKhau><STCKhau>0.000000</STCKhau><ThTien>100000.000000</ThTien><TSuat>10%</TSuat><TTKhac><TTin><TTruong>AmountOC</TTruong><KDLieu>numeric</KDLieu><DLieu>100000.0</DLieu></TTin><TTin><TTruong>Amount</TTruong><KDLieu>numeric</KDLieu><DLieu>100000.0</DLieu></TTin><TTin><TTruong>AmountAfterTax</TTruong><KDLieu>numeric</KDLieu><DLieu>0.0</DLieu></TTin><TTin><TTruong>DiscountAmount</TTruong><KDLieu>numeric</KDLieu><DLieu>0.0</DLieu></TTin><TTin><TTruong>UnitPriceAfterTax</TTruong><KDLieu>numeric</KDLieu><DLieu>0.0</DLieu></TTin><TTin><TTruong>VATAmount</TTruong><KDLieu>numeric</KDLieu><DLieu>10000.0</DLieu></TTin><TTin><TTruong>VATAmountOC</TTruong><KDLieu>numeric</KDLieu><DLieu>10000.0</DLieu></TTin><TTin><TTruong>SortOrder</TTruong><KDLieu>numeric</KDLieu><DLieu>1</DLieu></TTin></TTKhac></HHDVu></DSHHDVu><TToan><THTTLTSuat><LTSuat><TSuat>10%</TSuat><ThTien>100000.000000</ThTien><TThue>10000.000000</TThue></LTSuat></THTTLTSuat><TgTCThue>100000.000000</TgTCThue><TgTThue>10000.000000</TgTThue><TTCKTMai>0.000000</TTCKTMai><TgTTTBSo>110000.000000</TgTTTBSo><TgTTTBChu>Một trăm mười nghìn đồng chẵn.</TgTTTBChu><TTKhac><TTin><TTruong>TotalAmount</TTruong><KDLieu>numeric</KDLieu><DLieu>110000.0</DLieu></TTin><TTin><TTruong>TotalAmountInWordsUnsignNormalVN</TTruong><KDLieu>string</KDLieu><DLieu>Mot tram muoi nghin dong chan.</DLieu></TTin><TTin><TTruong>TotalAmountInWordsVN</TTruong><KDLieu>string</KDLieu><DLieu>Một trăm mười nghìn đồng chẵn.</DLieu></TTin><TTin><TTruong>TotalDiscountAmount</TTruong><KDLieu>numeric</KDLieu><DLieu>0.0</DLieu></TTin><TTin><TTruong>TotalSaleAmount</TTruong><KDLieu>numeric</KDLieu><DLieu>100000.0</DLieu></TTin><TTin><TTruong>TotalVATAmount</TTruong><KDLieu>numeric</KDLieu><DLieu>10000.0</DLieu></TTin><TTin><TTruong>TotalSaleAmountOC</TTruong><KDLieu>numeric</KDLieu><DLieu>100000.0</DLieu></TTin><TTin><TTruong>TotalAmountInWordsByENG</TTruong><KDLieu>string</KDLieu><DLieu>One hundred ten thousand dongs.</DLieu></TTin><TTin><TTruong>TotalAmountWithoutVAT</TTruong><KDLieu>numeric</KDLieu><DLieu>100000.0</DLieu></TTin><TTin><TTruong>TotalAmountWithoutVATOC</TTruong><KDLieu>numeric</KDLieu><DLieu>100000.0</DLieu></TTin><TTin><TTruong>TotalDiscountAmountOC</TTruong><KDLieu>numeric</KDLieu><DLieu>0.0</DLieu></TTin></TTKhac></TToan></NDHDon><TTKhac><TTin><TTruong>InvoiceTemplateID</TTruong><KDLieu>string</KDLieu><DLieu>88f54d4c-08eb-4255-97ae-ec99b82e9de6</DLieu></TTin><TTin><TTruong>RefID</TTruong><KDLieu>string</KDLieu><DLieu>19d02e93-cb8b-4a60-8b06-4a7387cd44cc</DLieu></TTin><TTin><TTruong>IsTaxReduction</TTruong><KDLieu>numeric</KDLieu><DLieu>False</DLieu></TTin><TTin><TTruong>IsTaxReduction43</TTruong><KDLieu>numeric</KDLieu><DLieu>False</DLieu></TTin><TTin><TTruong>AmountDecimalDigits</TTruong><KDLieu>string</KDLieu><DLieu>0</DLieu></TTin><TTin><TTruong>AmountOCDecimalDigits</TTruong><KDLieu>string</KDLieu><DLieu>2</DLieu></TTin><TTin><TTruong>CoefficientDecimalDigits</TTruong><KDLieu>string</KDLieu><DLieu>2</DLieu></TTin><TTin><TTruong>ExchangRateDecimalDigits</TTruong><KDLieu>string</KDLieu><DLieu>2</DLieu></TTin><TTin><TTruong>MainCurrency</TTruong><KDLieu>string</KDLieu><DLieu>VND</DLieu></TTin><TTin><TTruong>QuantityDecimalDigits</TTruong><KDLieu>string</KDLieu><DLieu>2</DLieu></TTin><TTin><TTruong>UnitPriceDecimalDigits</TTruong><KDLieu>string</KDLieu><DLieu>0</DLieu></TTin><TTin><TTruong>UnitPriceOCDecimalDigits</TTruong><KDLieu>string</KDLieu><DLieu>0</DLieu></TTin><TTin><TTruong>AppID</TTruong><KDLieu>string</KDLieu><DLieu>AB0FDDF474E1423FA43D7475AF759166</DLieu></TTin><TTin><TTruong>TransactionID</TTruong><KDLieu>string</KDLieu><DLieu>QWIGTN63E_</DLieu></TTin></TTKhac></DLHDon><DLQRCode>00020199970032F772173E44D8423E884B2483477508FB01132222222222444020110306C22TTT040332105082022092206061100006304DB22</DLQRCode><DSCKS><NBan></NBan></DSCKS></HDon>\",\"ErrorCode\":null,\"ErrorData\":null,\"TokenCallback\":null,\"CallbackUrl\":null}]",
"CustomData": null
}
2. Ký hóa đơn
Tải bộ cài tại địa chỉ :
https://product.misa.vn/misasoftware/eInvoice/SignedService/R23/MISA_SignedService_Setup.exe
Phương thức ký qua tool (Gọi Web API Service):
2.1 Request
Method | URL |
---|---|
POST | - BaseURL: http://{0}:{1}/api/SignXML Trong đó - {0} là tên máy chủ . - {1} là port ký của máy chủ. Misa đang để port mặc định ký nằm trong giải port(12019;12020;12021;12022;12023) VD : http://server01:12019/api/SignXML |
2.2 Header parameter
tên | Kiểu dữ liệu | Bắt buộc | Mô tả |
---|---|---|---|
MisaTokenKey | String | Có | Token Key của Misa. Đang để mặc định là : 491CB943-E466-4D25-B0A9-7042594F59F2 |
2.3 URI parameter
tên | Kiểu dữ liệu | Bắt buộc | Mô tả |
---|---|---|---|
PinCode | string | Có | PinCode của USB Token |
XmlContent | string | Có | XML hóa đơn điện tự dược tạo ở lúc tạo XML |
2.4 Response
Trường hợp thành công, HttpStatusCode = 200 (OK) và dữ liệu trả về sẽ gồm các thông tin như sau:
tên | Kiểu dữ liệu | Bắt buộc | Mô tả |
---|---|---|---|
PayLoad | string | Có | Chuỗi xml invoice đã được ký số |
Message | string | Có | thông báo mã lỗi nếu có |
Status | 200 |
2.5 Ví dụ
Request
POST: http://server01:12019/api/SignXML
{
"PinCode":"12345678",
"XmlContent":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><inv:invoice xmlns:inv=\"http://laphoadon.gdt.gov.vn/2014/09/invoicexml/v1\" xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"><inv:invoiceData id=\"data\"><inv:invoiceType>02GTTT</inv:invoiceType><inv:templateCode>02GTTT0/002</inv:templateCode><inv:invoiceSeries>AB/21E</inv:invoiceSeries><inv:invoiceNumber>0000015</inv:invoiceNumber><inv:invoiceIssuedDate>2021-10-30T00:00:00</inv:invoiceIssuedDate><inv:signedDate></inv:signedDate><inv:currencyCode>VND</inv:currencyCode><inv:invoiceNote>Hóa đơn bán lẻ</inv:invoiceNote><inv:adjustmentType>1</inv:adjustmentType><inv:payments><inv:payment><inv:paymentMethodName>Tiền mặt</inv:paymentMethodName></inv:payment></inv:payments><inv:delivery /><inv:sellerLegalName>CÔNG TY TNHH MTV DỊCH VỤ THỦY LỢI BÌNH PHƯỚC</inv:sellerLegalName><inv:sellerTaxCode>2222222222-736</inv:sellerTaxCode><inv:sellerAddressLine>Đường Lê Duẩn - Phường Tân Bình - Thành Phố Đồng Xoài - Bình Phước</inv:sellerAddressLine><inv:sellerPhoneNumber>012345678912345</inv:sellerPhoneNumber><inv:sellerFaxNumber>25251325</inv:sellerFaxNumber><inv:sellerEmail>ngominhdai92@gmail.com</inv:sellerEmail><inv:sellerWebsite>abc.com.vn</inv:sellerWebsite><inv:sellerBankAccount>11047007</inv:sellerBankAccount><inv:sellerBankName>ACB</inv:sellerBankName><inv:buyerLegalName>Công ty cổ phần MISA (Test)</inv:buyerLegalName><inv:buyerDisplayName>Nguyễn Xuân A</inv:buyerDisplayName><inv:buyerTaxCode>0101243150-888</inv:buyerTaxCode><inv:buyerAddressLine>Tầng 9, Tòa nhà Technosoft, Duy Tân, Dịch Vọng Hậu, Cầu Giấy, Hà Nội</inv:buyerAddressLine><inv:buyerEmail>support@misa.com.vn</inv:buyerEmail><inv:buyerBankName>Hội sở Ngân hàng TMCP Á Châu</inv:buyerBankName><inv:buyerBankAccount>21137519</inv:buyerBankAccount><inv:exchangeRate>1 </inv:exchangeRate><inv:items><inv:item><inv:lineNumber>1</inv:lineNumber><inv:itemCode>SME2019.Pro</inv:itemCode><inv:itemName>Phần mềm kế toán doanh nghiệp vừa và nhỏ - gói Professional</inv:itemName><inv:unitName>Gói</inv:unitName><inv:quantity>1.00 </inv:quantity><inv:itemTotalAmountWithoutVat>1000000 </inv:itemTotalAmountWithoutVat><inv:vatPercentage>0</inv:vatPercentage><inv:vatAmount>0 </inv:vatAmount><inv:unitPrice>1000000.0 </inv:unitPrice><inv:promotion>0</inv:promotion></inv:item></inv:items><inv:invoiceTaxBreakdowns><inv:invoiceTaxBreakdown><inv:vatPercentage>0</inv:vatPercentage></inv:invoiceTaxBreakdown></inv:invoiceTaxBreakdowns><inv:totalAmountWithoutVAT>1000000 </inv:totalAmountWithoutVAT><inv:totalVATAmount>100000 </inv:totalVATAmount><inv:totalAmountWithVAT>1100000 </inv:totalAmountWithVAT><inv:totalAmountWithVATInWords>Chín triệu đồng chẵn</inv:totalAmountWithVATInWords><inv:discountAmount>0 </inv:discountAmount><inv:totalAmountWithVATFrn>1100000 </inv:totalAmountWithVATFrn><inv:userDefines><![CDATA[<TransactionID>8VU0C220B</TransactionID><InvoiceRefID>91ad15ac-9c54-43fd-8425-a97d03a40005</InvoiceRefID><InvoiceTemplateID>1d324c9b-d4a3-4a16-a2f6-4b36100b11d1</InvoiceTemplateID><MainCurrency>VND</MainCurrency><UnitPriceDecimalDigits>1</UnitPriceDecimalDigits><UnitPriceOCDecimalDigits>0</UnitPriceOCDecimalDigits><QuantityDecimalDigits>2</QuantityDecimalDigits><AmountDecimalDigits>0</AmountDecimalDigits><AmountOCDecimalDigits>2</AmountOCDecimalDigits><ExchangRateDecimalDigits>0</ExchangRateDecimalDigits><CoefficientDecimalDigits>2</CoefficientDecimalDigits><ClockDecimalDigits></ClockDecimalDigits><WaterArrearage>0</WaterArrearage><WaterPromotion>0</WaterPromotion><WaterUsed>0</WaterUsed><EnvironmmentFeeRate>0</EnvironmmentFeeRate><EnvironmmentFeeAmount>0 </EnvironmmentFeeAmount><OtherFeeRate>0.00 </OtherFeeRate><OtherFeeAmount>0 </OtherFeeAmount><SortOrderIndex>0</SortOrderIndex><SumOfClockIndex>0</SumOfClockIndex><IsTaxReduction>0</IsTaxReduction><ListCustomDetail><ClockInfos></ClockInfos></ListCustomDetail><UserItems><UserItem><LineNumber>1</LineNumber><AmountOC>0 </AmountOC><VATAmountOC>0 </VATAmountOC><DiscountRate>0.00 </DiscountRate><DiscountAmountOC>0 </DiscountAmountOC><DiscountAmount>0 </DiscountAmount><InventoryItemType>0</InventoryItemType><TaxReductionAmountOC>0 </TaxReductionAmountOC><TaxReductionAmount>0 </TaxReductionAmount></UserItem></UserItems>]]></inv:userDefines></inv:invoiceData><inv:controlData><inv:systemCode>LHD_MISA</inv:systemCode></inv:controlData></inv:invoice>"
}
Response
{
"Status": 200,
"Message": null,
"Payload": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><inv:invoice xmlns:inv=\"http://laphoadon.gdt.gov.vn/2014/09/invoicexml/v1\" xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"><inv:invoiceData id=\"data\"><inv:invoiceType>02GTTT</inv:invoiceType><inv:templateCode>02GTTT0/002</inv:templateCode><inv:invoiceSeries>AB/21E</inv:invoiceSeries><inv:invoiceNumber>0000015</inv:invoiceNumber><inv:invoiceIssuedDate>2021-10-30T00:00:00</inv:invoiceIssuedDate><inv:signedDate>2022-09-22T11:51:48</inv:signedDate><inv:currencyCode>VND</inv:currencyCode><inv:invoiceNote>Hóa đơn bán lẻ</inv:invoiceNote><inv:adjustmentType>1</inv:adjustmentType><inv:payments><inv:payment><inv:paymentMethodName>Tiền mặt</inv:paymentMethodName></inv:payment></inv:payments><inv:delivery /><inv:sellerLegalName>CÔNG TY TNHH MTV DỊCH VỤ THỦY LỢI BÌNH PHƯỚC</inv:sellerLegalName><inv:sellerTaxCode>2222222222-736</inv:sellerTaxCode><inv:sellerAddressLine>Đường Lê Duẩn - Phường Tân Bình - Thành Phố Đồng Xoài - Bình Phước</inv:sellerAddressLine><inv:sellerPhoneNumber>012345678912345</inv:sellerPhoneNumber><inv:sellerFaxNumber>25251325</inv:sellerFaxNumber><inv:sellerEmail>ngominhdai92@gmail.com</inv:sellerEmail><inv:sellerWebsite>abc.com.vn</inv:sellerWebsite><inv:sellerBankAccount>11047007</inv:sellerBankAccount><inv:sellerBankName>ACB</inv:sellerBankName><inv:buyerLegalName>Công ty cổ phần MISA (Test)</inv:buyerLegalName><inv:buyerDisplayName>Nguyễn Xuân A</inv:buyerDisplayName><inv:buyerTaxCode>0101243150-888</inv:buyerTaxCode><inv:buyerAddressLine>Tầng 9, Tòa nhà Technosoft, Duy Tân, Dịch Vọng Hậu, Cầu Giấy, Hà Nội</inv:buyerAddressLine><inv:buyerEmail>support@misa.com.vn</inv:buyerEmail><inv:buyerBankName>Hội sở Ngân hàng TMCP Á Châu</inv:buyerBankName><inv:buyerBankAccount>21137519</inv:buyerBankAccount><inv:exchangeRate>1 </inv:exchangeRate><inv:items><inv:item><inv:lineNumber>1</inv:lineNumber><inv:itemCode>SME2019.Pro</inv:itemCode><inv:itemName>Phần mềm kế toán doanh nghiệp vừa và nhỏ - gói Professional</inv:itemName><inv:unitName>Gói</inv:unitName><inv:quantity>1.00 </inv:quantity><inv:itemTotalAmountWithoutVat>1000000 </inv:itemTotalAmountWithoutVat><inv:vatPercentage>0</inv:vatPercentage><inv:vatAmount>0 </inv:vatAmount><inv:unitPrice>1000000.0 </inv:unitPrice><inv:promotion>0</inv:promotion></inv:item></inv:items><inv:invoiceTaxBreakdowns><inv:invoiceTaxBreakdown><inv:vatPercentage>0</inv:vatPercentage></inv:invoiceTaxBreakdown></inv:invoiceTaxBreakdowns><inv:totalAmountWithoutVAT>1000000 </inv:totalAmountWithoutVAT><inv:totalVATAmount>100000 </inv:totalVATAmount><inv:totalAmountWithVAT>1100000 </inv:totalAmountWithVAT><inv:totalAmountWithVATInWords>Chín triệu đồng chẵn</inv:totalAmountWithVATInWords><inv:discountAmount>0 </inv:discountAmount><inv:totalAmountWithVATFrn>1100000 </inv:totalAmountWithVATFrn><inv:userDefines><![CDATA[<TransactionID>8VU0C220B</TransactionID><InvoiceRefID>91ad15ac-9c54-43fd-8425-a97d03a40005</InvoiceRefID><InvoiceTemplateID>1d324c9b-d4a3-4a16-a2f6-4b36100b11d1</InvoiceTemplateID><MainCurrency>VND</MainCurrency><UnitPriceDecimalDigits>1</UnitPriceDecimalDigits><UnitPriceOCDecimalDigits>0</UnitPriceOCDecimalDigits><QuantityDecimalDigits>2</QuantityDecimalDigits><AmountDecimalDigits>0</AmountDecimalDigits><AmountOCDecimalDigits>2</AmountOCDecimalDigits><ExchangRateDecimalDigits>0</ExchangRateDecimalDigits><CoefficientDecimalDigits>2</CoefficientDecimalDigits><ClockDecimalDigits></ClockDecimalDigits><WaterArrearage>0</WaterArrearage><WaterPromotion>0</WaterPromotion><WaterUsed>0</WaterUsed><EnvironmmentFeeRate>0</EnvironmmentFeeRate><EnvironmmentFeeAmount>0 </EnvironmmentFeeAmount><OtherFeeRate>0.00 </OtherFeeRate><OtherFeeAmount>0 </OtherFeeAmount><SortOrderIndex>0</SortOrderIndex><SumOfClockIndex>0</SumOfClockIndex><IsTaxReduction>0</IsTaxReduction><ListCustomDetail><ClockInfos></ClockInfos></ListCustomDetail><UserItems><UserItem><LineNumber>1</LineNumber><AmountOC>0 </AmountOC><VATAmountOC>0 </VATAmountOC><DiscountRate>0.00 </DiscountRate><DiscountAmountOC>0 </DiscountAmountOC><DiscountAmount>0 </DiscountAmount><InventoryItemType>0</InventoryItemType><TaxReductionAmountOC>0 </TaxReductionAmountOC><TaxReductionAmount>0 </TaxReductionAmount></UserItem></UserItems>]]></inv:userDefines></inv:invoiceData><inv:controlData><inv:systemCode>LHD_MISA</inv:systemCode></inv:controlData><Signature Id=\"seller\" xmlns=\"http://www.w3.org/2000/09/xmldsig#\"><SignedInfo><CanonicalizationMethod Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\" /><SignatureMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#rsa-sha1\" /><Reference URI=\"#data\"><Transforms><Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#enveloped-signature\" /></Transforms><DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\" /><DigestValue>RiLPxS1hg6JGH9/hfzOXzTr+m/M=</DigestValue></Reference></SignedInfo><SignatureValue>Up6ON7qcqYC4BZ6no7/BgOk1i1ytx4jBw+gyP1OTKhwUbCcxdVzDzkmAyix3HUR2BSiuyHBmza+BuDwzWcbeji0ynSKn+9RyGuLE5eqdbwTKLLWbOhna00swLIG5/8BC51OZgZVH+sZUJZ+8YHgi5J5w40sFYgOGFtd36oNoaYe8YZqtiR9BuglCuRrjRVK8oMTAxKHH5yR0Ru278aC42b7NgEsCVS99aRCVD6LQON+W+rxRd0+lGs6wPxQupINVkc7SLyvCwH8VWrzZPDGUCVdamqNod212Fn9hIOH1qjd3pKeD8choRk7Ibm2oe8tkJut8uf7/wUwAd43RwDFXOQ==</SignatureValue><KeyInfo><X509Data><X509SubjectName>Description=MST:2222222222-736, CN=2222222222-736, OU=2222222222-736, O=2222222222-736, L=hn, S=hn, C=vn</X509SubjectName><X509Certificate>MIIDmTCCAoGgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBjzELMAkGA1UEBhMCdm4xCzAJBgNVBAgTAmhuMQswCQYDVQQHEwJobjEXMBUGA1UEChMOMjIyMjIyMjIyMi03MzYxFzAVBgNVBAsTDjIyMjIyMjIyMjItNzM2MRcwFQYDVQQDEw4yMjIyMjIyMjIyLTczNjEbMBkGA1UEDRMSTVNUOjIyMjIyMjIyMjItNzM2MB4XDTIyMDkyMjAxNDIwMFoXDTI3MDkyMjAxNDIwMFowgY8xCzAJBgNVBAYTAnZuMQswCQYDVQQIEwJobjELMAkGA1UEBxMCaG4xFzAVBgNVBAoTDjIyMjIyMjIyMjItNzM2MRcwFQYDVQQLEw4yMjIyMjIyMjIyLTczNjEXMBUGA1UEAxMOMjIyMjIyMjIyMi03MzYxGzAZBgNVBA0TEk1TVDoyMjIyMjIyMjIyLTczNjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMcuRh/fR8bTi2LZJ+IvecT7pFuUVq0DTAm33/Aqdzsh09DbxxZ4XwJAxEEJLmvL49ELA8sJfndxmhRhEqGrR4tXnSUYvx4qlLWS7RCBrptURLh/7P0z8SvBqyCaoa26wSm6g1oiy7skNMKw8TbXnhRtGe4pYdkQ7AzGRwDIfvQ08Nz91pUQsdcIHAozm8OG4dLvbRZeqiV+SfgBnl6AG3qtKTOJUG78KLek5NkhlpmN0FZQjrmQKPhHTqjNYZCfMR7YbF1UDRGRiCIoiZpBNVCBR7d5oqR4++s4JoKzNrsnNwK0fq28+1mkR24WdZ8jppnUVOIMX2epLEophGHqx90CAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAIv8AtVIIW4Uz/P6gsOs4QU6Y38XpLWM8trEVbP4AmrgMClMlNbDQu/HCqucwwCV9CqDl1udajSNcMq3iDnq9cnv5mds7FAh+v2W/LHMd2Rm5dGeWoGXh4/slUWsNB3bxvJa1yAtRjyBv9Epg2uW5If2l7IfnDs0U6btojNNNlN769JNc8VoeQcCOtytO2s1zyaExjNkzbMRw4cWIkAeyVpSok2DFSaEUmjM1YJgcXJr8WHz/LSQkEPEcd5wsd+JjjWAWs1jgRU6yd+D8tgiRA63eqy2RXNpPMCmnxL/tZ4Fc3QQeSvzdM0PisbptSy5gHzQ331wo77bfTKukspL6jA==</X509Certificate></X509Data></KeyInfo></Signature></inv:invoice>",
"Data": "{\"addTimeStamp\":false,\"tsaUrl\":null,\"tsaUsername\":null,\"tsaPassword\":null,\"tsaTokenSizeEstimate\":4096,\"tsaDigestAlgorithm\":null,\"location\":null,\"reason\":null,\"pageNumber\":1,\"LLX\":60.0,\"LLY\":20.0,\"URX\":0.0,\"URY\":0.0,\"width\":300.0,\"height\":60.0,\"renderingMode\":0,\"deleteSignFileAfterSign\":false,\"signByCaption\":\"Ký bởi: 2222222222-736\",\"signDateCaption\":\"Ký ngày: 22/09/2022\",\"signReasonCaption\":\"Lý do: \",\"signLocationCaption\":\"Vị trí: \",\"append\":false,\"addImageBackGround\":true,\"imageFile\":null,\"usedDefaultImageFile\":true,\"imageScale\":0.8}",
"AppVersion": "2.0.0.0"
}
3.Phát hành hóa đơn
Phương thức này cho phép các ứng dụng thực hiện phát hành một hoặc nhiều HĐĐT. Các HĐĐT có thể là các hóa đơn gốc, hóa đơn thay thế hoặc hóa đơn điều chỉnh.
Kiểu doanh nghiệp | Method | <BaseURL> |
---|---|---|
Không mã | POST | <BaseURL>/itg/invoicepublishing |
Có mã | POST | <BaseURL>/code/itg/invoicepublishing |
3.1 Body parameter
[
{
"RefID": "",
"TransactionID": "",
"InvoiceData": "",
"IsSendEmail":true,
"ReceiverEmail":"",
"ReceiverName":"",
"IsInvoiceSummary": false
}
]
3.2 Response
Trường hợp thành công, HttpStatusCode = 200 (OK) và dữ liệu trả về sẽ là một danh sách, mỗi dòng sẽ gồm các thông tin sau
Tên | Kiểu dữ liệu | Mô tả |
---|---|---|
TransactionID | String | Mã tra cứu hóa đơn |
PublishStatus | Int | Kết quả phát hành hóa đơn điện tử |
ErrorCode | String | Mã lỗi. Các mã lỗi có thể gồm: - SignatureEmpty: Không có chữ ký số trong hóa đơn điện tử - InvalidSignature: Chữ ký số không hợp lệ - InvalidXMLData: Dữ liệu hóa đơn điện tử không hợp lệ - RequireInfo_{0}: Thiếu thông tin bắt buộc - InvoicePublishNotExist: Không có thông báo phát hành hóa đơn cho mẫu số, ký hiệu tương ứng của hóa đơn - InvoiceNumberNotCotinuous: Số hóa đơn không liên tục - InvalidInvNo: Số hóa đơn không hợp lệ - InvoiceIssuedDate: Ngày hóa đơn không hợp lệ - InvalidVatPercentage: Thuế suất không hợp lệ - InvalidTaxCode: Mã số thuế không hợp lệ - InvoiceDuplicated: Trùng hóa đơn dựa vào refid |
Khi không thành công, Response nhận được sẽ như sau:
Lỗi khi tham số quá dài. Mỗi lần chỉ phát hành được tối đa 50 hóa đơn
{
"Success": false,
"ErrorCode": "InvoiceQuantityTooLarge",
"Errors": ""
}
Khi không thành công đối với mã lỗi InvoiceDuplicated, Response nhận được sẽ như sau:
{
"Success" : true,
"Data" : "thông tin hóa đơn đã phát hành , errorode : InvoiceDuplicated",
"NewData" : "",
"Errors" : [],
"ErrorCode" : ""
}
* Chú ý:
• "success": true và tất cả các Errocode bên trong đều là “” thì là phát hành hóa đơn điện tử thành công. • "success": true và Errocode bên trong <> “” : Phát hành có lỗi, phải show Errocode để đối chiếu với bảng mã lỗi xem là lỗi gì. • "success": False : Phát hành hóa đơn không thành công • "success": true chỉ là trạng thái gửi lên MISA Meinvoice thành công, phải duyệt tất cả các Errocode để xác định thật sự thành công hay khôngVí dụ Với 1 Response trả về có lỗi {
"Success": true,
"Data": "[{\"RefID\":\"6fab129c-987f-4099-812d-f90abfeaea42\",\"TransactionID\":null,\"InvoiceNumber\":null,\"InvoiceIssuedDate\":null,\"InvoiceData\":null,\"ErrorCode\":\"InvoiceIssuedDateSmallerThanLastest\",\"CallbackUrl\":null}]",
"NewData": "",
"Errors": [],
"ErrorCode": "",
"ErrorCodeDetail": null
}
Diễn giải:
+ "Success": true : Là trạng thái request gửi hóa đơn lên Meinvoice thành công
+ "Data": "[{\"RefID\":\"6fab129c-987f-4099-812d-f90abfeaea42\",\"TransactionID\":null,\"InvoiceNumber\":null,\"InvoiceIssuedDate\":null,\"InvoiceData\":null,\"ErrorCode\":\"InvoiceIssuedDateSmallerThanLastest\",\"CallbackUrl\":null}]" :
Data trả về, cần check” ErrorCode” bên trong này nữa, ErrorCode này là các lỗi về dữ liệu của hóa đơn
Như kiểu ngày không hợp lệ,số hóa đơn không liên tục, mã số thuế không đúng,…
+ "Errors": [] : tên lỗi
+ "ErrorCode": "": Mã lỗi
Đây là các lỗi chung , kiểu như server có lỗi, Authen, tài nguyên, license..
Tóm lại khi client thi công phải check cả Errcode bên ngoài à Errocode ở trong Data để biết lỗi do đâu, phải đối chiếu với bảng mã lỗi để show thông báo cho người dùng.
3.3 Ví dụ
3.3.1 Request
https://testapi.meinvoice.vn/api/v3/code/invoicepublishing
[
{
"RefID": "19d02e93-cb8b-4a60-8b06-4a7387cd44cc",
"TransactionID": "QWIGTN63E_",
"CallbackUrl": null,
"InvoiceData": "<?xml version=\"1.0\" encoding=\"utf-8\"?><HDon><DLHDon Id=\"QWIGTN63E_\"><TTChung><PBan>2.0.0</PBan><THDon>Hóa đơn giá trị gia tăng</THDon><KHMSHDon>1</KHMSHDon><KHHDon>C22TTT</KHHDon><SHDon>00000321</SHDon><NLap>2022-09-22</NLap><DVTTe>VND</DVTTe><TGia>1.00</TGia><HTTToan>TM/CK</HTTToan><MSTTCGP>0101243150</MSTTCGP></TTChung><NDHDon><NBan><Ten>MISA TEST</Ten><MST>2222222222-444</MST><DChi>HN</DChi><SDThoai>0971500731</SDThoai><DCTDTu>testmisa@yahoo.com</DCTDTu><STKNHang>342353535</STKNHang><TNHang>Viettinbank</TNHang><Fax>2344</Fax><Website>meinvvoice.vn</Website><TTKhac><TTin><TTruong>SellerBankAccount</TTruong><KDLieu>string</KDLieu><DLieu>342353535</DLieu></TTin><TTin><TTruong>SellerBankName</TTruong><KDLieu>string</KDLieu><DLieu>Viettinbank</DLieu></TTin><TTin><TTruong>SellerEmail</TTruong><KDLieu>string</KDLieu><DLieu>testmisa@yahoo.com</DLieu></TTin><TTin><TTruong>SellerFax</TTruong><KDLieu>string</KDLieu><DLieu>2344</DLieu></TTin><TTin><TTruong>SellerPhoneNumber</TTruong><KDLieu>string</KDLieu><DLieu>0971500731</DLieu></TTin><TTin><TTruong>SellerWebsite</TTruong><KDLieu>string</KDLieu><DLieu>meinvvoice.vn</DLieu></TTin><TTin><TTruong>SellerAddress</TTruong><KDLieu>string</KDLieu><DLieu>HN</DLieu></TTin></TTKhac></NBan><NMua><Ten>CÔNG TY CỔ PHẦN MISA</Ten><MST>0101243150</MST><DChi>Tầng 9, tòa nhà Technosoft, phố Duy Tân, Phường Dịch Vọng Hậu, Quận Cầu Giấy, Thành phố Hà Nội, Việt Nam</DChi></NMua><DSHHDVu><HHDVu><TChat>1</TChat><STT>1</STT><THHDVu>HH01</THHDVu><DVTinh>cais</DVTinh><SLuong>1.000000</SLuong><DGia>100000.000000</DGia><TLCKhau>0.0000</TLCKhau><STCKhau>0.000000</STCKhau><ThTien>100000.000000</ThTien><TSuat>10%</TSuat><TTKhac><TTin><TTruong>AmountOC</TTruong><KDLieu>numeric</KDLieu><DLieu>100000.0</DLieu></TTin><TTin><TTruong>Amount</TTruong><KDLieu>numeric</KDLieu><DLieu>100000.0</DLieu></TTin><TTin><TTruong>AmountAfterTax</TTruong><KDLieu>numeric</KDLieu><DLieu>0.0</DLieu></TTin><TTin><TTruong>DiscountAmount</TTruong><KDLieu>numeric</KDLieu><DLieu>0.0</DLieu></TTin><TTin><TTruong>UnitPriceAfterTax</TTruong><KDLieu>numeric</KDLieu><DLieu>0.0</DLieu></TTin><TTin><TTruong>VATAmount</TTruong><KDLieu>numeric</KDLieu><DLieu>10000.0</DLieu></TTin><TTin><TTruong>VATAmountOC</TTruong><KDLieu>numeric</KDLieu><DLieu>10000.0</DLieu></TTin><TTin><TTruong>SortOrder</TTruong><KDLieu>numeric</KDLieu><DLieu>1</DLieu></TTin></TTKhac></HHDVu></DSHHDVu><TToan><THTTLTSuat><LTSuat><TSuat>10%</TSuat><ThTien>100000.000000</ThTien><TThue>10000.000000</TThue></LTSuat></THTTLTSuat><TgTCThue>100000.000000</TgTCThue><TgTThue>10000.000000</TgTThue><TTCKTMai>0.000000</TTCKTMai><TgTTTBSo>110000.000000</TgTTTBSo><TgTTTBChu>Một trăm mười nghìn đồng chẵn.</TgTTTBChu><TTKhac><TTin><TTruong>TotalAmount</TTruong><KDLieu>numeric</KDLieu><DLieu>110000.0</DLieu></TTin><TTin><TTruong>TotalAmountInWordsUnsignNormalVN</TTruong><KDLieu>string</KDLieu><DLieu>Mot tram muoi nghin dong chan.</DLieu></TTin><TTin><TTruong>TotalAmountInWordsVN</TTruong><KDLieu>string</KDLieu><DLieu>Một trăm mười nghìn đồng chẵn.</DLieu></TTin><TTin><TTruong>TotalDiscountAmount</TTruong><KDLieu>numeric</KDLieu><DLieu>0.0</DLieu></TTin><TTin><TTruong>TotalSaleAmount</TTruong><KDLieu>numeric</KDLieu><DLieu>100000.0</DLieu></TTin><TTin><TTruong>TotalVATAmount</TTruong><KDLieu>numeric</KDLieu><DLieu>10000.0</DLieu></TTin><TTin><TTruong>TotalSaleAmountOC</TTruong><KDLieu>numeric</KDLieu><DLieu>100000.0</DLieu></TTin><TTin><TTruong>TotalAmountInWordsByENG</TTruong><KDLieu>string</KDLieu><DLieu>One hundred ten thousand dongs.</DLieu></TTin><TTin><TTruong>TotalAmountWithoutVAT</TTruong><KDLieu>numeric</KDLieu><DLieu>100000.0</DLieu></TTin><TTin><TTruong>TotalAmountWithoutVATOC</TTruong><KDLieu>numeric</KDLieu><DLieu>100000.0</DLieu></TTin><TTin><TTruong>TotalDiscountAmountOC</TTruong><KDLieu>numeric</KDLieu><DLieu>0.0</DLieu></TTin></TTKhac></TToan></NDHDon><TTKhac><TTin><TTruong>InvoiceTemplateID</TTruong><KDLieu>string</KDLieu><DLieu>88f54d4c-08eb-4255-97ae-ec99b82e9de6</DLieu></TTin><TTin><TTruong>RefID</TTruong><KDLieu>string</KDLieu><DLieu>19d02e93-cb8b-4a60-8b06-4a7387cd44cc</DLieu></TTin><TTin><TTruong>IsTaxReduction</TTruong><KDLieu>numeric</KDLieu><DLieu>False</DLieu></TTin><TTin><TTruong>IsTaxReduction43</TTruong><KDLieu>numeric</KDLieu><DLieu>False</DLieu></TTin><TTin><TTruong>AmountDecimalDigits</TTruong><KDLieu>string</KDLieu><DLieu>0</DLieu></TTin><TTin><TTruong>AmountOCDecimalDigits</TTruong><KDLieu>string</KDLieu><DLieu>2</DLieu></TTin><TTin><TTruong>CoefficientDecimalDigits</TTruong><KDLieu>string</KDLieu><DLieu>2</DLieu></TTin><TTin><TTruong>ExchangRateDecimalDigits</TTruong><KDLieu>string</KDLieu><DLieu>2</DLieu></TTin><TTin><TTruong>MainCurrency</TTruong><KDLieu>string</KDLieu><DLieu>VND</DLieu></TTin><TTin><TTruong>QuantityDecimalDigits</TTruong><KDLieu>string</KDLieu><DLieu>2</DLieu></TTin><TTin><TTruong>UnitPriceDecimalDigits</TTruong><KDLieu>string</KDLieu><DLieu>0</DLieu></TTin><TTin><TTruong>UnitPriceOCDecimalDigits</TTruong><KDLieu>string</KDLieu><DLieu>0</DLieu></TTin><TTin><TTruong>AppID</TTruong><KDLieu>string</KDLieu><DLieu>AB0FDDF474E1423FA43D7475AF759166</DLieu></TTin><TTin><TTruong>TransactionID</TTruong><KDLieu>string</KDLieu><DLieu>QWIGTN63E_</DLieu></TTin></TTKhac></DLHDon><DLQRCode>00020199970032F772173E44D8423E884B2483477508FB01132222222222444020110306C22TTT040332105082022092206061100006304DB22</DLQRCode><DSCKS><NBan><Signature Id=\"seller\" xmlns=\"http://www.w3.org/2000/09/xmldsig#\"><SignedInfo><CanonicalizationMethod Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\" /><SignatureMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#rsa-sha1\" /><Reference URI=\"#QWIGTN63E_\"><Transforms><Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#enveloped-signature\" /></Transforms><DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\" /><DigestValue>9MuJ66eplnbrXfRX++K4JJxv/7A=</DigestValue></Reference><Reference URI=\"#SigningTime\"><DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\" /><DigestValue>X25S2W1uZ/pY+Xgp6qfIKkdgr4c=</DigestValue></Reference></SignedInfo><SignatureValue>OsoJ3U1wu1MuchklL33uSACoolZn+adMosXBQ6QrTiAfInImUkE8xM2XFf/5vbSES0yqgSOcRtgDq0bqvFdAqKvV/PB7jb5wkCVB5eN9lcjXXM4n1JXAZJ8ZX14daXOpEgmFV75RbHTOaiLs6AjHXOJVLh7B74fXyQfJTUz/yGRphXnprccWzs/R84YptHfNUsoXR4gPq0EXpvKRNhJL0I1gFqT62klRPUMkBGWiyOnw/ua6INL2cEbbD1sQDDG0cFGoqMVeThoc9C5Gcy6o3iv9ipa0TyInNiI9m2PAR7Y8fvz7WgtyPRgevp3SqPdacJSM8osGH3e2i1eGtAYz0w==</SignatureValue><KeyInfo><X509Data><X509SubjectName>Description=MST:2222222222-444, CN=2222222222-444, OU=2222222222-444, O=2222222222-444, L=hn, S=hn, C=vn</X509SubjectName><X509Certificate>MIIDmTCCAoGgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBjzELMAkGA1UEBhMCdm4xCzAJBgNVBAgTAmhuMQswCQYDVQQHEwJobjEXMBUGA1UEChMOMjIyMjIyMjIyMi00NDQxFzAVBgNVBAsTDjIyMjIyMjIyMjItNDQ0MRcwFQYDVQQDEw4yMjIyMjIyMjIyLTQ0NDEbMBkGA1UEDRMSTVNUOjIyMjIyMjIyMjItNDQ0MB4XDTIxMTIxNDAzMTIwMFoXDTIyMTIxNDAzMTIwMFowgY8xCzAJBgNVBAYTAnZuMQswCQYDVQQIEwJobjELMAkGA1UEBxMCaG4xFzAVBgNVBAoTDjIyMjIyMjIyMjItNDQ0MRcwFQYDVQQLEw4yMjIyMjIyMjIyLTQ0NDEXMBUGA1UEAxMOMjIyMjIyMjIyMi00NDQxGzAZBgNVBA0TEk1TVDoyMjIyMjIyMjIyLTQ0NDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAN4YbrdF2wBovdFzdppaIkK7cVl+gn/1zQIqKbOXpNGWCgErznRsTSsED5WtpcTw2YqrYjdcE+4M2pxCncDC3upl938LyZ2zh+Ayd9bg69tNT7WyPQpGirPen8ZYyxX/oiQWdwG7JISZcmije1WHnLsbTfPN68+3OccJMC9+3xK4Smc1VjPZGwaJxg5PZvgI85eLtzHl1vERo1al67A5Ne6iSlv7DsVHxcIjerTdRsNdmBLVH5ym9P675pGIlEtSxxiTmA/5wa2/1BiUyXhjfEUPS89f+C2qiOXwUVazoIEGKbzrNZUG4LNND9kkiDzhq5mjUqvF+IX6JuFLEIIOXeUCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAldtcDUSxnz0rDKcqyGflmqeyeArFhdrFUGz0uOWJZefpQ2/ENTuNLDCXyEZXgMvaZgMJbUsZ9Ahf8anpVIGWbJ36myvLyXpC/LlRYlH8P32y675gmOGrFvg9UAx/VMYgKhUMeZpf+VFoJiInvZH0ZDyybIc+SaEuFpLSXy/YMWafpMivtatA5izRjwdmGH9LM13HxeoyYrwzKPaeJY4EWAPzytiBe5b59WJl5lXiqsmxjS171IuW2AOpsitP5QVzgLp5Cy/+CpW35waPIM8wvOMiKTE3y5bGGnUk4ZbZOISu61K70w5KZa0Zgx58H7cmn+/i/996ZoJmRbjcP0V9Rg==</X509Certificate></X509Data></KeyInfo><Object Id=\"SigningTime\"><SignatureProperties><SignatureProperty Target=\"#seller\"><SigningTime>2022-09-22T14:09:56</SigningTime></SignatureProperty></SignatureProperties></Object></Signature></NBan></DSCKS></HDon>",
"InvoiceDataOld": null,
"IsSendEmail": false,
"ReceiverName": null,
"ReceiverEmailCC": null,
"ReceiverEmailBCC": null,
"ReceiverEmail": null,
"oDataOld": null,
"ClientIDToPush": "MeDesktop123_2222222222-444_0971500731",
"EditVersion": 0,
"InvNo": null,
"IsInvoiceSummary": false,
"IsValidateSigned": true
}
]
3.3.2 Response
{
"Success":true,
"ErrorCode":null,
"Errors":[],
"Data":"[{
\"RefID\":\"19d02e93-cb8b-4a60-8b06-4a7387cd44cc\",
\"TransactionID\":\"QWIGTN63E_\",
\"InvTemplateNo\":\"1\",
\"InvSeries\":\"C22TTT\",
\"InvNo\":\"00000321\",
\"InvCode\":\"\",
\"InvDate\":\"2022-09-22T00:00:00+07:00\",
\"ErrorCode\":\"\",
\"CustomData\":null
}]",
"CustomData":null
}
4.Mô tả đối tượng
4.1OriginalInvoiceData (thông tin chung của hóa đơn)
/// <summary>
/// Thông tin hóa đơn gốc
/// </summary>
public class OriginalInvoiceData
{
/// <summary>
/// ID của hóa đơn trên Client App
/// </summary>
public string RefID { get; set; }
/// <summary>
/// Ký hiệu hóa đơn
/// </summary>
public string InvSeries { get; set; }
/// <summary>
/// Tên hóa đơn
/// </summary>
public string InvoiceName { get; set; }
/// <summary>
/// Ngày hóa đơn
/// </summary>
/// <returns></returns>
public DateTime InvDate { get; set; }
/// <summary>
/// Mã loại tiền tệ
/// </summary>
public string CurrencyCode { get; set; }
/// <summary>
/// Tỷ giá
/// </summary>
public decimal? ExchangeRate { get; set; }
/// <summary>
/// Hình thức thanh toán
/// </summary>
public string PaymentMethodName { get; set; }
/// <summary>
/// Tính chất hóa đơn (1: thay thế; 2: điều chỉnh)
/// </summary>
public int? ReferenceType { get; set; }
/// <summary>
/// Là hóa đơn gửi dạng bảng tổng hợp
/// </summary>
public bool IsInvoiceSummary { get; set; }
/// <summary>
/// Loại hóa đơn bị thay thế/điều chỉnh (1: Hóa đơn 123; 2: Hóa đơn có mã; 3: Hóa đơn 51; 4: Hóa đơn đặt in 123)
/// </summary>
public int? OrgInvoiceType { get; set; }
/// <summary>
/// Ký hiệu mẫu hđ bị thay thế/điều chỉnh
/// </summary>
public string OrgInvTemplateNo { get; set; }
/// <summary>
/// Ký hiệu hđ bị thay thế/điều chỉnh
/// </summary>
public string OrgInvSeries { get; set; }
/// <summary>
/// Số hđ bị thay thế/điều chỉnh
/// </summary>
public string OrgInvNo { get; set; }
/// <summary>
/// Ngày hóa đơn bị thay thế/điều chỉnh
/// </summary>
public DateTime? OrgInvDate { get; set; }
/// <summary>
/// Ghi chú của hóa đơn
/// </summary>
public string InvoiceNote { get; set; }
/// <summary>
/// Tên người bán
/// </summary>
public string SellerLegalName { get; set; }
/// <summary>
/// MST người bán
/// </summary>
public string SellerTaxCode { get; set; }
/// <summary>
/// Địa chỉ người bán
/// </summary>
public string SellerAddress { get; set; }
/// <summary>
/// ĐT người bán
/// </summary>
public string SellerPhoneNumber { get; set; }
/// <summary>
/// Email người bán
/// </summary>
public string SellerEmail { get; set; }
/// <summary>
/// Số TK ngân hàng người bán
/// </summary>
public string SellerBankAccount { get; set; }
/// <summary>
/// Tên ngân hàng người bán
/// </summary>
public string SellerBankName { get; set; }
/// <summary>
/// Fax người bán
/// </summary>
public string SellerFax { get; set; }
/// <summary>
/// Website người bán
/// </summary>
public string SellerWebsite { get; set; }
/// <summary>
/// Tên (Tên người xuất hàng)
/// </summary>
public string StockOutLegalName { get; set; }
/// <summary>
/// Mã số thuế (MST người xuất hàng)
/// </summary>
public string StockOutTaxCode { get; set; }
/// <summary>
/// Lệnh điều động nội bộ
/// </summary>
public string InternalCommand { get; set; }
/// <summary>
/// Địa chỉ (Địa chỉ kho xuất hàng)
/// </summary>
public string StockOutAddress { get; set; }
/// <summary>
/// Họ và tên người xuất hàng
/// </summary>
public string StockOutFullName { get; set; }
/// <summary>
/// Tên người vận chuyển
/// </summary>
public string TransporterName { get; set; }
/// <summary>
/// Hợp đồng số (Hợp đồng vận chuyển)
/// </summary>
public string TransportContractCode { get; set; }
/// <summary>
/// Phương tiện vận chuyển
/// </summary>
public string Transport { get; set; }
/// <summary>
/// Tên (Tên người nhận hàng)
/// </summary>
public string StockInLegalName { get; set; }
/// <summary>
/// Mã số thuế (Mã số thuế người nhận hàng)
/// </summary>
public string StockInTaxCode { get; set; }
/// <summary>
/// Họ và tên người nhận hàng
/// </summary>
public string StockInFullName { get; set; }
/// <summary>
/// Địa chỉ (Địa chỉ kho nhận hàng)
/// </summary>
public string StockInAddress { get; set; }
/// <summary>
/// Mã số thuế (MST người xuất hàng)
/// </summary>
public string ContractCode { get; set; }
/// <summary>
/// Hợp đồng kinh tế ngày
/// </summary>
public DateTime? ContractDate { get; set; }
/// <summary>
/// Tên đơn vị mua
/// </summary>
public string BuyerLegalName { get; set; }
/// <summary>
/// MST người mua
/// </summary>
public string BuyerTaxCode { get; set; }
/// <summary>
/// Địa chỉ người mua
/// </summary>
public string BuyerAddress { get; set; }
/// <summary>
/// Mã khách hàng
/// </summary>
public string BuyerCode { get; set; }
/// <summary>
/// ĐT người mua
/// </summary>
public string BuyerPhoneNumber { get; set; }
/// <summary>
/// Email người mua
/// </summary>
public string BuyerEmail { get; set; }
/// <summary>
/// Tên người mua hàng
/// </summary>
public string BuyerFullName { get; set; }
/// <summary>
/// Số TK ngân hàng người mua
/// </summary>
public string BuyerBankAccount { get; set; }
/// <summary>
/// Tên ngân hàng người mua
/// </summary>
public string BuyerBankName { get; set; }
/// <summary>
/// tên người liên hệ
/// </summary>
public string ContactName { get; set; }
/// <summary>
/// Tỷ lệ chiết khấu cho hóa đơn chiết khấu theo giá trị hóa đơn
/// </summary>
public decimal? DiscountRate { get; set; }
/// <summary>
/// tổng tiền chưa thuế
/// </summary>
public decimal? TotalAmountWithoutVATOC { get; set; }
/// <summary>
/// Tổng tiền thuế
/// </summary>
public decimal? TotalVATAmountOC { get; set; }
/// <summary>
/// Tổng tiền CKTM
/// </summary>
public decimal? TotalDiscountAmountOC { get; set; }
/// <summary>
/// Tổng tiền bằng số
/// </summary>
public decimal? TotalAmountOC { get; set; }
/// <summary>
/// Tổng tiền bằng chữ
/// </summary>
public string TotalAmountInWords { get; set; }
/// <summary>
/// Chi tiết hóa đơn
/// </summary>
/// <returns></returns>
public List<OriginalInvoiceDetail> OriginalInvoiceDetail { get; set; }
/// <summary>
/// Danh sách các loại thuế suất
/// </summary>
public List<TaxRateInfo> TaxRateInfo { get; set; }
/// <summary>
/// Danh sách các loại phí
/// </summary>
public List<FeeInfo> FeeInfo { get; set; }
/// <summary>
/// Định dạng số để hiển thị hóa đơn
/// </summary>
public OptionUserDefined OptionUserDefined { get; set; }
/// <summary>
/// ID mẫu hóa đơn
/// </summary>
public Guid? InvoiceTemplateID { get; set; }
/// <summary>
/// Trường mở rộng 1
/// </summary>
public string CustomField1 { get; set; }
/// <summary>
/// Trường mở rộng 2
/// </summary>
public string CustomField2 { get; set; }
/// <summary>
/// Trường mở rộng 3
/// </summary>
public string CustomField3 { get; set; }
/// <summary>
/// Trường mở rộng 4
/// </summary>
public string CustomField4 { get; set; }
/// <summary>
/// Trường mở rộng 5
/// </summary>
public string CustomField5 { get; set; }
/// <summary>
/// Trường mở rộng 6
/// </summary>
public string CustomField6 { get; set; }
/// <summary>
/// Trường mở rộng 7
/// </summary>
public string CustomField7 { get; set; }
/// <summary>
/// Trường mở rộng 8
/// </summary>
public string CustomField8 { get; set; }
/// <summary>
/// Trường mở rộng 9
/// </summary>
public string CustomField9 { get; set; }
/// <summary>
/// Trường mở rộng 10
/// </summary>
public string CustomField10 { get; set; }
/// <summary>
/// Tổng tiền bằng số quy đổi
/// </summary>
public decimal? TotalAmount { get; set; }
/// <summary>
/// tổng tiền chưa thuế quy đổi
/// </summary>
public decimal? TotalAmountWithoutVAT { get; set; }
/// <summary>
/// Tổng tiền thuế quy đổi
/// </summary>
public decimal? TotalVATAmount { get; set; }
/// <summary>
/// Tổng tiền CKTM quy đổi
/// </summary>
public decimal? TotalDiscountAmount { get; set; }
/// <summary>
/// Tổng tiền hàng
/// </summary>
public decimal? TotalSaleAmountOC { get; set; }
/// <summary>
/// Tổng tiền hàng quy đổi
/// </summary>
public decimal? TotalSaleAmount { get; set; }
/// <summary>
/// Tổng tiền xuất kho nguyên tệ
/// </summary>
public decimal? StockTotalAmountOC { get; set; }
/// <summary>
/// Tổng tiền xuất kho
/// </summary>
public decimal? StockTotalAmount { get; set; }
/// <summary>
/// Có giảm trừ thuế không
/// </summary>
public bool? IsTaxReduction { get; set; }
/// <summary>
/// Số tiền bằng chữ (VNĐ)
/// </summary>
public string TotalAmountInWordsVN { get; set; }
/// <summary>
/// Số tiền bằng chữ không dấu
/// </summary>
public string TotalAmountInWordsUnsignNormalVN { get; set; }
/// <summary>
/// Tên chi nhánh ngân hàng người bán
/// </summary>
public string CompanyBranchBankName { get; set; }
/// <summary>
/// Tên ngân hàng (kèm chi nhánh) của người bán
/// </summary>
public string CompanyBankNameWithBranch { get; set; }
/// <summary>
/// Phí hoàn vé máy bay
/// </summary>
public decimal? ReturnTicketAmount { get; set; }
/// <summary>
/// Phí hoàn vé máy bay nguyên tệ
/// </summary>
public decimal? ReturnTicketAmountOC { get; set; }
/// <summary>
/// Phần trăm thuế tiêu thụ đặc biệt
/// </summary>
public decimal? ExciseTaxRate { get; set; }
/// <summary>
/// Tiền thuế tiêu thụ đặc biệt
/// </summary>
public decimal? ExciseTaxAmount { get; set; }
/// <summary>
/// Thuế tiêu thụ ĐB nguyên tệ
/// </summary>
public decimal? ExciseTaxAmountOC { get; set; }
/// <summary>
/// Số hợp đồng
/// </summary>
public string TrsContractNo { get; set; }
/// <summary>
/// Vận đơn
/// </summary>
public string TrsBLNo { get; set; }
/// <summary>
/// Tên tàu
/// </summary>
public string TrsNameVessel { get; set; }
/// <summary>
/// Quốc tịch
/// </summary>
public string TrsFlag { get; set; }
/// <summary>
/// Ngày đến
/// </summary>
public DateTime? TrsArrival { get; set; }
/// <summary>
/// Ngày đi
/// </summary>
public DateTime? TrsDeparture { get; set; }
/// <summary>
/// Phòng số
/// </summary>
public string RoomNo { get; set; }
/// <summary>
/// Ngày đến
/// </summary>
public string CheckIn { get; set; }
/// <summary>
/// Ngày đi
/// </summary>
public string CheckOut { get; set; }
/// <summary>
/// Toán tử tỷ giá
/// </summary>
public string ExchangeRateOperation { get; set; }
/// <summary>
/// Ds kho
/// </summary>
public string ListStockName { get; set; }
/// <summary>
/// Ds địa chỉ kho
/// </summary>
public string ListStockAddress { get; set; }
/// <summary>
/// Mã kho đi
/// </summary>
public string ListFromStockCode { get; set; }
/// <summary>
/// Mã kho đến
/// </summary>
public string ListToStockCode { get; set; }
/// <summary>
/// Địa chỉ kho đi
/// </summary>
public string FromStockAddress { get; set; }
/// <summary>
/// Địa chỉ kho đến
/// </summary>
public string ToStockAddress { get; set; }
/// <summary>
/// Lệnh điều động số
/// </summary>
public string InternalCommandNo { get; set; }
/// <summary>
/// Lệnh điều động của
/// </summary>
public string InternalCommandOwner { get; set; }
/// <summary>
/// Lệnh điều động ngày
/// </summary>
public DateTime? InternalCommandDate { get; set; }
/// <summary>
/// Về việc
/// </summary>
public string JournalMemo { get; set; }
/// <summary>
/// Kỳ thu
/// </summary>
public string PeriodName { get; set; }
/// <summary>
///Từ ngày
/// </summary>
public DateTime? PeriodFromDate { get; set; }
/// <summary>
/// Đến ngày
/// </summary>
public DateTime? PeriodToDate { get; set; }
/// <summary>
/// Số nước truy thu
/// </summary>
public decimal? WaterArrearage { get; set; }
/// <summary>
/// Số nước khuyến mại
/// </summary>
public decimal? WaterPromotion { get; set; }
/// <summary>
/// Số nước tiêu thụ
/// </summary>
public decimal? WaterUsed { get; set; }
/// <summary>
/// Mức % Phí bảo vệ môi trường
/// </summary>
public int EnvironmmentFeeRate { get; set; }
/// <summary>
/// Tiền phí bảo vệ môi trường
/// </summary>
public decimal? EnvironmmentFeeAmount { get; set; }
/// <summary>
/// Phí đăng kiểm
/// </summary>
public decimal? RegistrationFee { get; set; }
/// <summary>
/// Tổng chỉ số của các đồng hồ - Điện năng tiêu thụ
/// </summary>
public decimal? SumOfClockIndex { get; set; }
/// <summary>
/// Danh sách đồng hồ
/// </summary>
public List<ClockInfo> ClockInfos { get; set; }
}
4.2OriginalInvoiceDetail (thông tin hàng hóa dịch vụ của háo đơn)
/// <summary>
/// Thông tin chi tiết hóa đơn gốc
/// </summary>
public class OriginalInvoiceDetail
{
/// <summary>
/// Tính chất (1: HHDV; 2: khuyến mại; 3: chiết khẩu; 4: ghi chú/diễn giải)
/// </summary>
public int ItemType { get; set; }
/// <summary>
/// STT dòng mặt hàng (bắt đầu từ 1)
/// </summary>
public int LineNumber { get; set; }
/// <summary>
/// Mã mặt hàng
/// </summary>
public string ItemCode { get; set; }
/// <summary>
/// Tên mặt hàng
/// </summary>
public string ItemName { get; set; }
/// <summary>
/// Đơn vị tính
/// </summary>
public string UnitName { get; set; }
/// <summary>
/// Số lượng mặt hàng
/// </summary>
public decimal? Quantity { get; set; }
/// <summary>
/// Đơn giá
/// </summary>
public decimal? UnitPrice { get; set; }
/// <summary>
/// Tỷ lệ chiết khấu
/// </summary>
public decimal? DiscountRate { get; set; }
/// <summary>
/// Tiền chiết khấu
/// </summary>
public decimal? DiscountAmountOC { get; set; }
/// <summary>
/// Tiền chiết khấu quy đổi
/// </summary>
public decimal? DiscountAmount { get; set; }
/// <summary>
/// Thành tiền
/// </summary>
public decimal? AmountOC { get; set; }
/// <summary>
/// Thành tiền quy đổi
/// </summary>
public decimal? Amount { get; set; }
/// <summary>
/// Thành tiền chưa thuế
/// </summary>
public decimal? AmountWithoutVATOC { get; set; }
/// <summary>
/// Đơn giá sau thuế
/// </summary>
public decimal? UnitPriceAfterTax { get; set; }
/// <summary>
/// Thành tiền sau thuế quy đổi
/// </summary>
public decimal? AmountAfterTax { get; set; }
/// <summary>
/// Tên loại thuế suất
/// </summary>
public string VATRateName { get; set; }
/// <summary>
/// Tiền thuế
/// </summary>
public decimal? VATAmountOC { get; set; }
/// <summary>
/// Tiền thuế quy đổi
/// </summary>
public decimal? VATAmount { get; set; }
/// <summary>
/// Trường mở rộng 1
/// </summary>
public string CustomField1Detail { get; set; }
/// <summary>
/// Trường mở rộng 2
/// </summary>
public string CustomField2Detail { get; set; }
/// <summary>
/// Trường mở rộng 3
/// </summary>
public string CustomField3Detail { get; set; }
/// <summary>
/// Trường mở rộng 4
/// </summary>
public string CustomField4Detail { get; set; }
/// <summary>
/// Trường mở rộng 5
/// </summary>
public string CustomField5Detail { get; set; }
/// <summary>
/// Trường mở rộng 6
/// </summary>
public string CustomField6Detail { get; set; }
/// <summary>
/// Trường mở rộng 7
/// </summary>
public string CustomField7Detail { get; set; }
/// <summary>
/// Trường mở rộng 8
/// </summary>
public string CustomField8Detail { get; set; }
/// <summary>
/// Trường mở rộng 9
/// </summary>
public string CustomField9Detail { get; set; }
/// <summary>
/// Trường mở rộng 10
/// </summary>
public string CustomField10Detail { get; set; }
/// <summary>
/// Thứ tự hiển thị lên mẫu
/// </summary>
public int? SortOrder { get; set; }
/// <summary>
/// Diễn giải hàng hóa
/// </summary>
public string InventoryItemNote { get; set; }
/// <summary>
/// Số lô
/// </summary>
public string LotNo { get; set; }
/// <summary>
/// Hạn sử dụng
/// </summary>
public DateTime? ExpiryDate { get; set; }
/// <summary>
/// Mã ĐVT
/// </summary>
public string UnitCode { get; set; }
/// <summary>
/// Tiền thuế đc giảm nguyên tệ (406)
/// </summary>
public decimal? TaxReductionAmountOC { get; set; }
/// <summary>
/// Tiền thuế được giảm quy đổi (406)
/// </summary>
public decimal? TaxReductionAmount { get; set; }
///// <summary>
///// Số lượng thực nhập
///// </summary>
public decimal? InWards { get; set; }
/// <summary>
/// Số khung
/// </summary>
public string ChassisNumber { get; set; }
/// <summary>
/// Số khung
/// </summary>
public string EngineNumber { get; set; }
/// <summary>
/// Xuất bản phí
/// </summary>
public string PublishFee { get; set; }
}
4.3ClockInfo (đối tượng đồng hồ trong hóa đơn điện/nước)
/// <summary>
/// Thông tin đồng hồ đối với hóa đơn điện nước
/// </summary>
public class ClockInfo
{
/// <summary>
/// STT dòng mặt hàng (bắt đầu từ 1)
/// </summary>
public int ClockOrder { get; set; }
/// <summary>
/// Mã đồng hồ
/// </summary>
public string ClockCode { get; set; }
/// <summary>
/// Seri đồng hồ
/// </summary>
public string ClockSeri { get; set; }
/// <summary>
/// Chỉ số mới
/// </summary>
public decimal LastIndex { get; set; }
/// <summary>
/// Chỉ số cũ
/// </summary>
public decimal FirstIndex { get; set; }
/// <summary>
/// Hệ số của đồng hồ
/// </summary>
public decimal Coefficient { get; set; } = 1;
/// <summary>
/// Mã đồng hồ cũ
/// </summary>
public string ClockCodeOld { get; set; }
/// <summary>
/// Seri đồng hồ cũ
/// </summary>
public string ClockSeriOld { get; set; }
/// <summary>
/// Chỉ số mới của đồng hồ cũ
/// </summary>
public decimal? LastIndexOld { get; set; }
/// <summary>
/// Chỉ số cũ của đồng hồ cũ
/// </summary>
public decimal? FirstIndexOld { get; set; }
/// <summary>
/// Hệ số của đồng hồ cũ
/// </summary>
public decimal? CoefficientOld { get; set; }
/// <summary>
/// Trạng thái của đồng hồ
/// 0 là đang sử dụng
/// 1 là thay mới đồng hồ => truyền thêm thông tin đồng hồ cũ vào các trường có Old
/// </summary>
public int ClockStatus { get; set; } = 0;
/// <summary>
/// Xe tra nạp
/// </summary>
public string RefuelerNo { get; set; }
/// <summary>
/// Số lô
/// </summary>
public string QualityControlNo { get; set; }
/// <summary>
/// Số công tơ đầu
/// </summary>
public decimal? StartMeter { get; set; }
/// <summary>
/// Số công tơ cuối
/// </summary>
public decimal? EndMeter { get; set; }
/// <summary>
/// Nhiệt độ thực tế
/// </summary>
public decimal? ActualTemperature { get; set; }
/// <summary>
/// Tỉ trọng thực tế
/// </summary>
public decimal? ActualDensity { get; set; }
/// <summary>
/// Gallon thực tế
/// </summary>
public decimal? ObservedGallon { get; set; }
/// <summary>
/// Lít thực tế
/// </summary>
public decimal? ObservedLiters { get; set; }
}
4.4TaxRateInfo (Thông tin các loại thuế suất)
/// <summary>
/// Thông tin các loại thuế suất
/// </summary>
public class TaxRateInfo
{
/// <summary>
/// Tên loại thuế suất
/// </summary>
public string VATRateName { get; set; }
/// <summary>
/// Tiền chưa thuế
/// </summary>
public decimal? AmountWithoutVATOC { get; set; }
/// <summary>
/// Tiền thuế
/// </summary>
public decimal? VATAmountOC { get; set; }
}
4.5FeeInfo (Thông tin các loại phí)
/// <summary>
/// Thông tin các loại phí
/// </summary>
public class FeeInfo
{
/// <summary>
/// Tên loại phí
/// </summary>
public string FeeName { get; set; }
/// <summary>
/// Tiền phí
/// </summary>
public decimal? FeeAmountOC { get; set; }
}
4.6OptionUserDefined (Định dạng số, đồng tiền hạch toán của háo đơn)
/// <summary>
/// Class chứa các tùy chọn cần dùng để hiển thị hóa đơn:
/// Định dạng số, đồng tiền hạch toán
/// </summary>
public class OptionUserDefined
{
/// <summary>
/// Đồng tiền hạch toán
/// </summary>
public string MainCurrency { get; set; }
/// <summary>
/// Định dạng số tiền quy dổi
/// </summary>
public string AmountDecimalDigits { get; set; }
/// <summary>
/// Định dạng số tiền nguyên tệ
/// </summary>
public string AmountOCDecimalDigits { get; set; }
/// <summary>
/// Định dạng đơn giá nguyên tệ
/// </summary>
public string UnitPriceOCDecimalDigits { get; set; }
/// <summary>
/// Định dạng đơn giá quy đổi
/// </summary>
public string UnitPriceDecimalDigits { get; set; }
/// <summary>
/// Định dạng số lượng
/// </summary>
public string QuantityDecimalDigits { get; set; }
/// <summary>
/// Định dạng tỷ lệ
/// </summary>
public string CoefficientDecimalDigits { get; set; }
/// <summary>
/// Định dạng tỷ giá
/// </summary>
public string ExchangRateDecimalDigits { get; set; }
/// <summary>
/// Định dạng tham số decimal trong ClockInfo
/// </summary>
public string ClockDecimalDigits { get; set; }
}