Skip to content
Axis Solutions ZMB
YouTube

Normal Sale

The SaveSaleAsync() 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 rcptNo returned in the success response.
    • This is the ZRA invoice number and must be referenced when issuing credit or debit notes.

SaveSaleAsync() Method

  • Request Parameters:
FieldTypeRequiredDescription
CISInvoiceNumberstringYesUnique invoice number from the POS/ERP system
CustomerTPINstringYesCustomer’s TPIN (ZRA requirement)
CustomerNamestringYesName of the customer
SalesTypeCodestringYesN = Normal, R = Return, etc.
ReceiptTypeCodestringYesS = Standard receipt
PaymentTypeCodestringYes01 = Cash, 02 = Credit, etc.
SalesStatusCodestringYes02 = Approved
ConfirmationDateTimestringYesDate/time of sale (yyyyMMddHHmmss)
SalesDatestringYesSale date (yyyyMMdd)
TotalItemCountintYesNumber of line items
CurrencyTypeCodestringYesCurrency, e.g. ZMW
ExchangeRatedecimalYesExchange rate used
SaleCategoryCodestringYes1 = Regular sale
ItemListarrayYesList of items sold
ItemSequenceintYesLine sequence number
ItemCodestringYesCode of the item
ItemClassificationCodestringYesUNSPSC classification code
ItemNamestringYesItem description
QuantityUnitCodestringYesU = Unit
QuantitydecimalYesQuantity sold
UnitPricedecimalYesPrice per unit
SupplyAmountdecimalYesLine net value
VATCategoryCodestringYesVAT category, e.g. A
VATTaxableAmountdecimalYesAmount before VAT
VATAmountdecimalYesVAT amount
TotalAmountdecimalYesLine total including VAT
TotalsTransaction-level totals
TaxableAmountAdecimalYesTotal taxable amount under VAT category A
TaxAmountAdecimalYesTotal VAT amount under VAT category A
TotalTaxableAmountdecimalYesGrand taxable amount
TotalTaxAmountdecimalYesGrand VAT amount
TotalAmountdecimalYesGrand total including VAT

Usage Example

classification codes

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
}