Skip to main content

Reference

Bills & Payments

Supplier invoices with staged payment, WHT on payment, and void support.

Bills are supplier invoices you owe. Unlike expenses (immediate cash out), bills sit in accounts payable until paid — often in instalments. Each payment posts its own GL entry, with WHT handled at payment time.

List bills

GET/v1/bills

Returns bills for a business, newest first.

Query parameters

FieldTypeRequiredNotes
businessIdstringyes
limitintegernoDefault 50, max 100.
statusstringnodraft, unpaid, partial, paid, overdue, voided.
supplierIdstringno

Get a single bill

GET/v1/bills/{id}

Fetches one bill. Supplier PII is decrypted in the response.

Create a bill

POST/v1/bills

Records a supplier bill in accounts payable.

Body

FieldTypeRequiredNotes
supplierIdstringyesMust be an active supplier.
billDateISO 8601yesBill issue date.
dueDateISO 8601yesPayment due date.
lineItemsarrayyes1–100 items with description, quantity, unitPrice, accountId.
vatRatenumbernoDefaults to 7.5.
notesstringno
referencestringnoSupplier's bill number.

Response — 201

{
  "success": true,
  "data": {
    "id": "bill_abc",
    "number": "BILL-2026-003",
    "totalKobo": 10750000,
    "total": 107500,
    "amountPaidKobo": 0,
    "amountDueKobo": 10750000,
    "status": "unpaid",
    "createdAt": "2026-04-17T10:30:00.000Z"
  }
}

Update a bill

PUT/v1/bills/{id}

Edits an unpaid bill. Paid and voided bills are immutable.

Void a bill

POST/v1/bills/{id}/void

Cancels an unpaid bill and reverses its GL entry.

Body

FieldTypeRequiredNotes
reasonstringyesShown in the audit trail.

Record a payment against a bill

POST/v1/bills/{id}/payments

Applies a payment. WHT is computed and transferred to the payable account automatically.

Body

FieldTypeRequiredNotes
amountnumberyesNaira amount of this payment (not total bill).
paymentDateISO 8601noDefaults to today.
paymentMethodstringnocash, bank_transfer, card, mobile_money, cheque.
whtRatenumbernoWHT percentage to withhold on this payment.
referencestringnoBank transaction ID or cheque number.
notesstringno

The bill's status advances to partial or paid based on the running total. When whtRate > 0, a transfer JE moves the WHT from provision (2022) to payable (2027).

List payments for a bill

GET/v1/bills/{id}/payments

Returns all payments applied to this bill.

Related endpoints

Reference index

Back to all modules