Rillet MCP server for AI agents and assistants

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Rillet MCP or direct API to manage invoices, review accounting data, track revenue recognition, and support financial reporting through natural language.

Rillet logoRillet
Api KeyDcr Oauth

Rillet is an ERP for automated accounting, revenue recognition, reporting, and close management. It helps finance teams reduce manual work and keep financial operations accurate.

174 Tools

Try Rillet now

Type what you want done — sign in and watch it run live in the Tool Router playground.

TOOL ROUTER PLAYGROUND
Rillet
Try asking
TOOLS

Supported Tools

Every Rillet action and event your agent gets out of the box.

Adds members to a customer family

Adds customers to a family and moves members already in it, in one call.

Amends a contract

Applies a contract amendment when you need to add items, retire items, or change pricing/invoicing after go-live.

Reconciles credit memo applications

Full reconcile of credit memo applications.

Applies a vendor credit to bills

Allocates an existing vendor credit balance against specific open bills, reducing net amounts payable similar to a targeted vendor payment.

Updates metadata for multiple accounts

Patches metadata on up to 1,000 accounts in one atomic request.

Updates metadata for multiple bills

Patches metadata on up to 1,000 bills in one atomic request.

Updates metadata for multiple contracts

Patches metadata on up to 1,000 contracts in one atomic request.

Updates metadata for multiple customers

Patches metadata on up to 1,000 customers in one atomic request.

Updates metadata for multiple invoices

Patches metadata on up to 1,000 invoices in one atomic request.

Permanently cancels a pending milestone

Permanently forfeits a pending milestone allocation on a FULL contract without redistributing it or automatically issuing a refund.

Completes a close checklist task

Marks the task as prepared, recorded as completed by the connected user at the current time.

Creates a bank account

Registers a treasury bank account with currency, institution identifiers, and linkage to the GL cash account used during transaction import.

Creates a bank transaction

Inserts a single bank feed line such as a wire, ACH, or adjustment when automated imports miss a statement row.

Creates a bill

Accrues a new accounts-payable bill against a vendor with subsidiary context, line items, and due dates your approval workflow consumes.

Creates a bill payment

Books a cash or scheduled disbursement that settles all or part of a bill, updating the outstanding payable and linking treasury activity.

Create a charge

Create a charge

Creates a chart of accounts

Initializes the entire chart of accounts for a bare organization in one atomic call.

Creates a contract

Rillet supports two contract scope types: FULL and REVENUE_RECOGNITION_ONLY.

Creates a credit memo

Opens a customer credit memo that reduces receivable exposure before you allocate it to specific invoices.

Creates a customer

Creates a new customer in the Accounts Receivable catalog.

Creates a customer family

Creates a family from customers that do not already belong to one.

Creates a draft contract

Stages a contract in the "draft" holding state instead of creating it directly as an active contract.

Creates a journal entry

Posts a balanced manual journal entry with explicit debit and credit lines, posting date, and subsidiary scope for GL corrections.

Creates an account

Adds an account to the chart of accounts for the organization.

Creates an invoice

A matching creation approval workflow returns HTTP 202 with invoice_id, approval_request_id, and status PENDING.

Creates an invoice payment

Records a manual cash receipt against an open invoice by amount, effective date, and a GL account code that maps to a funded cash account.

Creates a product

Creates a new product (good or service) that can be referenced on contracts and invoices.

Create a reimbursement

Create a reimbursement

Creates a reimbursement payment

Records a cash payment that settles all or part of a reimbursement.

Create an auto-payment setup link

Kicks off the setup of auto-payment for a customer.

Creates a vendor

Adds a vendor master record the accounts-payable team can select on bills, vendor credits, and payments.

Creates a vendor credit

Records a new vendor credit memo amount that reduces future payables without yet touching specific bills.

Creates an external reference type

Creates a `type` for use in `external_references`.

Creates a field

