Approval Matrices
An approval matrix decides who approves an ERP document, at what value and in what order. It is a ladder of stages: each stage covers a band of values, names who approves it, and says how many of them must agree. The Approval Matrices console builds the ladder and checks it with the same rules the engine applies, so a stage that resolves to nobody or a gap between value bands shows up before a document gets stuck.
Where to find it
Architect Panel → Automation:
- Approval Matrices — every matrix, for architects
Admin Panel → ERP - Setup:
- Approval Matrices — ERP document matrices, for people holding the ERP: Administration role
What a matrix governs
A matrix is chosen by what a document is and the status it is asking for. Matrices are applied by the ERP document engine when a document's lifecycle asks for approval; they ship for requisitions (Requisition approval), purchase orders (Purchase order release) and held sales orders (Sales order credit release), all disabled. Until a matrix is enabled, the document type keeps its simpler rule: whoever holds the approving permission may approve. The purchasing and sales specifics are in the ERP documentation; see Transactional Documents.
Setting up the matrix
- Open the console. Matrices lists each one with its Company, Bands in, Governs, Status sought, number of Stages and whether it is Enabled. Press Open on one, or fill in Add a matrix.
- Company: Every company, or one company. A company's own matrix wins over the one for every company.
- Value bands are in: a currency, or Each document's own currency. A document in another currency is converted at the spot rate on its date before its band is chosen; with no rate it is refused rather than banded at face value.
- Name and Key: the key is what a document type routes to, unique per company.
- Governs and Governs what: doctype and the document type's key, such as preq, po, pinv or so.
- Value basis: which figure of the document the bands compare against; blank means the gross total.
- Status sought: the status the document enters when it is sent for approval (Submitted, for a requisition). Status when approved: the status it may enter only once every stage has approved. Status when rejected: where a rejection sends it.
- Tick Enabled when the stages are ready, then Save.
Adding stages
- Under Add a stage, give a Name and a Stage number. Stages run in number order.
- Set the value band, From and To. A To of 0 means no upper limit. A document whose value is outside a stage's band skips that stage.
- Choose Who approves: A named person, Anyone in a security group, Anyone in a worklist team, Whoever is named in a field on the record, The owner of the cost centre being spent, or Back to whoever raised it.
- Fill in Which one for the kinds that name somebody: a person's e-mail address, a security group's name or ID (as in the Security Group Manager), a team key, or a field name.
- Choose the Quorum: Any one of them, All of them, or A set number of them (with How many). It counts distinct people.
- Optionally set SLA (hours), and tick Allow self-approval or Allow delegation.
- Press Add stage. Use the arrows to reorder, Edit to change and × to remove.
The checks
Under the matrix form the console says either "Every enabled stage resolves to somebody, and the value bands cover every amount with no gap", or what is wrong:
- A stage names nobody, so it blocks every run that reaches it. Saving such a stage is refused, as is a security group that does not exist.
- A gap between bands at one stage number: a document in that range skips the stage rather than being refused.
- No band covers the top: set the highest band's To to 0.
- Two stages share a number, or the matrix has no enabled stage.
Recent approvals lists the last 50 runs (Document, Value, State, Stage, Raised by, Raised, Settled), read-only.
What goes wrong
- A shipped matrix blocks every document once enabled. Its group stages name no group yet. Fill in Which one first.
- "There is already a '…' matrix for …": one key per company.
- A matrix cannot be removed while approvals are in progress through it; finish or cancel them first.
- An ERP administrator cannot change a matrix. They need write access to its company, or to every company for an Every company matrix, and may manage document matrices only.
Worked example
A group with UK and US companies wants one requisition ladder in pounds. The finance systems lead opens Requisition approval, sets Value bands are in to GBP and keeps Company as Every company. Stage 1, Budget holder, covers 0 to 0 (everything) with All of them. Stage 2, Second approval over 10,000, covers 10,000.01 to 0, Anyone in a security group, Which one "Finance Directors", Any one of them, SLA 72 hours. The checks turn green, they tick Enabled and save. A US requisition for 14,000 dollars is converted at the day's rate and, at roughly 11,000 pounds, reaches both stages.
Recommendations
- Read the checks before enabling a matrix.
- End the ladder with a To of 0 so no value escapes it.
- Set a currency for any matrix used by companies in different currencies.
- Prefer groups and cost-centre owners to named people, who leave.
- Enable one matrix at a time and watch its first documents.