MCP App Store
by KeenEthics

Overview

Fix transactions, migrate information, and create reports, all within Claude. Work on one or many businesses at once. Download open-source accounting skills made by CPAs from ReInvestWealth: https://www.reinvestwealth.com/skills Here is a high level overview of what the MCP can do: Posts adjustments, ties the balance sheet, and locks the period. Flags what needs your judgment. Creates, edits, and recategorizes transactions, and backfills whole years from any file. Creates and sends invoices. Matches uploaded receipts to the transactions they belong to. Builds the report or projection, then drafts the client email. Connect your Gmail or Outlook to auto-send emails. Gets financial records ready in PDF and CSV before filing season starts. Reads transactions, receipts, the general ledger, and the trial balance, so answers come from your real numbers.

Tools

riw_accounts_create

ChatGPT
Create one custom bank account — the same kind the app creates when a bank statement is uploaded. Applies immediately in a single call — no preview or confirmation step, so confirm with the user first. The account starts empty; book transactions to it with riw_transactions_create’s "account" parameter. Companies are limited to 25 custom accounts. NOT idempotent — a retried call creates a second account. Reversible with riw_accounts_delete. This never touches connected Plaid or Stripe accounts.

riw_accounts_delete

ChatGPT
Delete (disable) one custom bank account — only accounts created from bank statements (by riw_accounts_create or the app) can be deleted; connected Plaid and Stripe accounts can never be touched. Applies immediately in a single call — no preview or confirmation step, so confirm with the user first. The account is disabled, not erased, and ALL of its transactions are kept; its uploaded-statement records are hidden. Re-creating an account later does NOT reconnect the kept transactions and resets statement duplicate-detection for that account.

riw_accounts_list

ChatGPT
Lists your company's bank accounts (connected accounts and legacy Plaid accounts) with status, name, source, type/subtype, last-4 mask, balances (current/available + currency where known), and institution. Custom (bank-statement) accounts carry an accountHandle usable with riw_transactions_create, riw_transactions_search and riw_accounts_delete; active Plaid accounts one usable with riw_transactions_create and riw_transactions_search; Stripe accounts have none. Plaid accounts whose connection the user disconnected appear with status 'disconnected' and null balances — their history is kept and searchable (handle usable with riw_transactions_search only), but they cannot receive transactions.

riw_aibookkeeper_status_get

ChatGPT
Returns the operational status of the AI bookkeeper for the connected company: whether it is active, which features (categorization, taxation, receipt requirement) are enabled, and its default tax location.

riw_aibookkeeper_suggest

ChatGPT
Asks the AI Bookkeeper what category — and, for Canadian businesses, what sales-tax treatment — it would give a set of transactions, WITHOUT changing anything. A dry run: no transaction is created or edited and no AI result is saved on any transaction. Categorize first, yourself, with riw_reference_categories as the vocabulary and an honest confidence from 0 to 1 per line; send here only the lines you put at 0.7 or lower (or that the user wants a second opinion on). Treat each suggestion as a second opinion, not the answer: compare its suggestedCategory and reasoning with your own category. Where they agree, use it; where they disagree, decide on the facts of the line and the business, and tell the user which lines you overrode and why. A high categoryConfidence does not by itself settle a disagreement. Pass exactly one of: transactions — up to 250 hypothetical lines {name, amount, currency, date, account?} such as rows read from a bank statement; transactionHandles — up to 250 existing transactions for a second opinion; or batch — the batchHandle from an earlier call, to continue and poll it. Each amount is signed the way the app shows it, exactly as for riw_transactions_create: POSITIVE for money coming IN (revenue, a refund) and NEGATIVE for money going OUT (an expense of 42.50 is -42.50); the server converts to the AI Bookkeeper's own convention itself. Each call works the batch for about 20 seconds and returns the rows finished so far; while pending is above 0, call again with batch until it reaches 0. Decisions are cached for 24 hours and each line is sent to the model at most once, ever, so polling is free. Finished rows come back 50 per call, in row order — use offset for the rest. There is no limit on how many lines or batches you may send. wouldApply says whether the AI Bookkeeper would have applied that category on its own — its confidence floor plus the business's categorization toggle — and wouldApplyTax the same for the sales-tax leg; a suggestion the user accepts is saved with riw_transactions_edit (existing rows) or riw_transactions_create (new rows) using the suggested category name. Common Shares, Other Financing Activities, FX Gain/Loss, Research & Development Asset, Other Investing Activities are accounting-judgment categories (share issuance, capitalized R&D, currency results, and other financing/investing activity). ReInvestWealth's automatic categorizer never suggests them because a bank line alone cannot justify them. You may apply them when the user's instruction or the accounting facts call for one.

