Skip to main content

Reference

Petty Cash

Requisition, approval, disbursement, and retirement workflow with auto GL posting.

Petty cash in Finora Business follows a formal workflow: an employee requests, a manager approves, the cashier disburses (cash leaves the float), then the employee retires (submits receipts). Each step posts the right journal entry — no manual GL.

List petty cash requests

GET/v1/petty-cash

Paginated list, newest first.

Query parameters

FieldTypeRequiredNotes
businessIdstringyes
statusstringnopending, approved, disbursed, retired, rejected.
requesterIdstringno
limitintegernoDefault 50, max 100.

Create a request

POST/v1/petty-cash

Opens a petty cash request. Starts in `pending` status.

Body

FieldTypeRequiredNotes
amountnumberyesNaira.
purposestringyesWhy the money is needed.
requesterNamestringyes
requesterIdstringnoEmployee ID if available.
neededByDateISO 8601no
notesstringno

Approve

POST/v1/petty-cash/{id}/approve

Manager approval. Does not move money — use disburse next.

Body

FieldTypeRequiredNotes
approverIdstringno
approverNamestringyesShown on the request.
notesstringno

Disburse

POST/v1/petty-cash/{id}/disburse

Records the cash leaving the float. Posts DR Petty Cash Advance, CR Cash/Bank.

Body

FieldTypeRequiredNotes
disbursedByIdstringno
disbursedByNamestringyes
disbursedDateISO 8601noDefaults to today.
notesstringno

Retire

POST/v1/petty-cash/{id}/retire

Submit receipts for an disbursed request. Posts DR Expense Account, CR Petty Cash Advance.

Body

FieldTypeRequiredNotes
expensesarrayyesEach has amount, accountId, description.
returnedAmountnumbernoUnused money returned to the float. Posts DR Cash/Bank, CR Petty Cash Advance.
retiredByIdstringno
retiredByNamestringyes
notesstringno

Example — retire with leftover returned

curl -X POST "https://api.finorabusiness.com/v1/petty-cash/pc_abc/retire?businessId=$BID" \
  -H "Authorization: Bearer $FINORA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "retiredByName": "Funke Oladele",
    "expenses": [
      { "amount": 4500, "accountId": "5031", "description": "Office refreshments" },
      { "amount": 2000, "accountId": "5032", "description": "Delivery fee" }
    ],
    "returnedAmount": 500
  }'

Total disbursed must equal expenses + returnedAmount. Mismatches return 400 VALIDATION_ERROR.

Related endpoints

Reference index

Back to all modules