Africa Conglomerate ← All Guides

✅ Approval Workflow

⏱ 12 min read 📋 8 steps 🎯 Beginner 👥 B2B Admins & Approvers

Learn how purchase approvals work on Africa Conglomerate — who can approve, how an order reaches an approver, how to approve / reject / delegate, and how to arrange cover when an approver is away. This guide matches exactly what the system does today.

Before you begin
  • To approve orders, a member needs a company role that has the “Approve Orders” permission (see Part 1)
  • Only org Owners/Admins can create roles and assign them to members
  • Your company must be approved and active (see Account Setup)

How Approvals Work

When a B2B buyer submits a purchase order, it does not go straight to the seller. Its status becomes Pending Approval and an approval request is created and assigned to one of your company’s approvers. The order only proceeds once an approver approves it.

By default the workflow is single-step: one authorised approver makes the decision, and every B2B order a member submits is routed to an approver regardless of value. The order amount only sets an informational priority label (Low → Critical).

Before a member can submit, the order needs a way to be paid: the buyer must have a saved payment method, unless the company is on net terms (then the order is invoiced after approval and nothing is charged). Net-terms orders are also checked against the company's credit limit at submission and again at approval.

Seller acceptance (optional, platform-controlled) Where the platform has enabled it, a net-terms order sold by a subscription-plan seller pauses after your approval as Awaiting Seller Acceptance: the seller's approvers review the buyer's credit exposure and Accept (order is invoiced and moves to Awaiting Dispatch) or Decline with a reason (order is rejected and reserved stock is released). Commission-plan sellers and prepaid orders skip this step.

Organizations that need tiered sign-off can turn on multi-level approval chains, where larger orders must be approved by several people in sequence (for example Team Lead → Finance). That's an optional add-on — see Multi-Level Approval Chains below.

Each request carries a 24-hour SLA indicator so approvers can see what is due or overdue. The SLA is a visual cue only — nothing is auto-approved or auto-escalated when it lapses.

The approval lifecycle at a glance

Buyer submits a B2B order role permission: “Submit Orders” Order → “Pending Approval” Approval request created · 24-hour SLA · priority set by amount Auto-assigned to the least-busy approver a member with the “Approve Orders” permission — never the buyer Absence Cover reroutes it if that approver is away No eligible approver? Left unassigned — any approver can pick it up Buyer may Withdraw while still pending → order cancelled Approver reviews Approve optional comment Reject reason required Delegate hand to another approver re-assigned, back to review Order approved buyer notified Order rejected — terminal buyer notified with the reason After approval (see the Order Lifecycle) charge saved method (or net-terms invoice) → awaiting dispatch → dispatched → delivered → completed Every approval action is recorded in History · priority & SLA are indicators only — nothing auto-escalates

Part 1 — Decide Who Can Approve

Approval authority is granted through roles, not a separate “approval settings” screen. Anyone whose company role has the Approve Orders permission becomes an eligible approver and starts receiving assigned requests automatically.

1

Create or edit a role with “Approve Orders”

As an Owner or Admin, go to the sidebar People → Roles & Permissions. Create a role (for example “Purchasing Approver”) or edit an existing one, and tick Approve Orders. Save.

📸 Screenshot: Roles & Permissions — role form Shows the role edit form with the permission checkboxes; “Approve Orders” is ticked. /static/guides/images/approvals/01-role-approve-orders.png
Tip Saving the role, or changing a member’s role, takes effect at once — the member sees the Approvals section in the sidebar on their next page load. If someone who should approve cannot see it, they are in the wrong active company (see the company switcher), not missing a setting. A role can also carry an approval limit (set by platform staff) that only applies when multi-level approval chains are enabled.
2

Assign the role to a member

Go to People → Team Members, open the member, and change their role to the one that has Approve Orders. From that moment they appear in the approver pool and can be assigned requests.

📸 Screenshot: Team Members — change role Shows the Team Members list with a member’s role dropdown being set to the approver role. /static/guides/images/approvals/02-assign-approver-role.png
Separation of duties is automatic A member can never approve or be assigned their own order, even if they hold the Approve Orders permission. The system excludes the buyer from their own approval.

Multi-Level Approval Chains Optional

When it's enabled for your organization, you can route orders through tiers of approvers based on order value. Each tier that an order's value reaches must sign, in order, before the order is approved. A rejection at any tier stops the whole chain. If a tier's approver is away, their Absence Cover applies to that tier automatically.

Availability This is a platform-controlled feature. If you don't see an Approval Policy item under Approvals, it isn't enabled for your organization yet — ask your administrator. Until a policy is active, approvals stay single-step (nothing changes).

How a chain flows

Order submitted USD 15,000 Tier 1 · Team Lead applies to any amount → signs Tier 2 · Finance applies at ≥ 5,000 → signs Order approved payment → fulfillment A tier engages only when the order's value (in your base currency) reaches its threshold. A 3,000 order here would need only Tier 1; a 15,000 order needs Tier 1 then Tier 2. Reject at any tier → order rejected. Each tier can carry an approval limit as a hard ceiling.

Building a policy

As an Owner/Admin, open Approvals → Approval Policy and add tiers:

  • Level 1 is the entry tier — it applies to every order (its threshold is fixed at 0).
  • Each higher level sets an “applies at ≥” amount, in your organization's base currency. Foreign-currency orders are converted before the tiers are chosen.
  • Each tier's approver is either a role (anyone holding it) or a specific person.
  • Thresholds must increase level by level. When the chain is valid you can Activate the policy — until then it governs nothing.
