Writing / NetSuite
What an LLM sees when it looks at an ERP
Notes from a few weekends spent wiring Claude into NetSuite via the Model Context Protocol - what worked, what didn't, and the part nobody warns you about.
Most enterprise software was designed for humans who’d been trained on it. ERPs in particular. NetSuite assumes you know which record type owns a field, which subsidiary a transaction belongs to, what “memorized” means in context. None of this is in the data - it’s in the operator’s head.
So what happens when you hand the keys to a language model?
I’ve spent a few weekends finding out. The vehicle is the Model Context Protocol - Anthropic’s open standard for letting LLMs call tools.
The setup
Claude gets three things:
- A custom MCP server that exposes a curated set of SuiteQL queries and record-level reads.
- A CSV-first lookup pattern for customers and items (faster than asking SuiteQL when the cardinality is small).
- A system prompt that knows the customer-service workflow - how to take a phone order, when to ask for a PO number, what to confirm before submitting.
That’s the whole thing. There’s no fine-tune, no embeddings, no agent framework. Just MCP and prompting.
What works surprisingly well
The customer-service intake flow is the strongest demo. Claude can:
- Look up a customer by partial name or phone, disambiguating when there are multiple matches.
- Build a sales order line by line, validating items against the price list as it goes.
- Ask for the PO number at exactly the right moment - before submitting, not after.
That last one matters more than it sounds. A human CSR would just know. Teaching an LLM to know it took a sentence in the system prompt and zero code.
End-to-end, the sales order tool now lands in 2–3 seconds per call, which is fast enough that the conversation feels like a conversation rather than a queue.
The part nobody warns you about
Custom MCP tools deployed via SDF ACP did not always surface in the NetSuite AI Connector’s /all endpoint on 2025.2. This is not documented anywhere I could find. The symptom was that your tool deployed cleanly, showed in the SuiteCloud project, and was entirely invisible to the connector.
As of 2026.1 the SDF ACP route works end-to-end and the tool shows up in /all as expected - but the lesson is the more general one: when an enterprise platform adds an AI surface, the AI surface is sometimes a thin veneer over older deployment plumbing, and the seams show.
The seams always show.
If you want to see a version of this running in production with real numbers attached, my colleague Howard wrote up the field-orders deployment on the Devma blog - framed as the customer story rather than the reflection.
What it means
I don’t think we’re close to “agentic ERP” in the sense the marketing decks want it to mean. The hard part isn’t the model - the model is plenty capable. The hard part is that every ERP has hundreds of these unwritten conventions, and they all need to be coaxed out of the system one prompt at a time.
But that’s tractable. It’s not a research problem. It’s a careful enumeration problem, and it’ll get done.