In our internal AI testing, we consistently run into three core issues:
1. Permissions / Approval AI bots need write permissions to be truly useful. At the same time, you have to prevent scenarios where, say, all customers get deleted in one go. This is solvable with robust safeguards and approval workflows, and it’s arguably the easiest of the three problems.
2. Hosting / Data Protection It would be contradictory for an open-source ERP, one that exists precisely to avoid vendor lock-in and strengthen digital sovereignty, to depend on a closed, potentially insecure AI API. That said, this is becoming less of an issue as open-source AI models mature and local/self-hosted inference becomes more viable.
3. Validation / Client-Side Logic (the real deal-breaker) The biggest problem, in my view, is that far too much logic in Frappe apps lives on the client side. Validation, calculations, and various business rules are often executed in the browser rather than on the server. None of that is visible to an AI bot operating through the API.
Even for relatively simple tasks, like creating a purchase invoice and having the correct VAT rates or price rules applied, this becomes a serious obstacle. The bot calls the server-side API, but the logic that would normally fire in the browser never runs.
This is deeply rooted in Frappe’s architecture and, for me, it’s the actual deal-breaker for generic AI integration. You end up having to build separate backend interfaces for every doctype an AI bot needs to handle. And every time ERPNext or Frappe is updated, you risk having to adapt those backend workarounds to match whatever changed in the client-side code.
The Basecamp CLI approach that @Benema mentioned is interesting, but it works precisely because Basecamp’s operations are well-defined through a clean API. In Frappe’s case, the gap between what the API exposes and what actually happens in the browser is the fundamental challenge that needs to be addressed first.
@nikkothari22 I’d be curious to hear your perspective on this. Do you see the same challenges, especially around client-side logic being invisible to AI bots? From where we stand, the only realistic path forward for problem 3 would be for Frappe itself to provide a dedicated, server-side API layer that AI bots can work against, one that includes all the validation and business logic that currently only runs in the browser. Is something like that on the roadmap, or at least being considered?