riw_aibookkeeper_update_context

ChatGPT
Update the business context the AI bookkeeper uses when categorizing transactions: the business description, the list of key vendors, and free-form notes. Applies immediately in a single call — there is no preview or confirmation step, so confirm the change with the user before calling. Supply only the fields you want to change — omitted fields keep their stored value. A field you DO send replaces the stored value outright (an empty string or empty list clears it), so read the current context first if you mean to append. Limits: description and notes 2000 characters, up to 20 vendors of 100 characters each. Only works when AI Bookkeeper is set up for the business. Owner names and the company website are company-profile fields and cannot be changed here.

riw_automation_create_rule

ChatGPT
Create one auto-categorization rule: transactions whose bank name CONTAINS the keyword (case-insensitive) in the given currency are categorized automatically from now on. Applies immediately in a single call — no preview or confirmation step, so confirm with the user first. The rule applies to FUTURE transactions only — it does not touch existing ones, and applying a rule to history ("apply to existing") is only available in the app. Use riw_automation_preview_rule_matches first to see what the keyword would match. Keywords must not overlap an existing rule (neither containing nor contained by one, within the same currency). Rules created here never carry sales tax — create tax-applying rules in the app. Delete rules with riw_automation_delete_rule. Creating a rule also records feature usage that synchronizes an activity marker to Mailchimp.

riw_automation_delete_rule

ChatGPT
Delete one auto-categorization rule. Applies immediately in a single call — no preview or confirmation step, so confirm with the user first. Deleting a rule stops FUTURE automatic categorization only — transactions the rule already categorized keep their category and are not reset. Reversible by re-creating the rule with riw_automation_create_rule.

riw_automation_list_rules

ChatGPT
Returns the connected company's auto-categorization rules: each maps a keyword to a category (with its CRA GIFI code/name and, when set, the sales-tax region). Read-only.

riw_automation_preview_rule_matches

ChatGPT
Dry-run for automation rules: shows which existing transactions a keyword + currency would match under the automation engine’s own rules, before any rule is created. Matching is exactly the engine’s: the raw bank name (not any renamed label), case-insensitive substring, exact currency, skipping transactions already auto-categorized or categorized by a person, and anything in a closed period. This is the same set the app’s "apply to existing" would touch. Read-only — nothing is changed. Use before riw_automation_create_rule.

riw_automation_statistics

ChatGPT
Returns automation statistics for the connected company: how many transactions were auto-categorized in the last 30 days.

riw_bank_connections_list

ChatGPT
Lists your company's bank connections with institution name, health status ('connected' for non-Plaid sources; 'healthy', 'reconnect_required' or 'disconnected' for legacy Plaid items), last update time where known, and account count. No balances — use riw_accounts_list for those.

riw_billing_subscription_status

ChatGPT
Returns the connected company's subscription status (plan, status, current period end, trial, pending cancellation). Payment internals are never included.

riw_companies_get

ChatGPT
Returns the connected company's profile (name, industry, location, business structure, base currency, website).

riw_companies_list

ChatGPT
Lists every company the authenticated user can access, each with an opaque "company" handle, its name, and the caller's role. Pass a handle as the "company" argument on other tools to select which company a call operates on (only needed when more than one company is listed).

