Troubleshoot

Approvals that get stuck

An approver who is away, a step with nobody behind it, budget that seems gone.

A stuck approval is not a cosmetic problem. It holds the customer's budget, stops a machine, and teaches their buyer to phone your Innendienst instead of using the shop.

Requests never expire and nobody is reminded, so a request that nobody decides waits for ever. Your tools are in the Cockpit under Procurement › Purchase requests: filter by status Pending, open the request, and read its Approvals tab (who each step waits on, in which order) and its History tab (every transition so far).

Symptom to cause

The customer saysUsually
"Nobody has looked at it for a week"The approver is away. There is no deputy and no reminder
"It went to the wrong person"The cost centre's accountable contact changed after the cart was submitted, or a rule names a contact directly
"It is waiting, but on nobody"A Default approver with no person: a global rule, or a cost centre without an accountable contact. Any contact with an approving role may decide it, but nobody sees it as theirs
"I approved it and there is still no order"Another step or another cost centre's chain is still open. Or the order is still being placed (see below)
"It says there is no budget, we have plenty"Waiting requests are holding money. Or the period ended and the new budget is not there
"It won't submit at all"A Prevent rule, a line without a usable cost centre, a centre without an active budget, or a currency the budget is not held in
"I fixed the cart and resubmitted, it is refused"A cart whose request was declined or cancelled cannot be submitted again. The buyer starts a new cart

A step with nobody behind it

The approver of a step is fixed when the cart is submitted. A rule with the approver type Default (accountable contact) takes the accountable contact of the cost centre it names, at that moment. If the rule is global, or the centre has no accountable contact, the step names no one. Any contact whose role allows approving (Approver or Administrator) may then decide it. Because it names nobody, nobody sees it as theirs, and it sits.

Fix the cause and the case separately:

  1. For the request that is waiting: ask an approver or administrator at the customer to decide the step in the shop. Or an administrator uses Super-approve or Cancel request on it (below).
  2. For the future: give every cost centre an accountable contact, and give global rules a Contact or Role approver.

The same timing explains "it went to the wrong person". Changing a cost centre's accountable contact, or the contact on a rule, changes the steps of carts submitted afterwards. Requests already waiting keep the approver they were given.

The two overrides

Two actions on a request's detail view end the wait without walking the chain. Both work only while the request is Pending.

ActionWhat it does
Super-approveClears every open step at once, recording the override on each, and places the order. The budget reservation becomes the order's
Cancel requestEnds the request as Cancelled and gives the reserved budget back. The buyer can also cancel their own request

Use Super-approve when the purchase is right and the decision is overdue. Use Cancel request when the request is wrong; the buyer then raises a corrected cart. Neither is a routine tool: both bypass the people the rules named, so agree with the customer who may ask for them.

There is no time-based escalation and no delegation. If one approver is regularly the bottleneck, change the rule to a Role approver so that several people share the step; see Approval rules.

Approved, but no order

An approved request places its order straight away. If the orders side was not reachable at that moment, the request stays Approved instead of Ordered. Nothing is lost: once an hour a reconciliation pass completes these requests, and it never places a second order. To run it now, use Run reconciliation on the purchase request list. The same pass releases budget still held by declined or cancelled requests and records outcomes that were never written.

Budget that seems gone

The commonest false alarm. The customer sees budget in their own figures and the shop says there is none. Check in this order:

  1. Waiting requests. Every Pending request has already reserved its amount. Decide or cancel them and the money returns.
  2. The period. A budget that closed last night is inactive. If the cost centre has no active budget at all, it is not offered to buyers. Check the new period's budget exists, and see Procurement data hygiene for budgets that did not roll.
  3. The positions. Where a centre has several budgets, the first is drained before the second. A report that reads only one of them is wrong.
  4. What they are comparing. Their number is usually booked invoices; this one is committed orders. See Reading the budget ledger.

If it really is exhausted, the decision is the customer's: a supplementary budget, or an approval rule that lets an overrun be signed for.

Orders placed directly, and cancelled orders

Two queues hold the cases the hourly pass leaves to a person:

  • Procurement › Direct order log lists orders placed without approval. The queue Commit refused holds orders whose budget booking was refused, for example because the centre's budget had closed. Fix the cause and use Retry budget booking, or Settle manually with a note saying why no budget is booked. Commit pending clears itself once the cost centres answer again.
  • Procurement › Budget returns lists cancelled orders whose budget is being given back. Refused needs a person: Retry budget return, or Settle manually with a note. A booking on a budget whose period has closed is not given back; it shows as Nothing to return, and moving that money into the current period is a manual decision.

Prevention

  • Every cost centre has an accountable contact, and global rules name a contact or a role.
  • No approver is the only person for a busy step. Use Role approvers where absence would stop a department.
  • Every monetary cost centre has an active budget for the current period.
  • Fewer than about one order in five needs approval. Above that, the thresholds are too low and the approvers stop reading; see Approval models.

What to check

  • Filter the purchase requests by Pending and look at the oldest submitted date. It tells you whether the routine is working.
  • Open one waiting request's Approvals tab. Every open step should name a contact or a role.
  • Cancel one test request and confirm the budget returns in the ledger.

Next