PRA GUIDE

PRA eIMS setup: you have your POS ID, here is how to start submitting invoices

For Punjab service businesses that have already registered with the Punjab Revenue Authority and received a POS ID and access token for the Electronic Invoice Monitoring System. The registration paperwork is done, this is the part where you actually start invoicing.

Updated August 2026 · Axiom Square team · Last verified: 22 August 2026
A service business terminal connecting to a provincial authority building

Once PRA has issued your POS ID and access token, setting up eIMS takes five steps: enter your business profile and PNTN, register each branch with its own POS ID and token, assign a PCT code and tax rate to every service, submit a test invoice in sandbox, then switch the branch to production. PRA issues one POS registration per outlet, not per business.

First, the name of the thing you are connecting to

Most people call this "PRA digital invoicing" or "the PRA POS", and PRA's own staff will understand you if you do. But the system has a formal name, and it is worth knowing because it is the term that appears on the notifications, in the rules and on PRA's own portal: the Electronic Invoice Monitoring System, abbreviated eIMS.

It sits under the Punjab Electronic Invoice Monitoring System Rules 2019, made under section 76 of the Punjab Sales Tax on Services Act 2012. Your POS ID and access token are eIMS credentials. The invoice number that comes back is an eIMS invoice number, and it is the number a customer types into PRA's public eIMS invoice verification page to check that the receipt they were handed is real. PRA publishes its own eIMS user manual and installer on that same page.

A terminology trap. You will occasionally see the Punjab system called "PRIMS" online. There is no such system. Punjab uses eIMS. Khyber Pakhtunkhwa runs a separate system called RIMS for restaurants. If a vendor is selling you PRIMS integration, ask them which notification they are working from.

Step 1. Add your business profile

Before anything else, enter your business name, PNTN, address and contact details once. These print on the header of every invoice you generate, so it is worth getting them exactly right, matching what is on your PRA registration.

PraTax business profile screen with business name, PNTN, address and contact details filled in
Settings → Business profile. This prints on every invoice header.

Step 2. Register your branch with your POS ID and access token

PRA issues one POS registration, meaning one POS ID and one access token, per outlet or counter, not per business. If you operate from a single location, you need one branch record. If you run more than one outlet, each gets registered separately with its own credentials.

When you add the branch, you will see a mode setting: sandbox or production. Leave it on sandbox for now. Sandbox uses the same POS ID and token structure but talks to PRA's test environment, so nothing you submit while testing becomes a real filed invoice.

Add branch form showing PRA POS ID, PRA access token fields and a Sandbox or Production mode dropdown
This is where your PRA POS ID and access token actually go, one branch record per outlet.

Step 3. Set up your services once

This step decides whether your first week is smooth. Every service you sell needs a PCT code, the tariff heading that tells PRA what kind of service it is, and a tax rate. Most Punjab service categories sit at the standard 16 percent rate, but confirm yours rather than assume it.

Set this up against each service in your product list, once, and every invoice after that pulls the right classification automatically. A few things worth knowing before you start:

  • If you price by a fixed unit that is not a simple one-off, a per-daig catering charge, a per-person event rate, a per-hour service fee, set the unit price to your rate for one unit, and enter the actual quantity (daigs, guests, hours) when you build the invoice. The system multiplies for you.
  • Search PCT codes by description, not just number, if you are not sure of the exact tariff heading. Catering, for example, sits under a heading that literally reads "services provided by caterers, suppliers of food and drinks."
  • Get the classification right once here and you will not need to touch it again per invoice.
Add product form with a PCT code searched by description, showing the caterers service code result, category and tax rate
Searching a PCT code by description instead of hunting for the number.

Step 4. Test in sandbox before you go live

With your branch still in sandbox mode, create a real invoice using your actual services and a sample buyer. Submit it. You will get back a genuine PRA response, either an accepted test invoice number or an error explaining exactly what to fix. Send a handful covering your normal cases: a straightforward single-item sale, a multi-line invoice, a walk-in buyer with no NTN. Fix anything that comes back before you touch production.

