Pockets & Allocation
An income credit doesn't sit as one number on the wallet. The moment it lands, it's divided into five pockets by percentage.
The default split
| Share | Withdrawable | |
|---|---|---|
| Point Value | 40% | Yes |
| Business Investment | 10% | No, locked until it clears a threshold |
| Personal Investment | 15% | Yes |
| Upkeep | 25% | Yes |
| Savings | 10% | Yes |
Business Investment is the one pocket members can't touch on demand. It exists to force long-term accumulation instead of letting a single big commission get spent the same week it lands.
Where the split comes from
Each workspace has an allocation rule: a set of percentages, one per pocket, that always adds up to 100. There's a global default, and a workspace can define its own rule to override it. Only one rule is ever active per scope, global or per-workspace, never both at once.
When income gets allocated, the split runs against whichever rule applies. Change the rule and every allocation after that point uses the new percentages. Past allocations don't get rewritten.
Rounding
Splitting a real naira amount five ways doesn't always divide evenly. The system assigns each pocket its share, then hands whatever's left over, usually a few kobo, to the last pocket in the split. Nobody ends up shortchanged; the remainder always lands somewhere.
Moving money between pockets
A withdrawal comes out of one pocket. That means a member holding ₦300,000 in Upkeep and ₦100,000 in Savings can't withdraw ₦400,000 in a single request, even though the wallet total says they have it. Pocket transfers are the way around that: consolidate into one pocket first, then withdraw from it.
A transfer needs approval. The member picks a source pocket, a destination, an amount, and a reason, and confirms with their transaction PIN. A team leader or director then approves or rejects it. Nothing moves until they do.
The amount is held in the source pocket the moment the request goes in. It still shows in that pocket's balance, but it drops out of available, so a pending transfer and a pending withdrawal can never spend the same naira. Approval releases the hold and moves the money in one step. Rejection releases the hold and leaves the balance exactly where it was; the member sees the reason. A member can cancel their own request any time before it's approved.
One transfer at a time per member. Without that limit a member could stack requests that each pass the balance check individually but together overdraw the pocket.
Which direction a transfer can go
Only a withdrawable pocket can be a source. Business Investment can receive a transfer, so a member can choose to save into it, but it can never be drained back out. That one-way door is deliberate: if money could be moved out of Business Investment on request, the threshold that locks it would mean nothing.
| Can send | Can receive | |
|---|---|---|
| Point Value | Yes | Yes |
| Business Investment | No | Yes |
| Personal Investment | Yes | Yes |
| Upkeep | Yes | Yes |
| Savings | Yes | Yes |
Both sides of a transfer land in the pocket ledger as a matched pair, transfer_out against the source and transfer_in against the destination, so pocket history always shows where money went and who approved it.
Conversions move with the pockets
Converting currency (NGN to USD or back) used to only touch the wallet's total balance. That meant a member could see money in their wallet that their pockets couldn't account for, and a withdrawal would fail with an "insufficient pocket balance" error that made no sense from the wallet screen.
That's fixed. A conversion now debits the source pockets in the same proportion they already held the currency, and credits the destination pockets by that same proportion, or by the active allocation rule if there's nothing to proportion against yet. The wallet total was never the whole story. The pockets underneath it are.