Earnipay E-Invoice

FIRS-compliant e-invoicing platform API for Nigeria

Build FIRS-compliant e-invoicing integrations for Nigeria with the Earnipay API. Create invoices, submit them to FIRS via Access Point Providers (APPs), generate IRNs (Invoice Reference Numbers), and manage your full invoicing workflow programmatically.

DetailValue
Base URLhttps://e-invoicing.earnipay.com/v1
API Version1.0
Spec FormatOpenAPI 3.0.0
AuthenticationJWT Bearer Token or API Key (X-API-Key header)

Authentication

The Earnipay API supports two authentication methods:

Use JWT authentication for user-facing flows. Call the login endpoint with your credentials to receive an access token, then include it in subsequent requests.

curl -X POST https://e-invoicing.earnipay.com/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "password": "your-password"
  }'
curl https://e-invoicing.earnipay.com/v1/users/me \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."

When the access token expires, call POST /v1/auth/refresh with your refresh token to get a new one.


Invoice Lifecycle

Invoices follow a status-based workflow from creation through FIRS submission:

DRAFTPENDING_APPROVALAPPROVEDPENDINGSUBMITTEDFIRS_APPROVED / FIRS_REJECTED / PAID / CANCELLED

Invoice TypeDescription
STANDARDRegular tax invoice
PROFORMAPre-sale invoice before goods/services are delivered
CREDIT_NOTEAdjustment reducing the amount owed
DEBIT_NOTEAdjustment increasing the amount owed

You can configure automatic approval or require manual approval per business via PATCH /v1/businesses/{id}/settings.


API Modules


Pagination & Filtering

All list endpoints support consistent pagination and sorting parameters:

ParameterTypeDescription
pageintegerPage number (starts at 1)
limitintegerItems per page
searchstringSearch query to filter results
sortBystringField name to sort by
sortOrderstringasc or desc