riw_dashboard_get_summary

ChatGPT
Returns a company financial summary over an inclusive YYYY-MM-DD date range (default: trailing 12 months): window totals for revenue, expenses, net income and net cash flow, month-to-date comparisons, and cash balances by currency. Figures are in the company's base currency, exclude pending transactions, and report revenue and expenses as positive magnitudes (classified like the product reports, so a refund reduces its bucket rather than appearing as the opposite type); netCashFlow is positive when net cash came in.

riw_fx_rate_lookup

ChatGPT
Returns the daily FX conversion rate the app itself uses to convert transaction amounts into the business base currency. The rate is toCurrency units per one unit of fromCurrency; toCurrency defaults to the connected company's base currency. When the requested date has no published rate (weekend, holiday), the nearest prior day within 10 days is used and reported as effectiveDate. Transaction writes apply these rates server-side automatically — use this to predict or verify base amounts, never to compute figures that disagree with the app's own conversion.

riw_gifi_lookup

ChatGPT
Resolves a Plaid category code or a ReInvestWealth category name to its CRA GIFI code and name. Public reference data — no companyHandle needed.

riw_invoice_customers_list

ChatGPT
Lists the customers this business has invoiced, most recently used first: name, email, and billing address — the same details the app shows when composing an invoice. Customers are saved automatically when an invoice is created; there is no way to create one here. Use these details to fill riw_invoices_create for a repeat customer. Returns at most 50 per call (default 25).

riw_invoice_items_list

ChatGPT
Lists the line items this business saved for reuse while building invoices ("save for next time"), most recently saved first: description and unit price. This is not a managed product catalogue — items are saved as a side effect of composing an invoice in the app, and there is no way to create one here. Returns at most 50 per call (default 25).

riw_invoices_create

ChatGPT
Create an invoice for a customer. Applies immediately in a single call — there is no preview or confirmation step, so confirm the details with the user first. Supply the customer, the line items (description, quantity, unit price) and the dates — every money total is computed here, so there is nowhere to supply a subtotal, tax amount or total. The business details printed on the invoice come from the company profile and cannot be set here. For a Canadian business invoicing in CAD, name the sales taxes to charge (salesTaxNames, e.g. ["HST"]) — rates come from the product’s own tax table; otherwise use taxRatePercent. The invoice is created with status "open" and is NOT emailed to anyone — emailing is a separate tool with its own permission. The customer’s details are upserted into the reusable customer list as a side effect (riw_invoice_customers_list): if that email already exists, its saved name and address are replaced. Creation is not reversible here: an invoice can be voided (riw_invoices_set_status) but not deleted.

riw_invoices_get

ChatGPT
Returns one invoice's detail (line items with quantity and unit amount, plus subtotal, tax, and total — all formatted dollar strings in the invoice currency, converted from the stored cents) for an invoiceHandle from riw_invoices_list. Customer email is included so it can be confirmed before calling riw_invoices_send_email; address and phone are never included.

riw_invoices_list

ChatGPT
Lists invoices for your business, newest first: invoice number, customer name, issue/due dates, total, currency, and status. Amounts are formatted dollar strings in the invoice currency (already converted from the stored cents). Returns at most 50 invoices per call (default 25); each carries an invoiceHandle for riw_invoices_get.

riw_invoices_send_email

ChatGPT
Email an invoice (or a paid receipt), as a PDF, to the customer email stored on it — a REAL email that cannot be recalled, sent immediately in a single call with no preview or confirmation step. The recipient is fixed at invoice creation and cannot be chosen or changed here. As a safeguard you MUST pass confirmRecipient set to exactly that stored email (look it up with riw_invoices_get first, and show the user who will be emailed before you call): a send with a wrong or missing confirmRecipient is refused. To email a paid RECEIPT (the app’s "mark paid & email receipt" option), first mark the invoice paid with riw_invoices_set_status, then call this with sendAs:"receipt". The same customer cannot be emailed again within 24 hours — the same wait the app enforces. Only works on invoices created in ReInvestWealth.

