Skip to content

Back office

Procurement

Purchase requisitions, requests for quotation, purchase orders and their approval, goods receipts, supplier invoices with the three-way match, paying suppliers, returns, and the documents and e-mails that go with them.

21 min read

On this page

Procurement is how the business buys: a department asks, a manager approves, suppliers quote, an order goes out, the goods are received and checked, the supplier’s invoice is matched against the order and the receipt, and the supplier is paid. Every step has its document, its number, its person and its time:

  1. A purchase requisition (PR-…) — someone needs to buy.
  2. A manager approves it (and may trim quantities).
  3. Either a request for quotation (RFQ-…) to several suppliers, then an award; or a purchase order (PO-…) to one supplier at once.
  4. The order is approved — at once below the limit (USh 2,000,000 by default), by a manager above it — and sent to the supplier.
  5. The goods arrive: a goods receipt (GRN-…) records what came, what was rejected or damaged, the batch, the expiry and the cost. Only received goods enter stock.
  6. The supplier’s invoice (SINV-…) is matched against the order and the receipt — the three-way match. A difference waits for approval.
  7. Accounts payable shows what is owed and how old it is; a payment (SPAY-…) settles invoices.
  8. Rejected or faulty goods go back on a supplier return (SRET-…) for a credit note, replacement goods or a refund.

Open Procurement from the sidebar (/procurement). The dashboard shows what is Awaiting approval, the Open orders and their value, the RFQs open, Accounts payable, and three lists: Orders awaiting approval, Overdue deliveries and Invoices with variances. The tiles under them open each part.

In the demo, Peter is the procurement officer, Moses the branch manager who approves, Isaac the storekeeper who receives, and Andrew the accountant who pays. Kampala Grain Millers sells the dry goods.

Who can do what

Task Permission Usually
See requisitions, orders, receipts, returns, suppliers procurement.view procurement officer, storekeeper, chef, managers, accountant
Raise requisitions and purchase orders procurement.create procurement officer, chef, managers
Approve requisitions, orders above the limit, returns procurement.approve branch manager, store manager, accountant, owner
Request quotations, record and award them procurement.rfq procurement officer, branch manager
Send orders, record acknowledgements, close backorders short procurement.order procurement officer, branch manager
Receive goods inventory.receive storekeeper, store manager, managers
Record supplier invoices, run the match, approve variances procurement.invoice procurement officer, accountant
Pay suppliers, apply credit notes, void payments procurement.pay accountant, owner
Raise, ship and resolve returns procurement.returns procurement officer, store manager, managers

Suppliers themselves — their contacts, catalogue, prices and performance — are in Suppliers. Moving stock between your own stores is a store requisition (see Requisitions).

Raise a purchase requisition

Purpose

Ask, in writing, for something to be bought — with how much, for which branch and department, by when and at about what price — so a manager can approve the spend before anyone orders.

Role / permission required

Procurement officer, chef or manager — anyone with procurement.create.

Prerequisites

Steps

  1. Open Procurement, tap Requisitions, then New requisition.
  2. Type a Title (1): Cooking oil top-up.
  3. Choose the Branch, the Department (2) (Kitchen) and the Priority.
  4. Type the Reason and the Needed by date.
  5. Under Items (estimated unit price) choose the first Ingredient and type the Qty (3): cooking oil, 40. The Unit price (UGX) (4) fills with the standard cost (9,000); change it if you know better.
  6. Tap Add line for rice, 50 kg at 4,200.
  7. Tap Submit for approval (5). (Save draft keeps it to finish later.)

Expected result

The requisition opens with its number and Awaiting approval (1): cooking oil 40 L at USh 9,000 (360,000) and rice 50 kg at USh 4,200 (210,000), Estimated total USh 570,000 (2). The Timeline (3) shows Raised and Submitted. Those who approve are notified.

Screenshot

The New purchase requisition dialog: 1 Title, 2 Department, 3 Qty, 4 Unit price, 5 Submit for approval

The requisition awaiting approval: 1 its status, 2 the estimated total, 3 the timeline

Common mistakes

  • Leaving the estimate at zero. The approver judges the spend from it; a zero line looks free.
  • One requisition per item. Put everything for the same need on one requisition; it can be split between suppliers later.

Troubleshooting

  • “Add at least one line with a quantity.” A line has no ingredient or no quantity.
  • The approver cannot approve it. Nobody may approve their own requisition (unless they hold procurement.manage); ask another manager.

Ask suppliers for quotes

Purpose

