# Tipalti

```json
{
  "name": "Tipalti",
  "slug": "tipalti",
  "url": "https://composio.dev/toolkits/tipalti",
  "markdown_url": "https://composio.dev/toolkits/tipalti.md",
  "logo_url": "https://logos.composio.dev/api/tipalti",
  "categories": [
    "finance & accounting"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-11-12T05:37:05.454Z"
}
```

![Tipalti logo](https://logos.composio.dev/api/tipalti)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Tipalti MCP or direct API to manage payees, review invoices, track payments, and update tax data through natural language.

## Summary

Tipalti is an accounts payable automation platform for payees, invoices, payments, and tax data.
It helps finance teams streamline payment operations and maintain accurate financial records.

## Categories

- finance & accounting

## Toolkit Details

- Tools: 36

## Images

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

## Authentication

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

## Suggested Prompts

- List unpaid invoices due this week
- Find payees missing tax information
- Review recent payment failures in Tipalti

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `TIPALTI_CREATE_CUSTOM_FIELD_VALUE_OPTION` | Create Custom Field Value Option | Create an allowed value for an existing Tipalti custom field. |
| `TIPALTI_CREATE_INVOICE_BATCH` | Create Invoice Batch | Start asynchronous creation of up to 200 Tipalti invoices. |
| `TIPALTI_CREATE_PAYEE` | Create Payee | Create a Tipalti payee with optional profile and custom-field details. |
| `TIPALTI_CREATE_PAYEE_INVITATION` | Create Payee Invitation | Send a Supplier Hub invitation to an existing Tipalti payee. |
| `TIPALTI_CREATE_PAYMENT_BATCH` | Create Payment Batch | Send a batch of up to 5,000 Tipalti payment instructions that can pay out real money and cannot be undone once processed. |
| `TIPALTI_CREATE_PAYMENT_TERM` | Create Payment Term | Create a Tipalti payment term with an ERP identifier, name, and due-day offset; optionally make it the sole default, which unsets the previous default. |
| `TIPALTI_CREATE_TAX_CODE` | Create Tax Code | Create a Tipalti tax code with an ERP identifier, rate, active state, and optional payer-entity assignments. |
| `TIPALTI_GET_CUSTOM_FIELD` | Get Custom Field | Retrieve one custom-field definition by its Tipalti ID. |
| `TIPALTI_GET_CUSTOM_FIELD_VALUE_OPTION` | Get Custom Field Value Option | Retrieve one allowed value from a specific Tipalti custom field. |
| `TIPALTI_GET_GL_ACCOUNT` | Get GL Account | Retrieve one general-ledger account by its Tipalti ID. |
| `TIPALTI_GET_INVOICE` | Get Invoice | Retrieve one invoice by its Tipalti ID. |
| `TIPALTI_GET_INVOICE_BATCH` | Get Invoice Batch | Return one page of processing results for an invoice batch upload. |
| `TIPALTI_GET_INVOICE_LINE` | Get Invoice Line | Retrieve one line item from a specific Tipalti invoice. |
| `TIPALTI_GET_PAYEE` | Get Payee | Retrieve one payee by its Tipalti ID. |
| `TIPALTI_GET_PAYEE_INVITATION` | Get Payee Invitation | Retrieve Supplier Hub invitation information for a payee. |
| `TIPALTI_GET_PAYER_ENTITY` | Get Payer Entity | Retrieve one payer entity by its Tipalti ID. |
| `TIPALTI_GET_PAYMENT` | Get Payment | Retrieve one payment by its Tipalti ID. |
| `TIPALTI_GET_PAYMENT_BATCH` | Get Payment Batch | Retrieve summary and processing status for a Tipalti payment batch. |
| `TIPALTI_GET_PAYMENT_TERM` | Get Payment Term | Retrieve one payment term by its Tipalti ID. |
| `TIPALTI_GET_TAX_CODE` | Get Tax Code | Retrieve one tax code by its Tipalti ID. |
| `TIPALTI_LIST_CUSTOM_FIELDS` | List Custom Fields | Return one filtered page of Tipalti custom-field definitions. |
| `TIPALTI_LIST_CUSTOM_FIELD_VALUE_OPTIONS` | List Custom Field Value Options | Return one filtered page of allowed values for a Tipalti custom field. |
| `TIPALTI_LIST_GL_ACCOUNTS` | List GL Accounts | Return one filtered page of Tipalti general-ledger accounts. |
| `TIPALTI_LIST_INVOICE_LINES` | List Invoice Lines | Return one page of line items for a Tipalti invoice. |
| `TIPALTI_LIST_INVOICES` | List Invoices | Return one filtered page of Tipalti invoices and their line details. |
| `TIPALTI_LIST_PAYEES` | List Payees | Return one filtered page of Tipalti payees. |
| `TIPALTI_LIST_PAYER_ENTITIES` | List Payer Entities | Return one filtered page of Tipalti payer entities. |
| `TIPALTI_LIST_PAYMENT_BATCH_INSTRUCTIONS` | List Payment Batch Instructions | Return one page of instructions and results for a Tipalti payment batch. |
| `TIPALTI_LIST_PAYMENTS` | List Payments | Return one filtered page of Tipalti payments and payment details. |
| `TIPALTI_LIST_PAYMENT_TERMS` | List Payment Terms | Return one filtered page of Tipalti payment terms. |
| `TIPALTI_LIST_TAX_CODES` | List Tax Codes | Return one filtered page of Tipalti tax codes. |
| `TIPALTI_UPDATE_CUSTOM_FIELD_VALUE_OPTION` | Update Custom Field Value Option | Update the external ID, display value, active state, or payer-entity assignment of an existing Tipalti custom-field value option. |
| `TIPALTI_UPDATE_PAYEE` | Update Payee | Update a Tipalti payee's entity type, status, contact information, or custom fields; optionally close the account, which makes it uneditable. Omitted fields remain unchanged. |
| `TIPALTI_UPDATE_PAYEE_PAYMENT_METHOD` | Update Payee Payment Method | Replace where a Tipalti payee's future payouts go using complete ACH, check, e-check, or PayPal details. |
| `TIPALTI_UPDATE_PAYMENT_TERM` | Update Payment Term | Update an existing Tipalti payment term's name, business-day due-date offset, or default status; making it default unsets the previous default. Omitted request fields remain unchanged. |
| `TIPALTI_UPDATE_TAX_CODE` | Update Tax Code | Update an existing Tipalti tax code's name, active state, rate, or payer-entity assignments. Omitted fields remain unchanged. |

## 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 Tipalti
```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=["tipalti"])
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: ["tipalti"] });
const tools = await session.tools();
```

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

Send a request, execute the Tipalti 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 all unpaid invoices in Tipalti that are due this week"}],
)

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 all unpaid invoices in Tipalti that are due this week" }],
});

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 Tipalti and read its MCP URL and headers
```python
from composio import Composio

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

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

const composio = new Composio();
const { mcp } = await composio.create("your-user-id", {
  toolkits: ["tipalti"],
  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 Tipalti 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 Tipalti tools.",
    tools=[],
    allowed_tools=["mcp__composio__*"],
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query("List all unpaid invoices in Tipalti that are due this week")
        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 all unpaid invoices in Tipalti that are due this week",
  stopWhen: stepCountIs(10),
});

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

## Why Use Composio?

### 1. AI Native Tipalti Integration

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

### 2. Managed Auth

- Built-in OAuth handling with automatic token refresh and rotation
- Central place to manage, scope, and revoke Tipalti 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 Tipalti
- Scoped, least privilege access to Tipalti resources
- Full audit trail of agent actions to support review and compliance

## Use Tipalti with any AI Agent Framework

Choose a framework you want to connect Tipalti with:

- [ChatGPT](https://composio.dev/toolkits/tipalti/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/tipalti/framework/claude-cowork)
- [Hermes](https://composio.dev/toolkits/tipalti/framework/hermes-agent)
- [Atomic Agent](https://composio.dev/toolkits/tipalti/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.
- [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.
- [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.
- [Coinbase Wallet MCP](https://composio.dev/toolkits/coinbase_wallet_mcp) - Coinbase Wallet MCP is Coinbase's wallet service for interacting with onchain accounts. Use it to give agents secure, structured access to inspect wallets and request onchain actions.
- [Coinranking](https://composio.dev/toolkits/coinranking) - Coinranking is a comprehensive cryptocurrency market data platform offering access to real-time coin prices, market caps, and historical data. Get accurate, up-to-date stats for thousands of digital assets in one place.

## Frequently Asked Questions

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

Yes, Tipalti 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)
