Intacct REST SDK for Python
A Python SDK for the Sage Intacct REST API, providing a simple and intuitive interface to interact with Intacct's financial data and operations.
Local Setup
# Create and activate virtual environment
python -m venv venv
source venv/bin/activate
# Install dev dependencies
pip install -r requirements.txt
Quick Start
1. Authentication Setup
First, you'll need to set up OAuth2 credentials with Intacct:
- Register your application in Intacct to get
client_idandclient_secret - Set up environment variables or pass credentials directly
import os
from intacctsdk import IntacctRESTSDK
sdk = IntacctRESTSDK(
refresh_token='your_refresh_token',
entity_id='your_entity_id' # Optional
)
2. Basic Usage
For comprehensive examples and usage patterns, see the example.py file which demonstrates:
- OAuth2 authentication flow
- Working with different modules dimensions
- Filtering and querying data
- Error handling
- Token management
Common Methods
All API classes inherit from ApiBase and support these common methods:
get_all_generator(fields, filters=[], filter_expression=None, order_by=[], dimension_name=None)
Returns a generator that yields paginated results.
Parameters:
fields(List[str]): List of fields to retrievefilters(List[Dict], optional): Filter conditionsfilter_expression(str, optional): Filter expression ('and' or 'or')order_by(List[Dict], optional): Sort conditionsdimension_name(str, optional): For dimensions API only
get_by_id(id)
Get a single object by its ID.
count(filters=[], filter_expression=None, dimension_name=None)
Get the count of objects matching the filters.
get_model()
Get the schema/model definition for the object type.
Error Handling
The SDK provides custom exceptions for different error scenarios:
from intacctsdk.exceptions import InvalidTokenError, BadRequestError, InternalServerError
try:
accounts = list(sdk.accounts.get_all_generator(fields=['id', 'name']))
except InvalidTokenError as e:
print(f"Token error: {e.message}")
# Handle token refresh or re-authentication
except BadRequestError as e:
print(f"Bad request: {e.message}")
# Handle invalid parameters or request format
except InternalServerError as e:
print(f"Server error: {e.message}")
# Handle temporary server issues
License
This project is licensed under the MIT License - see the LICENSE file for details.
Metadata
Release files for sageintacctrestsdk 1.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sageintacctrestsdk-1.8.0.tar.gz | 12.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sageintacctrestsdk-1.8.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 38.2 kB
Release files / sageintacctrestsdk-1.8.0.tar.gz
| Download URL | sageintacctrestsdk-1.8.0.tar.gz |
|---|---|
| Size | 12.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a036a065eaf92d80b5f8fcfb49a606c30fa0ebb62f876cf1e290b0e8ec1f28c8
|
|
BLAKE2b-256 checksum How to use checksums |
fc0e67b6c52aea5a6d8a5b7065584eede482f014d4b6e2fb01eed0c0233bd6e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / sageintacctrestsdk-1.8.0-py3-none-any.whl
| Download URL | sageintacctrestsdk-1.8.0-py3-none-any.whl |
|---|---|
| Size | 25.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5a7182161d21649b12fbafac2674238732d34deefa76b1f8ee27ba6f0a3384e0
|
|
BLAKE2b-256 checksum How to use checksums |
aefbc030082359fd694233014dfb5bcf699e87716e885ed699678c0b6100f0af
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|