io.usefulapi/cashctrl

CashCtrl MCP by usefulapi

Read CashCtrl accounts, journal, orders, people, articles, salaries and reports; book and create.

1.0.0
Version
remote
Transport
28
Tools

Security review

Review passed

Reviewed 1h ago.

  • tools: 28 tools scanned
  • metadata: scanned

No findings.

Tools (28)

  • cashctrl_list_accounts

    The chart of accounts: number, name, category and the balance for the fiscal period. Not paged. GET /account/list.json.

  • cashctrl_get_account

    One account of the chart of accounts by id. GET /account/read.json.

  • cashctrl_get_account_balance

    The balance of one account at the end of a day (default: the last day of the current fiscal period). GET /account/balance.

  • cashctrl_list_account_categories

    The categories of the chart of accounts (assets, liabilities, expenses, revenue and their sub-categories). GET /account/category/list.json.

  • cashctrl_list_bank_accounts

    The bank accounts set up in CashCtrl (name, IBAN, linked ledger account). GET /account/bank/list.json.

  • cashctrl_list_journal

    Book entries of the journal (date, title, debit and credit account, amount, reference), newest first, for the current fiscal period unless fiscal_period_id is set. GET /journal/list.json.

  • cashctrl_get_journal_entry

    One book entry by id, with its items for a collective entry. GET /journal/read.json.

  • cashctrl_list_orders

    Sales or purchase documents (quotes, order confirmations, invoices, delivery notes, credit notes, vendor bills) with number, date, customer, status and total. Newest first. GET /order/list.json.

  • cashctrl_get_order

    One order (invoice, quote, purchase document) by id, with its items, totals and status. GET /order/read.json.

  • cashctrl_list_order_categories

    The order categories (Quote, Invoice, Credit note, Purchase invoice and so on) with their statuses (Draft, Open, Paid) and the default accounts and sequence numbers. Use it to find category_id and status_id (type PURCHASE for purchase documents). GET /order/category/list.json.

  • cashctrl_list_persons

    Customers, vendors, employees and other contacts (name, company, number, roles, addresses). GET /person/list.json.

  • cashctrl_get_person

    One person or company by id, with addresses, contact data and bank accounts. GET /person/read.json.

  • cashctrl_list_articles

    Inventory articles (products and services) with number, name, price, stock and accounts. GET /inventory/article/list.json.

  • cashctrl_get_article

    One inventory article by id. GET /inventory/article/read.json.

  • cashctrl_list_salary_statements

    Payroll statements (employee, date, status, gross and net amounts), newest first. Sensitive personal data. GET /salary/statement/list.json.

  • cashctrl_get_salary_statement

    One payroll statement by id, with its salary items. Sensitive personal data. GET /salary/statement/read.json.

  • cashctrl_list_fiscal_periods

    All fiscal periods (id, name, start, end, current flag). The id is the fiscal_period_id of the other tools. GET /fiscalperiod/list.json.

  • cashctrl_list_tax_codes

    The VAT tax codes (id, code, name, rates). The id is the tax_id of the write tools. GET /tax/list.json.

  • cashctrl_list_sequence_numbers

    The number sequences (for journal references, order numbers, customer numbers). The id is the sequence_number_id of the write tools. GET /sequencenumber/list.json.

  • cashctrl_list_currencies

    The currencies set up in CashCtrl with their exchange rates. GET /currency/list.json.

  • cashctrl_get_report_tree

    The reports set up in CashCtrl (balance sheet, income statement, and so on) as a tree of collections and elements. The element id is the input of cashctrl_get_report_data. GET /report/tree.json.

  • cashctrl_get_report_data

    The data of one report element (for example the balance sheet or the income statement) for a fiscal period or a date range. GET /report/element/data.json.

  • cashctrl_create_journal_entry

    WRITE: changes the accounting records. Makes one request that is never repeated; check the result before trying again. Creates a manual book entry in the journal. Either a simple entry (debit_account_id, credit_account_id, amount) or a collective entry (items, whose debit and credit sums must match). POST /journal/create.json.

  • cashctrl_delete_journal_entries

    WRITE: changes the accounting records. Makes one request that is never repeated; check the result before trying again. DELETES manual journal entries by id (entries created by orders or salary statements cannot be deleted this way). Deleted entries are gone from the books; confirm the ids with the user first. POST /journal/delete.json.

  • cashctrl_create_order

    WRITE: changes the accounting records. Makes one request that is never repeated; check the result before trying again. Creates ONE order document for ONE customer or vendor: a quote, invoice, credit note, purchase bill and so on, depending on category_id. Without status_id the first status of the category is used; a booking status (for example Open) also creates journal entries, so use a draft status unless the user asks otherwise. No e-mail is sent. POST /order/create.json.

  • cashctrl_update_order_status

    WRITE: changes the accounting records. Makes one request that is never repeated; check the result before trying again. Sets the status of 1-20 orders (for example Draft to Open, or Open to Paid). A status can book journal entries or move stock, so the books change. POST /order/update_status.json.

  • cashctrl_delete_orders

    WRITE: changes the accounting records. Makes one request that is never repeated; check the result before trying again. DELETES orders (invoices, quotes, purchase documents) by id, with the journal entries they created. Deleted documents are gone; confirm the ids with the user first. POST /order/delete.json.

  • cashctrl_create_person

    WRITE: changes the accounting records. Makes one request that is never repeated; check the result before trying again. Creates a customer, vendor or other contact. Give company, first_name or last_name (at least one). Search first with cashctrl_list_persons so no duplicate is created. POST /person/create.json.