Skip to main content

Automation, AI & open source

ERPNext Natural-Language Reporting: Ask Your ERP in Plain English (2026)

Ask ERPNext questions in plain English: how it works over MCP or changAI, what to set up, where your data goes, and when to save a real report.

Updated 12 Oct 20269 min readBy ManojFirst published 20 Jul 2026

Natural-language reporting in ERPNext lets you type a question ("which customers are overdue past 30 days?") and get an answer from your live data, without Report Builder columns or SQL. In 2026 the usual route is a Model Context Protocol (MCP) server on your ERPNext site connected to a model such as Claude or ChatGPT, which reads the question, calls scoped ERPNext tools and returns the result.

Short answer

ERPNext has no built-in "ask in English" engine. You get natural-language reporting by installing the open-source Frappe Assistant Core app, which turns ERPNext into an MCP server, and connecting a model (Claude, ChatGPT or any MCP client). You ask in plain English; the model calls read tools on your live data within your permissions and returns the numbers or a chart. Community apps such as changAI do the same inside the ERPNext desk.

I lead ERPNext and Frappe programmes at MithTech, a team of Frappe specialists in Bengaluru. We set up plain-English reporting for businesses tired of waiting for someone to build a report every time a question comes up. This post covers how it works and where it fits; the install steps are in my MCP connection runbook.

Natural-language reporting is useful for exploring and quick answers, but it is an assistant, not an auditor: check anything that goes into a board pack or a filing.

What is natural-language reporting in ERPNext?

It means asking your ERP a question in ordinary English and getting an answer from the data, instead of building a report by hand. Rather than choosing DocTypes, filters and columns, you type "show me this quarter's top ten items by sales value" and get the result.

Nothing inside ERPNext does this on its own. A model reads your question, decides which data it needs, calls the right tools, and phrases the result back. ERPNext supplies the live data and enforces permissions; the model supplies the language. That split is why it is model-agnostic: swap the model, keep the same ERPNext setup.

Skimmable summary: a model reads the question and queries ERPNext through tools; ERPNext supplies the data and enforces permissions.

How does asking ERPNext in plain English actually work?

Three layers: your question, a translation layer and your data. You type a question into the model; it maps it to one or more tool calls on an MCP server running on ERPNext; the server runs them under your permissions and returns structured results; the model summarises them as words, a table or a chart. The database stays where it is, but the rows returned go to the model's provider, because the model has to read them to answer.

The translation layer is the key idea. Frappe Assistant Core publishes ERPNext's data and actions as named tools (search records, list and run reports, run an analysis, build a dashboard chart) over the open Model Context Protocol. The model never sees the whole database; it picks a tool, sends a scoped request and gets back that result.

Here is what happens when you ask "which five customers owe the most right now?":

1

You ask in plain English

You type the question into your MCP-connected model (Claude, ChatGPT or another client), with no filters or field names.

2

The model picks a tool

The model decides it needs receivables data and calls a search or report tool from Frappe Assistant Core, such as the Accounts Receivable report, with the parameters it inferred.

3

ERPNext runs it under your permissions

The MCP server executes the query against your live ERPNext data, scoped to the roles of the user who authorised the connection. If you cannot see a customer, neither can the model.

4

You get a readable answer

The five customers and their outstanding amounts come back to the model, which shows them as a table or a short summary, and can chart them if you ask.

Skimmable summary: the model calls scoped ERPNext tools over MCP; ERPNext runs them under your permissions and returns the result, which the model reads and phrases as text, a table or a chart.

What do you need to set up plain-English reporting?

Three things: an ERPNext site you can install apps on, Frappe Assistant Core installed with its MCP endpoint on, and an MCP-capable model connected to it. For reporting you also want a read-only ERPNext user; reporting never needs write access.

The essentials, in order:

  1. A Frappe/ERPNext site you can add apps to — self-hosted with bench access, or a managed Frappe Cloud site where you add the app from the marketplace.
  2. Frappe Assistant Core installed, with its endpoint copied from FAC Admin. It is open source under AGPL-3.0, so the bridge has no licence fee.
  3. An MCP-capable model: Claude and ChatGPT both act as MCP clients. You pay for the model; prices vary by provider and plan, so check the vendor's page.
  4. A read-only ERPNext user for reporting, scoped to just the DocTypes you want to query.

For the install-and-connect steps (bench commands, the OAuth sign-in, plan limits), follow my connect ERPNext to ChatGPT and Claude guide.

If you would rather ask inside the ERPNext desk than in Claude or ChatGPT, changAI is an MIT-licensed community app for ERPNext v14 to v16 that turns plain-English questions into queries, checks ERPNext permissions, and can open the matching standard report with filters set. Its recommended setup sends questions to Google Gemini, with schema retrieval running on your server.

Skimmable summary: an install-capable ERPNext site, Frappe Assistant Core and an MCP-capable model, plus a read-only user; or changAI inside the desk.

What questions can you ask ERPNext in plain English?

Questions that map to data ERPNext already holds work best: receivables, sales trends, stock levels, purchases and lookups across DocTypes. Be specific about the metric and the time window: "total sales by territory last quarter" beats "how are we doing?". The model does the filtering and grouping you would otherwise build in Report Builder.

Example plain-English question
Receivables"Which customers are overdue by more than 30 days, and by how much?"
Sales"Top ten items by sales value this quarter, with last quarter for comparison."
Inventory"Which items are below their reorder level right now?"
Purchasing"How much did we buy from each supplier last month?"
Trends"Plot monthly sales for the last twelve months."
Lookups"Show me open sales orders for this customer with their delivery dates."

