← Back to all apps
C

Campfire

Financial Servicesby Campfire
Launched Sep 23, 2026 on ChatGPTLaunched Feb 24, 2026 on Claude

Search, analyze, and retrieve data from your Campfire ERP directly in Claude. Ask questions about projects, contacts, and financials in natural language. Create board decks, generate insights from your data, and make informed decisions as a native part of your AI workflow.

49ChatGPT Tools
12Claude Tools
CampfireDeveloper
Financial ServicesCategory

Use Cases

financial-services

Available Tools

Balance Sheet

balance_sheet
Full Description

Generate balance sheet for a specified period and cadence. Dates must be YYYY-MM-DD. Can be filtered to specific departments, accounts and tags.

Parameters (0 required, 10 optional)
Optional
account_idsarray

Restrict the report to these account IDs. Call get_accounts() to discover IDs — filter it by account_type (e.g. OPERATING_EXPENSES, COGS) or account_subtype to find the accounts that make up a category.

Default: null
cadencestring

Reporting cadence (case-insensitive). Valid values: monthly, quarterly, yearly.

Default: null
date_fromstring

Start date of the period. Must be YYYY-MM-DD (e.g. 2024-01-01). Do not pass a year only (e.g. 2024); use full date.

Default: null
date_tostring

End date of the period. Must be YYYY-MM-DD (e.g. 2024-12-31). Do not pass a year only (e.g. 2024); use full date.

Default: null
department_idsarray

Restrict the report to these department IDs. Call get_departments() to discover IDs. This narrows the report; it is not the same as group_by='department', which keeps every department and breaks them out into separate columns.

Default: null
entity_idinteger

Entity ID for the report. Omit for default.

Default: null
group_bystring

Dimension to group results by. Valid values: vendor, department, tag, currency, entity. When group_by='tag', you MUST also pass tag_group_name (e.g. 'Location'); call get_tags(groups_only=true) first to discover the available tag groups for this customer.

Default: null
no_departmentboolean

If true, restrict the report to activity with no department assigned. Combine with department_ids to include unassigned activity alongside named departments. Supported by income_statement only.

Default: False
tag_group_namestring

Required when group_by='tag'. Names the TransactionTagGroup to pivot on, e.g. 'Location'. Case-insensitive. Ignored for other breakdowns. Call get_tags(groups_only=true) to discover the available tag groups.

Default: null
tag_idsarray

Restrict the report to these tag IDs. Call get_tags() to discover IDs. This filters the report; it is distinct from tag_group_name, which pivots columns by tag group.

Default: null

Cash Flow Statement

cash_flow_statement
Full Description

Generate cash flow statement for a specified period and cadence. Dates must be YYYY-MM-DD.

Parameters (0 required, 6 optional)
Optional
cadencestring

Reporting cadence (case-insensitive). Valid values: monthly, quarterly, yearly.

Default: null
date_fromstring

Start date of the period. Must be YYYY-MM-DD (e.g. 2024-01-01). Do not pass a year only (e.g. 2024); use full date.

Default: null
date_tostring

End date of the period. Must be YYYY-MM-DD (e.g. 2024-12-31). Do not pass a year only (e.g. 2024); use full date.

Default: null
entity_idinteger

Entity ID for the report. Omit for default.

Default: null
group_bystring

Dimension to group results by. Valid values: vendor, department, tag, currency, entity. When group_by='tag', you MUST also pass tag_group_name (e.g. 'Location'); call get_tags(groups_only=true) first to discover the available tag groups for this customer.

Default: null
tag_group_namestring

Required when group_by='tag'. Names the TransactionTagGroup to pivot on, e.g. 'Location'. Case-insensitive. Ignored for other breakdowns. Call get_tags(groups_only=true) to discover the available tag groups.

Default: null

Comparative Balance Sheet

comparative_balance_sheet
Full Description

Comparative balance sheet: ending balances as of two dates, with difference and percentage columns.

Use for prior-period or prior-year comparisons (e.g. period1=2024-12-31, period2=2025-12-31) or budget vs actual by passing budget_id. Each row carries <date>_Total columns, comparison_1_Difference and comparison_1_Percentage; 'headers' lists the column names.

Parameters (2 required, 8 optional)
Required
period1string

As-of date for the first (earlier or budget) column, YYYY-MM-DD; snapped to that month's end. Ignored when budget_id is set.

period2string

As-of date for the second (later / actual) column, YYYY-MM-DD; snapped to month end.

Optional
account_idsarray

Optional account ids to restrict the report to.

Default: null
budget_idinteger

Optional budget id (see get_budgets). When set, the report compares the budget (period 1) against actuals (period 2) instead of two actual periods.

Default: null
cadencestring

Optional split of each period into columns: monthly, quarterly or yearly. Omit for one column per period.

Default: null
department_idsarray

Optional department ids to restrict the report to.

Default: null
entity_idinteger

Optional entity id. Omit for the default entity.

Default: null
group_bystring

Optional breakdown dimension: department, tag, entity. When group_by='tag' also pass tag_group_name (call get_tag_groups to discover names).

Default: null
tag_group_namestring

Required when group_by='tag'. Case-insensitive tag group name.

Default: null
tag_idsarray

Optional tag ids to restrict the report to.

Default: null

Comparative Income Statement

comparative_income_statement
Full Description

Comparative income statement: two periods side by side, or budget vs actual, with variance columns.

For budget vs actual pass budget_id and only the period2 dates; the budget is evaluated over the same range and the cadence defaults to the budget's cadence (a different cadence is rejected). Each row carries per-period totals plus comparison_1_Difference and comparison_1_Percentage.

Parameters (2 required, 10 optional)
Required
period2_endstring

End of the actual (second) period, YYYY-MM-DD.

period2_startstring

Start of the actual (second) period, YYYY-MM-DD.

Optional
account_idsarray

Optional account ids to restrict the report to.

Default: null
budget_idinteger

Optional budget id (see get_budgets). When set, the report compares the budget (period 1) against actuals (period 2) instead of two actual periods.

Default: null
cadencestring

Optional split of each period into columns: monthly, quarterly or yearly. Omit for one column per period.

Default: null
department_idsarray

Optional department ids to restrict the report to.

Default: null
entity_idinteger

Optional entity id. Omit for the default entity.

Default: null
group_bystring

Optional breakdown dimension: department, tag, entity. When group_by='tag' also pass tag_group_name (call get_tag_groups to discover names).

Default: null
period1_endstring

End of the comparison (first) period, YYYY-MM-DD. Required unless budget_id is set.

Default: null
period1_startstring

Start of the comparison (first) period, YYYY-MM-DD. Required unless budget_id is set.

Default: null
tag_group_namestring

Required when group_by='tag'. Case-insensitive tag group name.

Default: null
tag_idsarray

Optional tag ids to restrict the report to.

Default: null

Get Accounts

get_accounts
Full Description

Retrieve chart of accounts with optional filtering by type, subtype, or search query. Returns {count, results}.

Parameters (0 required, 5 optional)
Optional
account_subtypestring

Filter by account subtype (case-insensitive). Valid values: BANK, ACCOUNTS_RECEIVABLE, UNBILLED_RECEIVABLE, OTHER_CURRENT_ASSET, SALES_TAX_RECEIVABLE, FIXED_ASSET, OTHER_ASSET, EQUITY, ACCOUNTS_PAYABLE, UNAPPLIED_CREDITS, CREDIT_CARD, ACCRUED_REVENUE, DEFERRED_REVENUE, OTHER_CURRENT_LIABILITY, SALES_TAX_PAYABLE, LONG_TERM_LIABILITY, INCOME, COST_OF_GOODS_SOLD, EXPENSE, DEFERRED_EXPENSE, OTHER_INCOME, OTHER_EXPENSE, PREPAID, UNCATEGORIZED, RETAINED_EARNINGS, REALIZED_GAIN_LOSS, UNREALIZED_GAIN_LOSS, COST_ALLOCATION.

Default: null
account_typestring

Filter by account type (case-insensitive). Valid values: ASSET, LIABILITY, EQUITY, REVENUE, COGS, OPERATING_EXPENSES, OTHER_INCOME, OTHER_EXPENSE, UNCATEGORIZED, COST_ALLOCATION.

Default: null
limitinteger

Max number of results to return. Default: 100, maximum: 500. Use with offset for pagination (e.g. limit=100, offset=0 for first page; offset=100 for second page).

Default: null
offsetinteger

Number of results to skip for pagination. Default: 0.

Default: null
qstring

Search by account name or number.

Default: null

Get Aging

get_aging
Full Description

Retrieve AP/AR aging reports grouped by age buckets.

Use aging_type='payable' for AP (bills); omit or use 'receivable' for AR (invoices). vendor_id is only applied when aging_type is 'payable' (AP). Dates in YYYY-MM-DD. tag_ids, tag_group_ids and department_ids narrow both report types, so an aging report can be scoped to one project tag or department.

Parameters (0 required, 7 optional)
Optional
aging_typestring

Type of aging report (case-insensitive). Valid values: 'payable' for AP (bills) aging, 'receivable' or omit for AR (invoices) aging.

Default: null
as_of_datestring

Aging report cutoff date. Format: YYYY-MM-DD.

Default: null
department_idsarray

Restrict the report to these department IDs (see get_departments).

Default: null
entity_idinteger

Filter by entity ID.

Default: null
tag_group_idsarray

Restrict the report to rows carrying any tag from these tag group IDs (see get_tags(groups_only=true)).

Default: null
tag_idsarray

Restrict the report to rows carrying any of these tag IDs (see get_tags). Use this to scope an aging report to one project or customer tag.

Default: null
vendor_idinteger

Filter by vendor ID. Only applied when aging_type is 'payable' (AP).

Default: null

Get Amortizations

get_amortizations
Full Description

Retrieve amortizations with optional filtering. Returns {count, results}.

Parameters (0 required, 10 optional)
Optional
currencystring

Filter by currency code (e.g. USD, EUR).

Default: null
department_idinteger

Filter by department ID.

Default: null
destination_account_idinteger

Filter by destination account ID.

Default: null
end_datestring

Filter amortizations on or before this date. Format: YYYY-MM-DD.

Default: null
entity_idinteger

Filter by entity ID.

Default: null
limitinteger

Max number of results to return. Default: 100, maximum: 500. Use with offset for pagination (e.g. limit=100, offset=0 for first page; offset=100 for second page).

Default: null
offsetinteger

Number of results to skip for pagination. Default: 0.

Default: null
qstring

Search query for amortizations.

Default: null
source_account_idinteger

Filter by source account ID.

Default: null
start_datestring

Filter amortizations on or after this date. Format: YYYY-MM-DD.

Default: null

Get Approvals

get_approvals
Full Description

Retrieve draft queue / approval records (pending, approved and rejected changes).

Use it to list what is awaiting approval or to audit who approved or rejected a change. Payloads are the serialized before/after state of the drafted object. Returns {count, results}.

Parameters (0 required, 10 optional)
Optional
created_by_user_idinteger

Filter by the drafting user's id.

Default: null
end_datestring

Created on or before. Inclusive end date in YYYY-MM-DD format.

Default: null
limitinteger

Max number of results to return. Default: 100, maximum: 500. Use with offset for pagination (e.g. limit=100, offset=0 for first page; offset=100 for second page).

Default: null
object_typestring

Filter by the drafted model name, e.g. accountingbill, journalentry.

Default: null
offsetinteger

Number of results to skip for pagination. Default: 0.

Default: null
search_textstring

Keyword search across draft payloads.

Default: null
sort_bystring

Sort field. Default is newest first. Allowed: app, approved_at, approved_by_name, created_at, created_by_name, id, last_modified_at, model, object_id, operation, rejected_at, rejected_by_name, status.

Default: null
sort_orderstring

asc or desc. Used with sort_by.

Default: null
start_datestring

Created on or after. Inclusive start date in YYYY-MM-DD format.

Default: null
statusstring

Filter by draft status, e.g. pending, accepted, rejected.

Default: null

Get Bills

get_bills
Full Description

Retrieve bills with optional filtering. Returns {count, results}.

tag_ids and department_ids match against the bill's lines, so bills can be scoped to one project tag or department.

Parameters (0 required, 13 optional)
Optional
ap_account_idinteger

Filter by accounts payable account ID.

Default: null
currencystring

Filter by currency code (e.g. USD, EUR).

Default: null
department_idsarray

Filter to bills with a line in any of these departments (see get_departments). Combine with tag_ids to narrow a project tag to one department.

Default: null
end_datestring

Filter bills on or before this date. Format: YYYY-MM-DD.

Default: null
entity_idinteger

Filter by entity ID.

Default: null
limitinteger

Max number of results to return. Default: 100, maximum: 500. Use with offset for pagination (e.g. limit=100, offset=0 for first page; offset=100 for second page).

Default: null
offsetinteger

Number of results to skip for pagination. Default: 0.

Default: null
qstring

Search query for bills.

Default: null
start_datestring

Filter bills on or after this date. Format: YYYY-MM-DD.

Default: null
statusstring

Filter by bill status (case-insensitive). Valid values: PAID, UNPAID, OPEN, PARTIALLY_PAID, PAYMENT_PENDING, PAST_DUE, VOIDED.

Default: null
tag_group_idsarray

Filter to bills with a line carrying any tag from these tag group IDs (see get_tags(groups_only=true)).

Default: null
tag_idsarray

Filter to bills with a line carrying any of these tag IDs (see get_tags). Use this to scope bills to one project or customer tag.

Default: null
vendor_idinteger

Filter by vendor ID.

Default: null

Get Budget Accounts

get_budget_accounts
Full Description

Retrieve the amount rows of a budget. Returns {count, results}.

One row per (account, period, department) with id, account, account_name, period, department, department_name and amount. Budgets can have thousands of rows, so filter by account_id or period and paginate. Change amounts with set_budget_amounts.

Parameters (1 required, 5 optional)
Required
budget_idinteger

Budget id (see get_budgets).

Optional
account_idinteger

Filter to one account id.

Default: null
department_idinteger

Filter to one department id (department_row budgets only).

Default: null
limitinteger

Max number of results to return. Default: 100, maximum: 500. Use with offset for pagination (e.g. limit=100, offset=0 for first page; offset=100 for second page).

Default: null
offsetinteger

Number of results to skip for pagination. Default: 0.

Default: null
periodinteger

Filter to one 1-based period index.

Default: null

Get Budgets

get_budgets
Full Description

Retrieve budget headers with optional filtering by name or entity. Returns {count, results}.

Each row carries id, name, cadence, periods, start_date, end_date, entity, department, breakdown_type and tags. Use get_budget_accounts for the per-account amounts and comparative_income_statement(budget_id=...) for budget vs actual.

Parameters (0 required, 5 optional)
Optional
entity_idinteger

Filter by entity ID.

Default: null
entity_namestring

Filter by entity name (substring match).

Default: null
limitinteger

Max number of results to return. Default: 100, maximum: 500. Use with offset for pagination (e.g. limit=100, offset=0 for first page; offset=100 for second page).

Default: null
offsetinteger

Number of results to skip for pagination. Default: 0.

Default: null
qstring

Search by budget name.

Default: null

Get Cash By Customer

get_cash_by_customer
Full Description

Cash collected per customer: credit-side activity offset against bank accounts. Dates are optional and bound the posted transactions; omit both for all activity.

Parameters (0 required, 2 optional)
Optional
end_datestring

Inclusive end date in YYYY-MM-DD format.

Default: null
start_datestring

Inclusive start date in YYYY-MM-DD format.

Default: null

Get Cash By Vendor

get_cash_by_vendor
Full Description

Cash paid per vendor: debit-side activity offset against bank accounts. Dates are optional and bound the posted transactions; omit both for all activity.

Parameters (0 required, 2 optional)
Optional
end_datestring

Inclusive end date in YYYY-MM-DD format.

Default: null
start_datestring

Inclusive start date in YYYY-MM-DD format.

Default: null

Get Chart Account Settings

get_chart_account_settings
Full Description

Retrieve the company's default accounts: AP, AR, unapplied credits/debits, deferred, accrued and unbilled revenue, discount, tax, clearing, processing fees, refund, fixed asset disposal and bad debt. Each setting has an account id plus a *_name_and_number display value. Call this before creating bills, invoices or memos to pick the right default accounts.

Get Close Checklist

get_close_checklist
Full Description

Retrieve one month's close checklist as task rows with prepare/review status, assignees, linked journal numbers and note/attachment presence. Returns {count, results}. Use list_record_attachments with record_type close_task to inspect a task's files.

Parameters (0 required, 6 optional)
Optional
action_typestring

Exact task action type, e.g. BANK_RECONCILIATION. Omit to discover the types in use.

Default: null
entity_idinteger

Filter to one entity's tasks (see get_entities).

Default: null
periodstring

Month to inspect as YYYY-MM or any date in that month (YYYY-MM-DD). Omit for the most recent checklist; do not guess the current month.

Default: null
qstring

Keyword search across description, action type, section, entity and assignee.

Default: null
sectionstring

Filter to one section of the close.

Default: null
statusstring

pending (not completed), needs_review (completed, not reviewed) or reviewed.

Default: null

Get Contract Line Items

get_contract_line_items
Full Description

Retrieve one contract's line items of a given type. Returns {count, results}.

Parameters (2 required, 2 optional)
Required
contract_idinteger

Contract id (see get_contracts).

line_item_typestring

Which line items to return: subscriptions, usage, milestones or bundles.

Options:subscriptionsusagemilestonesbundles
Optional
limitinteger

Max number of results to return. Default: 100, maximum: 500. Use with offset for pagination (e.g. limit=100, offset=0 for first page; offset=100 for second page).

Default: null
offsetinteger

Number of results to skip for pagination. Default: 0.

Default: null

Get Contracts

get_contracts
Full Description

Retrieve revenue recognition contracts with optional filtering. Returns {count, results}.

Parameters (0 required, 6 optional)
Optional
client_idinteger

Filter by client ID.

Default: null
entity_idinteger

Filter by entity ID.

Default: null
limitinteger

Max number of results to return. Default: 100, maximum: 500. Use with offset for pagination (e.g. limit=100, offset=0 for first page; offset=100 for second page).

Default: null
offsetinteger

Number of results to skip for pagination. Default: 0.

Default: null
qstring

Search query for contracts.

Default: null
statusstring

Filter by contract status (case-insensitive). Valid values: ACTIVE, PENDING, COMPLETED.

Default: null

Get Credit Memos

get_credit_memos
Full Description

Retrieve credit memos with optional filtering. Returns {count, results}.

Parameters (0 required, 9 optional)
Optional
client_idinteger

Filter by client ID.

Default: null
currencystring

Filter by currency code (e.g. USD, EUR).

Default: null
end_datestring

Filter credit memos on or before this date. Format: YYYY-MM-DD.

Default: null
entity_idinteger

Filter by entity ID.

Default: null
limitinteger

Max number of results to return. Default: 100, maximum: 500. Use with offset for pagination (e.g. limit=100, offset=0 for first page; offset=100 for second page).

Default: null
offsetinteger

Number of results to skip for pagination. Default: 0.

Default: null
qstring

Search query for credit memos.

Default: null
start_datestring

Filter credit memos on or after this date. Format: YYYY-MM-DD.

Default: null
statusstring

Filter by credit memo status (case-insensitive). Valid values: OPEN, PARTIALLY_USED, USED, VOIDED.

Default: null

Get Current User

get_current_user
Full Description

Describe who this connection acts as: the person, their workspace ("tenant"), their role, their permission grid per object type (none/read/draft/write) and approval rights, plus the MCP scopes granted to this connection. Call it first to learn which workspace you are in and what the write tools will be allowed to do.

Get Custom Fields

get_custom_fields
Full Description

Retrieve custom field definitions. Returns {count, results}.

Custom fields are extra typed attributes (text, single_select, date, number, boolean) defined per object type; values are written on an object as custom_field_<name> keys when creating or updating it. They are NOT tags: tags and tag groups (get_tags / get_tag_groups) are reporting dimensions attached to transactions and lines. Each row carries id, model, name, label, field_type, options, is_required, display_order and is_active.

Parameters (0 required, 4 optional)
Optional
is_activeboolean

Filter by active status; omit for all.

Default: null
limitinteger

Max number of results to return. Default: 100, maximum: 500. Use with offset for pagination (e.g. limit=100, offset=0 for first page; offset=100 for second page).

Default: null
modelstring

Filter by object type. Object type the field belongs to, as the content-type model name: accountingbill, accountingbillline, accountingbillpayment, accountinginvoice, accountinginvoiceline, accountinginvoicepayment, accountingcreditmemo, accountingdebitmemo, journalentry, intercompanyjournalentry, fixedasset, accountingamortization, vendor, chartentity, contract, product.

Default: null
offsetinteger

Number of results to skip for pagination. Default: 0.

Default: null

Get Debit Memos

get_debit_memos
Full Description

Retrieve debit memos with optional filtering. Returns {count, results}.

Parameters (0 required, 9 optional)
Optional
currencystring

Filter by currency code (e.g. USD, EUR).

Default: null
end_datestring

Filter debit memos on or before this date. Format: YYYY-MM-DD.

Default: null
entity_idinteger

Filter by entity ID.

Default: null
limitinteger

Max number of results to return. Default: 100, maximum: 500. Use with offset for pagination (e.g. limit=100, offset=0 for first page; offset=100 for second page).

Default: null
offsetinteger

Number of results to skip for pagination. Default: 0.

Default: null
qstring

Search query for debit memos.

Default: null
start_datestring

Filter debit memos on or after this date. Format: YYYY-MM-DD.

Default: null
statusstring

Filter by debit memo status (case-insensitive). Valid values: OPEN, PARTIALLY_USED, USED, VOIDED.

Default: null
vendor_idinteger

Filter by vendor ID.

Default: null

Get Deferred Revenue By Customer

get_deferred_revenue_by_customer
Full Description

Deferred revenue (DEFERRED_REVENUE accounts, net credit) grouped by customer. Dates are optional and bound the posted transactions; omit both for all activity.

Parameters (0 required, 2 optional)
Optional
end_datestring

Inclusive end date in YYYY-MM-DD format.

Default: null
start_datestring

Inclusive start date in YYYY-MM-DD format.

Default: null

Get Departments

get_departments
Full Description

Retrieve department hierarchy with optional search filtering. Returns {count, results}.

Parameters (0 required, 3 optional)
Optional
limitinteger

Max number of results to return. Default: 100, maximum: 500. Use with offset for pagination (e.g. limit=100, offset=0 for first page; offset=100 for second page).

Default: null
offsetinteger

Number of results to skip for pagination. Default: 0.

Default: null
qstring

Search by department name or code.

Default: null

Get Entities

get_entities
Full Description

Retrieve chart entities (companies, subsidiaries, locations). Returns {count, results}.

Parameters (0 required, 3 optional)
Optional
include_inactiveboolean

If true, include inactive entities. Default from server is true.

Default: null
limitinteger

Max number of results to return. Default: 100, maximum: 500. Use with offset for pagination (e.g. limit=100, offset=0 for first page; offset=100 for second page).

Default: null
offsetinteger

Number of results to skip for pagination. Default: 0.

Default: null

Get Expenses By Department

get_expenses_by_department
Full Description

Operating expenses (OPERATING_EXPENSES accounts, net debit) grouped by department. Dates are optional and bound the posted transactions; omit both for all activity.

Parameters (0 required, 2 optional)
Optional
end_datestring

Inclusive end date in YYYY-MM-DD format.

Default: null
start_datestring

Inclusive start date in YYYY-MM-DD format.

Default: null

Get Expenses By Vendor

get_expenses_by_vendor
Full Description

Operating expenses (OPERATING_EXPENSES accounts, net debit) grouped by vendor, largest first. Dates are optional and bound the posted transactions; omit both for all activity.

Parameters (0 required, 2 optional)
Optional
end_datestring

Inclusive end date in YYYY-MM-DD format.

Default: null
start_datestring

Inclusive start date in YYYY-MM-DD format.

Default: null

Get Fixed Asset Classes

get_fixed_asset_classes
Full Description

Retrieve fixed asset classes: useful life plus the asset, accumulated depreciation and depreciation expense accounts used for PP&E. Use it to find asset class ids for get_fixed_assets and create_fixed_asset. Returns {count, results}.

Parameters (0 required, 3 optional)
Optional
limitinteger

Max number of results to return. Default: 100, maximum: 500. Use with offset for pagination (e.g. limit=100, offset=0 for first page; offset=100 for second page).

Default: null
offsetinteger

Number of results to skip for pagination. Default: 0.

Default: null
qstring

Search by class name or useful life in months.

Default: null

Get Fixed Assets

get_fixed_assets
Full Description

Retrieve fixed assets with optional filtering. Returns {count, results}.

Parameters (0 required, 9 optional)
Optional
asset_class_idinteger

Filter by asset class ID.

Default: null
currencystring

Filter by currency code (e.g. USD, EUR).

Default: null
end_datestring

Filter fixed assets on or before this date. Format: YYYY-MM-DD.

Default: null
entity_idinteger

Filter by entity ID.

Default: null
limitinteger

Max number of results to return. Default: 100, maximum: 500. Use with offset for pagination (e.g. limit=100, offset=0 for first page; offset=100 for second page).

Default: null
offsetinteger

Number of results to skip for pagination. Default: 0.

Default: null
qstring

Search query for fixed assets.

Default: null
start_datestring

Filter fixed assets on or after this date. Format: YYYY-MM-DD.

Default: null
statusstring

Filter by fixed asset status (case-insensitive).

Default: null

Get Invoices

get_invoices
Full Description

Retrieve invoices with optional filtering. Returns {count, results}.

tag_ids and department_ids match against the invoice's lines, so invoices can be scoped to one project tag or department.

Parameters (0 required, 12 optional)
Optional
client_idinteger

Filter by client ID.

Default: null
currencystring

Filter by currency code (e.g. USD, EUR).

Default: null
department_idsarray

Filter to invoices with a line in any of these departments (see get_departments).

Default: null
end_datestring

Filter invoices on or before this date. Format: YYYY-MM-DD.

Default: null
entity_idinteger

Filter by entity ID.

Default: null
limitinteger

Max number of results to return. Default: 100, maximum: 500. Use with offset for pagination (e.g. limit=100, offset=0 for first page; offset=100 for second page).

Default: null
offsetinteger

Number of results to skip for pagination. Default: 0.

Default: null
qstring

Search query for invoices.

Default: null
start_datestring

Filter invoices on or after this date. Format: YYYY-MM-DD.

Default: null
statusstring

Filter by invoice status (case-insensitive). Valid values: VOIDED, PAID, UNPAID, SENT, PARTIALLY_PAID, UNCOLLECTIBLE, DRAFT, PAST_DUE.

Default: null
tag_group_idsarray

Filter to invoices with a line carrying any tag from these tag group IDs (see get_tags(groups_only=true)).

Default: null
tag_idsarray

Filter to invoices with a line carrying any of these tag IDs (see get_tags). Use this to scope billings to one project or customer tag.

Default: null

Get Journal Entries

get_journal_entries
Full Description

Retrieve journal entry headers, optionally with their transaction lines.

Lines are the same ChartTransaction rows get_transactions returns, nested per entry. Omitting both dates returns only recent entries; pass explicit dates to reach older ones. Returns {count, results}; count is the full total so truncation is visible.

Parameters (0 required, 16 optional)
Optional
account_idinteger

Only entries with at least one line on this account id.

Default: null
created_by_namestring

Case-insensitive substring filter on the derived creator name.

Default: null
created_by_user_idinteger

Filter by the derived creator user id.

Default: null
end_datestring

Inclusive end date in YYYY-MM-DD format.

Default: null
entity_idinteger

Only entries posted against this entity id.

Default: null
entry_typesarray

Restrict to these JournalEntry types, e.g. ['journal_entry', 'revenue_recognition']. Use it to skip operational types such as bill, payment, credit_card and deposit.

Default: null
include_created_byboolean

Include the derived creator fields (created_by, created_by_name, source).

Default: False
include_linesboolean

Include each entry's debit/credit lines. Default false; lines inflate the payload.

Default: False
journal_idstring

Filter by the entry's journal_id UUID.

Default: null
limitinteger

Max number of results to return. Default: 100, maximum: 500. Use with offset for pagination (e.g. limit=100, offset=0 for first page; offset=100 for second page).

Default: null
memo_containsstring

Case-insensitive substring filter on the memo.

Default: null
offsetinteger

Number of results to skip for pagination. Default: 0.

Default: null
orderstring

Filter by the human-readable JE number.

Default: null
sortstring

Comma-separated sort fields; prefix with '-' for descending (e.g. '-date,-id'). Allowed: created_at, date, id, last_modified_at, memo, order, ref_number, source, type.

Default: null
sourcestring

Filter by JournalEntry.source.

Default: null
start_datestring

Inclusive start date in YYYY-MM-DD format.

Default: null

Get Journal Entry Summary

get_journal_entry_summary
Full Description

Cheap aggregate of journal entries: total count, count by source, earliest and latest date, line count and booked debit/credit totals. Use it as a pre-flight check for whether Campfire holds data for an entity or period before pulling entries or transactions.

Parameters (0 required, 3 optional)
Optional
end_datestring

Inclusive end date in YYYY-MM-DD format.

Default: null
entity_idinteger

Restrict to this entity id.

Default: null
start_datestring

Inclusive start date in YYYY-MM-DD format.

Default: null

Get Leases

get_leases
Full Description

Retrieve leases with optional filtering. Returns {count, results}.

Parameters (0 required, 11 optional)
Optional
classificationstring

Filter by lease classification (e.g. OPERATING, FINANCE).

Default: null
commencement_date_fromstring

Filter leases commencing on or after this date. Format: YYYY-MM-DD.

Default: null
commencement_date_tostring

Filter leases commencing on or before this date. Format: YYYY-MM-DD.

Default: null
currencystring

Filter by currency code (e.g. USD, EUR).

Default: null
entity_idinteger

Filter by entity ID.

Default: null
expiration_date_fromstring

Filter leases expiring on or after this date. Format: YYYY-MM-DD.

Default: null
expiration_date_tostring

Filter leases expiring on or before this date. Format: YYYY-MM-DD.

Default: null
limitinteger

Max number of results to return. Default: 100, maximum: 500. Use with offset for pagination (e.g. limit=100, offset=0 for first page; offset=100 for second page).

Default: null
offsetinteger

Number of results to skip for pagination. Default: 0.

Default: null
qstring

Search query for leases.

Default: null
vendor_idinteger

Filter by vendor ID.

Default: null

Get Payment Terms

get_payment_terms
Full Description

Retrieve payment terms (Net 30, Net 60, Due on Receipt, ...) ordered by due days. Use it to find payment term ids for create_invoice and create_bill. Returns {count, results}.

Parameters (0 required, 6 optional)
Optional
applies_to_billsboolean

Only terms usable on bills (true) or not (false).

Default: null
applies_to_invoicesboolean

Only terms usable on invoices (true) or not (false).

Default: null
include_inactiveboolean

Include inactive terms. Default false.

Default: False
limitinteger

Max number of results to return. Default: 100, maximum: 500. Use with offset for pagination (e.g. limit=100, offset=0 for first page; offset=100 for second page).

Default: null
offsetinteger

Number of results to skip for pagination. Default: 0.

Default: null
qstring

Search by name or payment due days.

Default: null

Get Prepaid Expenses By Vendor

get_prepaid_expenses_by_vendor
Full Description

Prepaid expense balances (PREPAID accounts, net debit) grouped by vendor. Dates are optional and bound the posted transactions; omit both for all activity.

Parameters (0 required, 2 optional)
Optional
end_datestring

Inclusive end date in YYYY-MM-DD format.

Default: null
start_datestring

Inclusive start date in YYYY-MM-DD format.

Default: null

Get Products

get_products
Full Description

Retrieve the product and service catalog. Use it to find product ids for invoices and contract line items. Returns {count, results}.

Parameters (0 required, 4 optional)
Optional
limitinteger

Max number of results to return. Default: 100, maximum: 500. Use with offset for pagination (e.g. limit=100, offset=0 for first page; offset=100 for second page).

Default: null
offsetinteger

Number of results to skip for pagination. Default: 0.

Default: null
product_namestring

Case-insensitive contains filter on product name.

Default: null
qstring

Keyword search: a number matches the product id, text matches name or product code.

Default: null

Get Revenue By Customer

get_revenue_by_customer
Full Description

Revenue (REVENUE accounts, net credit) grouped by customer, largest first. Dates are optional and bound the posted transactions; omit both for all activity.

Parameters (0 required, 2 optional)
Optional
end_datestring

Inclusive end date in YYYY-MM-DD format.

Default: null
start_datestring

Inclusive start date in YYYY-MM-DD format.

Default: null

Get Revenue Transactions

get_revenue_transactions
Full Description

Retrieve revenue transactions with optional filtering. Returns {count, results}.

Parameters (0 required, 11 optional)
Optional
client_idinteger

Filter by client ID.

Default: null
contract_idinteger

Filter by contract ID.

Default: null
currencystring

Filter by currency code (e.g. USD, EUR).

Default: null
end_datestring

Filter revenue transactions on or before this date. Format: YYYY-MM-DD.

Default: null
entity_idinteger

Filter by entity ID.

Default: null
limitinteger

Max number of results to return. Default: 100, maximum: 500. Use with offset for pagination (e.g. limit=100, offset=0 for first page; offset=100 for second page).

Default: null
offsetinteger

Number of results to skip for pagination. Default: 0.

Default: null
product_idinteger

Filter by product ID.

Default: null
qstring

Search query for revenue transactions.

