Self Topup Settings: Max Purchase limit per SKU
Jira: BIF-8787 · Epic: BIF-7797
Part of the Self Top-up Improvement initiative. This is a Self Topup Settings story, separate from the topup-flow stories in self-topup.md (STP-S01–S09). Moved here from
adhoc-q3-2026on 2026-07-16 after confirming BIF-8787 is a child of the self-topup Epic BIF-7797, not the adhoc Epic BIF-8695.
Overview
Add a per-SKU "Max Purchase" limit to Self Topup settings. Once a customer has purchased a SKU up to its limit, that SKU is removed from their Self Topup page so it can't be bought again. Use case: the Voice of Customer SKU can only be purchased once (limit = 1).
Scope Changes
- Backend — per-SKU max-purchase setting, cumulative purchase enforcement.
- Frontend — settings input; hide the SKU on the Self Topup page once the limit is reached.
8. User Stories + Acceptance Criteria
| User Story | Importance | Mockup / Technical Notes | Acceptance Criteria |
|---|---|---|---|
| [MAXPUR-S01] — Max Purchase per SKU As a billing admin configuring Self Topup SKUs, I want to set a Max Purchase limit per SKU, so that limited SKUs (e.g. Voice of Customer) can only be purchased up to that limit — after which the SKU no longer appears on the customer's Self Topup page. | Should Have | Limit reached ⇒ SKU hidden from the Self Topup page. | — Happy Path — • AC-1: Given a SKU in Self Topup settings, when an admin edits it, then a "Max Purchase" limit (positive integer, e.g. 1) can be set per SKU; unset = unlimited. • AC-3: Given a customer has purchased a SKU up to its Max Purchase limit, when they view the Self Topup page, then the SKU is no longer shown. • AC-4: Given a customer has purchased fewer than the limit, when they view the Self Topup page, then the SKU still shows and remains purchasable up to the remaining allowance. — Guard-rail — • NEG-1 (AC-2): Given a SKU with a Max Purchase limit and a customer who has already purchased up to that limit, when they attempt to purchase it again, then the purchase is not allowed. |
Open questions
- Is Max Purchase a cumulative lifetime cap per company (CID), or per subscription period? (Assumed: lifetime cumulative per CID.)
- Does the count track number of purchases/orders or total quantity of units?
- If limit > 1, does a single order's quantity have to respect the remaining allowance?