riw_invoices_set_status

ChatGPT
Mark an invoice open, paid or void. Applies immediately in a single call — no preview or confirmation step, so confirm with the user first. Marking paid records the full total as paid — there is no partial-payment path. Marking a paid invoice open or void resets its paid amount to zero. This NEVER emails anyone — emailing is a separate permission. The app’s "mark paid & email receipt" option is two steps here: mark paid with this tool, then email the receipt with riw_invoices_send_email (sendAs:"receipt"). Only works on invoices created in ReInvestWealth, not ones imported from Stripe.

riw_me_get_profile

ChatGPT
Returns the authenticated user's own ReInvestWealth profile (first name, last name, email).

riw_members_list

ChatGPT
Lists the connected company's shared-access team members — the same collaborators shown on the Shared Access screen: a display name, their role, and invite status (Accepted / Pending / Invite Expired). Pending invitees show as "Invited Collaborator". No email, id, or other personal detail is included.

riw_onboarding_get_status

ChatGPT
Returns the completion status of the connected company's onboarding tasks (import-transactions, upload-receipt, send-invoice).

riw_receipts_delete

ChatGPT
Delete a receipt permanently. Applies immediately in a single call — there is no preview or confirmation step, so confirm with the user first. The receipt record and its image or PDF are removed for good and cannot be restored from this connector or the app. A receipt attached to a transaction is detached first; the transaction is otherwise unchanged.

riw_receipts_get

ChatGPT
Returns one receipt's detail (merchant, date, amounts — subtotal, tax, tip, total — currency, processing status, upload date, file type, and whether it is linked to a bank transaction) for a receiptHandle from riw_receipts_list. These are the same fields riw_receipts_list already returns per row, so use this to fetch a receipt you hold a handle for — the list reaches older ones by upload-date range or nextCursor — rather than to add detail to a row you just listed. Metadata only: storage paths, sender email, and the raw OCR data are never included — for the receipt's file itself, use riw_receipts_get_download_link.

riw_receipts_get_upload_address

ChatGPT
Returns the email address this business forwards receipts to. Anything emailed there is turned into a receipt in the Shoebox automatically. Files cannot be sent through this connector directly, so relay this address to the user and let them forward or send the receipt themselves — or use riw_receipts_get_upload_link for the in-app upload page instead. Mail is accepted ONLY from an approved sending address — anything else is rejected and the business notified — so check riw_receipts_forwarding_get for the approved list before telling a user which mailbox to send from, and riw_receipts_forwarding_edit to change it. THIS TOOL REFUSES WHILE RECEIPT FORWARDING IS OFF, as do the other forwarding tools — the app hides the address the same way. On that refusal, relay it and offer to turn forwarding on; the address is not available from any other tool meanwhile.

riw_receipts_list

ChatGPT
Lists uploaded receipts for your business, newest upload first, optionally limited to an inclusive YYYY-MM-DD range of UPLOAD dates (startDate/endDate, in the business's local time — the date the app's Smart Shoebox filter uses). A receipt's own date (the date field) cannot be filtered on: a receipt is normally uploaded on or after the day it is dated, so to find receipts dated in a period, list from the start of that period onward and match on date. Each row carries the full receipt detail — merchant, date, amounts (subtotal, tax, tip, total), currency, processing status, upload date, file type, and whether it is linked to a bank transaction — so riw_receipts_get is only needed to look up a receipt by handle, not to enrich a row from here. Metadata only: file contents and OCR text are never included. For a receipt's file itself, pass its handle to riw_receipts_get_download_link. Returns at most 50 receipts per call (default 25); when more exist the response includes nextCursor — pass it back as cursor, with the same startDate and endDate, to fetch the next page.

riw_receipts_update

