An invoice has been waiting for approval for a week. It might be waiting on a receipt, a budget decision, or an approver who is on leave. Sending another reminder helps only if the person receiving it can act, so start by recording why the bill stopped and who can move it.
A stalled approval is usually stuck in one of three places, and each has a different fix.
| Where the bill is stuck | What it looks like | Fix |
|---|---|---|
| Routing | The bill never reached an eligible approver’s queue | Change the rule or the approver’s access |
| Evidence | The approver has it but keeps asking for the contract, receipt, or coding | Send the evidence with the task |
| Decision | The approver has everything and has not acted | Delegation and escalation with a deadline |
Measure time to reach the reviewer separately from time waiting on their decision. That split tells you which bucket you are in.
Write the routing rules before you configure anything
| Situation | Send it to | Include in the review |
|---|---|---|
| PO invoice with a missing receipt | Receiving or the service owner | Invoice line, PO line, quantity or work still unconfirmed |
| PO invoice with a price variance | Buyer | Invoice price, PO price, any approved amendment |
| Non-PO invoice | Budget owner | Invoice, proposed account, and the contract or request |
| Amount above the approver’s limit | Next authorized approver | Amount, prior decision, and the limit that applies |
| Approver unavailable | Authorized delegate | Original assignment, delegation window, the same evidence |
| Bill edited after approval | Original approver, or per your reapproval rule | Old and new values, side by side |
Keep two separations in the rules. Receiving can confirm delivery and clear an exception, but the person authorized to approve the expense still approves the invoice. And approval does not release payment. Keep payment release under its own authority so a routing error never becomes a cash error.
Approval limits and split bills
Limits usually step up by amount and sometimes by account or department.
| Approver | Example limit per bill |
|---|---|
| Department manager | Up to $5,000 |
| Department director | Up to $25,000 |
| Controller | Above $25,000 |
Worked example: a shared expense (illustrative)
A facilities bill for $18,400 is shared 60/40 between Operations and Marketing. That is $11,040 to Operations (18,400 × 0.60) and $7,360 to Marketing (18,400 × 0.40).
Your policy has to say whether the limit applies to the whole bill or to each department’s portion. If it applies to the whole bill, one director approves $18,400. If it applies per portion, both portions are above the $5,000 manager limit, so each department’s director approves its share. Write down which rule you use and test that the system enforces it.
The reverse case is a control risk. A $9,800 bill submitted as two $4,900 bills from the same supplier on the same day passes the manager limit twice. Have AP or the workflow flag same-supplier bills that together cross a limit within a short window.
Delegation, escalation, and reapproval
Delegation. Every approver needs a named backup with a start and end date. The delegate sees the same evidence as the original approver, and the decision history records who acted under whose authority.
Escalation. Set a deadline per step. When it passes, the bill goes to the next authorized person, not to a shared inbox. An escalation that lands with someone who cannot approve just adds a step.
Reapproval after edits. Decide in advance which changes send a bill back.
| Change after approval | Typical rule |
|---|---|
| Amount increases | Reapprove |
| Amount decreases (credit applied) | Record, reapproval optional by policy |
| Account, department, or entity changes | Reapprove, since cost ownership changed |
| Supplier bank details change | Stop; vendor-master verification, not an approval question |
| Due date or memo changes | Record only |
Test the rule with a supplier who sends a corrected PDF after approval. Pull the decision history at the end and confirm who approved which version.
How this works in Sage Intacct, NetSuite, SAP, and Dynamics 365
Sage Intacct
A bill sits in Submitted and the department manager says it never reached their queue. Check three things before sending a reminder.
Where was it entered? Sage Intacct uses Accounts Payable bill approvals for bills and recurring bills created in AP. Transactions created in Purchasing use Purchasing approvals (Sage’s bill approval documentation). For an imported bill, run a sample and confirm which path it actually enters.
Which rule applies? Sage documents rules based on vendor, value, department, or user. When a vendor rule is combined with the transaction-department value rule, a designated vendor approver takes precedence. If the department owner expected to review the bill, test that combination. Sage also documents that the transaction-department value rule allows only one department on the bill, so run a split-department test to see how your setup handles shared costs.
Can the approver see it? Sage warns that if an approver later receives department or entity restrictions, a bill outside them may not reach the approver’s queue, and with nobody else eligible it can stay in Submitted. Have an administrator review the intended approver and backup. Avoid widening someone’s access just to clear one bill.
NetSuite
AP imports a software renewal bill. It saves, but the department manager never sees it. Open the record and check subsidiary, approval status, workflow state, and next approver.
Oracle’s documentation for the installed Vendor Bill Approval workflow says its default validation state sets the next approver to the supervisor of the person entering the transaction (Oracle’s Vendor Bill Approval workflow documentation). If you expect a budget owner instead, check which workflow is deployed. Then try a bill created by AP and one created through your import path, and check whether both reach the same person.
For PO bills, check whether your account uses the separate 3 Way Match Vendor Bill Approval workflow (Oracle’s 3 Way Match documentation). A quantity discrepancy belongs with the buyer or receiving lead. The final approver needs the variance and its resolution alongside the invoice.
Always test from the approver’s role. Seeing a bill as an administrator does not prove the reviewer can open it.
SAP
A buyer replies “approved” to an invoice email. The supplier then sends a corrected PDF on the same thread. AP copies the new amount into a spreadsheet and prepares the import. The approval on the thread looks current, but it was given for the old amount.
Save the exact attachment and link it to the supplier, invoice number, company code, and spreadsheet row. Record the approval against that version. Give each row a status: received, awaiting approval, ready for import, rejected, or posted. Once SAP has the invoice, save its document ID on the row.
SAP S/4HANA Cloud documents an Import Supplier Invoices app, F3041, that uses a template to upload multiple invoices and post them from the app (SAP’s Import Supplier Invoices documentation). Ask your SAP administrator whether your edition and roles have access. Use the import result to separate saved invoices from rejected rows, and look for existing documents before resubmitting anything.
Dynamics 365 Finance
Two approval-adjacent checks matter here. For a supplier that bills more than one legal entity, confirm that routing picks the entity and financial dimensions from purchasing evidence rather than from the supplier’s last coding. For PO bills, Dynamics 365 Finance three-way matching compares invoice price with the PO and invoice quantity with matched product receipts (Microsoft’s matching setup guide). Confirm whether your configuration requires approval to post a quantity discrepancy.
Diagnose a stalled bill
| What AP sees | What to check |
|---|---|
| Manager never received the bill | Entry origin, applicable rule, approver access |
| A vendor approver got a department bill | Vendor record and rule precedence |
| Bill has lines for several departments | Whether the configured rule supports splits, and the controller’s policy |
| Approver has the bill but asks for more | Original invoice, coding, and the PO or agreement |
| Bill approved but not in the payment run | Hold status and payment selection, not approval |
| Imported bill went to a different approver | Which workflow or path the import triggered |
If bills never reach a queue, fix the rule or the access. If they arrive without enough information, put the source documents in front of the reviewer. If missing receipts dominate, give receiving a list of the exact PO lines to confirm. The three-way matching guide covers that handoff, and the invoice holds guide covers what happens after approval when a bill still cannot be paid.
What goes wrong
- Reminders go to someone who cannot act, so the bill ages with a full audit trail of nudges.
- An approver’s access is narrowed and their queue quietly stops receiving bills.
- Imported bills follow a different path from manually entered ones, and nobody tested both.
- An approval survives an amount change because the rule only watches status, not values.
- AP widens an approver’s permissions to clear one bill and never narrows them again.
For decision-history requirements auditors ask about, see finance audit trail controls. ERP-specific setup is covered in the NetSuite AP and AR guide and the Sage AP automation guide.
Test script before you change a rule
Run each case in a sandbox and record the expected reviewer before you submit it.
- Routine bill entered in AP
- Same bill through your import path
- Non-PO renewal that should reach a budget owner
- Bill split across two departments
- Approver with entity or department restrictions
- Approver away, delegate assigned
- Amount increased after approval
- Bill with a missing receipt
- Two same-day bills from one supplier that together cross a limit
- Decision history pulled at the end, traced to the approved version of each bill