Every finance function has a version of the same queue. Someone needs spend by supplier for a category over two periods, or the open payables balance for a business unit excluding disputed items, and there is no standard report that produces it. So it becomes a request, and the request becomes a ticket, and three days later a spreadsheet arrives that answers a slightly different question.

Natural language querying collapses that loop. The question goes directly against live data and the answer comes back with its workings visible. What matters is the discipline underneath: the query has to be real, the permissions have to hold, and the numbers have to be checkable.

Live Data
Data Service
Sourced Answers
Aggregation
Permissions
Follow Up
No Exports

What Happens When You Ask

The interaction feels conversational and the mechanics underneath are strict. Understanding the sequence is what tells you whether a given tool is trustworthy, because the failure modes are all in the translation step.

Interpret: The question is mapped to entities the system knows: companies, business units, accounts, suppliers, periods, ledger types.
Translate: It becomes a defined query against a table or business view through the data service, or a form service call where application logic is wanted.
Execute: The query runs under a real JD Edwards session, so the requester sees only what their role permits.
Explain: The result is returned with the supporting rows, so the number can be checked.
Asking finance a question and getting a sourced answer

Starting from the right question

Natural language querying only helps if you know which question matters. Revenue and its drivers are usually where the useful chain starts.

I always look at revenue because everything else follows from revenue, but you have to realize that in hospitality, one thing you change one thing in labor, it has a direct effect on everything else in the restaurant.

Samantha Singer, on the AgentCFO podcast

Work down from the number that moves the business, as the walkthrough below does. Querying detail without that anchor produces a lot of true, useless answers.

The Questions Finance Asks

Demonstrations tend to feature elegant analytical questions. Real usage is more mundane and more valuable, because the mundane questions are the ones currently consuming analyst hours.

Balances and detail: What is the balance on this account for this period, and show the entries behind it.
Supplier and customer views: Total spend with a supplier across periods, open items, payment history and disputes.
Operational context: Open purchase orders for a business unit, receipts not yet vouchered, sales orders that have not shipped.
Comparisons: This period against the prior period or against budget, with the largest movements named.

Sourcing Is the Whole Trust Model

A model that answers finance questions from memory or from a summary is a liability. The only acceptable design is that every figure is produced by a query and every query's output is available for inspection. This is the difference between a system that finance adopts and one that gets abandoned after someone catches a wrong number.

In practice that means the answer carries the rows, the filters and the period applied. If a controller cannot reproduce the number from what they were shown, the answer is incomplete.

Rows attached: The underlying records that produced the figure, available without a second request.
Filters visible: Company, business unit, ledger type, period and any exclusions stated explicitly.
Timestamped: When the data was read, because live data moves and a figure without a time is ambiguous.
Declines to guess: If the query returns nothing, the answer says so rather than producing a plausible number.
A finance question that took three days now takes three messages

Why Aggregation Belongs in the Query

A frequent design mistake is pulling large result sets into the model and asking it to do the arithmetic. Language models are unreliable adders and the approach also drags large volumes of ledger data across a boundary for no benefit.

The data service supports aggregation and paging directly, which means the summing happens where the data lives and the model receives a small, correct result to explain. This is both more accurate and considerably faster.

Aggregate at source: Sums, counts and groupings computed by the query rather than by the model.
Page large sets: Fetch in manageable chunks rather than requesting everything at once.
Return summaries with drill down: Give the total first and the detail on request, which matches how people work.
Cap result size: A sensible maximum protects performance and forces better questions.

Permissions Do Not Relax Because the Interface Is Friendly

A conversational interface can create a false impression that the usual boundaries have softened. They have not. Because the query runs inside an AIS session carrying the user's environment and role, a person asking about a company they cannot see receives nothing, exactly as they would in the application.

Role inheritance: The session carries username, environment and role, so visibility matches the application.
No shared account: A single service identity for all users would flatten your permission model and make the audit trail meaningless.
Logged questions: Who asked what and what was returned, retained. This is also how you learn which reports to build.
Scoped by design: Sensitive areas such as payroll can be excluded from the agent's reach entirely.
The Monday CEO question answered in eleven seconds

From Answer to Action

The limitation of a pure query tool is that it stops at the answer. In finance the answer is rarely the destination. The variance leads to a reclassification, the unmatched receipt leads to a voucher, the aged item leads to a chase.

This is the point where a query interface and an agent platform diverge. ChatFin answers the question and can then propose the next step, assembling the transaction with its evidence and routing it for approval, which is where the time goes.

Explain the movement: Name the drivers behind a variance rather than reporting that one exists.
Draft the entry: Assemble the correcting or accrual entry from the same rows that produced the answer.
Route it: Send to the right approver with the evidence attached.
Record it: Question, query, answer, proposal, approver and document number kept together.

"An answer that cannot be traced back to the rows behind it is not a finance answer. It is a guess with formatting."

ChatFin connects to your existing ERP stack including JD Edwards, NetSuite, SAP and Acumatica

What Changes for the Team

The first effect is that the report backlog stops growing, because most of what sat in it was a one time question rather than a recurring need. The second is that senior people stop waiting. A controller who can ask directly does not queue behind an analyst who is queuing behind a developer.

The third effect takes a month or two to appear. When questions are cheap, people ask more of them, and the quality of the conversation about the numbers improves because it is no longer constrained by what was convenient to extract.

Overview of ChatFin finance AI features

Ask JD Edwards Directly, and Get the Rows With the Answer

ChatFin answers natural language questions against live JD Edwards general ledger, payables, receivables, purchasing and inventory data, returns the supporting rows with every figure, and can carry the answer into a proposed transaction with approval routing.

Stop exporting to Excel to answer questions the ledger can already answer.

Book a Demo

Frequently Asked Questions

Can I query JD Edwards data in plain English?

Yes. A natural language layer translates the question into a data service or form service call against JD Edwards, runs it under the requester's own session so permissions still apply, and returns the answer with the supporting rows attached. The important requirement is traceability: every figure should be reproducible from what you were shown.

Is the data live or a copy?

It depends on the design and both have a place. Operational questions where the user will act immediately should read live through the data service. Heavy analytical questions can run against a replica where a few hours of latency is acceptable, which protects production performance. What matters is that the answer states which it used and when the data was read.

How is this different from a report writer?

A report writer answers questions you anticipated. Natural language querying answers the ones you did not, without a build cycle. The larger difference is what happens next: a report ends at the number, while an agent platform can take the same rows and propose the resulting transaction for approval.

Related Articles