ChatGPT
Change a receipt's details — merchant, date, amounts, currency or location. Applies immediately in a single call — there is no preview or confirmation step, so confirm with the user first. Supply only the fields you want to change. Amounts on a receipt are plain positive numbers in the receipt currency, not signed like transaction amounts.

riw_reference_categories

ChatGPT
Returns the full list of ReInvestWealth transaction category names. Public reference data — no companyHandle needed. Common Shares, Other Financing Activities, FX Gain/Loss, Research & Development Asset, Other Investing Activities are accounting-judgment categories (share issuance, capitalized R&D, currency results, and other financing/investing activity). ReInvestWealth's automatic categorizer never suggests them because a bank line alone cannot justify them. You may apply them when the user's instruction or the accounting facts call for one.

riw_reports_profit_and_loss

ChatGPT
Returns a month-by-month profit & loss report (revenue, expenses, other, net income, net cash flow, transaction count) plus window totals, over an inclusive YYYY-MM-DD date range (default: trailing 12 months). Figures are in the company's base currency, exclude pending transactions, and report revenue and expenses as positive magnitudes (classified like the product reports, so a refund reduces its bucket rather than appearing as the opposite type); netCashFlow is positive when net cash came in.

riw_reports_taxes

ChatGPT
Returns month-by-month tax figures over an inclusive YYYY-MM-DD date range (default: trailing 12 months): sales tax plus a rough income-tax estimate (20% of net income; positive = estimated tax owed). Figures are in the company's base currency and exclude pending transactions. The estimate is informational only — not tax or financial advice.

riw_sales_tax_get_registration

ChatGPT
Returns the connected company's sales-tax registrations (account type, filing frequency, tax year end). Tax account numbers are masked to their last 3 characters; filing-portal credentials and access codes are never returned.

riw_sales_tax_get_return_details

ChatGPT
Returns the detail of one stored sales-tax return (period, jurisdiction, amounts, filing status; the tax account number is masked) for a returnHandle from riw_sales_tax_list_returns.

riw_sales_tax_list_returns

ChatGPT
Lists the connected company's stored sales-tax returns (GST/HST, QST, PST filings), newest period first, capped at 50. Each return carries its period, jurisdiction/account type, amounts, filing status, and a returnHandle for riw_sales_tax_get_return_details.

riw_tags_create

ChatGPT
Create a new tag for the business so transactions can be labelled with it. Applies immediately in a single call — no preview or confirmation step. A business can have 50 tags at most. Check riw_tags_list first so you do not create a near-duplicate of one that already exists. Rename or recolour a tag with riw_tags_update; delete one with riw_tags_delete.

riw_tags_delete

ChatGPT
Delete a tag. Applies immediately in a single call — no preview or confirmation step, so confirm with the user first. Deleting a tag also removes it from every transaction that carries it (the result reports how many). A deleted tag cannot be restored.

riw_tags_list

ChatGPT
Lists the names of the tags defined for the connected company — the labels available for organizing its transactions. Returns tag names only (sorted, de-duplicated); no ids or colors.

riw_tags_update

ChatGPT
Rename a tag, change its colour, or both. Applies immediately in a single call — no preview or confirmation step, so confirm with the user first. Renaming affects nothing else: transactions keep the tag, it just displays under the new name.

riw_transactions_audit_log

ChatGPT
Returns the audit trail of one transaction (what changed, when, and by what kind of actor), capped at 50 entries, for a transactionHandle from riw_transactions_list.

riw_transactions_create

