Skip to main content

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:

  1. Register your application in Intacct to get client_id and client_secret
  2. 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 retrieve
  • filters (List[Dict], optional): Filter conditions
  • filter_expression (str, optional): Filter expression ('and' or 'or')
  • order_by (List[Dict], optional): Sort conditions
  • dimension_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)

Source distribution for sageintacctrestsdk 1.8.0
File Size Uploaded
sageintacctrestsdk-1.8.0.tar.gz 12.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sageintacctrestsdk 1.8.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

1.9.0

2 release files

This release

1.8.0 This release

2 release files

1.7.0

2 release files

1.6.2

2 release files

1.6.1

2 release files

1.6.0

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.3

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page