AJK POS Technical Document
AJK POS Technical Document
VERSION 1.0
DOCUMENT INFORMATION
Category Information
Document Technical Document
Project-Module Title Technical Specification for Data Sharing Software Component from Tier 1
Retailer POS Clients to AJK (PRAL) Version 1.0
Version 0.1
Author Adeel Ahmed Abbasi (POS/Team Lead)
Status
Reviewer(s) Sohail Anjum (Senior System Analyst, Manager SA&D)
Review Date
Approver Mehboob -Ur- Rehman (Senior Manager - Development)
Issue Date 07-02-2025
Distribution SD Wing
Document Category Internal External
Privacy Level Public PRAL Confidential Customer Confidential
Disclaimer This document contains confidential information. Do not distribute this
document without prior approval from PRAL.
1. INTRODUCTION
Efficient tax compliance is a cornerstone of modern financial regulation, and our POS Integration
Solution is designed to help retailers in Azad Jammu & Kashmir (AJK) meet tax requirements
effortlessly. By directly connecting their Point of Sale (POS) systems to the AJK Inland Revenue
Department (AJK IRD), this solution enables smooth, real-time sharing of sales data to ensure full
compliance with all tax rules.
Our solution is highly flexible, offering both locally installed and cloud-based options that easily
integrate into existing POS setups. With its seamless design, it guarantees zero disruption to ongoing
business operations while enhancing compliance efficiency.
• Real-Time Integration: Instantly and accurately submits sales data to the AJK IRD system.
• Automatic Invoice Uploading: Reduces manual input, minimizes errors, and streamlines tax
reporting.
• Dual Environment Support: Provides both production and sandbox environments to ensure
smooth testing and implementation.
• High Availability and Speed: Delivers 99.9% uptime with response times in milliseconds for
uninterrupted operation.
• Register each POS in the AJK system from which you want to upload the data. Details are
given in Section POS Registration.
• Download the software component from the AJK IRD website
• Install the software on the local computer (*internet connection is required for this step).
• Taxpayer will integrate their system with AJK-IRD software component as per the provided
details in the Section Integration of Taxpayer System with AJK-IRD System.
Version Number: 0.1 PRAL © 2025 All rights reserved Page 3 of 21
POS AJK Technical Document
4. PURPOSE.
The purpose of this proposal is to introduce a robust and efficient solution that enables seamless tax
compliance for retailers in Azad Jammu & Kashmir (AJK). The POS Integration Solution is designed
to connect retailers' Point of Sale (POS) systems with the AJK Inland Revenue Department (AJK IRD),
facilitating real-time, automated sharing of sales data.
This solution aims to simplify the compliance process by minimizing manual effort, reducing errors,
and ensuring accurate tax reporting. It integrates seamlessly into existing POS setups without
disrupting business operations, promoting transparency and trust between retailers and tax authorities.
By leveraging advanced technology, the system adapts to evolving tax regulations, offering retailers a
scalable and reliable tool to meet compliance requirements. This proposal highlights how the solution
will streamline operations, enhance efficiency, and support both retailers and tax authorities in
achieving effective and transparent tax collection.
5. SCOPE.
The scope of the document is limited to POS registration and technical description of AJK software
fiscal component. AJK Software Fiscal component will reside on the same system where the POS is
installed by the taxpayer. It will fiscalize each invoice generated through the POS in real time and
generate a unique fiscal invoice number for each invoice to print on the receipt with a QR code. The
software fiscal component will periodically move recorded invoice data to the AJK online system
through an independent process.
6. POS REGISTRATION.
Tier 1 Retail sector will register their POS for each branch using the AJK portal by providing the
required data. On successful submission of data, the AJK IRD system will generate a POS registration
number which will be referenced in compiling each invoice into the required format.
In the Business Information menu, users are required to enter details about their business and brand.
Additionally, they must select the appropriate registration option based on their business nature and
invoice generation requirements.
In the Contact menu, users are required to enter the details of the Technical or Focal Person. This
information ensures seamless coordination, support, and issue resolution when needed.
In the Branch menu, users are required to enter the details of the branch where the POS Till Machines
will be installed. Additionally, they must provide the information of the Technical Person responsible
for offering technical support at that branch. This ensures that each branch has the necessary technical
resources for the proper functioning and maintenance of the POS system. At the same time the taxpayer
will provide the latitude and longitude details of each branch.
In the POS Detail menu, users are required to select the Branch and provide the Till Machine details,
such as the unique POS Identification Number, Local IP, and MAC Address of the machine
associated with the generated POS ID. This information must be accurate to ensure proper
configuration and functionality of the POS system on that specific machine.
The Technical Detail menu requires users and software integrators to provide essential information
about the software integrated with the POS AJK System. Additionally, users must enter Software
Vendor Information, ensuring proper identification of the vendor responsible for the integration.
The API Management (API MGT) menu provides access to sandbox-related information for both
Cloud-Based Integrations and Offline IMS Fiscal Component (Non-Cloud) Integrations. Within
this menu, users and software integrators can find details about the Sandbox API, Sandbox Token,
and POSID, which are essential for testing
The AJK-IRD has provided a local software fiscal component to the Tier 1 Retail sector for sharing
invoice data with the AJK-IRD. This component will be accessible only to registered POS clients.
Transaction handling and the dissemination of relevant data to PRAL will be the responsibility of the
registered POS clients.
These environments are designed to ensure seamless integration and secure processing of transactions
in compliance with AJK-IRD regulations.
To integrate the taxpayer POS with the AJK-IRD Software Fiscal Component, the following steps
are required:
http://localhost:8524/api/IMSFiscal/get
It will display the message "Service is responding."
Note: To confirm the successful installation of the fiscal service, check that the fiscalization service
is running in the System Services List (service.msc), as shown in Figure 9.
Before installing the AJK-IRD Software Fiscal Component, ensure the following pre-requisites
are met:
• Windows-Based Operating System (Windows 10 and above).
• Internet Information Services (IIS) must be installed.
• .NET Framework 4.5 or above is required.
• The installation user must have administrator rights on the system.
Select Installation Type (Choose the Complete radio option and click Next)
{\"AJK-IRDInvoiceNumber\":0000025021812000369,\"Response\":\"Invoice received
successfully\",\"Code\":\"100\”}
return lst;
}
12. WEB CLIENT TO POST DATA ON PROVIDED LOCAL URL AND GET RESPONSE
Below code is used to call the WebAPI. JSON string is passed to the function along with API URL to
which data is being posted.
using System.Net.Http;
using Newtonsoft.Json;
if (response.IsSuccessStatusCode)
{
Console.WriteLine("Response from API");
Console.WriteLine("---------------------------------------------");
Console.WriteLine(response.Content.ReadAsStringAsync().Result);
}
13. WEB CLIENT TO POST DATA FROM CLOUD AND GET RESPONSE.
The following code is an example of how to call a WebAPI, passing a JSON string along with the
API URL to which the data is being posted.
Sandbox URL:
https://gw.fbr.gov.pk/ajkposdsandbox/v1/postinvoicedata
Sandbox Token: 7ddff49d-246c-3e96-9d79-2117a62ae862
Production URL:
https://gw.fbr.gov.pk/ajkposd/v1/postinvoicedata
Note (Production Token is issued at the time of POS Registration and can be accessed within the POS Clients
Menu on the IRIS-AJK Portal).
using System.Net.Http;
using System.Net.Http.Headers;
using Newtonsoft.Json;
using System.Text;
{
"InvoiceNumber":"",
"POSID":"500001",
"USIN":"FBR_TEST_SUb",
"DateTime":"2025-02-09 02:52:00",
"BuyerNTN":"1234567-8",
"BuyerCNIC":"1234512345678",
"BuyerName":"Buyer Name",
"BuyerPhoneNumber":"0000-0000000",
"TotalBillAmount":1.0,
"TotalQuantity": 1.0,
"TotalSaleValue":1.0,
"TotalTaxCharged":1.0,
"Discount":0.0,
"FurtherTax":0.0,
"PaymentMode":1,
"RefUSIN":"123456",
"InvoiceType":1,
"Items":[
Version Number: 0.1 PRAL © 2025 All rights reserved Page 16 of 21
POS AJK Technical Document
{
"ItemCode":"IT_1011",
"ItemName":"Test Item",
"Quantity":1.0,
"PCTCode":"11001010",
"TaxRate": 18,
"SaleValue": 1.0,
"TotalAmount":1.0,
"TaxCharged":1.0,
"Discount": 1.0,
"FurtherTax":0.0,
"InvoiceType":11,
"RefUSIN":null
},
{
"ItemCode":"IT_1012",
"ItemName":"Test Item",
"Quantity":1.0,
"PCTCode":"11001010",
"TaxRate":1.0,
"SaleValue":1.0,
"TotalAmount":1.0,
"TaxCharged":1.0,
"Discount":1.0,
"FurtherTax":1.0,
"InvoiceType":13,
"RefUSIN":null
}
]
}
Open new tab in Postman and write URL: http://localhost:8524/api/IMSFiscal/Get . Now click send
button to check the response from the Fiscalization Service.
Response:
{
"InvoiceNumber": "0000002502072444901",
"Code": "100",
"Response": "Fiscal Invoice Number generated successfully.",
"Errors": null
}
17. Uninstalling the Sandbox Component Before Installing the Live Component.
To ensure a proper uninstallation of the Sandbox component before installing the component for
LIVE/Production Environment, follow the steps below. Do not uninstall the IMS component
from the Control Panel to avoid incomplete removal.
2. A prompt will ask whether you want to perform an upgrade. Click "Yes" to proceed.
3. Proceed with Setup Click Next on the wizard screen to move forward.
4. Program Maintenance Screen - In the Program Maintenance screen, select the “Remove”
radio button. Then, press the Remove button on the next wizard screen to begin the
Version Number: 0.1 PRAL © 2025 All rights reserved Page 19 of 21
POS AJK Technical Document
uninstallation process. This will properly remove the component from the system.
5. Finish the Uninstallation - Close the wizard by clicking the Finish button. The sandbox
component has now been successfully uninstalled.
By following these steps, you ensure that the Sandbox component is removed properly and is ready
for the installation of the Live component.
• Email: [email protected]
• Phone: 05827927306