The FIRS TIN check confirms a company is registered with the Federal Inland Revenue Service and that the taxpayer name matches the CAC name. It’s the highest-weight verification in the Vouchmark Score (up to 100 points) because tax registration is the single best proof that a company is operating, not just incorporated.Documentation Index
Fetch the complete documentation index at: https://docs.vouchmark.com/llms.txt
Use this file to discover all available pages before exploring further.
How it works
We don’t ask you for the TIN. We resolve it from the RC number by calling the JTB taxpayer API for the company’s classification, then optionally re-verify against an uploaded Tax Clearance Certificate.Kickoff
The check runs automatically once an owner-claimed company has an RC number on file, or you can trigger it manually with
POST /v1/check-firstin.Queue
A BullMQ job hits the JTB resolver, trying the relevant classification types (typically
2 for limited companies, 1 for business names).Endpoints
Successful resolution
States while resolving
The dashboard pollsGET /v1/dashboard/my-companies?id={companyId} while a kickoff is in flight. The fields to watch:
| Field | Meaning |
|---|---|
tax.firsttin_pending: true | Resolution is in flight. |
tax.firsTin set, firsttin_pending: false | Resolved successfully. |
vouchmark_tools.firstaxClearance_vr: true | The Tax Clearance Certificate matched. |
Both pending flags false and firsTin is empty | Resolution failed; fall back to upload. |
Tax Clearance Certificate upload
If automatic resolution fails (e.g. the company is too new for JTB to have indexed) the owner can upload the Tax Clearance Certificate (TCC). We OCR the PDF, extract the TIN and taxpayer name, and match them against CAC. A successful match awards the full bucket.Common failures
| Failure | What it means |
|---|---|
JTB_NO_TIN | The resolver returned no TIN for any classification. The company likely isn’t registered with FIRS yet. |
NAME_MISMATCH | A TIN was found but the registered taxpayer name doesn’t match CAC. We flag this for manual review. |
JTB_RATE_LIMITED | We backed off the JTB API. The job will retry; no action needed. |
TCC_UNREADABLE | The uploaded TCC PDF couldn’t be OCR’d. Re-export from FIRS in text-PDF form. |
