Procurement Threshold Auditor
Finds requirements split below the threshold, one award at a time
- 8hard rules
- Things it must never do, enforced in every run
- 5handover rules
- Conditions where it stops and gives the work to a person
- 8output fields
- A structured result, not a paragraph you have to re-read
- ≤7steps per run
- Bounded work: at most 5 tool calls, enforced by the runtime
Read-only by design. This agent has no path to sending, spending, publishing or committing anything. Where that limit is the product, removing it would remove the reason to trust the output.
Overview
Public bodies and regulated organisations buy under thresholds: below one value you may award directly, above it you must seek quotes, above another you must tender. The thresholds exist so larger spend meets competition.
They are undermined the same way everywhere, usually without intent. A requirement worth 200,000 becomes four purchases of 49,000, each within someone's authority, because that is genuinely faster and the deadline was real. Contracts get extended repeatedly until a two-year award has run for seven. A framework is used for something outside its scope because it is the only route that does not take four months. A direct award is justified by urgency that was foreseeable a year earlier.
None of it is visible from a single transaction, and a single transaction is all any approval looks at. The pattern appears only when spend is aggregated by supplier and by requirement across a period — the view nobody produces, because finance systems are organised by cost centre and by month.
This agent produces that view and reports the pattern with the evidence. It never alleges intent: splitting is usually a deadline problem, and treating it as misconduct stops people reporting it. It gives no legal advice on procurement law.
Benefits
Findings before an auditor's
This is what external audit opens with.
The cause, which is usually the process
People split requirements when the compliant route is too slow.
Competition where it was intended
Which is what the thresholds were for.
What it does
Aggregates what approvals see one at a time
Four awards of 49,000 is a pattern. Each individual approval was correct and saw none of the others.
Groups by requirement, not just supplier
A split requirement across two suppliers is still a split requirement, and supplier grouping alone misses it.
Tracks extensions against original term
A two-year award that has run seven years never went back to market and nobody decided that.
Checks framework use against scope
The route that does not take four months, used for something it does not cover.
Tests urgency for foreseeability
An expiry known a year in advance is not urgency, and the record usually shows when it was known.
Alleges no intent
Splitting is usually a deadline problem. Treating it as misconduct is how it stops being reported.
What this changes
What this changes about your week
- It takes over
- Aggregating spend by supplier and requirement against procurement thresholds.
- Done today by
- Nobody. Each approval sees one transaction.
- How often
- Annually, by external audit, after the fact.
- Typical manual effort
- Finance systems are organised by cost centre and month, not by requirement.
Why Government & Public Sector in particular. Four awards of 49,000 is a pattern and each individual approval was correct. Splitting is almost always a deadline problem rather than misconduct — and treating it as misconduct is how it stops being reported.
Runs unattended
Started by you or by an event, and it finishes on its own. Nothing waits for someone to be at a desk.
The same standard every time
The two-hundredth item is held to the bar the first one was. Consistency is the part people cannot sustain.
It cannot act on its own
Procurement Threshold Auditor has no path to sending, spending or committing. That limit is why its output is safe to act on.
How it runs
This agent runs server-side through the PROMIVO runtime. Each run is logged step by step and every tool call is permission-checked before it executes.
- 1InputValidated against the agent input schema
- 2Modelclaude-opus-5 with automatic fallback
- 3Toolssearch_knowledge, extract_structured_data
- 4PermissionsRuns READ actions automatically; anything higher waits for approval
- 5OutputStructured result matching the output schema
- 6LoggingTokens, duration and every step recorded
Demo
Demo dataIllustrative sample output, abridged.
Input
{
"awards": [],
"period": "FY2026",
"currency": "USD",
"aggregationPeriodMonths": 12
}Output
{
"escalate": true,
"disclaimer": "An aggregation of your own award records against the thresholds you configured. No allegation of deliberate avoidance, misconduct or bad faith is made, no individual is named, no contract has been awarded, extended or cancelled, no supplier contacted, and this is not legal advice on procurement regulation or a statement that any rule was breached.",
"escalationReason": "Five direct awards to one supplier aggregate to 243,000 against a 100,000 tender threshold, and a contract has run five years past its permitted term.",
"contractsPastTerm": [
"A facilities contract awarded in 2019 for two years plus one extension has run for seven. It has not been to market since, and nobody decided that — it happened one extension at a time."
],
"foreseeableUrgency": [
"One direct award cites urgency due to contract expiry. The record shows the expiry date was known 14 months earlier."
],
"aggregatedCrossings": [
{
"awards": 5,
"supplier": "Meridian Consulting",
"routeUsed": "Direct award, five times",
"requirement": "Change programme support",
"routeRequired": "Full tender at aggregate value",
"aggregateValue": 243000,
"thresholdCrossed": 100000,
"groupingConfidence": "confirmed"
},
{
"awards": 4,
"supplier": "Two suppliers",
"routeUsed": "Three quotes each",
"requirement": "Data migration services",
"routeRequired": "Full tender",
"aggregateValue": 138000,
"thresholdCrossed": 100000,
"groupingConfidence": "likely"
}
],
"frameworkScopeIssues": [
"An IT framework covering hardware supply has been used for two consultancy engagements worth 61,000. The framework does not cover consultancy."
],
"provisionalGroupings": [
"The data migration grouping spans two suppliers and rests on description similarity. Confirm whether it was one requirement before relying on that finding."
]
}Requirements
Integrations
No integrations required.
Before you start
- Awards and purchase orders with supplier, description, value and date
- Your thresholds and the route each requires
- Contract register with original term and extensions
- Framework agreements and their scope
- Requires the All-Access plan or higher
Use cases
Annual procurement review
Aggregated spend against every threshold.
Before external audit
The pattern, found internally first.
Contract register cleanup
What has been extended past its term.
After a spend increase with one supplier
Whether it crossed a threshold in pieces.
Pricing
All-Access
Billed monthly through your PROMIVO subscription. Cancel at any time.
Runs consume your plan allowance for agent executions and tokens. See plan limits
FAQ
Does it accuse people of breaking rules?
No, and it must not. Splitting is almost always a deadline problem, not misconduct. It reports the aggregated pattern; treating it as an accusation is how it stops being reported honestly.
Is this legal advice on procurement regulations?
No. It checks against the thresholds and rules you configure. Which regime applies to you and what a breach means is a question for your own advisers.
How does it group a requirement?
By description similarity, supplier, timing and category — and it reports the confidence. A wrong grouping produces a finding that is not real, so uncertain groupings are labelled rather than asserted.
Reviews
Reviews open once customers have run this agent.
Need this agent to work differently?
Tell us what to change and our team will scope a customised version for your business.
Customize this agent