Invoice creation screen with a service quick-filled from a product, quantity, PCT code, tax rate and sale value calculating tax charged automatically
Building an invoice. Quick-fill from a product pulls in the PCT code and tax rate, you only adjust quantity and value.

Step 5. Switch to production and submit

Once your sandbox invoices come back clean, open the branch record again and switch the mode to production. From this point, every "Submit to PRA" click is a real filing. Invoices come back with a real PRA invoice number and a QR code on the printed copy. Keep an eye on the first few, most first-week issues are a classification chosen for the wrong service, not a technical fault, and they are quick to spot once you see the actual PRA response.

Completed invoice screen showing item totals, tax, grand total, and a PRA status panel with a Submit to PRA button
A saved invoice, ready for the "Submit to PRA" click once your branch is in production mode.

What eIMS actually does with the invoice

Worth understanding once, because it explains several of the steps above. eIMS is a monitoring system, not a bookkeeping system. When you submit, PRA records the invoice at the moment of the transaction rather than waiting for your monthly return to summarise it. What comes back to you is an invoice number and a QR code, and what the customer gets is a receipt that can be verified independently of you.

That is why the classification step matters more than it looks, and why the sandbox step exists at all. A wrong PCT code is not a formatting problem that you can correct quietly at return time. It is a wrong record sitting in PRA's system against your registration, timestamped.

It is also why Punjab enforcement in 2026 has focused on receipts rather than returns. If you run a restaurant, hotel, coffee shop or marriage hall, the handwritten receipt is now the thing being looked for, and we cover that in what changed in August 2026.

A note on sales tax withheld by some clients

If some of your clients are withholding agents, government departments, large taxpayers, or a few other specified categories, they may withhold a portion of the sales tax shown on your invoice and deposit it with PRA directly, rather than paying you the full tax amount in cash. Under the Punjab Sales Tax on Services (Withholding) Rules 2015, this is usually one-fifth of the tax shown.

There is no separate field for this on the invoice itself, and that is by design, not a gap: the rule calculates the withheld amount as a fraction of the tax the invoice already shows, so the invoice has to carry the full tax regardless of who ends up paying which part of it. You create and submit the invoice exactly the same way whether or not the buyer will withhold. Tracking which invoices had tax withheld, and reconciling it against the withholding certificate the buyer issues you, is a bookkeeping step on your side at return time, not something the invoice itself needs to record.

PraTax connects to PRA for you

Once your POS ID and token are in, PraTax handles submission, the QR code, and record keeping. You enter the invoice, it does the rest.

Open PraTax

Last verified: 22 August 2026. Primary sources for this page: the Punjab Electronic Invoice Monitoring System Rules 2019, made under section 76 of the Punjab Sales Tax on Services Act 2012, as amended by the notification gazetted 15 July 2024; and PRA's own eIMS portal. General information, not tax advice. Confirm your obligations, and whether a specific client is a withholding agent, with your tax consultant.

Common questions

What is PRA eIMS?

It is the formal name for what most people call PRA digital invoicing or the PRA POS. The term is worth knowing because it is what appears on the notifications, even though PRA's own staff will understand either name.

How many POS IDs does a business need?

PRA issues one POS registration, meaning one POS ID and one access token, per outlet or counter, not per business. A single location needs one branch record; each additional outlet is registered separately with its own credentials.

What do you set up before submitting a PRA invoice?

Your business profile with name, PNTN, address and contact details, then each branch with its POS ID and access token, then every service with a PCT code and a tax rate. Most Punjab service categories sit at the standard 16 percent rate.

How do you test a PRA invoice before going live?

Leave the branch in sandbox mode and submit a real invoice using your actual services and a sample buyer. PRA returns a genuine response, either an accepted test invoice number or an error explaining exactly what is wrong.

What changes when you switch a branch to production?

Every submission from that point is a real filing. Invoices come back with a real PRA invoice number and a QR code, rather than the test response you get in sandbox mode.