Easy-Acumatica
API client libraries for Acumatica ERP
Python and Node.js libraries that provide type-safe wrappers around the Acumatica REST API with automatic schema discovery and OData query support.
Key Features
Built to handle the complexities of Acumatica API integration
Schema Discovery
Fetches OpenAPI schema from your Acumatica instance and generates models and services dynamically, including custom fields.
Type Safety
Generates type hints and TypeScript definitions based on your actual schema for IDE autocomplete and type checking.
Intelligent Caching
Differential caching system that only rebuilds changed components, reducing initialization time by 10-20x.
Session Management
Handles authentication, automatic re-login on timeout, connection pooling, and retry logic for reliable API access.
Technical Capabilities
OData Queries
Python-style filter expressions using operator overloading that compile to OData query strings. Supports filtering, sorting, pagination, and field selection.
File Operations
Methods for uploading, downloading, and managing file attachments on any entity that supports them.
Task Scheduling
Built-in scheduler for running periodic background tasks with interval or cron-based scheduling (Python only).
Benefits
No Manual Schema Maintenance
Schema is fetched from your instance at runtime. When you add custom fields or endpoints, they are automatically available without code changes.
Reduced Boilerplate
Generated models and services eliminate the need to manually define data structures and API calls for each endpoint.
IDE Support
Type hints and auto-generated documentation provide autocomplete, inline documentation, and type checking in your editor.
Production Ready
Includes session management, connection pooling, automatic retries, rate limiting, and detailed exception classes for error handling.
Available Languages
Python and Node.js implementations with language-specific features
Python
- Dataclass-based models
- Automatic .env file loading
- Differential caching
- Built-in task scheduler
Get Started
View the source code, report issues, or contribute on GitHub