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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sageintacctrestsdk-1.6.0.tar.gz (11.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sageintacctrestsdk-1.6.0-py3-none-any.whl (22.6 kB view details)

Uploaded Python 3

File details

Details for the file sageintacctrestsdk-1.6.0.tar.gz.

File metadata

  • Download URL: sageintacctrestsdk-1.6.0.tar.gz
  • Upload date:
  • Size: 11.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for sageintacctrestsdk-1.6.0.tar.gz
Algorithm Hash digest
SHA256 1d3c670dda64dbe29709fc389153d2ce7d4639bcb9bd43863380bfb8d06315c7
MD5 e04242901650c3a0de40c7447d5ac9dc
BLAKE2b-256 bc485de0cb5116c9e642348f32affca852b16f65a97b8e761bfe46c68c4f58f6

See more details on using hashes here.

File details

Details for the file sageintacctrestsdk-1.6.0-py3-none-any.whl.

File metadata

File hashes

Hashes for sageintacctrestsdk-1.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1072ad21ab22bb80865ce5d66f37e3f7806ec990173a0e8943389509fe180366
MD5 e689a629287373660a973b393727a47c
BLAKE2b-256 e7e906dd3bd5c593021e8e63533d3d5c096d1f48245ff0874ee2caba1faf5c89

See more details on using hashes here.

Release history Release notifications | RSS feed

1.6.2

2 files

1.6.1

2 files

This release

1.6.0 This release

2 files

1.5.1

2 files

1.5.0

2 files

1.4.3

2 files

1.4.2

2 files

1.4.1

2 files

1.4.0

2 files

1.3.2

2 files

1.3.1

2 files

1.3.0

2 files

1.2.0

2 files

1.1.0

2 files

1.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page