1. E-Invoice Receipt
Qorpy
  • Getting Started: Qorpy API and NRS E-Invoice
  • Frequently Asked Questions
  • Qorpy API Onboarding
    • Request Business Key
      POST
    • Regenerate Business Key
      POST
    • Business Settings - Update
      POST
    • Business Settings - Read
      GET
  • E-Invoicing Lifecycle
    • E-Invoice Creation
      • Create Invoice
      • Get Invoice QR Code
      • Update Invoice Payment Status
      • Get Sent Invoices
      • Get Sent Invoice Details
    • E-Invoice Reversal
      • Invoice Reversal
    • E-Invoice Receipt
      • Fetch Received Invoices
        POST
  • Resources
    • Get NRS Invoice Quantity Codes
      GET
    • Get NRS Currencies
      GET
    • Get NRS States
      GET
    • Get NRS LGAs
      GET
    • Get NRS Countries
      GET
    • Get NRS Invoice Types
      GET
    • Get NRS Payment Means
      GET
    • Get NRS Product Codes
      GET
    • Get NRS Service Codes
      GET
    • Get NRS Tax Categories
      GET
  1. E-Invoice Receipt

Fetch Received Invoices

POST
/{stage}/external/{businessId}/fetchInvoices
Retrieve a paginated list of invoices for a specified business with flexible filtering and sorting options.

Quick Reference#

MethodEndpointContent-Type
POST{{baseUrl}}/{{stage}}/external/businesses/{{businessId}}/fetchInvoicesapplication/json

Request Structure#

Path Parameters#

ParameterTypeRequiredDescriptionExample
businessIdstring✅Unique identifier of the business26ede24b-ac50-475f-aacc-5ea6339f0863

Headers#

HeaderValueRequired
Content-Typeapplication/json or */*Yes
Acceptapplication/json or */*Yes
X-Business-KeybusinessKeyYes

Query Parameters#

ParameterTypeRequiredDescriptionExample
invoicePaymentStatusstringoptionalthis filters the invoices using the payment statusPENDING,PAID,REJECTED

Request Body#

The request body must be a JSON object containing pagination parameters:
FieldTypeRequiredDescriptionDefaultValidation
pagenumber✅Page number for paginationMust be ≥ 1
sizenumber✅Number of results per pageMust be between 1-100
invoicePaymentStatusstringoptionalthis filters the invoices using the payment statusPENDING,PAID,REJECTED
dateTostringoptionalthis filters the invoices within a specific date rangePENDING,PAID,REJECTED
dateFromstringoptionalthis filters the invoices within a specific date rangePENDING,PAID,REJECTED

📤 Response Format#

Success Response (200)#

{
  "data": {
    "invoices": [
      {
        "irn": "INV237-1070ECE8-20250826",
        "invoiceNumber": "INV237",
        "issueDate": "2025-08-26",
        "dueDate": "2025-08-26",
        "paymentStatus": "PAID",
        "documentCurrencyCode": "NGN",
        "payableAmount": 30255.22,
        "taxInclusiveAmount": 30255.22,
        "customerPartyName": "Dangote Group",
        "supplierPartyName": "AEDC Electricity Supply",
        "note": "August Electricity Bill - Mr Ridwan"
      },
      {
        "irn": "INV238-1070ECE8-20250826",
        "invoiceNumber": "INV238",
        "issueDate": "2025-08-26",
        "dueDate": "2025-09-25",
        "paymentStatus": "PENDING",
        "documentCurrencyCode": "NGN",
        "payableAmount": 161250.0,
        "taxInclusiveAmount": 161250.0,
        "customerPartyName": "Tech Solutions Ltd",
        "supplierPartyName": "Office Supplies Co",
        "note": "IT Equipment Purchase"
      }
    ],
    "pagination": {
      "currentPage": 1,
      "pageSize": 2,
      "totalPages": 15,
      "totalElements": 29,
      "hasNext": true,
      "hasPrevious": false
    },
    "summary": {
      "totalInvoices": 29,
      "totalAmount": 875432.50,
      "paidInvoices": 18,
      "pendingInvoices": 8,
      "rejectedInvoices": 3
    }
  },
  "responseCode": "200",
  "responseMessage": "Invoices fetched successfully"
}

📋 Response Data Structure#

Invoice Object#

FieldTypeDescription
irnstringInvoice Reference Number
invoiceNumberstringUser-defined invoice number
issueDatestringDate invoice was issued (YYYY-MM-DD)
dueDatestringPayment due date (YYYY-MM-DD)
paymentStatusstringPayment status: PENDING, PAID, REJECTED
documentCurrencyCodestringCurrency code (e.g., NGN, USD)
payableAmountnumberTotal amount payable
taxInclusiveAmountnumberAmount including tax
customerPartyNamestringCustomer name
supplierPartyNamestringSupplier name
notestringAdditional notes about the invoice

Pagination Object#

FieldTypeDescription
currentPagenumberCurrent page number
pageSizenumberNumber of items per page
totalPagesnumberTotal number of pages
totalElementsnumberTotal number of invoices
hasNextbooleanWhether there are more pages
hasPreviousbooleanWhether there are previous pages

Summary Object#

FieldTypeDescription
totalInvoicesnumberTotal number of invoices
totalAmountnumberSum of all invoice amounts
paidInvoicesnumberCount of paid invoices
pendingInvoicesnumberCount of pending invoices
rejectedInvoicesnumberCount of rejected invoices

✅ Validation Rules#

Request Body Validation#

page must be a positive integer (≥ 1)
size must be between 1 and 100
Both fields are required

Path Parameter Validation#

businessId must be a valid UUID format
Business must exist and be accessible to the user

Business Logic Validation#

User must have permission to access the business's invoices
Only finalized/sent invoices are included in results
Deleted invoices are excluded from results

⚠️ Error Responses#

Common Error Scenarios#

Error CodeMessageDescriptionSolution
400Invalid page parameterPage number is less than 1Use page ≥ 1
400Invalid size parameterPage size is outside allowed rangeUse size between 1-100
404Business not foundBusiness ID doesn't existVerify business ID
403Access deniedUser doesn't have permissionCheck user permissions
422Missing required fieldsPage or size not providedInclude both page and size

Example Error Response#

{
  "data": null,
  "responseCode": "400",
  "responseMessage": "Invalid page parameter: must be greater than 0"
}

💡 Pagination Best Practices#

Efficient Data Loading#

Start small: Use page size 10-25 for initial loads
Progressive loading: Increase page size for subsequent requests
Maximum limit: Don't exceed 100 items per page

Navigation Implementation#

Use pagination object: Leverage hasNext and hasPrevious for navigation
Total pages: Display total pages using totalPages
Current position: Show current page context

Performance Optimization#

Cache results: Store frequently accessed pages client-side
Debounce requests: Avoid rapid-fire pagination requests
Loading states: Show loading indicators during fetch operations

📊 Use Cases#

Common Implementation Scenarios#

1.
Invoice Dashboard
Fetch invoices → Display in table → Show pagination controls
2.
Financial Reports
Iterate through pages → Aggregate data → Generate reports
3.
Customer Portal
Filter by customer → Paginate results → Display relevant invoices
4.
Bulk Operations
Fetch all pages → Select invoices → Perform bulk actions

🔍 Filtering & Sorting Considerations#

While this endpoint provides basic pagination, consider these future enhancements:

Potential Filter Parameters#

Payment status filtering
Date range filtering
Customer/supplier filtering
Amount range filtering

Potential Sort Options#

Sort by issue date
Sort by due date
Sort by amount
Sort by payment status
Note: Current endpoint provides basic pagination. Contact API team for advanced filtering requirements.

🔗 Related Endpoints#

Invoice Operations#

GET /invoices/{invoiceIrn} - Get specific invoice details
POST /invoices - Create new invoice
POST /invoices/bulk - Bulk invoice creation
POST /invoices/update-payment/{invoiceIrn} - Update payment status

Business Management#

GET /businesses/{businessId} - Get business details
GET /businesses/{businessId}/statistics - Get business statistics
GET /businesses/{businessId}/reports - Generate business reports

📈 Response Time & Performance#

Expected Performance#

Typical response time: 200-800ms depending on page size
Large datasets: May take longer for businesses with many invoices
Concurrent requests: Multiple pagination requests are supported

Optimization Tips#

Use appropriate page sizes for your use case
Implement client-side caching for frequently accessed pages
Consider using the summary data to avoid unnecessary full-page loads

This endpoint provides efficient access to invoice data with comprehensive pagination support, enabling businesses to manage large volumes of invoices effectively while maintaining optimal performance.

Request

Path Params

Header Params

Body Params application/json

Examples

Responses

