Finmei

Learn how to use Finmei with Composio

Overview

SLUG: FINMEI

Description

Finmei is an invoicing tool designed to simplify billing processes, allowing users to create and manage invoices and track expenses efficiently.

Authentication Details

generic_api_key
stringRequired

Connecting to Finmei

Create an auth config

Use the dashboard to create an auth config for the Finmei toolkit. This allows you to connect multiple Finmei accounts to Composio for agents to use.

1

Select App

Navigate to Finmei.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Finmei Auth Config”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using API Key

1from composio import Composio
2
3# Replace these with your actual values
4finmei_auth_config_id = "ac_YOUR_FINMEI_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/app
6
7composio = Composio()
8
9def authenticate_toolkit(user_id: str, auth_config_id: str):
10 # Replace this with a method to retrieve an API key from the user.
11 # Or supply your own.
12 user_api_key = input("[!] Enter API key")
13
14 connection_request = composio.connected_accounts.initiate(
15 user_id=user_id,
16 auth_config_id=auth_config_id,
17 config={"auth_scheme": "API_KEY", "val": {"generic_api_key": user_api_key}}
18 )
19
20 # API Key authentication is immediate - no redirect needed
21 print(f"Successfully connected Finmei for user {user_id}")
22 print(f"Connection status: {connection_request.status}")
23
24 return connection_request.id
25
26
27connection_id = authenticate_toolkit(user_id, finmei_auth_config_id)
28
29# You can verify the connection using:
30connected_account = composio.connected_accounts.get(connection_id)
31print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Finmei toolkit’s playground

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["FINMEI"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Create Invoice

Description

Tool to create a new invoice. Use when you have all invoice details ready and need to record it. Example: "Create an invoice for customer X with two items.

Action Parameters

buyer
object
code
string
currency
string
customer
object
customer_id
string
due_date
string
invoice_date
string
issue_date
string
line_items
array
notes
string
products
array
seller
object
series
string
type
string
use_default_seller_info
booleanDefaults to True

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Customer

Description

Tool to delete a specific customer by their ID. Use after confirming the correct customer_id to remove the record.

Action Parameters

customer_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Invoice

Description

Tool to delete an invoice. Use when you need to remove an existing invoice by its ID.

Action Parameters

invoice_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Payment

Description

Tool to delete a payment. Use when you need to remove a payment by its ID after confirming it's obsolete.

Action Parameters

payment_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Product

Description

Tool to delete a product by its ID. Use when you need to permanently remove a product from the catalog.

Action Parameters

product_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Payment

Description

Tool to retrieve details of a specific payment by its ID. Use after creating a payment or when you need to confirm payment details.

Action Parameters

payment_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Product by ID

Description

Tool to retrieve a product by its ID. Use when you need detailed information about a single product.

Action Parameters

product_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Currencies

Description

Tool to list all currencies supported by Finmei. Use when you need to retrieve available currency codes before creating transactions.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Customers

Description

Tool to list all customers with optional filters and pagination. Use when needing to browse or search customer records.

Action Parameters

page
integerDefaults to 1
per_page
integerDefaults to 20
search
string
sort
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Invoices

Description

Tool to list invoices. Use when you need a paginated list of invoices with basic details.

Action Parameters

page
integerDefaults to 1
per_page
integerDefaults to 20

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Payments

Description

Tool to retrieve a list of payments. Use when you need to view past payment records with optional filters and pagination.

Action Parameters

end_date
string
limit
integerDefaults to 20
offset
integer
start_date
string
status
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Products

Description

Tool to retrieve a list of products with optional filters and pagination. Use when you need to browse or filter the product catalog.

Action Parameters

name
string
page
integerDefaults to 1
per_page
integerDefaults to 20
status
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Customer

Description

Tool to update an existing customer's details. Use after confirming the customer ID to modify their information.

Action Parameters

address
object
customer_id
stringRequired
email
string
metadata
object
name
string
phone
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Product

Description

Tool to update an existing product's details. Use when you need to modify product information after confirming the product ID.

Action Parameters

currency
string
description
string
name
string
price
number
product_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired