MTV Sale
The SaveMtvInvoiceAsync() method is used to transmit detailed sales transactions from a third-party system into Smart Invoice.
This ensures accurate recording of sales, customer data, and invoice numbers in compliance with ZRA requirements.
⚠️ Important Notes:
- All sales receipts must include the
rcptNoreturned in the success response.- This is the ZRA invoice number and must be referenced when issuing credit or debit notes.
SaveMtvInvoiceAsync() Method
- Request Parameters:
| Field | Type | Required | Description |
|---|---|---|---|
CISInvoiceNumber | string | Yes | Unique invoice number from the POS/ERP system |
CustomerTPIN | string | Yes | Customer’s TPIN (ZRA requirement) |
CustomerName | string | Yes | Name of the customer |
SalesTypeCode | string | Yes | N = Normal, R = Return, etc. |
ReceiptTypeCode | string | Yes | S = Standard receipt |
PaymentTypeCode | string | Yes | 01 = Cash, 02 = Credit, etc. |
SalesStatusCode | string | Yes | 02 = Approved |
ConfirmationDateTime | string | Yes | Date/time of sale (yyyyMMddHHmmss) |
SalesDate | string | Yes | Sale date (yyyyMMdd) |
TotalItemCount | int | Yes | Number of line items |
CurrencyTypeCode | string | Yes | Currency, e.g. ZMW |
ExchangeRate | decimal | Yes | Exchange rate used |
SaleCategoryCode | string | Yes | 1 = Regular sale |
ItemList | array | Yes | List of items sold |
→ ItemSequence | int | Yes | Line sequence number |
→ ItemCode | string | Yes | Code of the item |
→ ItemClassificationCode | string | Yes | UNSPSC classification code |
→ ItemName | string | Yes | Item description |
→ QuantityUnitCode | string | Yes | U = Unit |
→ Quantity | decimal | Yes | Quantity sold |
→ UnitPrice | decimal | Yes | Price per unit |
→ SupplyAmount | decimal | Yes | Line net value |
→ VATCategoryCode | string | Yes | VAT category, e.g. A |
→ VATTaxableAmount | decimal | Yes | Amount before VAT |
→ VATAmount | decimal | Yes | VAT amount |
→ TotalAmount | decimal | Yes | Line total including VAT |
| Totals | Transaction-level totals | ||
TaxableAmountA | decimal | Yes | Total taxable amount under VAT category A |
TaxAmountA | decimal | Yes | Total VAT amount under VAT category A |
TotalTaxableAmount | decimal | Yes | Grand taxable amount |
TotalTaxAmount | decimal | Yes | Grand VAT amount |
TotalAmount | decimal | Yes | Grand total including VAT |
Usage Example

Example Successful Response
{
"success": true,
"code": "000",
"message": "Operation completed successfully",
"timestamp": "2025-09-19 13:19:13",
"data": {
"rcptNo": 68,
"intrlData": "SCBK32ICIHT77JFOQKYXXGIXWU",
"rcptSign": "WBIF2VKZLFIYRSTF",
"vsdcRcptPbctDate": "20250919131907",
"sdcId": "SDC0010002702",
"mrcNo": "WIS00003709 ",
"qrCodeUrl": "https://sandboxportal.zra.org.zm/indexInvoiceData?Data=1002890781000WBIF2VKZLFIYRSTF"
},
"error": null
}