get_company_details | Get detailed information about the user's company. |
get_company_balance | Get the current balance of the company.
Returns:
Company balance information |
get_company_tax_statistics | Get tax statistics for the company.
Returns:
Company tax statistics data |
get_vat_next_report | Get the VAT amount for the next report period.
Returns:
VAT next report amount data |
update_company_details | Update company information. |
search_transactions | Search for transactions matching specified criteria.
Args:
description: Text to search for in transaction descriptions
from_date: Start date in YYYY-MM-DD format
to_date: End date in YYYY-MM-DD format
min_amount: Minimum transaction amount
max_amount: Maximum transaction amount
category: Transaction category
limit: Maximum number of results to return (default 100)
no_invoice: Whether to exclude invoices
no_receipt: Whether to exclude receipts
status: Status of the transaction (UNVERIFIED, VERIFIED)
cashflow_type: Cashflow type of the transaction (INCOME, EXPENSE)
Returns:
List of matching transactions with sensitive data removed |
create_transaction | Create a new manual transaction.
Args:
amount: Transaction amount (positive for income, negative for expense)
description: Transaction description
category: Transaction category
date: Transaction date in YYYY-MM-DD format (defaults to today)
vat_rate: VAT rate (0, 7, 19)
sale_type: Sale type (GOODS, SERVICES)
supplier_country: Country of the supplier (DE, INSIDE_EU, OUTSIDE_EU)
cashflow_type: Cashflow type of the transaction (INCOME, EXPENSE)
category_id: Category ID of the transaction (If not provided, the transaction will be categorized automatically using AI)
Returns:
Information about the created transaction |
update_transaction | Update an existing transaction. |
create_invoice | Create a new invoice. Ask for additional information if needed, for example:
- If the client is not found, ask for the client details and create a new client if necessary.
- If pyament reminder should be sent, ask for the reminder settings.
- If the invoice type is GOODS, ask for the delivery date.
- If the invoice type is SERVICES, ask for the service start and end dates.
- If the invoice should be sent to the client, ask for the email data.
Args:
client_id: ID of the client for the invoice
items: List of invoice items, each containing name, quantity, rate, vatRate and total.
Example: [{"name": "Software Development", "quantity": 3, "rate": 30000, "vatRate": 19, "total": 1071}] // VAT rates might be 0, 7, 19. By default it's 19. Rate and total are in cents.
invoice_number: Optional invoice number (will be auto-generated if not provided)
issued: Issue date in YYYY-MM-DD format
due_to: Due date in YYYY-MM-DD format
currency: Invoice currency (EUR, USD), by default it's EUR
payment_terms: Payment terms text
notes: Additional notes
language: Invoice language (en, de)
invoice_type: Type of invoice (SERVICES, GOODS)
is_vat_included: Whether prices include VAT
bank_name: Name of the bank (gets from company details if exists)
iban: IBAN for payments (gets from company details if exists)
bic: BIC/SWIFT code (gets from company details if exists)
create_qr: Whether to create payment QR code (only if BIC and IBAN provided)
color_schema: Invoice style color (hex code)
font: Invoice font (e.g. "Plus Jakarta Sans", "Inter")
is_to_send: Whether to send invoice automatically to client
mailing_data: Email data if is_to_send is True. Example: {
"emailSubject": "Invoice No.{invoice_number} for {client_name}",
"emailBody": "Dear {client_name},...",
"customClientEmail": "client@example.com" // email to send the invoice to, if not provided, it will be sent to the client email address
}
settings_on_overdue: Configuration for overdue notifications. Example: {
"isToAutosendNotification": true, // whether to send notification automatically
"customEmailSubject": "Reminder: Invoice {invoice_number} is overdue", // custom email subject
"customEmailBody": "Dear {client_name},...", // custom email body
"notifyAfterDays": [1, 3], // days to notify after the due date
"notifyInParticularDays": [] // days to notify in particular dates [2025-05-23", "2025-05-24"]
}
service_start_date: Service period start date (YYYY-MM-DD) by default it's today, should be provided if invoice_type is SERVICES
service_end_date: Service period end date (YYYY-MM-DD) by default it's one month from today, should be provided if invoice_type is SERVICES
delivery_date: Delivery date for goods (YYYY-MM-DD) by default it's today, should be provided if invoice_type is GOODS
Returns:
Information about the created invoice and always include the generated invoice pdf url from reportUrl field |
create_recurring_invoice | Create a recurring invoice that will automatically generate new invoices based on specified frequency.
Useful for contracts or services that bill on a regular basis.
Always ask for reccurring configuration, for example:
- How often to generate invoices (weekly, monthly)
- Number of units for frequency (e.g. 1 for monthly = every month, 2 = every 2 months)
- Start date
- End date
- End invoice count (optional)
Ask for additional information if needed, for example:
- If the client is not found, ask for the client details and create a new client if necessary.
- If the invoice number is not provided, ask for it.
- If the due date is not provided, ask for it.
- If the payment terms are not provided, ask for it.
- If the bank details are not provided, ask for it.
Args:
client_id: ID of the client for the invoice
items: List of invoice items, each containing name, quantity, rate, vatRate and total
frequency_type: How often to generate invoices ("weekly", "monthly")
frequency_unit: Number of units for frequency (e.g. 1 for monthly = every month, 2 = every 2 months)
starts_from_date: Date to start generating invoices from (YYYY-MM-DD)
ends_on_date: Optional end date for recurring invoices (YYYY-MM-DD). Either ends_on_date or ends_on_invoice_count should be provided.
ends_on_invoice_count: Optional number of invoices to generate before stopping. Either ends_on_date or ends_on_invoice_count should be provided.
invoice_number: Base invoice number (will be auto-generated if not provided)
issued: Issue date in YYYY-MM-DD format
due_to: Due date in YYYY-MM-DD format
currency: Invoice currency (EUR, USD), by default it's EUR
payment_terms: Payment terms text
notes: Additional notes
language: Invoice language (en, de)
invoice_type: Type of invoice (SERVICES, GOODS)
is_vat_included: Whether prices include VAT
bank_name: Name of the bank
iban: IBAN for payments
bic: BIC/SWIFT code
create_qr: Whether to create payment QR code
color_schema: Invoice style color (hex code)
font: Invoice font (e.g. "Plus Jakarta Sans", "Inter")
is_to_send: Whether to send invoices automatically to client
settings_on_overdue: Configuration for overdue notifications
service_start_date: Service period start date (for SERVICES type)
service_end_date: Service period end date (for SERVICES type)
delivery_date: Delivery date (for GOODS type)
Returns:
Information about the created recurring invoice setup and always include the generated invoice pdf url from reportUrl field |
get_invoice | Get detailed information about a specific invoice.
Args:
invoice_id: ID of the invoice to retrieve
Returns:
Detailed invoice information |
send_invoice | Send an invoice via email.
Args:
invoice_id: ID of the invoice to send
subject: Email subject line
body: Email body content
additional_emails: List of additional email addresses to send to
is_send_to_company: Whether to send the copy to the company email (Owner)
custom_client_email: Custom email address for the client (By default the email address of the client is used if it is set)
Returns:
Response from the send invoice request |
send_invoice_overdue_reminder | Send an overdue payment reminder for an invoice via email.
Args:
invoice_id: ID of the invoice to send reminder for
subject: Email subject line
body: Email body content
additional_emails: List of additional email addresses to send to
is_send_to_company: Whether to send the copy to the company email (Owner)
custom_client_email: Custom email address for the client (By default the email address of the client is used if it is set)
Returns:
Response from the send overdue reminder request |
link_transaction | Link a transaction to an invoice.
Args:
invoice_id: ID of the invoice
transaction_id: ID of the transaction to link
Returns:
Response from the link transaction request |
get_einvoice_xml | Get the e-invoice XML for a specific invoice.
Args:
invoice_id: ID of the invoice to get XML for
Returns:
E-invoice XML data |
list_clients | Get a list of all clients for the company.
Returns:
List of clients with their details |
get_client | Get detailed information about a specific client.
Args:
client_id: ID of the client to retrieve
Returns:
Detailed client information |
create_client | Create a new client.
Args:
name: Client name or business name
client_type: Type of client (defaults to "business"), Options: "business", "private"
address: Client physical address
zip_code: Client postal/zip code
email: Client email address
country: Client country code (e.g. "DE")
vat_number: Client VAT number
city: Client city
phone: Client phone number
Returns:
Newly created client record |
update_client | Update an existing client.
Args:
client_id: ID of the client to update
name: Updated client name
client_type: Updated client type ("business" or "private")
address: Updated client physical address
zip_code: Updated client postal/zip code
email: Updated client email address
country: Updated client country code (e.g. "DE")
vat_number: Updated client VAT number
city: Updated client city
phone: Updated client phone number
Returns:
Updated client record |
upload_bulk_attachments | Upload multiple file attachments in bulk.
Args:
file_paths: List of paths to files to upload
cashflow_type: Optional cashflow type for the transactions (INCOME or EXPENSE)
Returns:
Response from the bulk upload request |
list_attachments | Get list of attachments with optional filters.
Args:
file_name: Filter by file name (case insensitive partial match)
linked: Filter by whether attachment is linked to transactions
attachment_type: Filter by attachment type (invoice, receipt, contract, other)
description: Filter by description (case insensitive partial match)
brand_name: Filter by brand name (case insensitive partial match)
Returns:
List of attachments matching the filters |
create_attachment | Create a new attachment.
Args:
file_path: Path to file to upload
transactions: List of transaction IDs to link
attachment_type: Type of attachment (invoice, receipt)
amount: Amount related to attachment
amount_exchanged: Exchanged amount in different currency
attachment_number: Unique number for attachment
brand_name: Brand name associated with attachment
currency: Currency of amount (default EUR)
currency_exchanged: Exchanged currency (default EUR)
description: Description of attachment
supplier_country: Country of supplier (DE, INSIDE_EU, OUTSIDE_EU)
value_date: Date of value
vat_sum_amount: VAT sum amount
vat_sum_amount_exchanged: Exchanged VAT sum amount
vat_rate: VAT rate percentage
sale_type: Type of sale
additional_metadata: Additional metadata for attachment
Returns:
Created attachment information |
link_attachment_transaction | Link a transaction to an attachment.
Args:
attachment_id: ID of the attachment
transaction_id: ID of the transaction to link
Returns:
Response from the link transaction request |
categorize_transaction | Detect category for a transaction using AI.
Args:
transaction_amount: Amount of the transaction
transaction_description: Description of the transaction
transaction_type: Type of transaction ("income" or "expense")
Returns:
Suggested category information for the transaction |
list_tax_reports | List all available tax reports. |
validate_tax_number | Validate a tax number for a specific region.
Args:
tax_number: Tax number to validate
region_code: Region code (e.g. "BE" for Belgium)
Returns:
Validation result for the tax number |
get_tax_report | Retrieve a specific tax report.
Args:
report_id: Public ID of the tax report to retrieve
Returns:
Tax report details |
generate_finanzamt_preview | Generate a test Finanzamt preview for a tax report.
Args:
report_id: Public ID of the tax report
Returns:
Generate a PDF preview of the tax report.
Always suggest to check the preview before sending it to the Finanzamt.
Always include the path to the generated PDF file as a link to open the file from local file system.
Get the report data from @get_tax_report and show line items and totals.
You could add short summary based on the report data.
Ask follow up question to file the tax report to the Finanzamt @submit_tax_report. Don't send the report to the Finanzamt without the user confirmation. |
submit_tax_report | Submit a tax report to the Finanzamt.
Args:
report_id: Public ID of the tax report to submit
Returns:
Response from the submission request and a link to the tax report from reportFile to download.
If response status is 403, it means a paid subscription is required to file the report. |
list_tax_states | Get list of available tax states.
Returns:
List of tax states |
list_tax_settings | Get list of tax settings for the current company.
Returns:
List of company tax settings |
update_tax_setting | Update a tax setting. Always generate a preview of the tax report @generate_finanzamt_preview before submitting it to the Finanzamt.
Args:
setting_id: Public ID of the tax setting to update
tax_type: Type of tax (e.g. "sales")
vat_type: VAT type (e.g. "vat_subject")
vat_percent: VAT percentage
start_tax_report_date: Start date for tax reporting (YYYY-MM-DD)
reporting_frequency: Frequency of reporting (e.g. "monthly")
Returns:
Updated tax setting |
list_invoices | List invoices with optional filtering.
Args:
status: Filter by invoice status (draft, pending, sent, paid, overdue, uncollectible)
name: Filter by invoice (client) name
from_date: Filter invoices created after this date (YYYY-MM-DD)
to_date: Filter invoices created before this date (YYYY-MM-DD)
limit: Maximum number of invoices to return (default 100)
Returns:
List of invoices matching the criteria |
delete_client | Delete a client.
Args:
client_id: ID of the client to delete
Returns:
Confirmation of deletion |