Quaderno

Learn how to use Quaderno with Composio

Overview

SLUG: QUADERNO

Description

Quaderno is a tax compliance platform that automates tax calculations, invoicing, and reporting for businesses worldwide.

Authentication Details

subdomain
stringRequired
generic_api_key
stringRequired

Connecting to Quaderno

Create an auth config

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

1

Select App

Navigate to Quaderno.

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 Quaderno 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
4quaderno_auth_config_id = "ac_YOUR_QUADERNO_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": user_api_key}
18 )
19
20 # API Key authentication is immediate - no redirect needed
21 print(f"Successfully connected Quaderno 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, quaderno_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 Quaderno 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=["QUADERNO"])
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: Calculate Tax Rate

Description

Tool to calculate applicable tax rate for given address and transaction type. use when you need tax details before invoicing.

Action Parameters

amount
number
from_country
product_type
string
tax_code
string
tax_id
string
to_country
Required
to_postal_code
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Contact

Description

Tool to create a new contact (customer or vendor). use when you need to add a person or company contact in quaderno.

Action Parameters

city
string
contact_person
string
country
stringRequired
department
string
email
first_name
string
full_name
string
kind
stringRequired
last_name
string
phone_1
string
postal_code
string
region
string
street_line_1
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Invoice

Description

Tool to create a new invoice. use when you need customer, items, and payment details prepared before invoicing.

Action Parameters

attachment
object
city
string
contact
objectRequired
country
string
currency
stringRequired
custom_metadata
object
due_date
string
evidence
object
issue_date
string
items
arrayRequired
notes
string
number
string
payment_details
string
payment_processor
string
payment_processor_id
string
po_number
string
postal_code
string
processor_fee_cents
integer
recurring_frequency
integer
recurring_period
string
region
string
street_line_1
string
street_line_2
string
subject
string
tag_list
string
tax_id
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Product

Description

Tool to create a new product. use after configuring sku, pricing, and tax settings.

Action Parameters

code
stringRequired
country
string
currency
string
description
string
kind
stringDefaults to one_off
name
stringRequired
paypal_interval_duration
integer
paypal_interval_frequency
integer
paypal_interval_unit
stringDefaults to monthly
product_type
stringDefaults to service
stock
string
stripe_plan_id
string
tax_based_on
stringDefaults to customer_country
tax_class
stringDefaults to eservice
tax_type
stringDefaults to included
unit_cost
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Coupon

Description

Tool to permanently delete a coupon. use when you have confirmed the coupon id is correct and need to remove it permanently (cannot be undone).

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Expense

Description

Tool to permanently delete an expense by id. use when you have confirmed the expense id is correct and no longer need the expense.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Product

Description

Tool to permanently delete a product by id. use when you have confirmed the product id is correct and no longer need the product.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Tax ID

Description

Tool to permanently delete a registered tax id by id. use when you have confirmed the tax id exists and no longer need the tax id.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Deliver Credit Note

Description

Tool to deliver a credit note to the customer via email. use after confirming the credit note is finalized.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Deliver Invoice

Description

Tool to deliver an invoice to the customer via email. use after confirming the invoice is finalized to send it.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Contacts

Description

Tool to list contacts, paginated and filterable by name, email, or tax id. use when you need to retrieve subsets of your contacts.

Action Parameters

processor_id
string
q
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Coupons

Description

Tool to list all coupons. use when you need to retrieve available coupons sorted by creation date (newest first).

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Evidence

Description

Tool to list all evidence objects. use when you need to retrieve location evidences, optionally filtered by state or document id.

Action Parameters

document_id
integer
state
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Expenses

Description

Tool to list all expenses, paginated. use when you need to page through expenses with optional filters. example: listexpenses(limit=50, created before="exp 12345").

Action Parameters

created_before
string
limit
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Tax Jurisdictions

Description

Tool to list all tax jurisdictions. use when you need supported jurisdictions for tax calculations.

Action Parameters

country
string
region
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Products

Description

Tool to list all products. use when you need a paginated and filterable product catalog.

Action Parameters

q
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Registered Tax IDs

Description

Tool to list all registered tax ids. use when retrieving jurisdictions where your business has registered tax ids. supports optional cursor-based pagination.

Action Parameters

created_before
integer
limit
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Reporting Requests

Description

Tool to list all reporting requests. use after creating report requests to retrieve their status and download links.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Sessions

Description

Tool to list all quaderno checkout sessions, paginated and filterable by status. use when you need to retrieve your checkout sessions.

Action Parameters

status
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Tax Codes

Description

Tool to list all supported tax codes. use when you need to retrieve the full set of tax codes for classifying items.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Webhooks

Description

Tool to list all webhooks. use when you need to retrieve webhook configurations.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Retrieve Contact

Description

Tool to retrieve details of an existing contact by id. use after confirming contact id.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Retrieve Coupon

Description

Tool to retrieve details of an existing coupon by id. use after obtaining the coupon id from creation or list operations.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Retrieve Evidence

Description

Tool to retrieve details of an existing evidence object by id. use after confirming evidence id.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Retrieve Invoice

Description

Tool to retrieve details of an existing invoice by id. use when you need full invoice details for reporting or reconciliation.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Retrieve Tax Jurisdiction

Description

Tool to retrieve a tax jurisdiction by id. use when you need the name, country, and region of a specific jurisdiction after confirming its id. example: "retrieve jurisdiction 94".

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Retrieve Product

Description

Tool to retrieve details of an existing product by id. use after confirming the product id exists.

Action Parameters

id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Credit Note

Description

Tool to update a credit note. use when you need to modify metadata, tags, notes, billing address, or attach files to an existing credit note. only limited fields can be updated if it has already been paid or delivered.

Action Parameters

attachment
object
custom_metadata
object
id
integerRequired
notes
string
payment_details
string
po_number
string
street_line_1
string
street_line_2
string
tag_list
array

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Invoice

Description

Tool to update an invoice. use when the invoice is not yet paid or delivered to modify only allowed fields. only the fields: po number, tag list, payment details, notes, street line 1, street line 2, custom metadata, and attachment can be modified.

Action Parameters

attachment
object
custom_metadata
object
id
integerRequired
notes
string
payment_details
string
po_number
string
street_line_1
string
street_line_2
string
tag_list
array

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update product

Description

Tool to update a product; unspecified fields remain unchanged. use after fetching the product to apply partial updates.

Action Parameters

code
string
country
string
currency
string
description
string
id
integerRequired
kind
string
name
string
paypal_interval_duration
integer
paypal_interval_frequency
integer
paypal_interval_unit
string
product_type
string
stock
string
stripe_plan_id
string
tax_based_on
string
tax_class
string
tax_type
string
unit_cost
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Validate Tax ID

Description

Tool to validate a tax id. use when confirming whether a given country-specific tax id is valid. example: validate tax id 'de303954554' for germany.

Action Parameters

country
stringRequired
tax_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Void Credit Note

Description

Tool to void a credit note. use when you need to cancel an existing credit note.

Action Parameters

id
integerRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired