# Sage Intacct

```json
{
  "name": "Sage Intacct",
  "slug": "sage_intacct",
  "url": "https://composio.dev/toolkits/sage_intacct",
  "markdown_url": "https://composio.dev/toolkits/sage_intacct.md",
  "logo_url": "https://logos.composio.dev/api/sage_intacct",
  "categories": [
    "finance & accounting"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-10-31T05:38:22.820Z"
}
```

![Sage Intacct logo](https://logos.composio.dev/api/sage_intacct)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Sage Intacct MCP or direct API to query financial records, review vendor bills, manage purchasing data, and track cash operations through natural language.

## Summary

Sage Intacct is a cloud financial management platform for accounting, purchasing, billing, and cash management.
It helps businesses streamline financial operations with centralized, real-time business data.

## Categories

- finance & accounting

## Toolkit Details

- Tools: 26

## Images

- Logo: https://logos.composio.dev/api/sage_intacct

## Authentication

- **Oauth2**
  - Type: `oauth2`
  - Description: Oauth2 authentication for Sage Intacct.
  - Setup:
    - Configure Oauth2 credentials for Sage Intacct.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- List unpaid vendor bills due this month
- Create a Sage Intacct purchase invoice
- Summarize cash balances across entities

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `SAGE_INTACCT_CREATE_ATTACHMENT` | Create Attachment | Upload files and create a Sage Intacct attachment. A 401 or 403 can mean the connected user lacks permission or the selected module is not licensed or enabled; that is an account blocker, not an unsupported resource. |
| `SAGE_INTACCT_CREATE_KEYED_OBJECT_RECORD` | Create Keyed Object Record | Create a purchasing transaction definition at a caller-supplied key. A 401 or 403 can mean the connected user lacks permission or the selected module is not licensed or enabled; that is an account blocker, not an unsupported resource. |
| `SAGE_INTACCT_CREATE_OBJECT_RECORD` | Create Object Record | Create a record in one cataloged Sage Intacct object. A 401 or 403 can mean the connected user lacks permission or the selected module is not licensed or enabled; that is an account blocker, not an unsupported resource. |
| `SAGE_INTACCT_CREATE_SECURITY_ADMIN_RECORD` | Create Security Access Admin Record - Explicit Authorization Required | Perform explicitly authorized security/access administration by creating a role, user group, or user-group membership. This can immediately affect roles, permission assignments, or group-based access. |
| `SAGE_INTACCT_CREATE_SINGLETON_OBJECT` | Create Singleton Object | Create a cataloged Sage Intacct singleton setup object. A 401 or 403 can mean the connected user lacks permission or the selected module is not licensed or enabled; that is an account blocker, not an unsupported resource. |
| `SAGE_INTACCT_DELETE_OBJECT_RECORD` | Delete Object Record | Delete one record from a cataloged Sage Intacct object. A 401 or 403 can mean the connected user lacks permission or the selected module is not licensed or enabled; that is an account blocker, not an unsupported resource. |
| `SAGE_INTACCT_DELETE_SECURITY_ADMIN_RECORD` | Delete Security Access Admin Record - Explicit Authorization Required | Perform explicitly authorized destructive security/access administration by deleting a role, user group, or group membership. This can immediately remove role-, permission-, or group-based access. |
| `SAGE_INTACCT_DOWNLOAD_GENERATED_FILE` | Download Generated File | Generate or download a file from one cataloged Sage Intacct report, export, or PDF operation. A 401 or 403 can mean the connected user lacks permission or the selected module is not licensed or enabled; that is an account blocker, not an unsupported resource. |
| `SAGE_INTACCT_EXECUTE_DESTRUCTIVE_WORKFLOW` | Execute Destructive Workflow | Execute one cataloged irreversible Sage Intacct workflow or consolidation operation. Reverse and void entries, unpost schedules, revert postings, cancel records, and contract-state operations can irreversibly change ledger or company state; consolidation is irreversible. Use a test company unless the user explicitly confirms the production effect. A 401 or 403 can mean the connected user lacks permission or the selected module is not licensed or enabled; that is an account blocker, not an unsupported resource. |
| `SAGE_INTACCT_EXECUTE_SERVICE_OPERATION` | Execute Service Operation | Execute a cataloged Sage Intacct bulk, WIP, document-sequence, schedule-reallocation, or read-only composite operation. Composite batches cannot contain writes, destructive operations, security administration, or sensitive user/cloud-storage reads. Bulk delete jobs can irreversibly remove many records and require explicit confirmation. A 401 or 403 can mean the connected user lacks permission or the selected module is not licensed or enabled; that is an account blocker, not an unsupported resource. |
| `SAGE_INTACCT_EXECUTE_WORKFLOW` | Execute Workflow | Execute a cataloged Sage Intacct submit, approve, post, renew, hold, resume, release, recall, or reclassification workflow. A 401 or 403 can mean the connected user lacks permission or the selected module is not licensed or enabled; that is an account blocker, not an unsupported resource. |
| `SAGE_INTACCT_GET_GL_ACCOUNT` | Get GL Account | Get the full General Ledger account identified by its Sage Intacct system-assigned key. |
| `SAGE_INTACCT_GET_OBJECT_MODEL` | Get Object Model | List available or type-filtered Sage Intacct object resources, or return the full field, enum, relationship, nullability, and method model for one object. A type filter can return a resource list even with object_name supplied. |
| `SAGE_INTACCT_GET_OBJECT_RECORD` | Get Object Record | Get one record by key from a cataloged Sage Intacct object. A 401 or 403 can mean the connected user lacks permission or the selected module is not licensed or enabled; that is an account blocker, not an unsupported resource. |
| `SAGE_INTACCT_GET_SINGLETON_OBJECT` | Get Singleton Object | Get a cataloged Sage Intacct singleton setup object. A 401 or 403 can mean the connected user lacks permission or the selected module is not licensed or enabled; that is an account blocker, not an unsupported resource. |
| `SAGE_INTACCT_LIST_ALLOWED_OPERATIONS` | List Allowed Operations | Check which operations the connected user may perform on specific Sage Intacct records without changing those records. |
| `SAGE_INTACCT_LIST_DIMENSIONS` | List Dimensions | List the company's standard and user-defined accounting dimensions, including General Ledger enablement and each dimension's backing object endpoint. A listed backing endpoint may still require separate user permission. |
| `SAGE_INTACCT_LIST_ENTITIES` | List Entities | Return up to 100 company entities and their exact entity IDs for safely scoping Sage Intacct requests. |
| `SAGE_INTACCT_LIST_GL_ACCOUNTS` | List GL Accounts | Return up to 100 General Ledger account references with the system keys needed to retrieve full account details. This route has no paging input; use Query Object Records for larger or field-selected results. |
| `SAGE_INTACCT_LIST_OBJECT_RECORDS` | List Object Records | List records for one cataloged Sage Intacct object. A 401 or 403 can mean the connected user lacks permission or the selected module is not licensed or enabled; that is an account blocker, not an unsupported resource. |
| `SAGE_INTACCT_QUERY_OBJECT_RECORDS` | Query Object Records | Query one permitted Sage Intacct object with selected fields, filters, sorting, and one page of results. Optionally scope the query to an entity ID after validating that ID to prevent silent top-level fallback. |
| `SAGE_INTACCT_RUN_READ_SERVICE` | Run Read Service | Run a cataloged read-only Sage Intacct status, view, report, or WIP inspection operation selected by its fixed method and path. A 401 or 403 can mean the connected user lacks permission or the selected module is not licensed or enabled; that is an account blocker, not an unsupported resource. |
| `SAGE_INTACCT_UPDATE_ATTACHMENT` | Update Attachment | Upload files or metadata to update a Sage Intacct attachment. A 401 or 403 can mean the connected user lacks permission or the selected module is not licensed or enabled; that is an account blocker, not an unsupported resource. |
| `SAGE_INTACCT_UPDATE_OBJECT_RECORD` | Update Object Record | Update one record in a cataloged Sage Intacct object. A 401 or 403 can mean the connected user lacks permission or the selected module is not licensed or enabled; that is an account blocker, not an unsupported resource. |
| `SAGE_INTACCT_UPDATE_SECURITY_ADMIN_RECORD` | Update Security Access Admin Record - Explicit Authorization Required | Perform explicitly authorized security/access administration by updating a role, permission assignment, or user group. Changes can immediately alter role-, permission-, or group-based access. |
| `SAGE_INTACCT_UPDATE_SINGLETON_OBJECT` | Update Singleton Object | Update a cataloged Sage Intacct singleton setup object. A 401 or 403 can mean the connected user lacks permission or the selected module is not licensed or enabled; that is an account blocker, not an unsupported resource. |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK, the OpenAI provider, and the OpenAI SDK
```python
pip install composio composio_openai openai
```

```typescript
npm install @composio/core @composio/openai openai
```

#### Path 1, Step 2: Create a Composio session

Initialize Composio with the OpenAI Responses provider and create a session scoped to Sage Intacct
```python
import json
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
client = OpenAI()

session = composio.create(user_id="your-user-id", toolkits=["sage_intacct"])
tools = session.tools()
```

```typescript
import OpenAI from "openai";
import { Composio } from "@composio/core";
import { OpenAIResponsesProvider } from "@composio/openai";

const composio = new Composio({ provider: new OpenAIResponsesProvider() });
const client = new OpenAI();

const session = await composio.create("your-user-id", { toolkits: ["sage_intacct"] });
const tools = await session.tools();
```

#### Path 1, Step 3: Run Sage Intacct tools with your agent

Send a request, execute the Sage Intacct tool calls through the session, and print the final answer
```python
response = client.responses.create(
    model="gpt-5.6-sol",
    tools=tools,
    input=[{"role": "user", "content": "List unpaid vendor bills due this month in Sage Intacct"}],
)

while True:
    tool_calls = [o for o in response.output if o.type == "function_call"]
    if not tool_calls:
        break
    results = composio.provider.handle_tool_calls(response=response, session=session)
    response = client.responses.create(
        model="gpt-5.6-sol",
        tools=tools,
        previous_response_id=response.id,
        input=[
            {"type": "function_call_output", "call_id": call.call_id, "output": json.dumps(results[i])}
            for i, call in enumerate(tool_calls)
        ],
    )

print(response.output_text)
```

```typescript
let response = await client.responses.create({
  model: "gpt-5.6-sol",
  tools,
  input: [{ role: "user", content: "List unpaid vendor bills due this month in Sage Intacct" }],
});

while (response.output.some((o) => o.type === "function_call")) {
  const outputs = await composio.provider.handleToolCalls(session, response.output);
  response = await client.responses.create({
    model: "gpt-5.6-sol",
    tools,
    previous_response_id: response.id,
    input: outputs,
  });
}

console.log(response.output_text);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK and your agent framework
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/mcp @ai-sdk/openai
```

#### Path 2, Step 2: Create a session with MCP enabled

Create a session scoped to Sage Intacct and read its MCP URL and headers
```python
from composio import Composio

composio = Composio()
session = composio.create(user_id="your-user-id", toolkits=["sage_intacct"], mcp=True)
```

```typescript
import { Composio } from "@composio/core";

const composio = new Composio();
const { mcp } = await composio.create("your-user-id", {
  toolkits: ["sage_intacct"],
  mcp: true,
});
```

#### Path 2, Step 3: Connect your agent to the MCP server

Pass the session's MCP URL and headers to your agent and run a Sage Intacct request
```python
import asyncio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions, AssistantMessage, TextBlock

options = ClaudeAgentOptions(
    mcp_servers={
        "composio": {
            "type": "http",
            "url": session.mcp.url,
            "headers": session.mcp.headers,
        }
    },
    system_prompt="You are a helpful assistant with access to Sage Intacct tools.",
    tools=[],
    allowed_tools=["mcp__composio__*"],
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query("List unpaid vendor bills due this month in Sage Intacct")
        async for message in client.receive_response():
            if isinstance(message, AssistantMessage):
                for block in message.content:
                    if isinstance(block, TextBlock):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { createMCPClient } from "@ai-sdk/mcp";
import { openai } from "@ai-sdk/openai";
import { generateText, stepCountIs } from "ai";

const client = await createMCPClient({
  transport: { type: "http", url: mcp.url, headers: mcp.headers },
});

const { text } = await generateText({
  model: openai("gpt-5.6-sol"),
  tools: await client.tools(),
  prompt: "List unpaid vendor bills due this month in Sage Intacct",
  stopWhen: stepCountIs(10),
});

console.log(text);
await client.close();
```

## Why Use Composio?

### 1. AI Native Sage Intacct Integration

- Supports both Sage Intacct MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable tool execution
- Rich coverage for reading, writing, and querying your Sage Intacct data

### 2. Managed Auth

- Supports OAuth credential configuration with secure token handling
- Central place to manage, scope, and revoke Sage Intacct access
- Per user and per environment credentials instead of hard-coded keys

### 3. Agent Optimized Design

- Tools are tuned using real error and success rates to improve reliability over time
- Comprehensive execution logs so you always know what ran, when, and on whose behalf

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access Sage Intacct
- Scoped, least privilege access to Sage Intacct resources
- Full audit trail of agent actions to support review and compliance

## Use Sage Intacct with any AI Agent Framework

Choose a framework you want to connect Sage Intacct with:

- [ChatGPT](https://composio.dev/toolkits/sage_intacct/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/sage_intacct/framework/claude-cowork)
- [Hermes](https://composio.dev/toolkits/sage_intacct/framework/hermes-agent)
- [Atomic Agent](https://composio.dev/toolkits/sage_intacct/framework/atomic-agent)

## Related Toolkits

- [Stripe](https://composio.dev/toolkits/stripe) - Stripe is a global online payments platform offering APIs for managing payments, customers, and subscriptions. Trusted by businesses for secure, efficient, and scalable payment processing worldwide.
- [44API](https://composio.dev/toolkits/44api) - 44API is an API service for validating VAT and tax identifiers and returning company details. Use it to verify business tax data and manage account IP whitelists quickly.
- [Airwallex](https://composio.dev/toolkits/airwallex) - Airwallex is a global financial platform providing business accounts, payments, payouts, FX, and cards. Built to simplify cross-border payments and streamline financial operations for businesses.
- [Aiwyn Tax MCP](https://composio.dev/toolkits/aiwyn_tax_mcp) - Aiwyn Tax MCP is a tax estimation service powered by Aiwyn's federal and state tax engine. It helps teams estimate tax outcomes without building tax calculation logic from scratch.
- [Alpaca](https://composio.dev/toolkits/alpaca) - Alpaca is a stock and crypto trading platform for commission-free trading, real-time market data, and algorithmic strategies. Use it to build brokerage apps, trading bots, and portfolio workflows with market connectivity.
- [Alpha vantage](https://composio.dev/toolkits/alpha_vantage) - Alpha Vantage is a financial data platform offering real-time and historical stock market APIs. Get instant, reliable access to equities, forex, and technical analysis data for smarter trading decisions.
- [Altoviz](https://composio.dev/toolkits/altoviz) - Altoviz is a cloud-based billing and invoicing platform for businesses. It streamlines online payments, expense tracking, and customizable invoice management.
- [Anrok](https://composio.dev/toolkits/anrok) - Anrok is a sales tax platform for software businesses that automates calculations, compliance, filings, and exemption management. It helps finance teams stay accurate and reduce the manual work of tax operations.
- [Benzinga](https://composio.dev/toolkits/benzinga) - Benzinga provides real-time financial news and data APIs for market coverage. It helps you track breaking news and actionable market insights instantly.
- [bexio](https://composio.dev/toolkits/bexio) - bexio is a Swiss business management platform for accounting, invoicing, contacts, projects, banking, expenses, and payroll. It brings core business operations into one connected workspace.
- [Bigdata.com MCP](https://composio.dev/toolkits/bigdata_com_mcp) - Bigdata.com MCP provides grounded access to financial news, transcripts, filings, and entity intelligence. Ideal for building research workflows and generating timely market insights.
- [Billsby](https://composio.dev/toolkits/billsby) - Billsby is a subscription billing platform for managing customers, subscriptions, invoices, products, plans, usage counters, add-ons, and allowances. It helps SaaS and subscription teams automate billing operations without building complex billing logic from scratch.
- [Brex](https://composio.dev/toolkits/brex) - Brex provides corporate credit cards and spend management tailored for startups and tech businesses. It helps optimize company cash flow, streamline accounting, and accelerate business growth.
- [Carta](https://composio.dev/toolkits/carta) - Carta is an equity management platform for cap tables, compensation, portfolios, and fund administration. It helps companies and investors manage ownership data and financial operations in one place.
- [Cashfree](https://composio.dev/toolkits/cashfree_payments_mcp) - Cashfree is a merchant payments platform that handles collection, payouts, subscriptions, settlements, refunds, and identity verification. Simplifies merchant money lifecycle management with unified, API-driven workflows.
- [Chaser](https://composio.dev/toolkits/chaser) - Chaser is accounts receivable automation software that sends invoice reminders and helps businesses get paid faster. It streamlines the collections process to save time and improve cash flow.
- [Clarity AI MCP](https://composio.dev/toolkits/clarity_ai_mcp) - Clarity AI MCP is an MCP toolkit for simulating SFDR 2.0 fund classifications from a fund name, ISIN, or CUSIP. Use it to tap Clarity AI disclosure data and modeling without building custom sustainability-data workflows.
- [Clientary](https://composio.dev/toolkits/clientary) - Clientary is a platform for managing clients, invoices, projects, proposals, and more. It streamlines client work and saves you serious admin time.
- [Coinbase](https://composio.dev/toolkits/coinbase) - Coinbase is a platform for buying, selling, and storing cryptocurrency. It makes exchanging and managing crypto simple and secure for everyone.
- [Coinbase Agents MCP](https://composio.dev/toolkits/coinbase_agents_mcp) - Coinbase Agents MCP is Coinbase's managed toolkit exposing accounts, portfolios, orders, fills, and market data. Use it to let authorized agents inspect holdings, execute trades, perform transfers, and handle payments.

## Frequently Asked Questions

### Do I need my own developer credentials to use Sage Intacct with Composio?

Yes, Sage Intacct requires you to configure your own OAuth credentials. Once set up, Composio handles token storage, refresh, and lifecycle management for you.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
