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.7.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.7.0.tar.gz | 12.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sageintacctrestsdk-1.7.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 38.0 kB
Release files / sageintacctrestsdk-1.7.0.tar.gz
| Download URL | sageintacctrestsdk-1.7.0.tar.gz |
|---|---|
| Size | 12.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2eacfa3afad049ba529e7c55f90b702a7c6e1b1e8ddf03cdaddd55579c82c91f
|
|
BLAKE2b-256 checksum How to use checksums |
3dd5c5740590ec9c5ed43e7102960a25a253ceb2d3a49370aab4eb897ac62766
|
| 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.7.0-py3-none-any.whl
| Download URL | sageintacctrestsdk-1.7.0-py3-none-any.whl |
|---|---|
| Size | 25.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
de9feebb06493aec11136dcdf7b4db0181e833ac3a6c7b145d0b6fbf6571907d
|
|
BLAKE2b-256 checksum How to use checksums |
48c447f1da50a279fc5ea5970f13b234513b9e8bdadc642e6fa079ac4fdde2fe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|