Get prices from several suppliers for the same list, compare them in one currency, and give each line to the cheapest valid quote.

Role / permission required

Procurement officer or manager (procurement.rfq).

Prerequisites

Steps

  1. Open the approved requisition and tap Request quotations.
  2. Check the Title, set the Quote deadline (1) and tick the Suppliers to invite (2): Kampala Grain Millers and Fresh Farm Supplies.
  3. Tap Create RFQ (3). The RFQ opens as a draft.
  4. Tap Send to suppliers. The request is e-mailed to each supplier’s primary contact and the status becomes Sent — awaiting quotes (1).
  5. When a supplier answers, tap Quote next to its name (3) — or Record quotation (2) and choose the Supplier.
  6. In Record a quotation check the Currency (2), type the Supplier reference, Valid until (3), Lead (days) and Terms (days), and a price per line (4): rice 4,100, cooking oil 9,200. Tap Save quotation (5).
  7. Record the other supplier’s quote the same way.
  8. Read the Comparison: every price in shillings, the lowest per line highlighted (1, 2), and the Total per supplier (3).
  9. Tap Award (4). The lowest valid supplier is chosen for each line (2, 3); change a line if another supplier is better for a reason. Choose Deliver to (1).
  10. Tap Award (4).

Expected result

The comparison shows rice cheapest at USh 4,100 from Kampala Grain Millers and cooking oil at USh 8,800 from Fresh Farm Supplies; Fresh Farm’s quote is the cheapest complete one (USh 569,500 against 573,000). After the award the RFQ reads Awarded and the Purchase orders card lists one draft order per supplier — Kampala Grain Millers for the rice, Fresh Farm Supplies for the oil. Each order then goes through approval and sending (see Create and send a purchase order).

Screenshot

The Request quotations dialog: 1 Quote deadline, 2 a supplier to invite, 3 Create RFQ

The RFQ sent: 1 the status, 2 Record quotation, 3 Quote for one supplier

Record a quotation: 1 Supplier, 2 Currency, 3 Valid until, 4 a line’s price, 5 Save quotation

The comparison: 1 the lowest rice price, 2 the lowest oil price, 3 the totals, 4 Award

The Award the RFQ dialog: 1 Deliver to, 2 the rice line, 3 the oil line, 4 Award

The awarded RFQ: 1 one purchase order per supplier

Common mistakes

  • Comparing quotes that have expired. An expired quote is struck through and cannot be awarded. Ask the supplier to confirm and record it again.
  • Recording a quote in the wrong currency. Check Currency — a supplier in Dubai quotes in USD; the comparison converts with the rate.

Troubleshooting

  • “The deadline (…) has passed.” A quote after the deadline needs procurement.manage; ask a senior manager, or issue a new RFQ.
  • “Enter a price for at least one line.” Type the prices the supplier gave.
  • How do I type a dollar price? As it is written, with the cents: 1.02 for $1.02. Shilling prices have no decimals.
  • “No rate on file for this currency”. Type the Rate to UGX of the day in the quote dialog.

Create and send a purchase order

Purpose

Order from one supplier at agreed prices, get the order approved when it is large, and send the supplier the order document by e-mail.

Role / permission required

Creating: procurement officer, chef or manager (procurement.create). Sending: procurement officer or manager (procurement.order).

Prerequisites

  • The supplier exists and is not on hold or blacklisted (see Add a supplier).

Steps

  1. Open Procurement → Purchase orders and tap New order.
  2. Choose the Supplier (1): Kampala Grain Millers (UGX), and where to Deliver to (2): Central Warehouse — Industrial Area.
  3. Check the Branch, and set the Expected delivery date and, if you have one, the Supplier reference.
  4. Leave Submit for approval now (3) ticked.
  5. Add the lines: Ingredient, Qty and Unit price (UGX) (4) — rice 10 kg at 4,200, sugar 10 kg at 4,500. Type Notes to supplier if needed.
  6. Tap Create & submit (5).
  7. On the order, tap Send to supplier (2). (Print (3) opens the order document.)
  8. Leave E-mail to (1) empty to use the supplier’s primary contact, or type another address. Tap Send (2).

Expected result

The order opens as Approved (1): at USh 87,000 it is under the approval limit, so it needs no manager. After Send the status is Sent to supplier and the Timeline shows Sent with the e-mail address (2). The document and the e-mail are made in the background; the prices go into the supplier’s price history. The storekeeper can now receive the goods on this order.

Screenshot

The New purchase order dialog: 1 Supplier, 2 Deliver to, 3 Submit for approval now, 4 Unit price, 5 Create & submit

The approved order: 1 its status, 2 Send to supplier, 3 Print

The Send dialog: 1 E-mail to, 2 Send

The order sent: 1 its status, 2 Sent in the timeline

Common mistakes

  • Ordering in the wrong unit. Choose the unit on the line if the supplier sells by the sack or crate; the price is per that unit.
  • Unticking Submit for approval now. The order stays a draft; nobody is asked to approve it. Open it and tap Submit for approval.

Troubleshooting

  • The order says Awaiting approval. It is above the limit (USh 2,000,000 by default). A manager approves it (see Approve a purchase order).
  • “Kampala Grain Millers is blacklisted.” The supplier cannot be ordered from; choose another.
  • “Submit the order first.” A draft cannot be sent; tap Submit for approval.
  • The supplier did not get the e-mail. The e-mail is sent by the background workers; if they are stopped it waits in the queue. Check the supplier’s primary contact, and ask the administrator to check the jobs (see Read the Background jobs screen, in the Help Center inside JupitaPos).

Approve a purchase order

Purpose

Make sure a large order is agreed by someone responsible before the supplier gets it.

Role / permission required

Branch manager, store manager, accountant or owner — anyone with procurement.approve.

Prerequisites

  • An order is Awaiting approval: above the limit and raised by someone who may not approve it.

Steps

  1. Open Procurement. The Awaiting approval tile (1) counts what waits; Orders awaiting approval lists the orders (2).
  2. Tap the order.
  3. Read the lines, the total and who raised it.
  4. Tap Approve. The dialog shows the total (1).
  5. Type a Note (2): Budgeted for October.
  6. Tap Approve (3). (To refuse, tap Reject and type why: the order goes back to draft.)

On a phone the steps are the same: scroll down to Orders awaiting approval and tap the order.

Expected result

The order reads Approved, with Decision: Budgeted for October and Moses Manager in the timeline. The order for USh 2,160,000 (rice 300 kg and wheat flour 200 kg from Kampala Grain Millers) can now be sent by the procurement officer.

Screenshot

The procurement dashboard: 1 Awaiting approval, 2 the order waiting

The Approve dialog: 1 the total, 2 Note, 3 Approve

The approved order: 1 Approved

On a phone: 2 the order waiting

On a phone, the Approve dialog: 1 the total, 2 Note, 3 Approve

On a phone, the approved order: 1 Approved

Common mistakes

  • Approving without reading the lines. Check the quantities and prices against the requisition or the quotes (the order’s Details link to them).

Troubleshooting

  • “A reason is required to reject.” Type the reason in Note.
  • The Approve button is missing. You do not have procurement.approve, or the order is not awaiting approval.

Receive goods against a purchase order

Purpose

Check a delivery against the order line by line and put what was accepted into stock — with the batch, the expiry date and the cost — while rejected and damaged goods stay out and on the order.

Role / permission required

Storekeeper, store manager or manager (inventory.receive).

Prerequisites

  • The order is sent (or acknowledged or partly received).
  • The goods and the supplier’s delivery note are in front of you.

Steps

  1. Open Procurement → Purchase orders, tap Open and tap the order. (Or Goods receipts → Receive an order and choose it.)
  2. Tap Receive goods. Each outstanding line is filled with what is still to come.
  3. Check Into location and type the Delivery note no. (1): KGM-DN-5521.
  4. For each line, type what you accept in Received (2) and what you refuse in Rejected (3) or Damaged, with the Reason: rice 8 received, 2 rejected, Two bags torn.
  5. Type the Batch and Expiry from the packets. Leave Cost (UGX) (4) as ordered unless the delivery note shows another price.
  6. Tap Post receipt (5). (Save draft keeps it to finish later; nothing moves until you post.)

Expected result

The receipt opens as posted with discrepancy (1): rice 8 received and 2 rejected with the reason (2), sugar 10 received; Received value USh 78,600 (3). The 18 units are in the Central Warehouse with their batch and cost. The order reads Partially received with 2 on backorder (1): the rejected rice is still owed until it is replaced, returned or closed short.

Screenshot

The Receive dialog: 1 Delivery note no., 2 Received, 3 Rejected, 4 the cost, 5 Post receipt

The posted receipt: 1 status and discrepancy, 2 the rice line, 3 the received value

The order after the receipt: 1 the backorder, 2 Partially received

Common mistakes

  • Receiving what the delivery note says instead of what you counted. Count, then type.
  • Accepting damaged goods “to sort out later”. Once in stock, they can only go back with a return from stock. Reject them on the receipt.
  • Receiving the same delivery twice. A posted receipt cannot be cancelled. Check the order’s Goods receipts before you start.

Troubleshooting

  • “Enter a quantity on at least one line.” Every line is 0.
  • The Receive goods button is missing. The order is not sent yet, or you do not have inventory.receive.
  • The goods went into the wrong store. Transfer them (see Transfer stock between stores).

FAQ

The supplier will never send the missing rice. What now? On the order, tap Close short: the backorder is closed and the order is complete.

Match and post the supplier’s invoice

Purpose

Record the supplier’s bill and check it against what was ordered and what was received — the three-way match — so the business pays for what it got, at the price it agreed, and nothing more.

Role / permission required

Procurement officer or accountant (procurement.invoice).

Prerequisites

  • The goods are received (see Receive goods against a purchase order). The pictures use the millers’ next delivery of the same order lines — rice 10 kg at 4,200 and sugar 10 kg at 4,500 — received in full under delivery note KGM-DN-5530, whose sugar was priced at 4,700 a kg.
  • You have the supplier’s invoice.

Steps

  1. Open Procurement → Goods receipts and tap the receipt. (Or Supplier invoices → Invoice a receipt and choose it.)
  2. Tap Record invoice.
  3. Type the Supplier invoice no. (1) (KGM-INV-7781) and the Invoice date (2). Leave the Due date (3) empty to use the supplier’s terms.
  4. Tap Record invoice (4). The match runs at once.
  5. Read the result. Approved for payment means everything matched. Here the status is Variance — needs approval (1): the sugar was invoiced at USh 4,700 (2) against 4,500 on the order — price variance (3).
  6. If the difference is agreed, tap Approve variance (4), type a Note (1) that explains it and tap Approve (2). If not, tap Dispute and call the supplier.

Expected result

After the approval the invoice reads Approved for payment (1) with USh 89,000 outstanding (2) — rice 10 kg at 4,200 (42,000) and sugar 10 kg at 4,700 (47,000), the whole delivery — and the timeline shows Recorded, Matched and Approved. It is in accounts payable, due 30 days after the invoice date (the millers’ terms).

Screenshot

The Invoice dialog: 1 Supplier invoice no., 2 Invoice date, 3 Due date, 4 Record invoice

An invoice with a price variance: 1 the status, 2 the invoiced price against the order, 3 price variance, 4 Approve variance

The Approve with variance dialog: 1 Note, 2 Approve

The invoice approved for payment: 1 the status, 2 outstanding

Common mistakes

  • Approving every variance. A price 2 % or more above the order is a variance for a reason. Approve only what was agreed; dispute the rest.
  • Recording the invoice before the goods are received. There is nothing to match yet. Wait for the receipt, or for a service use Manual invoice / credit note.

Troubleshooting

  • “Explain why the variance is accepted.” Type a note before approving.
  • The order or the receipt changed after the invoice was recorded. Tap Re-match to check again.
  • An invoice for a service (repairs, rent). Use Manual invoice / credit note on the Supplier invoices page, code each line to its Account, and approve it with Approve.

Pay a supplier

Purpose

Pay what is owed, from the right bank or cash account, and allocate the payment to the right invoices — so accounts payable and the ledger stay true.

Role / permission required

Accountant or owner (procurement.pay).

Prerequisites

Steps

  1. Open Accounts payable from the sidebar.
  2. Choose the Supplier (1): Kampala Grain Millers. Read Total owed (2), the ageing tiles and the Open documents (4).
  3. Tap Pay (3) next to the supplier’s balance.
  4. In Pay Kampala Grain Millers choose the Method (1): Bank transfer, and check Paid from.
  5. Type the Reference (2): TT-24100, and Paid on if it is not today.
  6. Check the amount for each invoice (3). Each is filled with what is outstanding and cannot be more; type 0 for an invoice you are not paying now. The list shows the supplier’s open invoices from every branch. Here only one invoice is paid — this week’s third rice and sugar delivery (rice 10 kg at 4,200 and sugar 10 kg at 4,500, invoiced at the order’s prices, so approved at once): the others are 0 and the total at the bottom is USh 87,000.
  7. Tap Record payment (4).

Expected result

The message SPAY-… recorded appears. Recent payments shows the payment: Kampala Grain Millers · Bank transfer · TT-24100, applied to the invoice, USh 87,000. The invoice reads Paid and the supplier’s balance goes down by what was paid; the payment is posted to the ledger (see Payables).

