This requirement usually comes from someone who has thought carefully about controls, often after a conversation with internal audit. It is the right shape and it is worth specifying precisely, because the phrase human approval covers a wide range of implementations.

The differences between them are the difference between a control and a preference.

Propose Only
Enforced Approval
Full Evidence
Thresholds
Orchestration Execution
Reference Returned
Reversal

The Pattern, Precisely Stated

Four steps, and the value of the design comes from the strict separation between them. The agent never crosses from step two into step four on its own.

Recommend: Identify what should happen and why, with the supporting evidence gathered.
Prepare: Assemble the complete transaction with every field populated and every derived value visible.
Approve: A named person with the right authority confirms, having seen the full proposal.
Execute: A published orchestration creates the transaction and returns the document and batch number.
From question to routed, approved transaction

Augmentation, not the answer

An agent that recommends, prepares and then waits keeps a person in the decision. An agent that simply acts turns the person into a spectator.

That's the part that fears me is when people just let AI be the answer versus the augmentation.

Paul Barnhurst, on the AgentCFO podcast

The pattern below is designed around that distinction. The wait for approval is the feature that makes the rest trustworthy.

Where Weaker Implementations Differ

Several products will answer yes to your requirement and deliver something meaningfully weaker. These four differences are worth writing into your specification.

Approval as a setting: If there is a configuration path that allows posting without confirmation, approval is optional rather than enforced.
Summary approval: The approver sees a description rather than the actual payload and its source rows.
Bulk approval: A screen offering approve all, which converts a control into a formality.
Screen automation: Execution by driving the interface rather than through a supported orchestration.

What the Approver Must See

This is the requirement most often left vague and it determines whether your control is real. An approver confirming a one line summary is providing sign off, not review.

The proposal should show the complete transaction as it will be created, the evidence it was built from, and the reasoning that led to it, so the person can evaluate rather than merely consent.

The full payload: Every field as it will be created, including derived values.
The source rows: The specific records the proposal was built from, retained not referenced.
The reasoning: Why this action, stated plainly enough to be challenged.
The alternative: Where the agent chose between options, what it rejected and why.
Checklist split between automated steps and human judgement

Thresholds and Routing

Approval is not one thing. Your organisation already has an authority design, and the agent should operate inside it rather than introducing a parallel one that has to be separately maintained and separately audited.

Mirror existing authority: Value thresholds matching your current delegation levels.
Dimension routing: By supplier, cost centre or account where your policy distinguishes them.
Proposal ceiling: Above which the agent does not draft at all without prior escalation.
Segregation preserved: The agent inherits one user's role and therefore cannot both raise and approve.

Why Execution Method Matters

Once approved, how the transaction is created determines whether it is valid rather than merely present. This is where several products cut a corner that does not show up until an integrity report months later.

A published orchestration drives the application, so business function validation, defaulting, automatic accounting instruction handling and batch control all run exactly as they would for a keyed transaction. A direct table write produces a record that looks structurally complete and is missing every derivation that makes it accounting valid.

Orchestration: The application's logic runs, so the record is valid rather than just present.
Not direct writes: Skips validation and derivation, and fails later rather than immediately.
Not screen automation: Fragile across releases and produces no clean audit position.
Reference returned: Document and batch number on success, so the action is traceable.
Scripted automation compared with agentic AI

The Failure and Reversal Design

Ask about this explicitly, because a good answer indicates a product built for production and a vague one indicates a product built for demonstrations.

Fails closed: On ambiguity, do nothing and escalate.
Specific errors: A closed period or a supplier on hold produces a stated cause.
Defined reversal: A documented route to reverse anything approved in error, with its own approval and record.
Immediate suspension: A way to stop the agent acting without changes inside JD Edwards.

How to Write the Requirement

If you are putting this into an evaluation document, four testable clauses will do more than a paragraph of principles.

ChatFin is built to this pattern by default rather than as a configuration, so the answers are demonstrable in a test environment. Our page on read and write with approvals covers the underlying design.

No posting without named approval: With no configuration path that permits otherwise.
Approver sees the full payload and source rows: Not a summary or a description.
Execution through a named published orchestration: Listed and whitelisted, not a general write capability.
Document and batch reference returned and retained: With the complete chain from request to result.
ChatFin as the finance system of intelligence

Specify It Tightly Enough to Be Testable

ChatFin recommends, prepares the complete transaction with every derived value visible, waits for a named approver who sees the full proposal and its source rows, and executes through a whitelisted orchestration.

Many vendors will say yes to human approval. Ask whether it can be switched off, and whether the approver sees the payload or a summary.

Book a Demo

Frequently Asked Questions

What should we specify for human approval in an evaluation?

Four testable clauses rather than principles. No posting without named approval, with no configuration path permitting otherwise. The approver sees the full payload and the source rows rather than a summary. Execution runs through a named published orchestration that is whitelisted, not a general write capability. And the resulting document and batch reference is returned and retained with the complete chain.

Why does it matter what the approver sees?

Because approving a one line summary is sign off rather than review, and that difference is the strength of your control. The proposal should show the complete transaction as it will be created including derived values, the specific records it was built from retained rather than referenced, and the reasoning that led to it, so the person can evaluate rather than merely consent.

Why does the execution method matter after approval?

Because it determines whether the transaction is valid rather than merely present. A published orchestration drives the application, so business function validation, defaulting, automatic accounting instruction handling and batch control all run as they would for a keyed transaction. A direct table write produces a record that looks structurally complete, is missing every derivation that makes it accounting valid, and fails an integrity report months later.

Related Articles