Skip to content

Solutions

Control AI that creates vendors and commitments

New payees, duplicate suppliers and purchase commitments. Add cooling periods, verification requirements and approvals before an AI action lands.

No amount to refuse on

Neither action this team’s AI attempts carries a number. So every control here is about who and when rather than how much.

Which is correct: the payment that hurts is small, correctly formed, and to a payee that should not exist.

Actions

2

With a ceiling

0

Why a ceiling does not help here

The payment that hurts is not a large one.

It is a small, correctly-formed payment to a supplier that should not exist. No amount limit catches that, because the amount is unremarkable — which is why procurement controls are about identity and sequence rather than size.

In the sample estate this team runs 2 AI systems attempting 2 actions, and none of them carries an amount. That is not a gap in the fixture — it is the actual shape of procurement risk. Creating a vendor record is the consequential act; the payment that follows is downstream of it and looks entirely normal.

The other failure is duller and more common: a near-duplicate supplier nobody notices for two quarters, which quietly splits spend, breaks reporting and defeats every negotiated rate the team fought for.

create.vendorNetSuite
Governed by vendor.new_payee. No amount, so the rule is about identity, verification and timing.
adjust.stockPostgres · inventory
Governed by write.window. No amount, so the rule is about identity, verification and timing.

AI systems

2

run by Procurement

Actions attempted

2

none with an amount

Policies owned

1

written by this team

Systems reached

2

ERP and inventory

IllustrativeThe Procurement slice of the OpsAI sample estate, a fictional company.

What the control looks like

Five steps, and the fourth one costs a legitimate supplier nothing.

A cooling period before a first payment is the cheapest control in procurement and the least popular to propose, because it looks like friction. It is not friction for a real supplier — it is friction for the only party that needs the money today.

  1. An AI system proposes a new vendorunverified

    From an invoice, an email thread, a contract. The proposal is usually correct and well-formed, which is exactly why it is worth checking.

  2. Checked against existing suppliersdeterministic

    A near-duplicate is the more common problem than a fraudulent payee, and it is the one nobody notices for two quarters.

  3. Bank details verified independentlyrequired

    Against a source that did not arrive in the same email as the request. This is the step that fails in every invoice-fraud case.

  4. A cooling period before a first paymenttime-bound

    A new payee cannot receive money immediately. The delay costs a legitimate supplier nothing and removes the entire value of the fraud.

  5. A person confirms, or the hold expiresattributed

    Attributed to a named human with the policy version in force. If nobody responds, the answer is no.

Owned by
Anita Rao · Procurement
The team that carries the consequence of a bad supplier writes the rule, not a platform team and not the team that built the agent.
In force
v5 since 25 Jul 2026
Versioned, so a payment made last quarter can be replayed against the rule that actually applied to it rather than the one in force now.
What it says
A brand new payee cools for twenty-four hours and needs a verified bank account before money can move toward it.

The rule as it is actually written

In business terms, because the person who has to agree it is correct is the person who carries the risk — and evaluated with no model call in the path, so it cannot be talked out of it.

vendor.new_payee · v5
# a bound written in the business' own terms
bound create.vendor {
  bank       == penny_verified
  cooling    >= 24h before first payout
  duplicate  !~ fuzzy(vendor.legal_name, 0.92)
}

The unglamorous failure

A near-duplicate supplier is worse than an obvious one.

An obvious duplicate gets caught. A near-duplicate — a trailing suffix, a different legal entity, a transposed registration number — survives for quarters, splits spend across two records and quietly defeats every negotiated rate.

Why AI makes this more likely
It creates vendor records faster than anyone reviews them, and it is confident about a name it has seen once. Volume is the multiplier, not error rate.
Why the check must be deterministic
Asking a model whether two suppliers are the same gives a different answer on a different day. A match rule can be argued about, tuned and replayed.
What gets recorded
The candidate matches considered and rejected — not just the outcome. Six months later that is the difference between explaining a decision and guessing at it.
The commitment nobody governs
A purchase commitment is a contractual obligation created by an action, and it is usually outside every finance control because no money has moved yet. It is an action like any other, and it can carry a bound.

Where to start

Add the cooling period first. It is one line and it removes the whole class.

Verification and duplicate matching take longer to get right. A delay before a first payment to a new payee can be in force this week, and it costs a legitimate supplier nothing at all.