Hi all,
We've open-sourced acumatica-claude-kit, a Claude Code plugin that packages the integration gotchas we've collected building against Acumatica's contract-based REST API and OData Generic Inquiries:
https://github.com/hallboys/acumatica-claude-kit
What's in it:
- Auth/session traps — why naive clients leak API license seats,
License_LoginLimitExceeded, lockout causes, and the session model behind them. - Silent failure modes — writes that return HTTP 200 but persist nothing, filters that return empty sets instead of errors,
CannotOptimizeException, and how to detect each. - GIQL / OData GI pitfalls — the v3-vs-v4 dialect split, datetime/UTC handling, parameterized-GI behavior over OData, empty-result diagnosis.
- Entity/action naming — the actual names for common contract-API operations (Release, ConfirmShipment, FinishCounting, etc.).
Two design points that might interest other teams:
- Every entry is tagged UNIVERSAL vs TENANT, so platform truths are never mixed up with one instance's configuration. The kit ships only the UNIVERSAL layer — no instance-specific data.
- It includes a
/acumatica-learncommand: when Claude (or you) solves a new Acumatica gotcha, one command captures the lesson back into the kit with the right tag.
If you use Claude Code, install is two commands:
/plugin marketplace add hallboys/acumatica-claude-kit
/plugin install acumatica-claude-kit@acumatica-claude-kit
Even without Claude, the skill files are plain Markdown and read as a compact Acumatica integration field guide.
It pairs with MCP4Acumatica (https://github.com/hallboys/MCP4Acumatica), our open-source MCP server that gives AI assistants governed, read-mostly access to an Acumatica instance — the server provides the access, the kit provides the platform knowledge.
Apache 2.0. Issues and lessons-learned PRs welcome.