Skip to main content

Requisitions Module

The Requisitions module handles internal cash and purchase requests — fuel advances, spare parts, office supplies, and similar day-to-day spending — routed through a formal approval chain before money moves.

Approval chain​

Every requisition can pass through up to six steps:

Draft → Submitted → HoD Approved → Finance Approved → GM Approved → MD Approved → Received
↓
Rejected
StatusMeaning
DraftBeing prepared, not yet submitted
SubmittedSent for approval, awaiting Head of Department
HoD ApprovedHead of Department signed off, awaiting Finance
Finance ApprovedFinance signed off, awaiting General Manager
GM ApprovedGeneral Manager signed off, awaiting Managing Director
MD ApprovedManaging Director signed off, awaiting goods/cash receipt
ReceivedGoods or cash received — requisition complete
RejectedDeclined at any approval step, with a reason
The final step is confirmed by the requisitioner, not a manager

Unlike the other steps, "Received" isn't signed off by a named role — once a requisition reaches MD Approved, the person listed as the requisitioner sees a Confirm Received / Not Received action banner on the detail page instead of the usual Approve/Reject.

Who can approve which step?

Approval authority is granted per person, not by role name. Each of the four management stages — Head of Department, Finance Department, General Manager, Managing Director — has its own dedicated permission, granted individually to whichever users should hold it through Settings → Users & Access → Approval Authority. No role holds any of these four permissions by default (including Tenant Admin and Accountant) — there's no automatic "Tenant Admin acts as MD" shortcut, so grant them explicitly for approvals to actually reach someone.

The Head of Department stage is additionally scoped to the approver's own department (set on their profile in Team Directory) — a requisition from a different department won't show as pending for them, even if they hold Head of Department approval authority. Finance, General Manager, and Managing Director stay tenant-wide regardless of department.

Creating a requisition​

  1. Go to Requisitions → New Requisition
  2. Pick the department (a searchable list of your company's departments), then fill in department head, requisitioner, client/company, date issued, order date, purchased from, delivered to, and job description
  3. Choose a currency (defaults to your tenant's base currency — see Currency)
  4. Add line items — each with an item name, quantity, unit, description, account charged, and unit price. If your product catalog has items, each line can optionally be linked to a catalog item
  5. Add optional notes and attachments (e.g. a vendor quote or supporting document)
  6. Click Save as Draft to keep working on it, or Submit for Approval to start the approval chain

Approving or rejecting​

If you're the currently pending approver, an action banner appears on the requisition's detail page:

  • Approve — advances the requisition to the next step in the chain
  • Reject — requires a reason; the requisition moves to Rejected

Submitting a requisition, and every subsequent step advance, notifies whichever roles are configured in Settings → Notifications → Approval Queue Notifications by email and/or SMS — the same role list is re-notified at each step, since the system doesn't try to guess exactly who the next approver is. There's also a manual "Notify via WhatsApp" quick-action available from the notification bell.

Editing a requisition​

Click ✏ Edit on the detail page to edit a requisition at any status. What happens next depends on who is editing and where the requisition is in the chain:

Who is editingWhat happens
Anyone, while still DraftPlain edit — no approvals exist yet, nothing resets
The currently pending approverThe edit is saved and their approval is applied in the same action — the chain continues, earlier approvals are untouched
Anyone else, after at least one approval existsAll approvals are cleared and the status reverts to Submitted — the chain restarts from Head of Department

Every edit — regardless of which path it takes — is recorded in an Edit History panel on the detail page, showing who made the change, when, and the line items and total before the change.

Why does editing sometimes reset approvals?

If the requisitioner changes the items or amount after HoD or Finance already approved, those earlier approvals were made against the old numbers — they need to re-approve the new version. The one exception is the person whose turn it currently is: they're about to approve anyway, so editing and approving happens in one step instead of two.

Each approval step now records the total amount as it stood at the moment that approver signed off. If the currently-pending approver later raises the total and advances the chain in the same action (the one path that doesn't reset earlier approvals), the approval timeline flags every earlier step with ⚠ Amount changed since — so a Head of Department's ✓ never silently reads as endorsing a total they never actually saw.

Converting to a Purchase Invoice​

If your product catalog has active Product items (for example with Spare Parts → or Items), each requisition line shows a small No catalog link field under the item name. Type to search the catalog and pick an item — the line's name, unit and unit price (the item's cost price) fill in for you — or click + New Item to add one to the catalog on the spot. The link is optional; lines can stay free text.

Once a requisition reaches MD Approved, users with the requisition.convertToPurchase permission see an Approved — ready to purchase banner with a 📄 Convert to Purchase Invoice button. It drafts a new vendor bill pre-filled from the requisition's lines (catalog-linked lines keep their item, free-text lines carry over as typed), matched to a vendor whose name equals the requisition's Purchased From, ready to review and approve in Purchasing →. Lines come across without VAT — add it on the bill if needed.

After conversion, the requisition's detail page shows "Converted to Purchase Invoice BILL-…" with a View Purchase Invoice → button that opens the Purchase Invoices list. Converting is kept as a separate permission because it's a more consequential action than editing a requisition; it works on any approved requisition, whether or not its lines are linked to catalog items.

Currency​

Each requisition carries its own currency, chosen from a fixed TZS / USD list, independent of your tenant's base currency — the requisition displays, prints, and totals entirely in the currency it was created with. See Currency Management for how exchange rates are configured for conversion purposes.

Attachments​

Attach one or more supporting files to a requisition — a vendor quote, a proforma invoice, a photo of a damaged part, or any other supporting document.

  • On the requisition form, click + Add File to upload a file; add as many as you need
  • Each attachment appears as a link on the detail page — click to view or download it
  • Remove an attachment from the form before saving with the ✕ next to it

Comments​

Anyone who can open a requisition's detail page can leave a comment — useful for a manager asking a clarifying question, or the requisitioner responding, without it being a formal approval action. There's no dedicated comment permission; posting doesn't require anything beyond requisition.view.

  • Comments appear in a Comments card on the detail page, oldest first, each showing the author's name and timestamp
  • Type into the Add a comment… box and click Post Comment — like Edit History, comments are append-only; there's no edit or delete afterward
  • Posting a comment doesn't affect the requisition's status, amounts, or approval chain in any way
  • Every comment is logged as a Comment Added entry in the System Audit Trail (Settings → System)

Exporting to Excel​

Click ⇩ Export to Excel on the Requisitions list to download the currently filtered/searched list as a formatted workbook — reference, date issued, requested by, department, description, amount, currency, status, and current approver — with a totals row on the Amount column. This exports the whole list currently shown on screen; to print a single requisition instead, see Printing below.

Printing​

Click 🖨️ Print on the detail page for a print-ready version showing the approval chain, line items, totals, and any comments — the printed output is the same page you see on screen, so nothing there is hidden from print.

Permissions​

PermissionWhat it allows
requisition.viewSee the Requisitions page, its menu entry and its Search result (expense.view alone doesn't grant this)
requisition.createCreate new requisitions and save as Draft or submit for approval
requisition.editEdit a requisition at any status — see Editing a requisition for what happens to approvals
requisition.approve.hodApprove or reject at the Head of Department stage — scoped to the approver's own department, see Who can approve which step? above
requisition.approve.financeApprove or reject at the Finance Department stage — tenant-wide
requisition.approve.gmApprove or reject at the General Manager stage — tenant-wide
requisition.approve.mdApprove or reject at the Managing Director stage — tenant-wide
requisition.convertToPurchaseTurn an MD Approved requisition into a Draft Purchase Invoice — see Converting to a Purchase Invoice

Grant the four approval permissions above per person via Settings → Users & Access → Approval Authority — not through a role's default permission set. A separate, generic requisition.approve also exists in the Roles & Permission Matrix, but holding it alone doesn't grant approval authority at any specific stage; the four permissions above are what the approval chain actually checks.