Skip to main content

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.

Utility bill verification ties a company to a physical location. We accept a recent electricity, water, or telecom bill in the company’s name (or in a director’s name at the same address), OCR it, and cross-check the address against the one on file.

What we check

  • The bill is issued to the company, or to a verified director at the company’s declared address.
  • The bill is dated within the last 90 days.
  • The address on the bill matches the company’s address field after normalisation (case, whitespace, abbreviations).
  • The provider is on the accepted list (IKEDC, EKEDC, AEDC, IBEDC, EEDC, KEDC, KAEDCO, JEDC, BEDC, PHEDC, MTN, Airtel, Glo, 9mobile, water boards in major states).
A successful match awards the utility bill bucket (80 points) and the address verified flag, which is required by some downstream consumers.

Upload

curl -X POST https://api.vouchmark.com/v1/verifyBill \
  -H "Authorization: Bearer $TOKEN" \
  -F "companyId=cmp_aBcD..." \
  -F "bill=@./ikedc-may-2026.pdf"
The endpoint accepts a single PDF up to 10 MB. The file is OCR’d asynchronously; you can poll status with GET /v1/checkVerificationProgress.
Response — accepted
{
  "success": true,
  "data": {
    "companyId": "cmp_aBcD...",
    "billProvider": "IKEDC",
    "billDate": "2026-04-22",
    "addressMatch": true,
    "verifiedAt": "2026-05-12T09:14:00Z"
  }
}

Common failures

FailureWhat it means
BILL_STALEBill is older than 90 days. Upload a more recent one.
PROVIDER_NOT_ACCEPTEDThe provider isn’t on our list. Use a primary utility, not an internet provider.
ADDRESS_NO_MATCHThe bill’s address doesn’t match the company’s. Update the company’s address first, or upload a bill that matches.
OCR_LOW_CONFIDENCEThe PDF was a low-resolution scan. Re-upload at 300dpi or a text-PDF.

Physical address (alternative path)

When no utility bill is available, the dashboard offers a physical address verification option: a Vouchmark agent visits the company’s declared address and confirms operations are present. Submit via POST /v1/physicalAddress; status is polled at GET /v1/physicalAddress. This path is slower (1–3 business days) and carries an additional fee, but it produces the same flag in the score.