Approval rules and approvals
Approval rules are your own checks for the steps where a mistake costs money: confirming an order, dispatching it, settling a payment, approving a purchase order, adjusting stock. (Earlier versions of ARC called them controls.) Each rule checks one step. When its conditions match, it either blocks the step with your message, or holds the step until someone with the right permission approves it.
Before you start
- To add, change or switch approval rules on and off you need the permission to manage approval rules. New organizations give it to the Owner and Admin roles.
- To decide an approval, a person needs the approval permission the rule names, for example "approve large orders" or "verify payments". Grant these in Settings > Users & Teams, in the role & permission editor, under the Approvals group. See Manage users, teams, and permissions.
- With no rule switched on, nothing changes: every step works exactly as it did before.
What an approval rule is
An approval rule is written as a sentence you can read back:
When an order is confirmed, if order total is more than 50 000 and highest line discount is more than 10%, then needs approval from people who can approve large orders.
- When. The step the rule checks. There are twelve: an order is confirmed, an order is changed after it is confirmed, a shipment is booked (any dispatch), an order is marked delivered, a shipment status changes, a payment is recorded, a payment is settled against invoices, a supplier payment is settled, a bill is created, a purchase order is approved, goods are received, a credit note is issued, and stock is adjusted.
- If. One to ten conditions, joined by all or any. Each condition picks a fact from a fixed list (order total, highest line discount, customer overdue balance, payment method, who created the purchase order, and so on), an operator such as "is more than" or "is one of", and a value. There are no formulas or scripts. If you need a fact that is not on the list, ask your Growmax representative; new facts are added for every organization.
- Then. Block with a message you write, or Needs approval from the people who hold one approval permission.
- Scope (optional). Leave some customers out, or apply the rule only to some warehouses.
Amounts are compared in your base currency, at the exchange rate stored on the document. Day counts use your organization's time zone.
Block or needs approval
- Block. The step is refused and the person sees your message. Nothing is saved. Use it for things that must never happen, such as dispatching from the wrong warehouse.
- Needs approval. The step is held and an approval request is raised for the people who hold the permission. The person asking can never approve their own request, whatever their role. When an order created as confirmed needs approval, it is saved as a draft and the request is for confirming it.
There is no "warn and continue" and no override button. An exception goes through an approval.
Off, Observe and Enforce
Every rule has a mode:
| Mode | What happens |
|---|---|
| Off | The rule is not checked. |
| Observe | The rule is checked and records what it would have refused, but refuses nothing. |
| Enforce | The rule blocks or holds real actions. |
- Go to Settings > Approval Rules.
- Use New Rule to add a ready-made rule. To build your own, open the More Options menu (⋯) beside it and choose Start Blank. A new rule is always added in Observe.
- Use Test on a Record in a rule's ⋯ menu to see what the rule would do on an existing order, payment or other document. A test changes and records nothing.
- Watch the Last 30 Days column (passed, would refuse) for a while, then choose Switch to Enforce in the rule's ⋯ menu. Switching to Enforce asks for a reason, which is kept in the settings history.
The Last Changed column shows who last changed each rule's mode and when; hover over it for the exact time and the reason given. Search the list by rule name, and sort it by any column.
Before a rule can be switched on, a setup check makes sure the rule is valid and that someone other than the person asking could approve it. If nobody else holds the permission, the rule cannot be switched on until you grant the permission to someone else.
If rules cause trouble, Switch All to Observe in the More Options menu stops every enforcing rule from refusing at once, with a reason that is kept in the settings history. Resume Enforcing turns them back on.
The settings that keep their own pages (Allow Negative Stock, Ship Only After Invoice, Approve New Customers and Credit Limits) are linked from the same More Options menu.
Decide approvals in the inbox
Open Approvals from the main menu. It has three tabs:
- To Decide: requests waiting for you, because you hold the permission or you are covering for someone who does.
- Raised by Me: requests you asked for.
- All: every request in your organization, for people who can manage approval rules.
Open a request to see the document, the rule, the values that were checked when it was asked, and its history. Then:
| Action | What it does |
|---|---|
| Approve and Apply | Approves and carries out the held step at once, as you. Every rule on that step is checked again. |
| Approve Only | Approves; the person who asked carries out the step themselves by trying again. |
| Reject | Refuses the request, with a reason. |
| Return for Changes | Sends it back to the person who asked, with a reason. |
| Recall | The person who asked withdraws a request that is still waiting. |
An approval never carries out the step by itself. Someone (you, with Approve and Apply, or the person who asked) runs the step again, and it goes through every check as normal.
While a request is waiting, the document shows a banner. Only the notes, the delivery date and the internal reference can change until it is decided. If the document changes in a way the rule checks (a higher total, a new line), the approval no longer counts: the banner says Changed Since Approval, and the next attempt asks again. A change in exchange rate alone never does this. A request expires seven days after it was asked if the step has not been carried out by then, even when it was already approved.
You receive an in-app notification when a request needs you and when your own request is decided.
The Approvals inbox. To Decide holds the requests waiting on you.
Several rules on one step
When more than one approval rule matches the same step, the approvals are asked one after another, not all at once:
- The first matching rule raises its request.
- When it is approved and the step is tried again, the next rule raises its request.
- The step goes through once every matching rule is approved.
If any rule blocks, the step is refused straight away and no approval is asked. Asking for several approvals in one request is not available yet.
Where each step is checked
- Dispatch rules act when the order ships or a shipment is booked, not when it is invoiced. If your organization invoices first and the invoice issues the stock, that stock issue is not checked by a "shipment is booked" rule. The courier booking that follows is.
- Changing an order after confirmation is checked as "an order is changed", whether the change comes from the console, the sales app, the buyer app or Minori.
- Raising a document after it was approved asks again. Raising the total of an approved purchase order, or raising a bill's total or a bill line's price after the bill was created, checks the purchase order or bill rules again. The person making the change is the one asking, and someone else approves.
- A cost change on the product page is a stock adjustment. It is checked by stock adjustment rules, the same as a cost change on the Stock Levels adjust screen.
- A stock count checks each line as its own adjustment, not the count as a whole.
- Minori and AI agents go through the same rules as people. A request Minori raises is shown as raised by Minori for the person it acts for. Minori never approves.
Payments, carriers and other automatic updates
Updates that no person makes (a payment gateway confirming a payment, a carrier reporting a delivery, a scheduled tracking check) are never lost because of an approval rule:
- A payment the gateway captured is always recorded, and counts as verified.
- A delivery or shipment update that a rule refuses is held on the shipment, and your staff are alerted to deal with it.
A payment counts as verified when a payment gateway captured it, or when someone other than the person who recorded it approved its settlement. A staff-recorded payment with no such approval, and a portal bank-transfer payment still pending, are not verified. The ready-made "payment before release" and "buy after funds clear" rules therefore need payment verification switched on (or a payment gateway) before offline payments can ever satisfy them.
Things to know
- The app a request came from is a label, not a lock. "Channel" conditions (console, sales app, buyer app, portal, Minori, API) are reported by the app itself. Use them to describe a rule, never to stop someone: what a person may do is decided by their role and permissions.
- "Proof before Delivered" needs a courier that returns proof of delivery. Staff cannot upload proof by hand, so orders sent with your own couriers stay held by that rule.
- Not checked yet: changes that arrive from the Zoho sync; return pickups and return shipments; cancelling a shipment or fixing an orphaned one; credit notes created automatically when an invoice is cancelled or a payment is voided; opening stock entered when a product is created; transfers between your own warehouses; stock put back by a return.
- Delegation. Covering for an absent approver is available through the API only; there is no screen for it yet.
- Notifications are in-app only for now; approval emails are not sent.
Tips
- Start every new rule in Observe for a week. The would-refuse count tells you whether the threshold is right before it affects anyone.
- Grant each approval permission to at least two people, so one person's leave does not hold everything up.
- Write block messages that tell the person what to do next, for example "Book this order from its own warehouse".