Anything you could express as a filtered, grouped report you can ask as a sentence. It gets weaker on fuzzy, judgement-heavy questions and on data ERPNext does not store: the model will still try, and that is where you must check.

Skimmable summary: ask specific questions with a metric and a time window on data ERPNext holds; fuzzy or out-of-system questions are where accuracy drops.

How does it compare with Report Builder and Query Report?

Each suits a different job. Report Builder and Query Report are ERPNext's built-in, repeatable, exact tools; natural-language reporting is the fast, exploratory layer on top. Use plain English to find what you want to know, then save the recurring questions as Report Builder or Query Reports so they run the same way every time.

Who builds itAny user, point-and-clickDeveloper / SQL authorAnyone, in plain English
SuitsStandard saved reportsComplex, exact, repeatable logicAd-hoc exploration and quick answers
RepeatableYes, savedYes, savedNo; asked fresh each time
Learning curveLow–mediumHighVery low
ExactnessDeterministicDeterministicDepends on the model; check it

Skimmable summary: Report Builder and Query Report are exact and repeatable; plain English is fast and exploratory. Explore, then save the queries that matter.

How does this compare to AI reporting in proprietary ERP suites?

The difference is the model and the money. Proprietary suites bundle an AI reporting assistant tied to the vendor's platform, the vendor's choice of model and usually the subscription; check each vendor's page for how it is priced. ERPNext's route is open: the ERP is open source under GPL-3.0 with no licence fee, the MCP bridge is open source, and you choose the model.

In practice that means you are not locked to one model: if a better or cheaper one appears, you point it at the same endpoint. You also choose where the data goes: to the provider of the cloud model you pick, or to a model on your own server, rather than through whichever AI layer the suite uses. And because the connector is open source, you can read what it does and turn off tools you do not want, with every call in its audit log.

The trade-off is that a bundled suite feature is turnkey, while the ERPNext route asks you to install an app, connect a model and scope permissions yourself. It is modest work, but it is work.

Skimmable summary: suites bundle a turnkey AI assistant tied to their platform and model; ERPNext keeps it open, with your choice of model and of where the data goes, at the cost of setting it up.

Where does Raven fit for natural-language reporting?

Raven is an open-source chat app for Frappe, and its AI agents can answer questions and run tasks inside ERPNext, which overlaps with reporting. The difference is place and purpose: the MCP bridge brings ERPNext into an external model for open-ended analysis; Raven puts a scoped assistant inside ERPNext for repeatable jobs. Many teams run both.

For ad-hoc reporting ("let me poke at the numbers") the MCP bridge into Claude or ChatGPT is usually more flexible, because you get the full model in a general chat window. Raven suits a defined assistant where your team already works, or reporting paired with actions such as logging an expense. A Raven agent can run a report through its Get Report Result function, on OpenAI or on a local model that keeps the data on your server. Older Raven agents built on OpenAI's Assistants API, which OpenAI scheduled to shut down on 26 August 2026, need recreating on a current Raven; see the Raven agent walkthrough.

For the wider picture, see ERPNext's AI features.

Skimmable summary: Raven puts a scoped assistant inside ERPNext; the MCP bridge puts ERPNext inside an external model. The bridge for open-ended reporting, Raven for in-context jobs.

Frequently asked questions

+

Does ERPNext have built-in natural-language reporting?

No. ERPNext ships Report Builder and Query Reports, but plain-English querying comes from an add-on: Frappe Assistant Core with a model such as Claude or ChatGPT, or a desk app such as changAI. The apps have no licence fee; the model usually costs per use.

+

Is natural-language reporting in ERPNext accurate enough to trust?

For exploring and quick answers, yes; check anything that matters. The model infers which query to run: on clear, well-scoped questions it does well, on ambiguous ones it can pick the wrong cut of data. Check the first answers against a known ERPNext report, and rebuild any recurring or official report as a saved Report Builder or Query Report.

+

Does the AI see all my ERPNext data?

No. Every query runs under the ERPNext permissions of the user who authorised the connection, and Frappe Assistant Core enforces this at the ERPNext layer. But whatever the model does read (the rows behind each answer) is sent to its provider. Scope that user to read-only on just the DocTypes you want queried and are content to send.

+

Do I need to write SQL for plain-English reporting?

No, that is the point. You ask in English and the model turns it into ERPNext queries. SQL and Query Reports remain the right tools for exact, repeatable, complex logic. A useful pattern: explore in plain English, then have a developer turn the valuable queries into saved reports.

+

Which LLM should I use for ERPNext reporting?

Any MCP-capable model: Claude and ChatGPT both connect to the same ERPNext endpoint, so you are not locked in. Choose by your team's existing subscriptions and each provider's data terms; check prices on the vendor's page. You can switch later without touching the ERPNext side.

+

Can I schedule or save a natural-language report?

Not directly; a plain-English question is asked fresh each time. Frappe Assistant Core can save reusable prompt templates, but for a report that runs on a schedule or looks the same every time, rebuild it as a Report Builder or Query Report, which ERPNext can save, email on a schedule and share.

Your next step

Want to ask your ERPNext in plain English?

Next step · Automation, AI & open source

Now see what automating this would take

Tell us which systems should talk to each other. We build the workflows, connect WhatsApp, CRM and ERPNext, and keep them running.

Comments & ratings

No comments yet. Start a new discussion.

0

Manoj · Published on 20 July 2026

Worked with us? Leave a Google review

Questions about this? Talk to the team.

Book a 30-minute Google Meet, WhatsApp us, or send a message. The engineer who works on this replies.

Send us a message
Your details go to our team's CRM and are used only to reply.