🟢200OK
text/plain
🟢201Created
🟠401Unauthorized
🟠403Forbidden
🟠404Not Found
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --globoff '/{{stage}}/external/{{businessId}}/fetchInvoices' \
--header 'X-Business-Key: BK-26EDE24BAC50475FAACC5EA6339F0863-DEV-B2Z6QCEHI3X9' \
--header 'Accept: */*' \
--header 'Content-Type: application/json' \
--data '{
    "page": 1,
    "size": 10,
    "invoicePaymentStatus":"PENDING",
    "dateFrom":"2025-09-10",
    "dateTo":"2025-10-10"
}'
Response Response Example
{
  "data": {
    "invoiceLineExtensionAmount": 2019.5857083438584,
    "invoicePayableAmount": 5626.897054929674,
    "invoiceTaxExclusiveAmount": 1770.7433894875257,
    "invoiceTaxInclusiveAmount": 1606.8720566568295,
    "invoiceAccountingCost": "string",
    "invoiceActualDeliveryDate": "string",
    "invoiceAdditionalDocumentReference": [
      {
        "invoiceDocumentReferenceIrn": "string",
        "invoiceDocumentReferenceIssueDate": "string",
        "invoiceDocumentReferenceInvoiceId": 8458,
        "invoiceDocumentReferenceType": "string"
      },
      {
        "invoiceDocumentReferenceIrn": "s",
        "invoiceDocumentReferenceIssueDate": "string",
        "invoiceDocumentReferenceInvoiceId": 5259,
        "invoiceDocumentReferenceType": "string"
      }
    ],
    "invoiceAllowanceCharge": [
      {
        "invoiceAllowanceChargeAmount": 6644.494052367438,
        "invoiceAllowanceChargeIndicator": true,
        "invoiceAllowanceChargeInvoiceId": 8535
      },
      {
        "invoiceAllowanceChargeAmount": 6839.915626752621,
        "invoiceAllowanceChargeIndicator": false,
        "invoiceAllowanceChargeInvoiceId": 5459
      }
    ],
    "invoiceBillingReference": [
      {
        "invoiceDocumentReferenceIrn": "string",
        "invoiceDocumentReferenceIssueDate": "string",
        "invoiceDocumentReferenceInvoiceId": 3348,
        "invoiceDocumentReferenceType": "string"
      },
      {
        "invoiceDocumentReferenceIrn": "string",
        "invoiceDocumentReferenceIssueDate": "string",
        "invoiceDocumentReferenceInvoiceId": 7025,
        "invoiceDocumentReferenceType": "string"
      }
    ],
    "invoiceBusinessId": "string",
    "invoiceBuyerReference": "string",
    "invoiceContractDocumentIrn": "string",
    "invoiceContractDocumentIssueDate": "string",
    "invoiceCreatedAt": "string",
    "invoiceCustomerCityName": "string",
    "invoiceCustomerCountry": "string",
    "invoiceCustomerLga": "string",
    "invoiceCustomerPartyBusinessDescription": "string",
    "invoiceCustomerPartyEmail": "string",
    "invoiceCustomerPartyId": "string",
    "invoiceCustomerPartyName": "string",
    "invoiceCustomerPartyTelephone": "st",
    "invoiceCustomerPartyTin": "string",
    "invoiceCustomerPostalZone": "string",
    "invoiceCustomerState": "string",
    "invoiceCustomerStreetName": "string",
    "invoiceDeliveryPeriodEndDate": "string",
    "invoiceDeliveryPeriodStartDate": "string",
    "invoiceDispatchDocumentIrn": "string",
    "invoiceDispatchDocumentIssueDate": "string",
    "invoiceDocumentCurrencyCode": "string",
    "invoiceDueDate": "string",
    "invoiceEntityId": "string",
    "invoiceId": 4802,
    "invoiceIrn": "string",
    "invoiceIssueDate": "string",
    "invoiceIssueTime": "string",
    "invoiceLine": [
      {
        "invoiceLineDiscountAmount": 8464.946359464293,
        "invoiceLineDiscountRate": 2274.9435528668128,
        "invoiceLineExtensionAmount": 5385.4426668946335,
        "invoiceLineFeeAmount": 9122.642167278367,
        "invoiceLineFeeRate": 8320.839244975608,
        "invoiceLineInvoicedQuantity": 8198,
        "invoiceLinePriceAmount": 215.77904470435615,
        "invoiceLinePriceBaseQuantity": 750,
        "invoiceLineHsnCode": "string",
        "invoiceLineInvoiceId": 908,
        "invoiceLineItemDescription": "string",
        "invoiceLineItemName": "string",
        "invoiceLineItemSellersItemIdentification": "string",
        "invoiceLinePriceUnit": "string",
        "invoiceLineProductCategory": "string"
      },
      {
        "invoiceLineDiscountAmount": 8770.02221018588,
        "invoiceLineDiscountRate": 3584.20710384036,
        "invoiceLineExtensionAmount": 9570.095093838434,
        "invoiceLineFeeAmount": 3602.247746438916,
        "invoiceLineFeeRate": 760.2247032546217,
        "invoiceLineInvoicedQuantity": 2766,
        "invoiceLinePriceAmount": 2260.413671022261,
        "invoiceLinePriceBaseQuantity": 1622,
        "invoiceLineHsnCode": "string",
        "invoiceLineInvoiceId": 2165,
        "invoiceLineItemDescription": "string",
        "invoiceLineItemName": "string",
        "invoiceLineItemSellersItemIdentification": "string",
        "invoiceLinePriceUnit": "string",
        "invoiceLineProductCategory": "string"
      }
    ],
    "invoiceNote": "string",
    "invoiceOrderReference": "string",
    "invoiceOriginatorDocumentIrn": "string",
    "invoiceOriginatorDocumentIssueDate": "string",
    "invoicePaymentMeans": [
      {
        "invoicePaymentMeansCode": "s",
        "invoicePaymentMeansDueDate": "string",
        "invoicePaymentMeansInvoiceId": 9023
      },
      {
        "invoicePaymentMeansCode": "string",
        "invoicePaymentMeansDueDate": "str",
        "invoicePaymentMeansInvoiceId": 3946
      }
    ],
    "invoicePaymentStatus": "string",
    "invoicePaymentTermsNote": "string",
    "invoiceReceiptDocumentIrn": "string",
    "invoiceReceiptDocumentIssueDate": "string",
    "invoiceStatus": "string",
    "invoiceSupplierCityName": "string",
    "invoiceSupplierCountry": "string",
    "invoiceSupplierLga": "string",
    "invoiceSupplierPartyBusinessDescription": "string",
    "invoiceSupplierPartyEmail": "string",
    "invoiceSupplierPartyId": "string",
    "invoiceSupplierPartyName": "string",
    "invoiceSupplierPartyTelephone": "str",
    "invoiceSupplierPartyTin": "string",
    "invoiceSupplierPostalZone": "string",
    "invoiceSupplierState": "string",
    "invoiceSupplierStreetName": "string",
    "invoiceTaxCurrencyCode": "string",
    "invoiceTaxPointDate": "string",
    "invoiceTaxTotal": [
      {
        "invoiceTaxTotalAmount": 8533.493241408627,
        "invoiceTaxTotalInvoiceId": 354,
        "invoiceTaxTotalSubTotal": [
          {
            "taxSubTotalCategoryPercent": 9313.487596758672,
            "taxSubTotalTaxAmount": 4481.537382840362,
            "taxSubTotalTaxableAmount": 76.02444260525365,
            "taxSubTotalCategoryId": "string"
          },
          {
            "taxSubTotalCategoryPercent": 3174.671814271737,
            "taxSubTotalTaxAmount": 6263.271536130504,
            "taxSubTotalTaxableAmount": 3168.552732976675,
            "taxSubTotalCategoryId": "string"
          }
        ]
      },
      {
        "invoiceTaxTotalAmount": 6420.206655434266,
        "invoiceTaxTotalInvoiceId": 2401,
        "invoiceTaxTotalSubTotal": [
          {
            "taxSubTotalCategoryPercent": 2873.5156424962915,
            "taxSubTotalTaxAmount": 9264.09213385789,
            "taxSubTotalTaxableAmount": 4785.87933226625,
            "taxSubTotalCategoryId": "string"
          },
          {
            "taxSubTotalCategoryPercent": 9800.922749842299,
            "taxSubTotalTaxAmount": 1484.8430096542509,
            "taxSubTotalTaxableAmount": 6150.498184496185,
            "taxSubTotalCategoryId": "string"
          }
        ]
      }
    ],
    "invoiceTypeCode": "string",
    "invoiceUpdatedAt": "string",
    "requestType": "string"
  },
  "responseCode": "string",
  "responseMessage": "string"
}
Modified at 2026-08-21 08:56:34
Previous
Invoice Reversal
Next
Get NRS Invoice Quantity Codes
Built with