Approval flow
Set approval rules, assign authority, and approve or reject documents in AdoxERP.
The approval flow holds a document until the right people sign it off. You define when approval is required, who must act, and then work through items on Pending Approvals.
Leave and late-punch approvals in HRM are a separate process — see HRM overview.
How it works
Document saved → matching rule found → pending → approve or reject
- Someone saves a document (for example a new customer)
- AdoxERP looks for an active Approval Rule for that document type
- If a rule matches, the document waits — it cannot be used as if it were already approved
- Approvers open User Management > Pending Approvals, review the chain, and Approve or Reject
- A rejection at any level ends the whole request. Editing and saving again starts a new approval
If no rule matches, the document is not held for approval.
On Approval Rules, the info icon opens the same walkthrough inside the product.
What to set up
| Screen | Where | Purpose |
|---|---|---|
| Approval Rules | General Settings > Master > Approval Rules | When approval is required, the chain, and bypass |
| Approver Authority | General Settings > Master > Approver Authority | Rank, branch/location scope, and optional delegate |
| Pending Approvals | User Management > Pending Approvals | Approve or reject waiting documents |
You also need users and roles so approvers can sign in.
Creating an approval rule
- Go to General Settings > Master > Approval Rules
- Click add
- Choose Document type — the list currently includes Customer. Other types appear when they are enabled for your company
- Enter a Rule name (for example “New customer — Riyadh”)
- Leave Active ticked
- Optionally add Conditions — all of them must match. Leave empty to require approval on every save of that type
- Choose Chain type, Scope, and Approval levels
- Optionally set Authority bypass, SLA hours, and Escalation role
- Click Create Rule
When more than one rule could apply, the more specific Scope wins: a location rule over a branch rule, a branch rule over a company-wide rule.
Rule types supported
An approval rule combines the pieces below. Every field on the Add Approval Rule form is listed here.
Document types
What the rule applies to. Only types enabled for your company appear in the dropdown.
| Document type | Available in dropdown | Typical use |
|---|---|---|
| Customer | Yes | New or edited customers before they can be used on sales |
| Supplier | When enabled | New suppliers |
| Quotation, Sale Order, Delivery Note, Sale Return, Sale | When enabled | Sales documents above a value |
| Purchase Order, GRN, Purchase Return, Purchase | When enabled | Purchase documents |
| Stock Transfer, Stock Adjustment, Stock Request | When enabled | Inventory movements |
| Journal Entry, Payment Voucher, Receipt Voucher | When enabled | Accounting entries |
If a type is not in the list yet, your administrator has not turned it on. Existing pending approvals for that type still show correctly.
Condition operators
Each condition is: Field + Operator + Value. All conditions on one rule must match (AND logic). Leave conditions empty to trigger on every save of that document type.
| Operator | Meaning | Example value |
|---|---|---|
| Equals | Field equals value | 60 |
| Not equals | Field does not equal value | 0 |
| Greater than or equal to | Field ≥ value | 100000 |
| Greater than | Field > value | 50000 |
| Less than or equal to | Field ≤ value | 90 |
| Less than | Field < value | 100000 |
| In list | Field is one of the listed values | Comma-separated, e.g. 30,60,90 |
| Not in list | Field is not in the list | Comma-separated |
Condition fields by document type
The Field picker suggests values based on document type. You can also type a custom field name if your administrator has set one up.
Customer and Supplier
| Field | Use when |
|---|---|
| Credit Limit | High credit needs extra sign-off |
| Credit Days | Long payment terms need review |
Sales, purchase, and stock documents (when those types are enabled)
| Field | Use when |
|---|---|
| Grand Total | Document total crosses a threshold |
| Taxable Total | Taxable amount crosses a threshold |
| Tax Total | VAT amount is high |
| Discount Total | Large discount needs approval |
| Additional Expense Total | Landed-cost add-ons are significant |
| Cost Total | Cost value needs review |
Chain types
| Chain type | When to use | Behaviour |
|---|---|---|
| Sequential | Strict sign-off order | Level 2 opens only after Level 1 is approved |
| Parallel | Several checks at once | All levels are open; each level still uses its own mode (any one / all required) |
| Hybrid | Mix of both | Example: two peers at Level 1 (parallel), then one mandatory CFO at Level 2 (sequential) |
Level modes (per level)
| Mode | When to use |
|---|---|
| Single approver | One role or user must act |
| Parallel — any one | Several people can approve; the first approval completes the level |
| Parallel — all required | Every listed approver must approve before the level completes |
Each approver is Role (anyone with that role) or User (one named person).
Role-specific gate — tick on a level when it is an independent compliance check (not a seniority step). With Forward only bypass, senior managers can skip normal levels but not a role-specific gate. Only Full bypass can close those levels early.
Scope
| Scope | Meaning |
|---|---|
| Branches and locations empty | Rule applies company-wide |
| Branches selected | Only documents in those branches |
| Locations selected | Only documents at those locations (within selected branches) |
If you have more than one branch, pick branches first; then narrow to locations inside them.
Authority bypass modes
Set on the rule. Rank is configured separately under Approver Authority.
| Mode | Meaning |
|---|---|
| None — strict chain | Nobody skips a level |
| Forward only | High rank can approve early and skip levels ahead — except role-specific gate levels |
| Full | High rank closes all pending levels, including role-specific gates |
SLA and escalation
| Field | Meaning |
|---|---|
| SLA hours | If a level stays pending longer than this, escalation runs |
| Escalation role | Role notified when SLA is exceeded |
Tiered approval with multiple rules
One rule cannot skip levels based on different conditions mid-chain. For tiered approval, create separate rules with different conditions and scopes:
| Rule | Conditions | Levels |
|---|---|---|
| Standard customer — Riyadh | (empty — every customer) | Level 1: Sales Manager |
| High credit — Riyadh | Credit Limit ≥ 100,000 | Level 1: Sales Manager → Level 2: Finance → Level 3: CFO |
When a customer with credit limit 150,000 is saved in Riyadh, both rules may match on document type — the engine picks the most specific scope. If both have the same scope, split them with conditions (for example: standard rule uses Credit Limit less than 100,000; high-credit rule uses Credit Limit ≥ 100,000).
Sample scenario
Goal: In the Riyadh branch, Main Warehouse location, any new customer with credit limit at least 100,000 and credit days at most 60 must pass a three-level hybrid chain before they are approved.
| Setting | Sample value |
|---|---|
| Document type | Customer |
| Rule name | High credit customer — Riyadh warehouse |
| Conditions | Credit Limit ≥ 100,000 and Credit Days ≤ 60 |
| Chain type | Hybrid |
| Scope | Branch: Riyadh · Location: Main Warehouse |
| Level 1 | Parallel — any one · Sales Manager or Deputy Sales Manager |
| Level 2 | Single · Finance Manager · Role-specific gate ticked |
| Level 3 | Single · CFO |
| Authority bypass | Allow · Forward only |
| SLA | 24 hours · Escalation role: Operations Manager |
Before the rule: create roles (Sales Manager, Finance Manager, CFO, etc.), assign users, and add Approver Authority records so bypass ranks exist — see step 1 below.
Step-by-step: create the sample rule (all fields)
Step 1 — Approver authority (do this first)
Create authority records so bypass and escalation roles work.
- Go to General Settings > Master > Approver Authority
- Add Sales Manager — Authority rank 1, Scope: Riyadh branch
- Add Finance Manager — rank 2, same scope
- Add CFO — rank 3, same scope (can use Full or Forward only bypass on the rule)
- Optionally add Operations Manager — rank 2, for SLA escalation notifications
Step 2 — Open the rule form
- Go to General Settings > Master > Approval Rules
- Click Add (or the add action on the list page)
Step 3 — Basic information
| Form field | Enter |
|---|---|
| Document type | Customer |
| Rule name | High credit customer — Riyadh warehouse |
| Active | Ticked |
Step 4 — Conditions (all must match)
Click Add condition for each row.
| # | Field | Operator | Value |
|---|---|---|---|
| 1 | Credit Limit | Greater than or equal to | 100000 |
| 2 | Credit Days | Less than or equal to | 60 |
Both rows must be true when the customer is saved, or this rule does not run.
To require approval on every customer with no threshold, skip this section entirely — leave conditions empty.
Step 5 — Chain type
Select Hybrid — Level 1 can resolve in parallel (any one of two sales roles), then Levels 2 and 3 run in order.
Step 6 — Scope
| Form field | Enter |
|---|---|
| Branches | Riyadh (only shown if you have more than one branch) |
| Locations | Main Warehouse |
Leave both empty only if the rule should apply company-wide.
Step 7 — Approval levels
Level 1
| Form field | Enter |
|---|---|
| Mode | Parallel — any one |
| Approver 1 | Type: Role · Ref: Sales Manager |
| Approver 2 | Click add approver · Type: Role · Ref: Deputy Sales Manager |
| Role-specific gate | Off |
Level 2
| Form field | Enter |
|---|---|
| Mode | Single approver |
| Approver | Type: Role · Ref: Finance Manager |
| Role-specific gate | Ticked — compliance step; Forward only bypass cannot skip this |
Level 3
| Form field | Enter |
|---|---|
| Mode | Single approver |
| Approver | Type: Role · Ref: CFO |
| Role-specific gate | Off |
Click Add level between steps to insert each new level.
Step 8 — Authority bypass
| Form field | Enter |
|---|---|
| Allow authority bypass | Ticked |
| Bypass mode | Forward only |
A CFO (rank 3) can approve early and close Level 1, but not Level 2 while it is marked role-specific gate.
Step 9 — SLA and escalation
| Form field | Enter |
|---|---|
| SLA hours | 24 |
| Escalation role | Operations Manager |
If Level 1 (or any pending level) sits more than 24 hours, the Operations Manager role is notified.
Step 10 — Save
Click Create Rule. The rule appears on the list as Active.
Step 11 — Test the flow
- Sign in as a user who can add customers
- Create a customer in Riyadh with Credit Limit 150,000 and Credit Days 45
- Save — status should show Pending Approval (or equivalent on the customer screen)
- Sign in as Sales Manager (or Deputy) → User Management > Pending Approvals → open the request → Approve
- Sign in as Finance Manager → approve Level 2
- Sign in as CFO → approve Level 3 → customer is fully approved
To test reject: reject at any level — the whole chain stops. Edit the customer and save again to start a new approval.
Conditions (reference)
Each condition is Field, operator, and Value. All conditions on the rule must match.
For customers, use Credit Limit and Credit Days. For sales or purchase documents (when enabled), use Grand Total, Taxable Total, and the other transaction fields in the table above.
Example pair: Credit Limit ≥ 100,000 and Credit Days ≤ 60 — only customers meeting both enter this rule.
Chain type (reference)
| Chain type | Meaning |
|---|---|
| Sequential | Levels run in order. Level 2 waits until Level 1 is done |
| Parallel | Levels can be open together. Each level still has its own mode (any one, or all) |
| Hybrid | Mix both — for example two peers at Level 1, then a single sign-off at Level 2 |
Scope (reference)
Leave branch and location empty to apply the rule across the entire business. Choose branches (and optionally locations) to limit it.
If you have only one branch, the branch picker is hidden.
Approval levels (reference)
Add one or more levels. The document moves to the next level when the current one is complete.
| Level mode | Meaning |
|---|---|
| Single approver | One configured person or role must act |
| Parallel — any one | Several approvers; the first to approve completes the level |
| Parallel — all required | Every configured approver at that level must approve |
Each approver is a role (anyone with that role) or a specific user.
Tick Role-specific gate for an independent check (for example compliance) that seniority should not skip unless bypass is set to Full.
Authority bypass (reference)
On the rule, tick Allow authority bypass and choose a mode. Rank itself is set under Approver Authority, not on the rule.
| Mode | Meaning |
|---|---|
| None — strict chain | No one skips a level, even a senior manager |
| Forward only | A high enough rank can approve early and skip levels ahead — except levels marked Role-specific gate |
| Full | A high enough rank can close every pending level, including role-specific gates |
Bypass is recorded (who acted, and which levels were closed). The approver’s authority record must also cover the document’s branch and location.
A Reject still ends the whole chain, whether or not bypass is allowed.
SLA and escalation (reference)
Optional SLA hours: if a level stays pending longer than this, the Escalation role is notified.
Approver authority (reference)
- Go to General Settings > Master > Approver Authority
- Click add
- Choose By role or By specific user
- Set Authority rank (higher number = more seniority for bypass)
- Set Scope the same way as on a rule — empty means the whole business
- Optionally set Delegation: Delegate to, Active from, and Active to for when someone is away
- Click Create
While a delegation window is active, actions go to the delegate and the substitution is recorded.
Approving and rejecting
- Go to User Management > Pending Approvals
- Open a row (Document) or the view action
- Review document type, status, submitted date, and the levels stepper
- Add an optional Comment
- Click Approve or Reject
| Status | Meaning |
|---|---|
| Pending | Waiting on the current level |
| Approved | Chain complete |
| Rejected | Stopped by a reject |
| Cancelled | Cancelled (including when a reject cancels other open levels) |
You only see Approve / Reject when it is your turn. If someone else already acted, refresh and try again.
While a document is pending, it stays locked from further use until the chain finishes.
Quick rule patterns
| Pattern | Conditions | Chain | Levels |
|---|---|---|---|
| Every new customer | (empty) | Sequential | 1 × Sales Manager |
| High credit only | Credit Limit ≥ threshold | Sequential | Sales → Finance → CFO |
| Long payment terms | Credit Days ≥ 90 | Sequential | Sales → Finance |
| Large sale invoice (when enabled) | Grand Total ≥ 50,000 | Hybrid | Parallel peers → Director |
| Strict compliance | Any | Sequential | Finance with role-specific gate + None bypass |