Default: null
revenue_typestring

Filter by revenue type.

Default: null
start_datestring

Filter revenue transactions on or after this date. Format: YYYY-MM-DD.

Default: null

Get Tag Groups

get_tag_groups
Full Description

Retrieve tag groups (custom dimensions such as 'Location' or 'Product Line').

A tag group is a reporting dimension whose values are tags; it is NOT a custom field (see get_custom_fields for typed per-object attributes). Returns {count, results}; each row carries id, name, slug and timestamps. Pass a group's id as group_id to get_tags to list its values, or its name as tag_group_name to the financial report tools when group_by='tag'.

Parameters (0 required, 3 optional)
Optional
limitinteger

Max number of results to return. Default: 100, maximum: 500. Use with offset for pagination (e.g. limit=100, offset=0 for first page; offset=100 for second page).

Default: null
offsetinteger

Number of results to skip for pagination. Default: 0.

Default: null
qstring

Search by tag group name.

Default: null

Get Tags

get_tags
Full Description

Retrieve transaction tags (custom dimension values). Returns {count, results}.

Tags are reporting dimensions attached to transactions and document lines; they are NOT custom fields (typed per-object attributes, see get_custom_fields). Each tag row carries id, name, group, group_name, parent, parent_name and is_active. Filter by `q (matches tag or group name) and group_id. With groups_only=True returns the customer's tag groups as {id, name}` rows instead; prefer get_tag_groups for the full group representation.

Parameters (0 required, 5 optional)
Optional
group_idinteger

If set (and groups_only is false), only return tags within this TransactionTagGroup id.

Default: null
groups_onlyboolean

If true, return TransactionTagGroups instead of individual tags. Use this to discover the names of available tag dimensions (e.g. 'Location', 'Department') before calling a financial report tool with group_by='tag' and tag_group_name=<name>.

Default: False
limitinteger

Max number of results to return. Default: 100, maximum: 500. Use with offset for pagination (e.g. limit=100, offset=0 for first page; offset=100 for second page).

Default: null
offsetinteger

Number of results to skip for pagination. Default: 0.

Default: null
qstring

Search by tag name.

Default: null

Get Transactions

get_transactions
Full Description

Retrieve general ledger transactions with filtering and pagination. All dates YYYY-MM-DD. Returns {count, results}.

Parameters (0 required, 13 optional)
Optional
account_idinteger

Filter by account ID.

Default: null
account_subtypestring

Filter by account subtype (case-insensitive). Valid values: BANK, ACCOUNTS_RECEIVABLE, UNBILLED_RECEIVABLE, OTHER_CURRENT_ASSET, SALES_TAX_RECEIVABLE, FIXED_ASSET, OTHER_ASSET, EQUITY, ACCOUNTS_PAYABLE, UNAPPLIED_CREDITS, CREDIT_CARD, ACCRUED_REVENUE, DEFERRED_REVENUE, OTHER_CURRENT_LIABILITY, SALES_TAX_PAYABLE, LONG_TERM_LIABILITY, INCOME, COST_OF_GOODS_SOLD, EXPENSE, DEFERRED_EXPENSE, OTHER_INCOME, OTHER_EXPENSE, PREPAID, UNCATEGORIZED, RETAINED_EARNINGS, REALIZED_GAIN_LOSS, UNREALIZED_GAIN_LOSS, COST_ALLOCATION.

Default: null
account_typestring

Filter by account type (case-insensitive). Valid values: ASSET, LIABILITY, EQUITY, REVENUE, COGS, OPERATING_EXPENSES, OTHER_INCOME, OTHER_EXPENSE, UNCATEGORIZED, COST_ALLOCATION.

Default: null
date_fromstring

Start of date range. Format: YYYY-MM-DD.

Default: null
date_tostring

End of date range. Format: YYYY-MM-DD.

Default: null
department_idinteger

Filter by department ID.

Default: null
entity_idinteger

Filter by entity ID.

Default: null
limitinteger

Max number of results to return. Default: 100, maximum: 500. Use with offset for pagination (e.g. limit=100, offset=0 for first page; offset=100 for second page).

Default: null
offsetinteger

Number of results to skip. Use with limit for pagination (e.g. offset=0 then offset=100 for next page). Default: 0.

Default: null
qstring

Search query (e.g. bank description).

Default: null
tag_idinteger

Filter by a single tag ID. Prefer tag_ids; both may be combined.

Default: null
tag_idsarray

Filter by several tag IDs at once. A row matches if it carries ANY of these tags, so pass tags from one tag group (e.g. several projects). To narrow within one tag, combine tag_ids with department_id or account_id rather than adding a second dimension's tags here.

Default: null
vendor_idinteger

Filter by vendor ID.

Default: null

Get Trial Balance

get_trial_balance
Full Description

Monthly trial balance, one row per account with a debit-positive balance column per YYYY-MM period. With cumulative=true it is an authoritative ending-balance source for reconciliations. Use get_trial_balance_summary for a cheap account-type rollup instead. Returns {count, results}.

Parameters (2 required, 4 optional)
Required
end_periodstring

Latest period. Month in YYYY-MM format (e.g. 2025-03).

start_periodstring

Earliest period. Month in YYYY-MM format (e.g. 2025-03).

Optional
cumulativeboolean

True (default): running ending balance per month-end. False: that month's net activity.

Default: True
entity_idinteger

Entity id. Omit for the customer's root entity with all descendants rolled up. An explicit id scopes the report to that entity alone unless entity_rollup is true.

Default: null
entity_rollupboolean

With an explicit entity_id, also include its descendant entities.

Default: False
use_book_valuesboolean

Use entity book-currency amounts instead of consolidation currency. Single entity only.

Default: False

Get Trial Balance Summary

get_trial_balance_summary
Full Description