Approval limits A role can also carry a maximum order value it may finalize. The person who finalizes an order (the top tier it reaches) must have authority for its value — otherwise they're asked to route it to someone higher. Lower tiers that only pass an order up the chain are not limited.

What approvers see

A multi-level request shows a Level X of N badge in the queue and a tier checklist on the detail page — who has signed, who's next, and the amount each tier engages at. Only the current tier's approver sees the Approve / Reject buttons.

Part 2 — Arrange Cover When an Approver Is Away

When an approver will be unavailable, they set up Absence Cover so their incoming approvals are automatically routed to a colleague for a set period. This is the platform’s dated hand-off mechanism.

3

Set up an absence-cover period

The approver opens Approvals → Absence Cover and creates a policy with:

  • Cover approver — a colleague who also has the Approve Orders permission in this organisation
  • Start date and End date — the period you’ll be away
  • Reason (optional)

While the period is active, any approval that would go to you is routed to your cover approver instead — no per-order action needed.

📸 Screenshot: Absence Cover form & active policies Shows the Absence Cover page with the create form (cover approver, start/end date, reason) and lists of active, upcoming, and past cover periods. /static/guides/images/approvals/03-absence-cover.png
Note You can’t choose a cover approver who is themselves on cover during any part of your dates — the form blocks overlapping cover so requests don’t bounce around. You can cancel or reactivate a policy any time from the same page. Your cover approver is notified when you set it.

Part 3 — Review & Process Pending Approvals

4

Open your approval queue

In the sidebar, approvers see an Approvals section. Click Approval Queue to open your approver dashboard. It has three sections: Purchase Orders (your company’s orders awaiting approval, with Review / Approve / Reject), Sales Orders (orders from other companies that contain your products — read-only while the buyer’s approvers decide, shown as “Awaiting buyer approval”), and My Orders (orders you submitted, with Withdraw while pending). Priority and SLA appear on the request’s detail page and on the focused queue.

Member of more than one company? The Approval Queue always shows the company that is currently active in the company switcher. To see or act on another company’s purchase orders, switch to that company first — otherwise the queue looks empty.
📸 Screenshot: Approvals sidebar & approver dashboard Shows the sidebar “Approvals → Approval Queue / Absence Cover / History” and the dashboard listing pending requests with priority and SLA badges. /static/guides/images/approvals/04-approval-queue.png
5

Open a request to review it

Click a request to open its detail page. You’ll see the full order — items, quantities, prices, the buyer, the total, the priority, the SLA countdown, and a comment thread. Use Add Comment to ask the buyer a question or leave an internal note before deciding (internal notes aren’t shown to the buyer).

📸 Screenshot: Approval detail & comment thread Shows the approval detail page: order line items, buyer info, total, SLA banner, the comment thread, and the Approve / Reject / Delegate buttons. /static/guides/images/approvals/05-review-detail.png
6

Approve, Reject, or Delegate

Any approver in the company may act on a pending request (never the person who submitted it). Once a request has been delegated, only the approver it was handed to can act. Choose one:

  • Approve — add an optional note and click Confirm Approval. Stock is reserved in the seller’s warehouse and the order proceeds to payment (or, on net terms, is invoiced) and then to Awaiting Dispatch. If a tracked item has no stock record the approval is refused with “Cannot approve: No inventory record found for …”.
  • Reject — a reason is required (a short sentence of at least 10 characters). The order is rejected and the buyer is notified with your reason.
  • Delegate — on the request’s detail page, hand this one request to another approver in your company with an optional note. You can’t delegate to the person who placed the order, to someone from another company, or to an approver who is currently on absence cover. The request then shows “Delegated to you” in their queue.

Buyers have one more action of their own: while an order is still pending they can Withdraw it (from the request’s detail page, or from the My Orders section of the Approval Queue), which cancels the order.

📸 Screenshot: Approve / Reject / Delegate actions Shows the action buttons — Approve (with optional note), Reject (with reason field), Delegate (with approver picker). /static/guides/images/approvals/06-approve-reject-delegate.png
Working through many at once? The focused queue (Approval Queue → Dashboard toggle, or /hub/approvals/queue/) lets you tick several requests and Bulk Approve or Bulk Reject them after a confirmation preview.
7

The buyer is notified

After you act, the buyer is notified in-app and by email (subject to their notification preferences):

  • Approved — the order moves forward to payment and fulfillment: the buyer’s default saved method is charged (mobile money waits for the buyer to confirm on their phone), or a net-terms buyer is simply invoiced. If the charge fails the order shows Payment Failed and the buyer can pick another saved method with Retry Payment on the order page.
  • Rejected — the buyer sees your reason on the order.
  • Delegated — both you and the new approver are notified.
📸 Screenshot: Buyer notification Shows the in-app/email notification the buyer receives after a decision, with the order number and a link to view the order. /static/guides/images/approvals/07-buyer-notification.png

Part 4 — History & Analytics

8

Review past decisions

Open Approvals → History (your role also needs the View Financials permission) to see completed approval requests and their outcomes, filterable by Approved / Rejected and date. Each request also has a Timeline on its detail page showing the key events (created, delegated, approved/rejected) with who acted and when.

If your plan includes analytics, an Approvals → Analytics dashboard shows volume, velocity, and bottlenecks across your approvers.

📸 Screenshot: Approval History & Timeline Shows the History list of past approvals and a request’s Timeline with the sequence of actions and actors. /static/guides/images/approvals/08-history-timeline.png
Good to know History reflects the current state and key events for each request. It’s a record for follow-up and review — treat it as an operational log rather than a tamper-proof compliance archive.