Guide
Expenses
Company expenses — recorded by accounting staff, paid out by admins via PawaPay once approved. Every endpoint on this page lives under https://api.swiftgoma.com/api/v1/expenses.
Categories
GET /meta returns the valid categories: OPERATIONS, MARKETING, PAYROLL, LEGAL, TRAVEL, UTILITIES, EQUIPMENT, OTHER.
Recording an expense
An ACCOUNTANT creates the expense with the vendor's payout details attached — name, phone number, country, and mobile money provider — so it's ready to pay out the moment it's approved. It can still be edited or rejected while PENDING.
Admin approval and payout
- 1
Request
POST /:id/approve/request validates the expense and emails the admin a verification code. - 2
Resend (optional)
POST /:id/approve/resend if the code expired or didn't arrive. - 3
Confirm
POST /:id/approve/confirm with the code sends the PawaPay payout and moves the expense toPROCESSING.
Rejection is separate from the approval flow — POST /:id/reject requires a reason and doesn't need a code, since it moves money nowhere.
Status values
| Status | Meaning |
|---|---|
| PENDING | Awaiting admin action. |
| REJECTED | Declined — terminal. |
| PROCESSING | Payout sent to PawaPay, awaiting confirmation. |
| COMPLETED | Payout confirmed — terminal. |
| FAILED | Payout failed at the provider. |