Quotes
The Quotes page (Settings → Sales & CRM → Quotes) holds the send-approval policy for this control room's quotes, plus the service-delivery policies that sit alongside it. It appears when the CRM module is on.
Require quote approval
- Require approval before a quote can be sent (default off) — when on, a draft quote in this control room must be internally approved before it can be emailed, texted, or marked as sent. Anyone with the Approve quotes for sending permission (owners and supervisors by default, or a specific delegate) clears the draft with Approve to send; editing the quote's content afterwards withdraws the approval. Off by default, so nothing changes until you switch it on. See Quotes → Require approval before sending for the full workflow.
- Email someone when a quote is waiting for approval (default off, shown only while the switch above is on) — emails the addresses you list here within five minutes of a quote being left unapproved. Each recipient gets a personal link, good for 72 hours and usable once, that opens the live quote with Approve for sending and Send back — no CleverOps login needed, and the first decision wins. Add and remove addresses inline; an address already receiving other CleverOps digests (fleet, firearms, staff compliance) keeps those when you add or remove it here. Anyone listed can authorise pricing without signing in, so add only people you trust with that. See Quotes → Telling the approver.
Let stock go negative
- Allow stock levels to go below zero (default off) — controls whether an issue, transfer or write-off may take a stock location below zero when CleverOps thinks there is nothing left on the shelf.
While it is off, a movement that would push a location below zero is refused with an "insufficient stock" message. Someone who needs to post that one movement anyway can still tick Allow the source to go negative on the movement itself, in the Move stock window — the per-movement tick has always been there and is unaffected by this setting.
Turn it on where the paperwork reliably arrives after the parts do: the movement posts, the location goes negative, and the count corrects itself once the receipt is captured. With the setting on, the per-movement tick disappears from the Move stock window, because it no longer decides anything — the window says the control room already allows it instead.
A negative balance is a signal, not a correction. It means stock left the shelf with no receipt behind it, and it stays negative until a stock take or a receipt puts it right — so treat a location sitting below zero for a long time as a counting problem, not a display quirk.
Changing this only affects movements posted afterwards. Nothing already on the ledger moves, and no existing negative balance is created or cleared by switching it. It applies everywhere stock is posted from — the Stock page, the stock-controller surface, and the CleverTech app — not only the Move stock window in CleverOps.
Only someone who can manage the control room can change it; everyone else sees the current state as read-only text.
Purchasing
The Purchasing card sits directly under Let stock go negative and holds the buying policy for Inventory → Purchasing — how much over an order the store may receive, when a supplier bill matches by itself, and what every purchase order says at the bottom. Who signs off orders is the Approval rules card underneath it.
- Over-receipt tolerance (%) (default 0) — how far a delivery may exceed the ordered quantity and still book in without a second look. At 2%, a delivery of 102 against an order of 100 posts as normal; beyond the tolerance the receipt is refused with More than was ordered and needs an explicit Receive anyway.
- Bill quantity tolerance (units) and Bill price tolerance (%) (default 0) — how far a supplier invoice line may differ from the receipt's quantity and the order's unit price and still match on its own. Outside either, the bill lands under Variances on the Bills tab and needs an approver's signature.
- Draft replenishment orders automatically every week (default off) with On which day — once a week, early in the morning, the buying desk's supplier-assigned lines are drafted into orders (one per supplier, reference Auto-replenish and the date). Drafts only: nothing is sent without a person.
- Buyer email (cc on every order sent) — copied on every purchase order emailed to a supplier, so replies and confirmations reach the buyer whoever pressed Send.
- Footer on purchase orders — printed at the bottom of every purchase order PDF: delivery hours, who to call, returns policy.
Both limits are enforced on the server, so they apply equally to orders and receipts from the CleverTech app. Someone who can manage the control room, or who holds the Stock controller role, can change them; everyone else sees the card read-only.
Approval rules
The Approval rules card decides which purchase orders stop for a signature, and whose. It is an ordered list: when an order is submitted, the rules are read top to bottom and the first active rule whose criteria all hold wins; an order no rule matches follows the Otherwise row at the bottom. Everything here is enforced on the server when the order is submitted, so it applies to orders raised from the buying desk and from the phone alike.
Each rule has:
- Name — what the buyer sees on the order (Needs approval · Big orders).
- Applies to — purchase orders, supplier bills, payment runs and supplier changes today; stock requests can be ticked ahead of the surface that will read them.
- When every one of these is true — zero or more criteria. For orders: Total incl VAT (≥, >, <, ≤), Supplier (is / is not a named supplier, or None chosen), Item category (includes / only), Billing entity, For a job (yes/no), Deliver to (the store / a van), Supplier quote attached (yes/no — reads the order's Attachments), and Currency. For bills: total, supplier, entity, currency, Variance lines and Unmatched lines (counts), Looks like a duplicate and Settles an order (yes/no) — see Bills on the ladder. For payment runs: total, entity, currency, Bills and Suppliers (counts), Unverified bank details (count of suppliers) and Part-paid (yes/no) — see Paying suppliers. For supplier changes: Supplier, What changed (bank details / new supplier) and Verified by phone (yes/no) — see Bank details through a request; a supplier change with no rule still needs one signature from someone other than the requester. A rule with no criteria matches every document of its kind.
- Then — one of three. Route it for approval with up to ten levels, each either one named person or Anyone with Approve purchase orders; levels sign in order, and level 2 only sees the order once level 1 has. Approve automatically — put above a broad rule to carve out an exception (anything for a job under R 5 000, say). Send it straight back with a Reason the buyer sees — for hard policy, such as no supplier chosen.
The list shows each rule's position, its When and Then in words, an On/Off switch, Edit, and ▲ ▼ to move it. New rule opens the editor; a new rule lands at the bottom, so move it up if it must win over a broader rule. The Otherwise row chooses what happens when nothing matches: Approve automatically (the default) or Anyone with Approve purchase orders signs it.
Try a document under the list runs the very same matcher the submit uses on a made-up order — kind, total, supplier, job, entity, category, deliver-to, quote — and says which rule fires and what the ladder would be, before anyone submits anything.
A control room that had Approval needed from (R incl VAT) set on the Purchasing card finds it here as the rule Big orders — Total incl VAT ≥ the old amount, one level, anyone with Approve purchase orders — so nothing changed for existing orders. Edit it to add a second level or narrow it to a supplier.
Who signs, and when they are away
The second card lists everyone who can sign — people holding the Approve purchase orders permission (managed under People → Permissions), plus owners and company admins, who can always sign any level as an override — with how many rules name each of them.
- Delegation — pick who is Away, who Signs for them and the dates From / Until; Add delegation saves it and Remove ends it. While it is active, every level naming the absent approver is open to the delegate, and the record shows who really signed (delegate · name).
- Approvers may sign what they raised themselves (default off) — off means a buyer who also approves cannot sign their own order; an owner or admin can still override.
- An override needs a reason (default on) — an owner or admin signing a level that is not theirs (or their own order) has to say why; the reason is recorded on the step and in the timeline.
- Remind after (hours) (default 24) and Escalate after (hours) (default 48) — how long a level may sit unanswered before its approvers are chased once more, and before it escalates. Zero switches either off.
- Escalate to — The next level's approver (who may then sign this level too, recorded as escalated), The approver's delegate, or Owners and company admins. A route with nobody at the end of it falls back to the owners and admins. Escalation tells people and widens who may sign; it never approves anything by itself.
How the people are told — push, email with one-time links, what a reminder and an escalation look like — is under Inventory → Approvals.
Only someone who can manage the control room, or who holds the Stock controller role, can change rules and delegations; everyone else sees both cards read-only.
Require handovers
Two people are on every movement between the store and a technician, on every control room, and there is no longer a switch — the Handovers card says what the rule is.
A technician cannot take stock from the store: the store hands it over and the technician accepts it (the six-character counter code on every handover lets them do that in one tap at the counter). Their returns work the same way in reverse — the stock leaves their van into an in transit location and waits there until someone at the store accepts it. A technician can hand stock out of their own van to a colleague, who accepts it the same way. Whatever is never accepted stays in transit as a variance and ages on the Stock page's Handovers tab, where you can chase, accept on the technician's behalf, or cancel it. See Stock → Handovers.
Technicians do not need a new app version. The rule is enforced on the server, so it reaches the CleverTech app as it is — a return does not fail, it becomes a handover the store must accept, and an old build's "book onto my van" is told to ask the store.
A stock controller can accept on a technician's behalf when someone is unreachable, or tick the technician is here — accept it for them now on the handover window when they are standing at the counter without a phone. Both are recorded on the handover as an override rather than hidden, so a forced acceptance stays visible afterwards.
Until 5 September 2026 this card carried a switch (Stock moves between the store and a van only by handover, default off). Control rooms that had it off let technicians book stock onto their own vans; that door is closed everywhere now.
Counter sales
Two settings for selling stock over the counter (a counter sale).
- Sell from (default: Main warehouse) — the stock location a catalog item picked straight onto an invoice is deducted from when that invoice is issued. Leave it on Main warehouse unless the front desk keeps its own float of batteries, remotes and small parts as a separate stock location — pointing counter sales at that location keeps the warehouse count honest and makes the front-desk float countable on its own.
- Walk-in account (default: none) — the customer a cash sale is billed to, typically a single "CASH SALES" account. Setting it puts a Counter sale button beside Create invoice on Billing → Invoices, which opens a new sale on that account with the catalog picker already open. It also settles which account is the real one where several are named alike, and it is what makes the invoice editor offer to take the payment with the sale.
Only counter-sale invoice lines are affected: job stock keeps coming off the assigned technician's location, and typed invoice lines never move stock at all. Whether a counter sale may take the location below zero follows Let stock go negative above — with that off, an invoice that would oversell is refused at issue and stays a draft. Only someone who can manage the control room can change these; everyone else sees the current choice as read-only text.
Counter payment types
The ways this control room takes money at the desk — the list the invoice editor's Payment card offers when taking payment with a counter sale, the tender buttons on the Till, the Taken on choices on Record payment, and the lines a cash-up counts a drawer by.
Each entry is a name staff recognise paired with what it books as:
| Name | Books as |
|---|---|
| Yoco | Card |
| SnapScan | Card |
| Speedpoint 2 | Card |
| Cash | Cash |
The distinction matters because the accounting method — Cash, Card, EFT, Account credit — is what statements, the Omni and Pastel exports, the accounting sync and bank reconciliation all read, and those understand only those few values. But "Card" does not tell you whether the money came in on Yoco or the speedpoint at the back desk, which is exactly what someone reconciling a Yoco statement needs. So the name is recorded on the payment as its tender and shown in the Method column (with the accounting method on hover), while the books stay in the vocabulary they already use.
Leaving the list empty is fine — the till then offers Cash, Card and EFT, so counter sales work with no setup at all. Add entries only to name your own machines. A blank name or an unrecognised accounting method is refused when you save, rather than failing at the till in front of a customer. Only someone who can manage the control room can change the list.