A request nobody rejected is not a request that is going well.
Procurement fails quietly. Nothing errors when a requisition sits for nine days, when an order slips past its promised date, or when a supplier's price drifts up twenty per cent across four orders. Each of those is a thing that did not happen, and things that do not happen do not appear on a dashboard unless somebody deliberately looks for their absence.
One supplier carries 41% of spend across three categories.
The signals
Six things it looks for, four of which are absences.
This is what makes procurement different from the other three verticals. Accounting and sales mostly measure things that happened. Procurement mostly measures things that were supposed to happen and did not, which requires knowing what was expected and when.
Requests going stale
An RFQ that has sat without movement for longer than a number of days you set — seven by default. Nothing is broken about a stale request, which is exactly why it stays stale: no queue shows it, no owner is blocked, and the person who raised it assumes procurement has it in hand.
Purchase orders running late
Orders past the date they were promised for. Read alongside the on-time rate, this separates "this supplier is late" from "we are late with everything", which are different conversations with different people.
Cost spikes
A unit cost that has moved beyond a multiple of what you have been paying — 1.2× by default, so a twenty per cent rise is the trigger. Price creep across several orders is the classic invisible loss: each individual increase is arguable, and the cumulative one is not.
Concentration risk
How much of your spend depends on how few suppliers. A high concentration is not automatically wrong — it buys leverage and simplicity — but it should be a decision somebody made rather than a position you drifted into over two years of convenient reordering.
Supplier reliability and on-time rate
How dependably each supplier delivers when they said they would, built from your own receiving records rather than from their claims. This is the number that makes a difficult supplier conversation short, because it is your data about your orders.
Actual lead time
How long orders really take, as opposed to the lead time somebody typed into a supplier record once. The gap between the two is what quietly breaks inventory planning, since the stockout calculation next door is using a number that may never have been true.
Read this before you award anything
Quote analysis ships weighted on price alone. Delivery and distance are set to zero.
We could have left that in the settings screen for you to find. It belongs here, because the failure mode is specific and expensive: a buyer sees “analysed” next to a set of quotations, reasonably assumes the analysis considered delivery, and awards to a supplier the analysis never assessed on delivery at all.
1.0
Price
Carries the whole comparison as shipped. It is the one factor that is unambiguous, comparable across suppliers and present on every quotation, which is why it is the safe default rather than the right answer.
0.0
Delivery
Switched off until you turn it on. For most organisations this is the weight worth setting first — a cheaper quotation that arrives three weeks later is not cheaper, it is a stockout with a discount attached.
0.0
Distance
Also off. It matters intensely for bulky or perishable goods and not at all for a software licence, so a default either way would be wrong for half our customers.
Why not ship sensible non-zero defaults? Because a weighting is a statement about what your organisation values, and a weighting you did not choose is one you cannot defend in a procurement review. Zero is visibly a decision waiting to be made. A quietly reasonable 0.3 looks like an answer and is a guess about a business we have never seen.
A distinction worth drawing
These are signals, not controls. The thing that refuses is elsewhere.
An insights card tells you something is true. It does not stop anything happening, and it is worth being clear about which parts of procurement do stop things, because a reader who conflates the two ends up believing they have a control they do not have.
What actually refuses
Payment is genuinely gated: a quantity discrepancy between what was ordered and what was received blocks release across every payment route, and paying past it needs its own permission and a written reason. Approving a purchase order is gated by permission — whether a person may approve at all.
Surfaces the things nothing refuses. A request going stale breaks no rule. A supplier creeping up on price breaks no rule. Drifting into depending on one supplier for two-fifths of your spend breaks no rule. These are exactly the problems a control system cannot catch, which is the argument for measuring them.
Each finding carries a link to where the work is done, so the gap between noticing and acting is one click rather than one meeting.
How the engine works
The numbers are not from the model. The sentence is.
This is the single most important thing to understand about Procurement Insights, and it is the thing most “AI analytics” pages are careful not to say. Every figure on the page — every count, every total, every flagged record — is computed by an ordinary database query against your own data, with thresholds you control. A language model is used for exactly one job: turning that computed result into a paragraph a person can read quickly.
1 · The facts are queried
Counts, totals, ages and comparisons, run against your workspace under the same tenant scoping as every other screen. This step is deterministic: run it twice on unchanged data and you get the same answer twice. If the engine says nine invoices are overdue, nine rows matched.
2 · Your thresholds decide what counts
What makes a request stale, a cost a spike, an entry large or a balance overdue is a number in your settings, not a judgement in a model. The defaults are listed below. Change one and the flags change with it, immediately and predictably.
3 · The narrative is written last, and only when there is something to say
Only then is a short plain-language summary generated from those facts. It is written on a background job so the page never waits for it, and it fails soft: if no provider is configured or the request fails, the summary is simply not there and every number on the page is unaffected.
The narrative is keyed to the facts it was written about
The summary is stored with a fingerprint of the exact figures it was generated from. When those figures move, the fingerprint no longer matches and the summary is regenerated rather than served stale. This closes the failure that makes cached AI commentary dangerous: a confident paragraph describing last week, sitting directly above this week's numbers, with nothing on the screen indicating the two disagree.
Results are cached per workspace for a window you set — fifteen minutes by default — so the page is fast without being out of date, and a refresh action clears it when you want the current picture immediately.
The Procurement thresholds, and what they ship as
These are the actual settings behind the flags on this page. They are per workspace, they are yours to change, and the defaults are chosen to be defensible rather than dramatic — an engine tuned to flag everything on day one is an engine nobody reads by day three.
Setting
Ships as
What it decides
procurement_stale_rfq_days
7
Days without movement before a request is flagged as stale. Shorten it where sourcing is fast; lengthen it for tenders that legitimately sit.
procurement_cost_spike_multiplier
1.2
How far a unit cost has to move above what you have been paying before it is flagged — a twenty per cent rise, as shipped.
procurement_quote_auto_analyze
true
Whether quotations are analysed as they arrive rather than on request.
procurement_quote_price_weight
1.0
How much price counts in that analysis. It carries the entire comparison until you change the other two.
procurement_quote_delivery_weight
0.0
How much promised delivery counts. Zero as shipped — usually the first weight worth setting.
procurement_quote_distance_weight
0.0
How much supplier distance counts. Zero as shipped, because it is decisive for bulky goods and irrelevant for others.
Every flag carries the way to act on it. A finding is not a number on a dashboard you then go hunting for — it is rendered with a label and a link to the screen where the work is done. An insight you cannot act on from where you are reading it is a report, and you already have reports.
Before you rely on it
What this reads, and what it does not pretend to be.
Procurement Insights — the position
What AWRA OpsHub does today
Stale request detection on a number of days you set, surfacing the requisitions that break no rule and go nowhere.
Delayed purchase orders measured against their promised dates, readable alongside your overall on-time rate.
Cost spikes against a multiple you choose, catching price creep that is arguable one order at a time.
Supply concentration, showing how much of your spend depends on how few suppliers.
Supplier reliability and on-time rate built from your own receiving records, not from supplier claims.
Actual lead time as observed, distinct from the lead time typed into a supplier record.
Quotation analysis with weights you control, shipping transparently at price-only rather than at a guessed blend.
Alerts carrying a link to the request, order or supplier the finding is about.
A score and a separate confidence, so a thin month gets a hedge rather than a verdict.
More we can add to your workspace
Value-based approval routing, where an order above an amount you set has to collect a named second signature before it can proceed. Approval today is gated on whether a person may approve, not on how much the order is for.
Contract and price-agreement awareness, so a cost spike against an agreed rate card is a breach rather than a curiosity.
Savings measurement, tracking what an award actually saved against the quotations it beat and reporting it over a year.
Supplier risk beyond your own records — financial health, sanctions screening or certification expiry pulled from outside the workspace.
Demand aggregation across requests, spotting four departments separately buying the same thing in the same fortnight.
Category-level spend analysis, so concentration can be read per category rather than across the whole book.
Alerting that reaches a buyer, sending the stale-request signal to a person rather than waiting for the card to be opened.
Automatic supplier scorecards issued to suppliers, closing the loop on the reliability figures you already hold.
Where we point you to a specialist
We will not ship a quote weighting we invented. A weighting states what your organisation values, and one you did not choose is one you cannot defend when the award is questioned.
We will not tell you which supplier to award to. The analysis ranks against weights you set; the award is a commercial decision with consequences we do not carry.
We point you to your own procurement policy on acceptable concentration. We can show you that one supplier holds forty-one per cent of your spend. Whether that is leverage or exposure depends on things the data does not contain.
We will not present a signal as a control. This card informs a decision rather than gating one, and we would rather say so plainly than let a card be mistaken for a gate in an audit.
Value-based approval routing is the most asked for row here, and the engine already stores value thresholds — the routing that consumes them is the piece we would build. If that is your control requirement, it is a well-scoped piece of work.
Run inventory, procurement, assets, sales, and field work with approved AWRA guidance for setup, migration, integrations, security, pricing, and support.
We use necessary cookies for secure sessions. With your permission, we also use cookies and browser storage for preferences, analytics, and demo engagement. Privacy Policy
AWRA OpsHub
Cookie settings
Cookie Consent Manager
Necessary cookies stay on for login, CSRF protection, and security. You can choose the optional categories below.
Overview
General Information
AWRA uses cookies and browser storage to keep public pages secure, remember selected preferences, measure website performance, and manage demo engagement prompts.
You can choose whether functional and marketing engagement storage apply. Analytics measurement is always active in this AWRA setup.
These settings apply to AWRA public website experiences such as the homepage, feature pages, pricing calculator, blog, help center, and request-demo page. Authenticated dashboard and vendor portal sessions still rely on required security cookies.
Required
Always active
Functional
Optional
Analytics
Always active
Marketing
Optional
For more context on privacy handling, open the Privacy Policy.
Required Cookies
Required Cookies
Always Active
Required cookies and storage support basic website delivery, secure sessions, request protection, and remembering the consent choice itself.
These cannot be switched off from this manager because disabling them would break login/session behavior, form protection, or the ability to remember the privacy choice you save.
Cookie details
Session security: keeps secure server sessions working while browsing AWRA.
CSRF protection: helps verify form submissions and protect requests.
Consent record: stores the preference decision so the banner does not keep asking after a choice is saved.
Examples: Laravel session cookies, CSRF tokens, and the AWRA consent preference record.
Duration: session security can expire with the browser/session; saved consent can last longer so the same browser remembers the choice.
Functional Cookies
Functional Cookies
Functional storage improves the public website experience by remembering interface choices, helper states, dismissed notices, and short-lived interaction preferences.
Turning this off does not stop secure required cookies or analytics. It only limits optional convenience memory.
If disabled, AWRA may show some helper prompts again or forget non-essential display choices. Core public pages, contact forms, and request-demo forms still work.
Cookie details
UI preferences: remembered display choices and helper states where available.
Dismissed notices: session-level or preference-level memory for notices the visitor has closed.
Frequency helpers: optional browser storage that prevents repeated prompts when allowed.
Examples: localStorage or sessionStorage values for dismissed banners, guide/helper states, and lightweight public-page preferences.
Effect when off: AWRA avoids optional convenience memory unless it is also allowed through marketing and engagement preferences.
Analytics Cookies
Analytics Cookies
Always Active
Analytics helps AWRA understand public page performance, traffic patterns, and content usefulness so we can improve the marketing website.
This category does not by itself enable demo popups, exit-intent prompts, or advertising pixels. Those are controlled by Marketing & engagement.
In this AWRA setup, Google Analytics and Google Tag Manager measurement are treated as mandatory website measurement and remain active.
Cookie details
Google Analytics / GTM: measures aggregate traffic and page activity.
Performance insight: helps identify which public pages, docs, and demo paths visitors use.
Operational signal: supports website quality decisions without enabling demo popups by itself.
Examples: Google measurement identifiers such as GA/GTM tags and related browser identifiers set by Google scripts.
Use: page views, source/referrer trends, public content performance, and product education page effectiveness.
Marketing & engagement
Marketing & engagement
Marketing and engagement storage supports demo prompts, exit-intent prompts, campaign attribution, and future advertising pixels.
When disabled, AWRA will not auto-open demo or exit-intent popups. CTA buttons can still open a form because that is a direct visitor action.
When enabled, AWRA can remember that a visitor already saw, dismissed, or submitted a demo prompt so the same popup is not repeated aggressively.
Cookie details
Demo prompt memory: tracks whether an auto prompt or exit prompt was recently dismissed.
Demo submission memory: avoids asking again after a visitor submits a demo request.
Campaign context: keeps source page, referrer, and UTM context available for demo requests.
Examples: popup frequency caps, demo-submitted flags, engagement source fields, and UTM/referrer context.
Effect when off: auto demo prompts and exit-intent prompts stay blocked; normal navigation and manually clicked CTA buttons still work.