How to verify a software company in Pakistan before you hire it
A due-diligence checklist for foreign buyers: check SECP registration, FBR tax status, PSEB, bank details and contracts in under an hour.
On this page
Pakistan has thousands of capable software companies, and you can verify any of them in under an hour using public records. The checks below cover the company's registration with the SECP, its tax registration with the FBR, its export credentials, where your money will go, and who will own the code. If a supplier hesitates over any of them, treat that as your answer.
Why verification matters
Most problems with offshore software work are not about code quality. They are about the paperwork around it: a "company" that is really one freelancer, an invoice paid into a personal account, a contract that never transfers ownership of the code, or a supplier that disappears halfway through. All of these are cheap to check before you sign and expensive to fix afterwards.
The checklist at a glance
| Check | Where | What you should see |
|---|---|---|
| Exact legal name and CUIN | The supplier's website footer, invoice or contract | A name ending in "(Private) Limited" or "(SMC-Private) Limited", and a seven-digit CUIN |
| Company registration | SECP eServices company search | An active company with the same name, number and registered office |
| Tax registration | FBR online verification | An NTN registered to the same legal name |
| Export credentials | PSEB registration certificate | A current certificate, renewed every year |
| Bank account | The supplier's invoice | An account in the company's name, not a personal one |
| Contract and IP | The draft agreement | The full legal name, an IP assignment to you and milestone payments |
1. Get the exact legal name and CUIN
Every company registered with the Securities and Exchange Commission of Pakistan (SECP) under the Companies Act, 2017 has a Corporate Unique Identification Number (CUIN), a seven-digit number that never changes. A private company's name ends in "(Private) Limited"; a company with a single member ends in "(SMC-Private) Limited".
A serious supplier puts its legal name and CUIN on its website, invoices and contracts. If all you can find is a brand name and a WhatsApp number, ask for the legal name in writing before going further.
2. Search the SECP register
Use the company search on the SECP eServices portal to look up the CUIN or the name. Check four things:
- the status is active;
- the name matches the contract exactly, including punctuation;
- the date of incorporation is consistent with what the supplier told you; and
- the registered office is a real address that matches the supplier's documents.
A young company is not a red flag on its own. Many good teams incorporate after years of working as freelancers. What matters is that the company exists, matches its paperwork, and is the party you will contract with.
3. Check the tax registration
A company that invoices legitimately has a National Tax Number (NTN) from the Federal Board of Revenue (FBR). Enter it in the FBR's online verification service and check that it is registered to the same legal name.
You may also see the FBR's Active Taxpayer List (ATL), which shows taxpayers that have filed their returns. A company incorporated this year may not appear on it until it files its first return, so treat its absence as a question to ask, not a verdict.
4. Ask about export credentials
Software and IT services companies that export can register with the Pakistan Software Export Board (PSEB), which gives them access to tax incentives on export earnings. Registration has to be renewed every year. Ask for the current certificate; a company that is still registering should be able to tell you when the process will finish.
Membership of P@SHA, the Pakistan Software Houses Association, is voluntary but is another sign of a company invested in its reputation.
5. Follow the money
The most important single check: pay the company, not a person. The invoice should come from the legal entity, show its NTN, and name a bank account held in the company's name, with an IBAN beginning "PK". Payments for exported services should arrive through normal banking channels, which also keeps the supplier on the right side of tax and foreign exchange rules.
Be wary if you are asked to pay into a personal account, to a third party, or through an informal channel "to save fees". That is how disputes start, and it leaves you with no company to hold to account.
6. Read the contract for ownership and exit
A good agreement with a Pakistani supplier should contain:
- the supplier's full legal name and CUIN, matching the SECP register;
- an assignment of intellectual property to you, typically when each invoice is paid;
- confidentiality obligations, or a separate mutual NDA;
- milestones that tie payments to delivered, working software;
- the repository and accounts belonging to you from the start; and
- the governing law and how disputes will be resolved.
If the supplier keeps the code in its own repository and offers to "hand it over at the end", ask to change that. You should be able to see every commit as it is made.
7. Look at real work and real people
Paperwork proves a company exists; it does not prove the company can deliver. Ask to see live products, speak to one or two previous clients, and meet the engineer who will actually do the work, not just the salesperson. For a large project, start with a small paid pilot of a week or two. It tells you more than any proposal.
Questions to ask on the first call
Paperwork checks take minutes; a good first call tells you the rest. Ask:
- Who exactly will work on my project, and can I speak to them?
- Which project like mine have you delivered, and can I see it running?
- How do you report progress, and how often will I see working software?
- What happens to my code, accounts and data if we stop working together?
- How do you handle changes to the scope once work has started?
Clear, specific answers are a good sign. Vague ones, or a salesperson who cannot answer technical questions and will not bring in someone who can, are not.
What to do if something does not match
Small differences are common and usually innocent: a brand name that differs from the legal name, an old address on a website, a company that has just incorporated and is still waiting for its PSEB certificate. Ask about each one in writing, and judge the answer.
What should stop you is a mismatch that the supplier cannot explain: a registration number belonging to a different company, an invoice from someone other than the company you are contracting with, or a request to keep payments informal. Walk away from those, however good the price.
Red flags
- No legal name or CUIN anywhere, or a name that does not match the register.
- Invoices from a personal account, or requests to pay a third party.
- Code kept in the supplier's private repository until final payment.
- Pressure to pay most of the price upfront.
- Prices far below every other quote, with no clear scope behind them.
- Reluctance to put any of the above in writing.
How Ennovaq checks out
We publish our details on every page so you can run these checks on us.
Found this useful? Take the next step.
Verify Ennovaq the same way