2. Developer Pre-Integration Guide
Before integrating with the MRA Electronic Invoicing System (EIS) API, developers must complete the registration process on the MRA Taxpayers Portal which is the sandbox environment and ensure that inventory have been uploaded and approved.
This guide outlines the mandatory setup steps that must be completed prior to starting API integration.
Step 1: Register on the Taxpayers Portal
-
Complete business registration and verification.
-
Provide all required taxpayer details.
-
Select the business type: Product-based or Service-based.
-
Ensure that TIN, phone number, and email match those registered in Msonkho Online.
Step 2: Business Scenarios
Scenario A: Product-Based Businesses
(For businesses selling physical goods)
-
The system automatically generates a Virtual Warehouse during onboarding. This central warehouse represents the taxpayer’s initial stock holding point.
2. Upload Initial Stock
-
Navigate to Inventory Management > Initial Upload.
-
Upload opening stock using the provided template.
-
Submit for approval by MRA officers.
Note: Stock will appear in the Virtual Warehouse only after approval.
3. Create Branches
-
Define physical or trading locations under Branches.
-
Each branch can later be assigned stock and terminals.
4. Transfer Stock to Branches
o After approval, transfer stock from the Virtual Warehouse to the appropriate branches via Inventory Management > Stock Transfer.
Scenario B: Service-Based Businesses
(For businesses offering services only, with no physical inventory)
-
No need to create a warehouse or upload stock.
-
Instead, register services directly on the Taxpayers Portal under Inventory Management > Services.
-
Approved services will be available in the system and accessible via terminal endpoints.
Step 3: Register Products/Services in the POS or Accounting Software
Whether the business deals in products or services, the registered items must be available in the POS or accounting system to generate invoices via the EIS API.
The following endpoint supports this synchronization:
GET /api/v1/utilities/get-terminal-site-products
-
Downloads all approved and registered products/services from MRA servers.
-
Ensures that only approved items are listed for sale.
-
Includes metadata such as product/service code, description, pricing, and tax type.
Step 4: Terminal Management
Once branches are set up and inventory/services are in place:
1. Navigate to Terminal Management.
2. Apply for a terminal for each branch or trading location.
3. Upon approval:
-
-
The code is also delivered to the taxpayer via email or SMS.
Step 5: Activating the POS or Accounting Software
Use the Terminal Activation Code to:
-
Activate the POS or accounting package.
-
Establish a secure connection with the EIS API.
Once activated, the system can:
-
Send electronic invoices in real time.
-
Synchronize inventory or services
Centralized Inventory Management – Important Note
All inventory (products and services) is centrally managed by MRA:
-
All product/service registration, stock control, and approvals are handled via MRA systems.
-
The POS or accounting system must synchronize with MRA using the provided API endpoints.