Defines a new custom field (text, number, pick list, etc.

Creates a field value

Adds a selectable value to a pick-list style custom field so users and APIs can tag entities with consistent taxonomy.

Deletes a bank account

Removes a bank account definition when the entity closed the account or you mistakenly created a duplicate connector mapping.

Deletes a bank transaction

Removes a bank transaction row that was imported twice or created in error before it affects reconciled cash balances.

Deletes a bill

Removes a bill that should no longer drive AP balances, typically while it remains in draft or was created in error.

Deletes a bill payment

Reverses a previously recorded bill payment when the disbursement failed or was duplicated, restoring the bill balance accordingly.

Deletes a charge

Drops a charge that should not influence spend reporting, for example duplicate imports from a card processor feed.

Deletes a contract

Permanently removes a contract when your business rules allow deletion.

Deletes a document from a contract

Removes one attachment from a contract.

Deletes a credit memo

Removes a credit memo that should no longer affect AR balances, typically while it is still draft or unused.

Deletes a customer

Permanently deletes a customer.

Dissolves a customer family

Dissolves the grouping.

Deletes a draft contract

Permanently removes a draft contract along with its line items and external references.

Deletes a document from a draft contract

Removes one attachment from a draft contract.

Deletes a journal entry

Deletes a manual journal entry that should be excluded from the ledger, typically prior to period lock while corrections remain allowed.

Deletes an invoice

Permanently removes an invoice when your policy allows it (for example draft or voided states).

Deletes a document from an invoice

Removes one attachment from an invoice and deletes the stored file.

Deletes an invoice payment

Reverses a previously recorded uncleared invoice payment, restoring the invoice balance accordingly.

Deletes a product

Permanently removes a product or bundle.

Deletes a reimbursement

Removes a reimbursement that was created prematurely or duplicated during intake so it no longer blocks payroll totals.

Deletes a reimbursement payment

Reverses an uncleared reimbursement payment that was recorded in error.

Deletes a usage record

Removes the usage entry for a single contract item on a specific calendar date.

Deletes a vendor

Removes a vendor you no longer expect to pay.

Deletes a vendor credit

Permanently removes a vendor credit that should not remain in the subledger.

Unapplies all credit memo applications

Removes every application from this credit memo, reverting all invoice allocations.

Deletes a field value

Retires a pick-list option that should no longer be selectable while keeping older records intact for read-only history.

Ends an open-ended contract

Sets an explicit end date on a contract that previously had no close date (open-ended).

Gets API key information

Confirms the caller’s API key is recognized and returns basic identity metadata such as organization context when authentication succeeds.

Get Current Organization

Return the organization associated with the connected Rillet credentials, including its ID, currency, timezone, and trade name.

Get Financial Report

Return either a trial balance for a date range or a balance sheet as of a date, with optional subsidiary and book filters.

Gets payment method

Returns the payment method configured for auto-payment for the given customer.

Returns service health

Lightweight liveness probe that returns HTTP 200 when the service process is running, without exercising downstream databases or queues.

List Accounting Reference Data

Return one complete Rillet reference collection selected by resource: chart accounts, subsidiaries, books, bank accounts, tax rates, or custom fields.

Lists all approval workflows

Returns every approval workflow in the organization tied to the API credentials, active and inactive, grouped by the kind of record they apply to and ordered by ascending `priority` within each group.

Lists all charges

Pages card or out-of-pocket employee charges awaiting policy review, subsidiary allocation, or conversion into reimbursable payables.

Lists all contract item usage records

Returns historical usage quantities for a contract item, newest first, with optional pagination cursors.

Lists all credit memos

Returns customer credit memos with pagination and filters for application state, customer, and subsidiaries.

Lists all customer families

Returns customer families with pagination and optional search or update filters.

Lists all draft contracts

Returns draft contracts with cursor pagination.

Lists payments for a given invoice

Returns every payment attempt tied to a single invoice, including successful, uncleared, and failed rows with their public status.

Lists all invoice payments

Pages every customer payment recorded against invoices across the organization, independent of which invoice it settled.

Lists all metadata definitions

Returns the organization's metadata definitions: the custom fields that can hold values on contracts, customers, and invoices.

Lists all products

Returns sellable products and services for accounts receivable (contracts, invoices).

Lists all reimbursements

Surfaces reimbursement requests created from approved charges or manual submissions, including subsidiary and freshness filters for payroll sync.

Lists all vendor credits

Returns vendor credits with pagination and filters for vendor, subsidiary, and freshness.

List Bank Transactions

Return one page of bank transactions, optionally filtered by bank account, subsidiary, transaction-date range, or update time.

Lists bill payments

Enumerates disbursements recorded against a specific bill, useful when reconciling vendor statements to internal cash movements.

List Bills

Return one page of bills, optionally filtered by subsidiary, vendor, payment status, or update time.

Lists close checklist tasks

Returns the month-end close checklist for one accounting month: every task with its notes, due date, preparer, reviewer queue, completion and sign-off state.

Lists documents attached to a contract

Returns all attached documents, including those uploaded through the Rillet application or imported from Salesforce.

List Contracts

Return one page of contracts, optionally filtered by subsidiary, customer, lifecycle status, or inclusive/exclusive start and end date ranges.

Lists the members of a customer family

Returns the members of a customer family with pagination.

List Customers

Return one page of accounts-receivable customers, optionally filtered by name, external reference, or update time.

Lists documents attached to a draft contract

Returns all attached documents, including those uploaded through the Rillet application or imported from Salesforce.

Lists documents attached to an invoice

Returns all attached documents, including those uploaded through the Rillet application.

List Invoices

Return one page of invoices, optionally filtered by subsidiary, customer, payment status, overdue state, external reference, or update time.

List Journal Entries

Return one page of journal entries, optionally filtered by subsidiary, book, posting-date range, account IDs, or update time.

Lists documents attached to a manual journal entry

Returns all attached documents, including those uploaded through the Rillet application.

Lists organization members

Returns the identity of each member of the organization tied to the API credentials.

Lists reimbursement payments

Lists payments recorded against a reimbursement so external systems can reconcile its paid balance.

Lists journal entries with reporting currency amounts

Returns journal entries with line item amounts converted to the reporting currency.

Lists role assignments

Returns which organization member is assigned which role and the scope of that assignment.

Lists roles

Returns every role defined in the organization along with the flat set of permission keys it grants.

List Vendors

Return one page of accounts-payable vendors, optionally limited to records updated after a timestamp.

Matches two bank transactions as a transfer

Matches two bank transactions as a transfer.

Matches bank transactions to existing records

Matches bank transactions to existing records.

Matches bank transactions with new quick entries

Creates a separate quick entry for each bank transaction in transaction_ids, using the same requested details.

Patches account metadata

Partial update.

Patches bill metadata

Partial update.

Patches contract metadata

Partial update.

Patches customer metadata

Partial update.

Patches invoice metadata

Partial update.

Previews contract amendment

Preview a contract that has been amended.

Preview the invoice schedule for a contract

Computes and returns the invoice schedule the given contract would produce, without creating the contract or persisting anything.

Refreshes a bundle

Updates the details the bundle keeps for each component product to the products' current values.

Removes a member from a customer family

Removes one customer from the family; the customer itself is untouched.

Renames a customer family

Changes the family's name.

Retrieves a bank account

Returns configuration and status for a single bank account, including identifiers downstream connectors need when refreshing balances.

Retrieves a bank account balance

Returns the latest stored bank balance on or before the requested date in the bank account's native currency.

Retrieves a bank transaction

Fetches one bank transaction with counterparty text, amounts, and links to the Rillet transactions it settled.

Retrieves a bill

Returns the authoritative bill record including vendor linkage, approval state, open balance, and document references.

Retrieves account metadata

Returns this account's metadata values keyed by definition key.

Retrieves a charge

Fetches a single charge with merchant metadata, amounts, and workflow state so reviewers can decide coding before reimbursement.

Retrieves a contract

Returns the expanded contract including items, schedules, and metadata required before updates or amendments.

Retrieves a credit memo

Loads the full credit memo payload, including remaining balance, applications, and tax metadata you must echo on PUT updates.

Retrieves a customer

Returns a single customer record including billing profile details, which are needed for updates.

Retrieves a customer family

Returns a single customer family with its name, root parent and member count.

Retrieves a draft contract

Returns a draft contract by id, including its line items and any attached external references.

Retrieves a journal entry

Retrieves a journal entry with every line, account reference, and reconciliation flag needed for close review or downstream edits.

Retrieves an approval workflow

Returns one approval workflow: the conditions that decide which entries it applies to, and the ordered layers of approvers that must sign off.

Retrieves an invoice

Returns invoice details including line items, tax breakdown, and linkage to contracts or customers.

Retrieves a pending invoice creation proposal

Retrieve the captured contents of an invoice awaiting creation approval.

Retrieves a product

Returns a single product or bundle definition, including pricing configuration used on contracts and invoices.

Retrieves a reimbursement

Returns the full reimbursement packet with employee linkage, funding instructions, and approval history for a single id.

Retrieves a subsidiary

Returns one subsidiary by id for the authenticated organization.

Retrieves a vendor

Fetches the full vendor profile including identifiers you must echo back on PUT updates.

Retrieves a vendor credit

Loads a single vendor credit including remaining balance and application history.

Retrieves bill metadata

Returns this bill's metadata values keyed by definition key.

Retrieves cash flow statement report

Returns a cash flow statement report for the specified date range.

Retrieves contract metadata

Returns this contract's metadata values keyed by definition key.

Retrieves customer metadata

Returns this customer's metadata values keyed by definition key.

Retrieves executive P&L report

Returns an executive profit and loss report with margins for the specified date range.

Retrieves income statement report

Returns an income statement (profit and loss) report for the specified date range.

Retrieves invoice metadata

Returns this invoice's metadata values keyed by definition key.

Retrieves last book closed period

Returns the most recently closed accounting period for book-close workflows, including closed-on timestamps your automation can cache.

Retrieves ARR waterfall report

Returns the ARR waterfall dataset for the requested month with optional breakdown dimensions, subsidiary filters, and pagination cursors for large tenants.

Reverses a milestone completion

Removes the current completion and its recognition effect without cancelling the milestone, issuing a credit, or changing its allocation.

Signs off a close checklist task as reviewer

Records the connected user's review sign-off on a completed task.

Reports API or MCP bugs and missing features

Found something surprising, confusing, or missing while using the API or MCP tools?

Updates a bank transaction

Adjusts memo, categorization, or reconciliation metadata on an existing bank transaction without re-importing the entire feed batch.

Updates a bill

IMPORTANT: This is a full-replace operation (PUT semantics).

Updates account metadata

IMPORTANT: This is a full-replace operation (PUT semantics).

Updates a close checklist task

Partial update of one task's details and assignments.

Updates a credit memo

IMPORTANT: This is a full-replace operation (PUT semantics).

Updates a customer

Updates a single customer record in the catalog.

Updates a draft contract

Replaces the draft contract identified by `draft_contract_id` with the supplied payload.

Updates a journal entry

Replaces the lines and header metadata on an existing manual journal entry, subject to the same balancing rules as creation.

Records or corrects a milestone completion

Creates or fully replaces the current completion on a milestone in a FULL contract.

Updates an approval workflow

Replaces an approval workflow's definition.

Updates an invoice

IMPORTANT: This is a full-replace operation (PUT semantics).

Updates an invoice payment

Replaces the amount, date, and cash account on an existing uncleared invoice payment.

Updates a product

Updates a single product or bundle definition in the catalog.

Updates a vendor

IMPORTANT: This is a full-replace operation (PUT semantics).

Updates a vendor credit

IMPORTANT: This is a full-replace operation (PUT semantics).

Updates bill metadata

IMPORTANT: This is a full-replace operation (PUT semantics).

Updates contract metadata

IMPORTANT: This is a full-replace operation (PUT semantics).

Updates customer metadata

Full replacement: every active key omitted from the request is cleared.

Updates a field

Changes labels, validation rules, or visibility metadata on an existing custom field without recreating historical values.

Updates a field value

Renames or reorders a pick-list entry while preserving its underlying id so historical records stay linked to the same option.

Updates invoice metadata

IMPORTANT: This is a full-replace operation (PUT semantics).

Updates invoice sent status

Marks whether an invoice has been delivered to the customer, which downstream workflows use for collections cadence and compliance reporting.

Updates credit memo taxes

Refreshes tax quotes on an existing credit memo using the same structured payload as invoice tax updates, stamped with taxesCalculatedAt for auditability.

Updates invoice taxes

Recalculates or replaces tax lines on an existing invoice using the supplied tax payload.

Uploads a document to a charge

Attaches a receipt (PDF, TXT, JPG/JPEG, PNG, GIF, XLSX/XLS, DOCX/DOC, CSV, RTF, TIFF/TIF, BMP, Pages, Numbers, PPTX, or PPT) to an existing charge using multipart form data with a single file part.

Uploads a document to a contract

Attaches one PDF, JPEG, PNG, or XLSX file to an existing contract.

Uploads a document

Attaches a document (PDF, TXT, JPG/JPEG, PNG, GIF, XLSX/XLS, DOCX/DOC, CSV, RTF, TIFF/TIF, BMP, Pages, Numbers, PPTX, or PPT) such as an invoice, contract, or receipt to an existing bill using multipart form data with a single file part.

Uploads a document to a draft contract

Attaches one PDF, JPEG, PNG, or XLSX file to an existing draft contract.

Uploads a document to an invoice

Attaches one PDF, JPEG, PNG, or XLSX file to an existing invoice.

Uploads a document to a manual journal entry

Appends one PDF, JPEG, PNG, or XLSX of at most 20 MiB to an existing manual journal entry.

Uploads a document to a reimbursement

Attaches a receipt (PDF, TXT, JPG/JPEG, PNG, GIF, XLSX/XLS, DOCX/DOC, CSV, RTF, TIFF/TIF, BMP, Pages, Numbers, PPTX, or PPT) to an existing reimbursement using multipart form data with a single file part.

Upserts a usage record

Creates usage records on dates where previously no usage was recorded.

SETUP GUIDE

Connect Rillet MCP Tool with your Agent

1

Install Composio

typescript
npm install @composio/core ai @ai-sdk/mcp @ai-sdk/openai
Install the Composio SDK and your agent framework
2

Create a session with MCP enabled

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

const composio = new Composio();
const { mcp } = await composio.create("your-user-id", {
  toolkits: ["rillet"],
  mcp: true,
});
Create a session scoped to Rillet and read its MCP URL and headers
3

Connect your agent to the MCP server

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 the five most recent invoices in Rillet",
  stopWhen: stepCountIs(10),
});

console.log(text);
await client.close();
Pass the session's MCP URL and headers to your agent and run a Rillet request
SETUP GUIDE

Connect Rillet API Tool with your Agent

1

Install Composio

typescript
npm install @composio/core @composio/openai openai
Install the Composio SDK, the OpenAI provider, and the OpenAI SDK
2

Create a Composio session

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: ["rillet"] });
const tools = await session.tools();
Initialize Composio with the OpenAI Responses provider and create a session scoped to Rillet
3

Run Rillet tools with your agent

typescript
let response = await client.responses.create({
  model: "gpt-5.6-sol",
  tools,
  input: [{ role: "user", content: "List the five most recent invoices in Rillet" }],
});

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);
Send a request, execute the Rillet tool calls through the session, and print the final answer

Why Use Composio?

AI Native Rillet Integration

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

Secure Auth Management

  • Supports Rillet API key and OAuth-based authentication
  • Central place to securely store and manage Rillet credentials
  • Per user and per environment credentials instead of hard-coded keys

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

Enterprise Grade Security

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

Rolling this out across your team?

Give your team centralized access control across every framework with Composio’s MCP Gateway.

EXPLORE MCP GATEWAY
FAQ

Frequently asked questions

Yes, Rillet requires you to configure your own API key credentials. Once set up, Composio handles secure credential storage and API request handling for you.

Yes! Composio's Tool Router enables agents to use multiple toolkits. Learn more.

Yes. Composio is SOC 2 Type II compliant and is built to keep your Rillet connection and credentials secure. OAuth tokens and API keys are encrypted, and sensitive customer data is protected at rest and in transit.

Composio also undergoes independent security testing and continuously monitors its systems for security threats. You can review the latest reports and policies in the Composio Trust Center.

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

Create the key in your Rillet account settings, then paste it once on Composio's connection page. Composio stores it encrypted and uses it only for the Rillet actions your agent runs. Nobody else in your workspace can read it, and you can revoke it inside Rillet at any time.

When you connect a Rillet account through Composio, every action runs under that account, so anything the agent creates, sends, or changes shows up in Rillet as done by you. Keep an approval step in your prompt for actions with side effects, such as sending or deleting, and have the agent draft first.

Whatever the credentials you connect allow inside Rillet. If Rillet lets you scope a key to specific permissions, create a scoped one so the agent can only do what you intend. You can revoke the key inside Rillet at any time.

Yes. Composio supports multiple connected accounts for the same app, and that works in Claude, ChatGPT, or any other assistant you connect through Composio. Give each Rillet connection a name such as work or personal, and the assistant uses the one you mention in the request. Each account keeps its own credentials and nothing is merged.

The connection stops working the moment Rillet rejects the old key. Create a new key in Rillet and reconnect the account from the Composio dashboard or by asking your agent to reconnect Rillet. Nothing else changes.

Composio's free Hobby plan includes 100,000 tool calls per month with no credit card, which covers most personal Rillet use. Paid plans add higher limits and team features. Your Rillet plan and its API limits still apply as usual.

Built-in connectors usually give one AI access to a limited set of apps. Many people use Composio because it lets their AI connect to more apps than it normally supports, or connect to multiple accounts for the same app (e.g. connect Claude to multiple Rillet accounts).

With Composio, you connect Rillet once and then use it across different AI assistants without setting it up separately in each one. Connect your apps to Composio once, then connect Composio to whichever AI you use, whether that's Claude, ChatGPT, Hermes, or your own custom assistant.

Start with Rillet.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Rillet tool your agent needs.Free to start.

Start building