ChatGPT
Manually add one or more transactions to the books — for cash, or anything a connected bank feed did not bring in — and the way a bank or card STATEMENT gets into the books through this connector: when the user asks to upload or import a statement, there is no file upload here — YOU read the statement (its text or PDF is in the conversation or on disk), extract every line, categorize each one yourself (riw_reference_categories; riw_aibookkeeper_suggest for the lines you are unsure of) and add them here. Applies immediately in a single call — no preview or confirmation step, so confirm the amounts and dates with the user first. Each amount is signed the way the app shows it: POSITIVE for money coming IN (revenue, a refund) and NEGATIVE for money going OUT (an expense). The date, amount and account cannot be changed after creation. Each entry may name an account (via its accountHandle from riw_accounts_list); without one it lands on the "Manual" pseudo-account. Up to 250 per call. PARTIAL SUCCESS: every valid transaction is added; ones that cannot be (bad amount, unknown category, a closed accounting period, …) are returned in failed with a reason and never block the others. A mistaken add is reversible with riw_transactions_delete. Creating transactions also updates the company activity marker synchronized to Mailchimp.

riw_transactions_delete

ChatGPT
Delete one or more transactions. This is a SOFT delete — each transaction is hidden from every list, search, report and total, but is NOT destroyed and can be brought back exactly as it was with riw_transactions_restore (pass it the same handles). Because it is reversible, it is the safe way to undo a booking mistake. Applies immediately in a single call — there is no preview or confirmation step, so confirm with the user first. Up to 250 per call. PARTIAL SUCCESS: every eligible transaction is deleted; ones that cannot be (already deleted, not found, or in a closed accounting period a tax filing already covers) are returned in failed with a reason and never block the others. Any receipt stays attached to the deleted transaction, so a restore brings the attachment back too.

riw_transactions_edit

ChatGPT
Change the category, note, name, review status or tags of one or more existing transactions. Applies immediately in a single call — there is no preview or confirmation step, so confirm with the user first. Supply only the fields you want to change — everything else is left exactly as it is. Every field — name, note, category, status, addTag, removeTag — applies to up to 250 transactions at once; a bulk name or note sets the SAME value on every one, so use it only when you mean that. PARTIAL SUCCESS: every eligible transaction is applied; ones that cannot be edited (deleted, not found, split, at the tag limit, in a closed period) are returned in failed, each with its reason — they never block the others. Setting the category, marking a transaction reviewed, or adding or removing a tag also marks it as user-categorized, which permanently stops the AI bookkeeper from re-categorizing it and cannot be undone; changing only the note or the name does not. The amount and the date of an existing transaction cannot be changed here or in the app — create a new transaction instead. A tag change commits separately from the other fields, so a call setting both can save the content and miss the tag — the result says so plainly if that happens. Create new tags with riw_tags_create; rename them with riw_tags_update and delete them with riw_tags_delete.

riw_transactions_get

ChatGPT
Returns one transaction for a transactionHandle from riw_transactions_list or riw_transactions_search. The fields are the same ones those tools already return per row, so use this to fetch a transaction you hold a handle for — not to add detail to a row you just listed. A soft-deleted transaction is returned with deleted: true. Amounts are recorded on a cash basis and are shown from the business's point of view: positive = money in, negative = money out. Sign is direction, not classification — a positive amount on an expense category is a refund reducing that expense, not income. amount (after tax) and amountBeforeTax are in the transaction currency: always present them together with the currency field. amountBase (after tax) and amountBaseBeforeTax are in the business base currency: financial reports are calculated from these — total with amountBaseBeforeTax (it equals amountBase on untaxed rows) and exclude pending rows.

riw_transactions_list

ChatGPT
Lists bank transactions for a company, newest first, optionally bounded to an inclusive YYYY-MM-DD date range. Returns at most 100 transactions per call (default 25); each row carries the full transaction — including its note and salesTax breakdown (per-tax name, rate as a percentage (13 means 13%), amount in the transaction currency, and amountBase in the business currency; taxes are the recorded taxes deducted in the BeforeTax amounts and used by reports, while displayTaxes are display-only full taxes that impact neither; null when no tax is recorded) — plus a transactionHandle for riw_transactions_get. When more results exist the response includes nextCursor — pass it back as cursor to fetch the next page. Soft-deleted rows are hidden unless includeDeleted is true. To FILTER (merchant text, category, amount range, account, note, tags, currency, taxed, receipt attached or missing), use riw_transactions_search. Amounts are recorded on a cash basis and are shown from the business's point of view: positive = money in, negative = money out. Sign is direction, not classification — a positive amount on an expense category is a refund reducing that expense, not income. amount (after tax) and amountBeforeTax are in the transaction currency: always present them together with the currency field. amountBase (after tax) and amountBaseBeforeTax are in the business base currency: financial reports are calculated from these — total with amountBaseBeforeTax (it equals amountBase on untaxed rows) and exclude pending rows.