Trial balance collapsed to totals by account type per period, plus account counts and per-period absolute totals. A cheap "is there data for this period?" check; drill into accounts with get_trial_balance.

Parameters (2 required, 1 optional)
Required
end_periodstring

Latest period. Month in YYYY-MM format (e.g. 2025-03).

start_periodstring

Earliest period. Month in YYYY-MM format (e.g. 2025-03).

Optional
entity_idinteger

Entity id. Omit for the customer's root entity with all descendants rolled up. An explicit id scopes the report to that entity alone unless entity_rollup is true.

Default: null

Get Unearned Revenue By Customer

get_unearned_revenue_by_customer
Full Description

Accrued / unearned revenue (ACCRUED_REVENUE accounts, net credit) grouped by customer. Dates are optional and bound the posted transactions; omit both for all activity.

Parameters (0 required, 2 optional)
Optional
end_datestring

Inclusive end date in YYYY-MM-DD format.

Default: null
start_datestring

Inclusive start date in YYYY-MM-DD format.

Default: null

Get Vendors

get_vendors
Full Description

Retrieve vendors with optional filtering by search query and vendor type. Returns {count, results}.

Parameters (0 required, 4 optional)
Optional
limitinteger

Max number of results to return. Default: 100, maximum: 500. Use with offset for pagination (e.g. limit=100, offset=0 for first page; offset=100 for second page).

Default: null
offsetinteger

Number of results to skip for pagination. Default: 0.

Default: null
qstring

Search by vendor name or details.

Default: null
vendor_typestring

Filter by vendor type (case-insensitive). Valid values: vendor, customer, employee.

Default: null

Income Statement

income_statement
Full Description

Generate income statement for a specified period and cadence. Dates must be YYYY-MM-DD. Can be filtered to specific departments, accounts and tags.

Parameters (0 required, 10 optional)
Optional
account_idsarray

Restrict the report to these account IDs. Call get_accounts() to discover IDs — filter it by account_type (e.g. OPERATING_EXPENSES, COGS) or account_subtype to find the accounts that make up a category.

Default: null
cadencestring

Reporting cadence (case-insensitive). Valid values: monthly, quarterly, yearly.

Default: null
date_fromstring

Start date of the period. Must be YYYY-MM-DD (e.g. 2024-01-01). Do not pass a year only (e.g. 2024); use full date.

Default: null
date_tostring

End date of the period. Must be YYYY-MM-DD (e.g. 2024-12-31). Do not pass a year only (e.g. 2024); use full date.

Default: null
department_idsarray

Restrict the report to these department IDs. Call get_departments() to discover IDs. This narrows the report; it is not the same as group_by='department', which keeps every department and breaks them out into separate columns.

Default: null
entity_idinteger

Entity ID for the report. Omit for default.

Default: null
group_bystring

Dimension to group results by. Valid values: vendor, department, tag, currency, entity. When group_by='tag', you MUST also pass tag_group_name (e.g. 'Location'); call get_tags(groups_only=true) first to discover the available tag groups for this customer.

Default: null
no_departmentboolean

If true, restrict the report to activity with no department assigned. Combine with department_ids to include unassigned activity alongside named departments. Supported by income_statement only.

Default: False
tag_group_namestring

Required when group_by='tag'. Names the TransactionTagGroup to pivot on, e.g. 'Location'. Case-insensitive. Ignored for other breakdowns. Call get_tags(groups_only=true) to discover the available tag groups.

Default: null
tag_idsarray

Restrict the report to these tag IDs. Call get_tags() to discover IDs. This filters the report; it is distinct from tag_group_name, which pivots columns by tag group.

Default: null

List Record Attachments

list_record_attachments
Full Description

List file attachments on one record as safe metadata (file id, name, content type, size, timestamps). Storage paths and uploader details are never returned. A missing or inaccessible record reports status not_found.

Parameters (2 required)
Required
record_idinteger

Numeric database id of the parent record, from the matching get_* tool.

record_typestring

Parent record type: contract, bill, invoice, journal_entry, fixed_asset, close_task or draft_queue.

Options:contractbillinvoicejournal_entryfixed_assetclose_taskdraft_queue

Read Help Article

read_help_article
Full Description

Read one complete Campfire help article by the Article ID surfaced by search_docs. Returns {content} as markdown.

Parameters (1 required)
Required
article_idstring

Exact Article ID from a search_docs result, e.g. accounting/bills/creating-managing-bills.

Read Record Attachment

read_record_attachment
Full Description

Read a bounded portion of one attachment's text. PDFs return page labels and continuation hints; other documents use character offsets. Content passes a safety scan before it is returned, which counts toward the company's Ember AI spend. Call list_record_attachments first to get the file id.

Parameters (3 required, 3 optional)
Required
file_idinteger

File id from list_record_attachments for this record.

record_idinteger

Numeric database id of the parent record, from the matching get_* tool.

record_typestring

Parent record type: contract, bill, invoice, journal_entry, fixed_asset, close_task or draft_queue.

Options:contractbillinvoicejournal_entryfixed_assetclose_taskdraft_queue
Optional
character_startinteger

Zero-based character offset to continue a non-PDF document.

Default: 0
page_endinteger

Last PDF page to read; at most 20 pages per call.

Default: null
page_startinteger

First one-based PDF page to read. Default 1.

Default: 1

Search Docs

search_docs
Full Description

Search Campfire help documentation and return the most relevant sections in full, each with its public link and an 'Article ID:' line. Use read_help_article with that id when a section is not enough context. Returns {content} as markdown.

Parameters (1 required, 1 optional)
Required
querystring

Natural-language question or topic, e.g. 'how to create a bill'.

Optional
max_resultsinteger

Maximum sections to return. Default 5, max 20.

Default: 5