Screenshot

Accounts payable for one supplier: 1 Supplier, 2 Total owed, 3 Pay, 4 the open invoice

The Pay dialog: 1 Method, 2 Reference, 3 the amount for the invoice, 4 Record payment

The payment in Recent payments

Common mistakes

  • Paying an invoice twice. Pay from accounts payable, where paid invoices are gone. A mistake is undone with Void on the payment.
  • The wrong Paid from account. Cash comes from the safe, a transfer from the bank. The ledger follows what you choose.

Troubleshooting

  • An invoice is missing from the Pay dialog. Only invoices approved for payment (or part-paid) can be paid. One still on variance or disputed is counted apart — Total owed says … to review — until the variance is approved or the dispute settled.
  • “… is in USD; pay it in USD.” Pay each currency’s invoices separately; type dollar amounts with their cents (612.00).
  • I paid the wrong supplier. Tap Void on the payment in Recent payments and give the reason: the invoices become outstanding again.

Return goods to a supplier

Purpose

Send back what was rejected at delivery or turned out faulty, and get a credit note, replacement goods or a refund — with every step recorded.

Role / permission required

Raising, shipping and resolving: procurement officer, store manager or manager (procurement.returns). Approving: procurement.approve.

Prerequisites

  • A posted goods receipt with rejected or damaged goods — or goods in stock that turned out faulty.

Steps

  1. Open the goods receipt with the discrepancy and tap Return rejected goods. (For faulty goods already in stock: Supplier returns → Return from stock.)
  2. Type the Reason (1): Two torn bags — rice spilled in the truck.
  3. Tap Raise return (2). The return opens as a draft: 2 kg of rice, never received, USh 8,400.
  4. A manager opens the return, taps Approve, types a Note (1) and taps Approve (2).
  5. When the goods leave, tap Shipped to supplier.
  6. When the supplier answers, tap Resolve. Choose the Resolution (1) — Credit note, Replacement goods or Refund — type the Supplier reference (2) (KGM-CN-118) and tap Resolve (3).

Expected result

The return reads resolved with credit note (1). A credit note for USh 8,400 is created and approved (2): it lowers what is owed to Kampala Grain Millers in accounts payable. The timeline shows raised, approved, shipped and resolved. A Replacement goods resolution re-opens the order’s backorder instead, and a Refund records the reference.

Screenshot

The Return rejected & damaged goods dialog: 1 Reason, 2 Raise return

The return in draft: 1 its number and status, 2 the rice line never received

The manager approves: 1 Note, 2 Approve

The Resolve the return dialog: 1 Resolution, 2 Supplier reference, 3 Resolve

The resolved return: 1 resolved with a credit note, 2 the credit note

Common mistakes

  • Shipping before approval. Shipped to supplier appears only after approval.
  • Returning goods from stock without shipping. Stock leaves the store only when you tap Shipped to supplier.

Troubleshooting

  • Return rejected goods is missing on the receipt. The receipt has no rejected or damaged units, or you do not have procurement.returns.
  • The credit note is not taken off one invoice. The credit note lowers the supplier’s balance in accounts payable. Applying it to one invoice is not on the screens in this version; ask the accountant.

Print documents and check e-mails

Purpose

Give the supplier, the driver or the file a paper copy — a purchase order, an RFQ or a goods receipt — and know what was e-mailed and when.

Role / permission required

Anyone with procurement.view.

Prerequisites

  • The document exists (an order, an RFQ or a goods receipt).

Steps

  1. Open the order (or the RFQ or receipt).
  2. Tap Print (1). The document opens in a new tab.
  3. Print it with the browser’s print command, or save it as PDF.
  4. Under Details (2), Document shows stored copy once the background job has made the file; tap it to download that copy.
  5. For e-mails, read the Timeline: Sent shows the address the order went to. An RFQ lists each supplier invited with the address and when they answered.

Expected result

A clean page with the business’s name, the supplier, the delivery store, the lines, the prices and the total — ready to sign and hand over.

Screenshot

A sent order: 1 Print, 2 Details

The printable purchase order

Common mistakes

  • Sending a printed order instead of using Send to supplier. The printout does not record that the order was sent; tap Send to supplier as well.

Troubleshooting

  • Nothing opens when I tap Print. The browser blocked the new tab; allow pop-ups for JupitaPos.
  • Document says rendered on print. The stored copy is made when the order is sent; until then the page is made each time you print.
  • Exports and e-mails arrive late. They run in the background; when the workers are busy they wait. You get a notification when an export is ready.