riw_transactions_restore

ChatGPT
Restore (un-delete) one or more previously deleted transactions, bringing them back into lists, reports and totals exactly as they were, with any attached receipt intact. Use this to undo an accidental delete — pass the SAME handles you deleted with (a handle keeps working after its transaction is deleted). Applies immediately in a single call — no preview or confirmation step. Up to 250 per call. PARTIAL SUCCESS: every restorable transaction is restored; ones that cannot be (not currently deleted, not found, or in a closed accounting period) are returned in failed with a reason and never block the others.

riw_transactions_set_sales_tax

ChatGPT
Apply, replace or clear the sales tax recorded on one or more transactions (up to 250 per call). Applies immediately in a single call — there is no preview or confirmation step, so confirm with the user first. Name the taxes to apply (e.g. ["HST"] or ["GST","QST"]) — rates come from the product’s own tax table for the region and each amount is computed from that transaction’s own stored amount, so there is nowhere to supply a rate or an amount. Pass an empty taxes list to remove all sales tax. PARTIAL SUCCESS: every eligible transaction is applied; ones that cannot take the change (deleted, not found, pending, no currency, in a closed period) are returned in failed with a reason each — they never block the others. Taxes the business is not registered for are recorded as display-only: shown on the transaction but never separated from the amount in reports or returns. Setting AND clearing tax both mark each transaction as user-categorized, which permanently stops the AI bookkeeper from re-categorizing it and cannot be undone. Only for Canadian businesses, and replaces the whole existing tax setup — read the transactions first if you only mean to add. If only part of a purchase is taxable, that transaction must first be split in the app (Split Transaction); splitting is not available here.

riw_accounts_create

Claude

riw_accounts_delete

Claude

riw_accounts_list

Claude

riw_aibookkeeper_status_get

Claude

riw_aibookkeeper_update_context

Claude

riw_automation_create_rule

Claude

riw_automation_delete_rule

Claude

riw_automation_list_rules

Claude

riw_automation_preview_rule_matches

Claude

riw_automation_statistics

Claude

riw_bank_connections_list

Claude

riw_billing_subscription_status

Claude

riw_companies_get

Claude

riw_companies_list

Claude

riw_dashboard_get_summary

Claude

riw_fx_rate_lookup

Claude

riw_gifi_lookup

Claude

riw_invoice_customers_list

Claude

riw_invoice_items_list

Claude

riw_invoices_create

Claude

riw_invoices_get

Claude

riw_invoices_list

Claude

riw_invoices_send_email

Claude

riw_invoices_set_status

Claude

riw_me_get_profile

Claude

riw_members_list

Claude

riw_onboarding_get_status

Claude

riw_receipts_edit

Claude

riw_receipts_get

Claude

riw_receipts_get_upload_address

Claude

riw_receipts_list

Claude

riw_reference_categories

Claude

riw_reports_profit_and_loss

Claude

riw_reports_taxes

Claude

riw_sales_tax_get_registration

Claude

riw_sales_tax_get_return_details

Claude

riw_sales_tax_list_returns

Claude

riw_tags_create

Claude

riw_tags_edit

Claude

riw_tags_list

Claude

riw_transactions_audit_log

Claude

riw_transactions_create

Claude

riw_transactions_delete

Claude

riw_transactions_edit

Claude

riw_transactions_get

Claude

riw_transactions_list

Claude

riw_transactions_restore

Claude

riw_transactions_set_sales_tax

Claude

Capabilities

Writes

Similar Apps