- Brand
- Kick
- Category
- Finance
- Primary Subcategory
- Accounting & Bookkeeping
Integration details
Description
Kick MCP connects ChatGPT to your books across your businesses and clients. Read your financials, categorize transactions, post journal entries, and close the books faster. ChatGPT drafts, you review and approve with confidence.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Accounting & Bookkeeping
- Secondary Subcategories
- None listed
- Brand
- Kick
- Access
- Account required
- First tracked
- 2026-07-17
- Tool count
- 65
- Market
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Your score is coming
ChatGPT now suggests Plugins on its own when they match a user's request.Your Plugin Discovery Score measures how often yours appears, and it will show here as soon as it’s ready.
What discovery looks like

Get alerts for Kick
Get updates when Kick’s Discoverability Score or category rank changes.
Competing in ChatGPT Accounting & Bookkeeping
View Category65 tools agents can invoke
Applies and manages revenue recognition on invoices, customer payments, and manual sources for one entity. 'apply' puts one revenue policy on one invoice (optionally sourceLineIds), payment, or manual source (manualSourceLabel plus termStart; that date is the source date). Do not pass termStart for an invoice or payment: the tool reads the invoice date, or the payment's calendar date, and sends that. Pass specificDate when the policy anchors on one date. Pass ledgerId for an accrual ledger other than the primary. Pass overrides for a one-off component list or recognition account. Several components are allowed; at most one straight-line or daily pro-rata row. 'bulk_apply' applies one policy to 1-100 invoices or payments and reads each source date. A source that already has a different schedule is replaced when you confirm the preview. A source already on this policy is skipped. A matched invoice or payment that is already scheduled returns Skip or Cancel. 'remove' / 'bulk_remove' take recognitions off. 'change' re-spreads with a new amount (payment or manual source only; an invoice recognition follows its invoice total, so change that with invoices_update), term, start, component list, or recognition account. 'pause', 'resume', and 'stop' need effectiveDate; ask the user. There is no default. 'bulk_pause', 'bulk_resume', and 'bulk_stop' do the same for 1-100 recognitionIds with one date and, for stop, one choice; each recognition runs on its own, and refused ones come back in 'failed'. Find sources with revenue_recognition_query 'candidates' and recognitions with 'recognitions_list'. Omit confirmationToken to preview; resend the same input with the returned confirmationToken after the user approves. When the response is 'choice_required', show the options, ask the user, then resend the same input plus 'choice'. Never pick for the user. Applying posts journal entries now, including future months. Revenue only.
revenue_recognition_apply
Reads Kick-native invoices (source MANUAL) the customer receives by email — NOT bookkeeping AR (use a bookkeeping tool for source: mcp / Stripe / importer rows). operation 'list' (default) browses invoices for the workspace (filter by entity, customer, status, invoice dates, search, overdue); 'get' returns one native invoice plus send-card fields (lines, email to/subject, collect payment, from, and a private app_url/links.app.url to the invoice's PDF preview page — login required, share only with the workspace's own users); 'stats' returns counts/totals for the same filters (stats totals are a raw cross-currency sum with no formatted label or minor-unit integer). Always resolves only MANUAL rows; a get of a non-MANUAL id is 404. Resolve workspaceId (context_resolve) first; entityId is required for 'get'. Preview html and pay-link tokens are never returned. Money fields (total, unitAmount, amount) are major currency units, not minor units: 10000 usd is $10,000.00. Report totalFormatted / amountFormatted to the user; *MinorUnits is the smallest-currency-unit integer for that currency (usd ×100, jpy ×1, kwd ×1000; read-only). Do not divide total by 100.
native_invoices_query
Reads catalog items (invoice line items / products & services) for one entity. operation 'list' (default) browses items (name, active, default price, revenue account, invoice count); 'get' returns one item with its full price list. Every catalog item is a service (inventory items aren't supported yet). Catalog items are entity-scoped: resolve workspaceId + numeric entityId first (context_resolve / entities_query). Use these ids to compose a native invoice with native_invoices_act 'create'. unitAmount / defaultUnitAmount are major currency units, not minor units (10000 usd is $10,000.00). Use *Formatted when reporting to the user; *MinorUnits is the smallest-currency-unit integer for that currency (usd ×100, jpy ×1, kwd ×1000; read-only). Do not divide by 100.
catalog_items_query
Lists, searches, and summarizes transaction categories. Use operation to select the read mode. Do NOT create or edit categories; use categories_act. For tracking classes use classes_query. When workspace.glFirstEnabled === true, categories do not drive classification — classify transactions by GL account via accounting_query + transactions_act accountOverrides instead.
categories_query
Reads an organization's chart of accounts templates. operation 'list' (default) browses templates; 'accounts' returns one template's groups and accounts; 'applied_entities' returns the entities it was applied to (look up names with entities_query). Read-only; use chart_of_accounts_templates_act to mutate.
chart_of_accounts_templates_query
Lists, searches, summarizes, and inspects usage for tracking classes. Use operation to select the read mode. Classes are plan-gated. Do NOT create or edit classes; use classes_act. For categories use categories_query.
classes_query
Reads close templates in an organization. operation 'list' (default) browses templates with optional serviceIds, ownerIds, typeFilter (general | client_specific), and includeArchived filters; operation 'get' returns one template header joined with its task checklist (requires closeTemplateId). Read-only; use close_templates_act to mutate.
close_templates_query
Lists and searches counterparties (payees, customers, vendors). Use operation: search with a search term to resolve a counterpartyId before editing. Do NOT create, merge, or delete counterparties; use counterparties_act.
counterparties_query
Searches financial documents and gets one document's metadata. Returns metadata only, not file bytes or download URLs; use documents_download for a temporary download URL. Do NOT upload, rename, or attach documents here.
documents_query
Lists and searches business entities across accessible workspaces (personal and mock entities are excluded), gets an entity's mailing address, or gets one entity's profile metadata. Do NOT create or edit entities; use entities_act.
entities_query
Reads Kick-native invoice templates for one entity. operation 'list' (default) browses active templates (name, customer, total, currency); operation 'get' returns the apply payload used to create a native draft (resolved latest customer, today + derived due date, fresh line ids, rebuilt email) — it persists nothing. Templates are entity-scoped: resolve workspaceId + numeric entityId first (context_resolve / entities_query). These are Kick-native invoices the customer receives by email — different from invoices_create (bookkeeping AR). Use native_invoices_act to create a draft and send it. Money fields (total, unitAmount) are major currency units, not minor units: 10000 usd is $10,000.00. Use totalFormatted when reporting to the user; totalMinorUnits is the smallest-currency-unit integer for that currency (usd ×100, jpy ×1, kwd ×1000; read-only). Do not divide total by 100.
invoice_templates_query
Reads tasks in a workspace. operation 'list' (default) lists tasks with optional status, assignee, entity, date, and search filters; operation 'read_comments' returns a task's chat/comment thread (newest-first, requires taskId). Do NOT create or update tasks; use tasks_act.
tasks_query
Lists accessible workspaces with their nested entities in one call. Most workflows should start here: call it first to orient before any workspace, entity, accounting, transaction, or reporting work. Takes no required input: call it with no arguments to see every workspace and entity you can access, including to confirm the current workspace. Use context_resolve instead when the user gives a specific name to match. Each workspace reports glFirstEnabled: when true, classify by GL account (accounting_query + transactions_act accountOverrides), not category.
context_browse
Creates and manages Kick-native invoices (customer-facing PDF, optional Stripe pay link) — NOT the bookkeeping AR row invoices_create writes. Operations: 'create_from_template' (DRAFT from a template), 'create' (DRAFT composed from catalog lines — pass counterpartyId + lines, the tool builds the snapshot), 'update' (edit a DRAFT; DRAFT-only), 'send' (email an existing draft), 'delete' (remove a leftover DRAFT; DRAFT-only). Only usd is supported: a catalog line or template in any other currency is rejected. Quantity must be greater than 0. An invoiceNumber already used on the entity is rejected. The invoice date defaults to today in the workspace timezone. Never assemble a render snapshot; the tool maps. Use native_invoices_query to find invoices and catalog_items_query to resolve catalog lines. Combined create-and-send is two confirms: create, then send the returned invoiceId. Omit confirmationToken to preview (card shows To, amount, From, PDF, collect-payment; delete shows the draft it will permanently remove); resend with the returned confirmationToken to apply. Write unitAmount / totals in major currency units, not cents (10000 usd is $10,000.00). Preview cards show a formatted amount; do not divide by 100.
native_invoices_act
Create one or more accounts-payable bills in a workspace. Bills are stored with source "mcp" and are always opened (status OPEN). status must be draft or open; paid and void are rejected and are not a way to mark a bill paid. A negative total is rejected. Both the workspaceId and each bill's entityId are required. Resolve the workspace with context_browse or context_resolve, the numeric entityId with entities_query, and any counterpartyId (the vendor) with counterparties_query before calling. Each line may set its general-ledger accounts: accountOverrides (the expense/GL account) and accountsPayableOverrides (the AP account), each [{ accountingLedgerId, accountId }]; resolve accountId via accounting_query accounts_list and accountingLedgerId via accounting_query ledgers_get or context_resolve. When workspace.glFirstEnabled === true, set these so the bill books to the right GL accounts instead of uncategorized. Omit confirmationToken to receive a preview; show the entity, bill number, currency, line descriptions and amounts, then resend the same input with the returned confirmationToken to commit.
bills_create
Create one or more accounts-receivable invoices in a workspace. Invoices are stored with source "mcp" and are always opened (status OPEN). Currency must be usd; any other currency is rejected. status must be draft or open; paid, void, and uncollectible are rejected and are not a way to mark an invoice paid. A negative total is rejected. Both the workspaceId and each invoice's entityId are required. Resolve the workspace with context_browse or context_resolve, the numeric entityId with entities_query, and any counterpartyId with counterparties_query before calling. Each line may set its general-ledger accounts: accountOverrides (the income/GL account) and accountsReceivableOverrides (the AR account), each [{ accountingLedgerId, accountId }]; resolve accountId via accounting_query accounts_list and accountingLedgerId via accounting_query ledgers_get or context_resolve. When workspace.glFirstEnabled === true, set these so the invoice books to the right GL accounts instead of uncategorized. Omit confirmationToken to receive a preview; show the entity, invoice number, currency, line descriptions and amounts, then resend the same input with the returned confirmationToken to commit.
invoices_create
Preview and then create a client workspace inside an organization. Use when an accountant or firm owner asks to add a new client, and show organization, workspace name, entity name, plan, invited emails, and billing ownership before confirmation. Omit confirmationToken to preview, then resend the same input with the returned confirmationToken.
organization_clients_create
Creates an organization service tier. Use when a close template needs a serviceId that does not exist yet. Omit confirmationToken to preview, then resend the same input with the returned confirmationToken to apply.
organization_services_act
Gets a temporary presigned download URL for a financial document by its numeric id. The URL expires after a few minutes.
documents_download
Reads reconciliation history, the current reconciliation summary, or blockers that would prevent undoing the last reconciliation. This tool never reconciles or removes anything.
reconciliation_query
Lists rule groups, accounting defaults, normalized descriptions, and previews/inspects transactions matched or affected by rules. Use operation to select the read mode. accounting_defaults returns templates, not persisted rules — do not pass those rows to applied_transactions. Do NOT create or edit rules; use rules_act.
rules_query
Reads the chart of accounts (per entity or across a workspace) and entity ledgers. Use operation to select the read mode. Do NOT create, edit, or merge accounts; use accounting_act. This is the primary classification surface when workspace.glFirstEnabled === true: resolve the GL accountId here (accounts_list) and the accountingLedgerId here (ledgers_get) to build accountOverrides for transactions_act.
accounting_query
Lists manual journal entries for an entity (with paging via limit/cursor, search, and since/until date filters), or gets one journal entry by id. Use total and nextCursor to page large ledgers. Do NOT create, update, or delete journals; use journals_act.
journals_query
Lists opening balances for an entity, or gets one account's opening balance. Do NOT set or remove opening balances; use opening_balances_act.
opening_balances_query
Links a financial document to a transaction, or detaches an existing document match. Omit confirmationToken to preview, then resend the same input with the returned confirmationToken to apply.
transactions_document_links_act
List the available Kick skill guides. Skills document how to use Kick's tools — the right attributes, query syntax, and common pitfalls. Names are returned with a `kick/` prefix (e.g. kick/transaction-review-and-categorization); pass that same value to load_kick_skill. Call this before load_kick_skill whenever you aren't already certain of the exact skill name; names aren't predictable from topic words. Pass query for a ranked fuzzy search across skill names and descriptions. Set includeHeader=true to get each skill's one-line summary and the Kick tools it covers alongside its name. Load skills proactively when you start work in a relevant Kick domain, not only after hitting an error.
list_kick_skills
Lists checks and deposits for one workspace. status 'outstanding' returns items with no clearing evidence and no completed reconciliation. status 'reconciled' returns items included in a completed reconciliation. Amounts are signed: a check is negative and a deposit is positive. Query before creating or deleting.
cash_items_query
Lists an organization's close stages. Stages are org-wide (not per-template) and can nest via parentCloseStageId. Use to resolve the closeStageId set on close-template tasks. Read-only.
organization_close_stages_query
Lists members of an organization so an agent can resolve the numeric userId to use as a close-template ownerId or a task assigneeId. Read-only. Returns userId, name, email, and role. Use before close_templates_act (ownerId) or close_template_tasks_act (assigneeId); prefer assigneeRole over a guessed assigneeId.
organization_members_query
Lists an organization's service tiers. Use to resolve the serviceId set on a close template. Read-only. Returns id and name.
organization_services_query
Reads a workspace's report settings: each setting's value and where it comes from, for the workspace and its entities on every report. Returns baseline (the workspace's Report default), reports (settings a report changes from baseline) and entities (settings an entity changes, under default when the change covers all its reports, else under a report). A setting not listed takes the first value found in this order: the entity's report, the entity's default, the workspace's report, baseline. ar-aging-summary, ar-aging-detail and schedules have no rowVisibility. Read-only; use report_settings_act to mutate.
report_settings_query
Load a Kick skill guide before working with the related tools — for example load kick/period-end-close-review before a close-readiness sweep, or kick/transaction-review-and-categorization before triaging transactions. Skills document the right attributes, query syntax, and pitfalls, so loading one first improves query quality and avoids common mistakes. Pass the name from list_kick_skills (the kick/ prefix is accepted; a bare name also works). If you don't already know the exact skill name, call list_kick_skills first — don't guess names from topic keywords. Set headerOnly=true to preview a skill's summary and the Kick tools it covers without loading the full guide.
load_kick_skill
Creates and manages revenue recognition policies for one entity. 'create' a deferred or accrued policy with a term, one or more components (straight_line, daily_pro_rata, or point_in_time, allocations summing to 100), a deferral account, and a different revenue account from this entity's accrual ledger (look them up with accounting_query). Mix methods in one policy, for example 50% point_in_time on a specific date and 50% point_in_time on the source date, or one straight_line row plus point_in_time rows. At most one straight_line or daily_pro_rata component: the term is stored once on the policy, so two over-time windows are rejected. 'update' changes only the fields you pass. 'archive' / 'restore' hide or bring back a policy. 'delete' works only for a policy never applied; otherwise it returns status 'choice_required' with Archive or Back. Omit confirmationToken to preview; resend the same input with the returned confirmationToken after the user approves. When the response is 'choice_required', show the options, ask the user, then resend the same input plus 'choice'. Never pick for the user. Revenue only.
revenue_recognition_policies_act
Matches two transactions as a transfer pair, or removes an existing transfer match. Omit confirmationToken to preview, then resend the same input with the returned confirmationToken to apply.
transactions_transfer_matches_act
Creates, updates, or deletes chart-of-accounts groups. Resolve groupId from accounting_query or report context first. Omit confirmationToken to preview, then resend the same input with the returned confirmationToken to apply.
account_groups_act
Creates and manages catalog items for one entity. Operations: 'create' (find-or-create by name — MCP requires unitAmount), 'update' (edit; active:false archives), 'delete' (fails with 409 when referenced by an invoice), 'duplicate'. Prices are in USD — there is no `currency` field; the server always stores usd. Price create/archive/enable/delete/set-default/description edits are NOT separate operations — pass a `prices` array in 'update's payload (batched ops: {op:'create', clientId, unitAmount, isDefault?, description?} | {op:'update', priceId, active?, isDefault?, description?} | {op:'delete', priceId}); they commit atomically with the rest of the update, in one request, matching how the product's Save button persists everything at once. entityId is required on create/update. Resolve revenueAccountId/receivablesAccountId (accounting_query) and classIds (classes_query) only when the user names accounts or classes. Omit confirmationToken to preview (create says reuse-existing vs create-new); resend with the returned confirmationToken to apply. Write unitAmount in major currency units, not cents (10000 usd is $10,000.00). Do not send Stripe-style cents.
catalog_items_act
Creates, updates, or deletes workspace custom categories. Use categories_query to resolve categoryId and parentCategoryId first. A create requires payload.parentCategoryId and the parent must be top-level — nesting under a subcategory is rejected, so do not retry the same parent. A category's parent cannot be changed on update (parentCategoryId is create-only and rejected on update). Omit confirmationToken to preview, then resend the same input with the returned confirmationToken to apply. Not available when workspace.glFirstEnabled === true: the category taxonomy does not drive classification there — manage the chart of accounts via accounting_act instead.
categories_act
Creates, updates, bulk-updates, bulk-enables/disables, or bulk-deletes chart-of-accounts entries. Account merge is intentionally not available here. Use accounting_query to resolve ids first. Omit confirmationToken to preview, then resend the same input with the returned confirmationToken to apply.
accounting_act
Creates, updates, or deletes a chart of accounts template, or applies one to entities. create/update/apply take a payload; delete takes chartOfAccountsTemplateId only. Omit confirmationToken to preview, then resend the same input with the returned confirmationToken to apply.
chart_of_accounts_templates_act
Creates, updates, or deletes workspace tracking classes. Classes are plan-gated. Use classes_query to resolve classId and parentClassId first. Omit confirmationToken to preview, then resend the same input with the returned confirmationToken to apply.
classes_act
Creates, updates, duplicates, archives, unarchives, or deletes a close template. create/update take a payload (workspaceId is create-only); duplicate/archive/unarchive/delete take closeTemplateId only. Does NOT apply a template to a client, schedule, or preview — that stays in-app. Omit confirmationToken to preview, then resend the same input with the returned confirmationToken to apply.
close_templates_act
Creates, updates, deletes, or bulk-saves the tasks on a close template. Prefer bulk_save to add a whole checklist. type is restricted to the close-template UI set (transactions, question, profit_loss, balance_sheet, document_retrieval, get_documents, accrual_review, reconciliation, transaction_review, form_1099, counterparties, bills, invoices, financial_documents). viewConfig is a persistable view document (type, columns, filters) plus task extras — send the close-template-setup recipes, not a flat bag. Omit confirmationToken to preview, then resend the same input with the returned confirmationToken to apply.
close_template_tasks_act
Creates, updates, deletes, merges, or copies global counterparties into a workspace. Use counterparties_query to resolve ids first. Omit confirmationToken to preview, then resend the same input with the returned confirmationToken to apply.
counterparties_act
Creates or updates entities, replaces an entity's address, or replaces its tax locations. Use entities_query to resolve entityId first. Omit confirmationToken to preview, then resend the same input with the returned confirmationToken to apply. An entity name that matches an existing business entity in the workspace (ignoring case and surrounding whitespace) is rejected with a 409 conflict.
entities_act
Creates, bulk-creates, updates, or deletes manual journal entries. Use journals_query to resolve journalEntryId first. Omit confirmationToken to preview, then resend the same input with the returned confirmationToken to apply.
journals_act
Upserts, bulk-sets, or removes opening balances for an entity. Use opening_balances_query and accounting_query to resolve ids first. Omit confirmationToken to preview, then resend the same input with the returned confirmationToken to apply.
opening_balances_act
Creates, renames, or repositions an organization close stage. create: { name, parentCloseStageId? }; update renames; reorder moves it via { parentCloseStageId, order }. Omit confirmationToken to preview, then resend the same input with the returned confirmationToken to apply.
organization_close_stages_act
Creates, updates, reorders, annotates, or deletes transaction rules and rule groups. Use rules_query to resolve ruleId and groupId first. Omit confirmationToken to preview, then resend the same input with the returned confirmationToken to apply.
rules_act
Creates question tasks, updates task fields, or deletes tasks. Use tasks_query to resolve taskId first. On update, description can only be set at create — description, descriptionType, messageId, and sticky are not updatable and are rejected if sent. Omit confirmationToken to preview, then resend the same input with the returned confirmationToken to apply.
tasks_act
Updates, bulk-updates, unsplits, splits, creates, or soft-deletes/restores transactions. Omit confirmationToken to preview, then resend the same input with the returned confirmationToken to apply. Permanent (hard) deletion is intentionally not available.
transactions_act
Kick ChatGPT Plugin FAQ
How the directory, categories and Discoverability Score work.
Read the methodologyHow do I improve Kick's ChatGPT Plugin discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are Kick alternatives on ChatGPT?
As of 2026-11-02, Kick competes with Accountable, Agenix Invoice, AgentCollect, Aikount, Akaunting, AuntBird Practice Management, B2B.nu, Bankstatemently and 79 more in ChatGPT Accounting & Bookkeeping, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.