Skip to content
Axis Solutions MRA
YouTube

Sales & Invoicing


Submit Sales Transaction (Smart Mode)

The Submit Sales Transaction (Smart Mode) endpoint is the recommended integration method for fiscal sales submission to the Malawi Revenue Authority (MRA) EIS platform.

Smart Mode is designed to handle connectivity challenges gracefully:

  • If the MRA server is reachable → the invoice is validated and processed in real time.
  • If the MRA server is unreachable → the invoice is signed locally, queued, and automatically synchronized once connectivity is restored.

This ensures uninterrupted business operations while maintaining fiscal compliance.


Endpoint

POST /api/sales/submit-smart

Base URL (Test Environment)

https://dev-eis-api.mra.mw

Request Fields

FieldData TypeMandatoryComments
AuthorizationstringyesThis will be computed from a Terminal Activation Code
invoiceNumberstringyes
sellerTINstringyesThe Taxpayer Identification Number of the seller
buyerTINstringnoNeeded if its a B2B transaction
buyerNamestringno
invoiceHeader.buyerAuthorizationCodestringnoIt is required when the TIN is protected. It is generated from the taxpayers portal
siteIdstringyesThis is the site id where the terminal is operating
invoiceHeader.globalConfigVersionintegeryesthis is the configuration that will be received from the terminal activation response
invoiceHeader.isReliefSupplybooleannoMarks whether the supply is relief exempt. It requires VAT 5 certificate using the Validate VAT 5 Certificate endpoint.
invoiceHeader.paymentMethodstringyesThe method of payment (e.g., Cash, Card, MobileMoney).
invoiceLineItems[].productCodestringyesUnique product or service code.
invoiceLineItems[].descriptionstringyesdescription of the Product or service
invoiceLineItems[].unitPricedecimalyesPrice per unit product or service.
invoiceLineItems[].quantitydecimalyesQuantity of items sold
invoiceLineItems[].discountdecimalnoAny discount applied to the line item.
invoiceLineItems[].totaldecimalyesThe net total (after discount, before VAT) for the line item.
invoiceLineItems[].totalVATdecimalyesVAT amount for this line item.
invoiceLineItems[].taxRateIdstringyesIdentifier for the applied tax rate.
invoiceLineItems[].isProductbooleanyesTrue if item is a product, false if it is a service.
invoiceSummary.levyBreakDown.levyTypeIdstringnodentifier of the levy type (e.g., Environmental Levy, Tourism Levy). Required only if a levy applies.
invoiceSummary.levyBreakDown.levyRatedecimalnoPercentage rate (%) applied for this levy.
invoiceSummary.levyBreakDown.levyAmountdecimalnoMonetary value of the levy calculated from the levyRate.
invoiceSummary.totalVATdecimalyesTotal VAT across all line items.
invoiceSummary.invoiceTotaldecimalyesFinal invoice total including VAT.
invoiceSummary.amountTendereddecimalyesAmount paid by the customer before giving back any cha

NOTE: Request Payload for Sale Example are Found in the PostMan Collection

B2B Transactions (buyerTIN)

If buyerTIN is provided:

  • Protected TIN

    • Buyer must generate Purchase Authorization Code from MRA portal
    • buyerAuthorizationCode becomes mandatory
  • Unprotected TIN

    • No authorization code required

Sample Payload

get all items

Sample Response

{
    "statusCode": 1,
    "remark": "Processed successfully. Warning: Client time differs from server time by 2 hours and 60 minutes. Please adjust your system clock.",
    "data": {
        "validationURL": "https://eservices.mra.mw/doc/v/?vc=96253256902784&c=fdf23c0e6d994ba28ccc63e7c888244b",
        "shouldDownloadLatestConfig": true,
        "shouldBlockTerminal": false,
        "validationErrors": null
    },
    "errors": []
}