activate_loop
ChatGPTActivate an existing paused bookkeeping loop by id after the user approves its configuration. Sets the next run from its schedule. Depending on its approved configuration, a loop can change bookkeeping records or email invoice reminders to external recipients. Preview mode requires approval of proposed actions. The Caribooks portal provides pause controls and approval of proposed changes.
attach_file
ChatGPTAttach an original PDF, image, spreadsheet, CSV or Word file to an existing QuickBooks transaction. upload_id identifies a file in the Caribooks document box, populated through portal uploads or the account's receiving email address. For ChatGPT native attachments, file accepts the original file descriptor supplied by ChatGPT. content_base64 accepts the actual bytes of a small file. Maximum file size: 20 MB. Requires full access on the connection. Does not create a transaction or render a transcription.
attach_receipt
ChatGPTRender user-provided receipt text as a PDF transcription and attach it to a QuickBooks transaction. Intended for receipts that exist only as text, such as an email body or copied order confirmation. The PDF is visibly marked as a transcription, not an original document. Requires confirmed_by_user: true after the user explicitly requests a transcription, and full access on the connection. The receipt fields contain the original text and, when applicable, the actual email sender and subject. Does not transfer original uploaded files.
create_account
ChatGPTCreate an account in QuickBooks Online.
create_attachable
ChatGPTCreate a text note attached to a QuickBooks record. Does not upload a file or render a PDF.
create_bill
ChatGPTCreate a bill in QuickBooks Online.
create_bill_payment
ChatGPTCreate a bill payment in QuickBooks Online. An accounting record of a payment to a vendor. It does not initiate a bank or card payment.
create_budget
ChatGPTCreate a budget in QuickBooks Online. A profit-and-loss budget with one amount per account per period.
create_class
ChatGPTCreate a class in QuickBooks Online.
create_company_currency
ChatGPTCreate a company currency in QuickBooks Online. The currencies the company transacts in; only meaningful with multicurrency enabled.
create_credit_card_payment_txn
ChatGPTCreate a credit card payment txn in QuickBooks Online. An accounting record of a bank payment toward a credit card balance. It does not move money.
create_credit_memo
ChatGPTCreate a credit memo in QuickBooks Online.
create_customer
ChatGPTCreate a customer in QuickBooks Online.
create_department
ChatGPTCreate a department in QuickBooks Online.
create_deposit
ChatGPTCreate a deposit in QuickBooks Online.
create_employee
ChatGPTCreate an employee in QuickBooks Online.
create_estimate
ChatGPTCreate an estimate in QuickBooks Online.
create_inventory_adjustment
ChatGPTCreate an inventory adjustment in QuickBooks Online. Changes the quantity on hand of inventory items and books the valuation difference; US companies on Plus or Advanced only.
create_invoice
ChatGPTCreate an invoice in QuickBooks Online.
create_item
ChatGPTCreate an item in QuickBooks Online.
create_journal_entry
ChatGPTCreate a journal entry in QuickBooks Online.
create_payment
ChatGPTCreate a payment in QuickBooks Online. An accounting record of a customer payment already received. Payment processing is not supported; ProcessPayment must be omitted or false.
create_payment_method
ChatGPTCreate a payment method in QuickBooks Online.
create_purchase
ChatGPTCreate a purchase in QuickBooks Online.
create_purchase_order
ChatGPTCreate a purchase order in QuickBooks Online.
create_recurring_transaction
ChatGPTCreate a recurring transaction in QuickBooks Online. A template QuickBooks uses to create a transaction on a schedule, or on request.
create_refund_receipt
ChatGPTCreate a refund receipt in QuickBooks Online.
create_sales_receipt
ChatGPTCreate a sales receipt in QuickBooks Online.
create_task
ChatGPTCreate a paused bookkeeping loop from a user-requested task, in the user's language. Suitable for recurring work on a schedule or after documents reach the Caribooks document box. The loop defines its data access, permitted actions and approval requirements. Returns the saved task and its proposed configuration for review. Creating a task does not start it or write to QuickBooks. New loops start in preview mode.
create_tax_agency
ChatGPTCreate a tax agency in QuickBooks Online.
create_tax_service
ChatGPTCreate a sales tax code in QuickBooks Online, with new or existing tax rates attached to it. Cannot be undone; only on an explicit request.
create_term
ChatGPTCreate a term in QuickBooks Online.
create_time_activity
ChatGPTCreate a time activity in QuickBooks Online.
create_transfer
ChatGPTCreate a transfer in QuickBooks Online. An accounting entry recording a transfer between accounts. It does not move money between bank accounts.
create_vendor
ChatGPTCreate a vendor in QuickBooks Online.
create_vendor_credit
ChatGPTCreate a vendor credit in QuickBooks Online.
delete_attachable
ChatGPTPermanently delete an attachable from QuickBooks Online. Requires explicit user confirmation.
delete_bill
ChatGPTPermanently delete a bill from QuickBooks Online. Requires explicit user confirmation.
delete_bill_payment
ChatGPTPermanently delete a bill payment from QuickBooks Online. Requires explicit user confirmation.
delete_budget
ChatGPTPermanently delete a budget from QuickBooks Online. Requires explicit user confirmation.
delete_company_currency
ChatGPTDeactivate a company currency in QuickBooks Online. Existing transaction references remain intact. Requires explicit user confirmation.
delete_credit_card_payment_txn
ChatGPTPermanently delete a credit card payment txn from QuickBooks Online. Requires explicit user confirmation.
delete_credit_memo
ChatGPTPermanently delete a credit memo from QuickBooks Online. Requires explicit user confirmation.
delete_deposit
ChatGPTPermanently delete a deposit from QuickBooks Online. Requires explicit user confirmation.
delete_estimate
ChatGPTPermanently delete an estimate from QuickBooks Online. Requires explicit user confirmation.
delete_inventory_adjustment
ChatGPTPermanently delete an inventory adjustment from QuickBooks Online. Requires explicit user confirmation.
delete_invoice
ChatGPTPermanently delete an invoice from QuickBooks Online. Requires explicit user confirmation.
delete_journal_entry
ChatGPTPermanently delete a journal entry from QuickBooks Online. Requires explicit user confirmation.
delete_payment
ChatGPTPermanently delete a payment from QuickBooks Online. Requires explicit user confirmation.
delete_purchase
ChatGPTPermanently delete a purchase from QuickBooks Online. Requires explicit user confirmation.
delete_purchase_order
ChatGPTPermanently delete a purchase order from QuickBooks Online. Requires explicit user confirmation.
delete_recurring_transaction
ChatGPTPermanently delete a recurring transaction from QuickBooks Online. Requires explicit user confirmation.
delete_refund_receipt
ChatGPTPermanently delete a refund receipt from QuickBooks Online. Requires explicit user confirmation.
delete_sales_receipt
ChatGPTPermanently delete a sales receipt from QuickBooks Online. Requires explicit user confirmation.
delete_time_activity
ChatGPTPermanently delete a time activity from QuickBooks Online. Requires explicit user confirmation.
delete_transfer
ChatGPTPermanently delete a transfer from QuickBooks Online. Requires explicit user confirmation.
delete_vendor_credit
ChatGPTPermanently delete a vendor credit from QuickBooks Online. Requires explicit user confirmation.
discard_inbox_file
ChatGPTPermanently remove a user-selected file from the Caribooks document box without attaching it to QuickBooks. Intended for unwanted documents, duplicates and unrelated files. Requires confirm: true after the user's approval. Retains the document's filing-history row marked discarded.
find_bank_transactions_not_in_books
ChatGPTCompare each connected bank account mapped to a QuickBooks account with what that account's ledger books, and list the bank's posted transactions QuickBooks has no matching line for (same amount and direction within five days). These are often waiting in QuickBooks' bank feed to be accepted. Also counts the booked and pending ones. Defaults to the last 60 days. Read-only.
find_expenses_without_attachments
ChatGPTList purchases and bills with no document attached in QuickBooks. Compares transactions against all attachments on the server. Returns compact rows with type, id, date, amount, currency, payee, payment account, expense category, memo and document number, newest first, plus documented and undocumented counts. Some categories, such as payroll, tax remittances, transfers and bank fees, may not require receipts. A window too wide to fit is truncated from the oldest end; from and to limit the date range.
get_account
ChatGPTGet a single account from QuickBooks Online by Id.
get_account_list
ChatGPTGenerate the QuickBooks account list report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_aged_payable_detail
ChatGPTGenerate the QuickBooks aged payable detail report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_aged_payables
ChatGPTGenerate the QuickBooks aged payables report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_aged_receivable_detail
ChatGPTGenerate the QuickBooks aged receivable detail report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_aged_receivables
ChatGPTGenerate the QuickBooks aged receivables report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_attachable
ChatGPTGet a single attachable from QuickBooks Online by Id. A file attachment's TempDownloadUri is a short-lived download link to the original file.
get_balance_sheet
ChatGPTGenerate the QuickBooks balance sheet report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_balance_sheet_detail
ChatGPTGenerate the QuickBooks balance sheet detail report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_balance_sheet_summary
ChatGPTGenerate the QuickBooks balance sheet summary report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_bill
ChatGPTGet a single bill from QuickBooks Online by Id.
get_bill_payment
ChatGPTGet a single bill payment from QuickBooks Online by Id. An accounting record of a payment to a vendor. It does not initiate a bank or card payment.
get_budget
ChatGPTGet a single budget from QuickBooks Online by Id. A profit-and-loss budget with one amount per account per period.
get_budget_vs_actuals
ChatGPTGenerate the QuickBooks budget vs actuals report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_cash_flow
ChatGPTGenerate the QuickBooks cash flow report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_changes
ChatGPTList everything created, updated or deleted in QuickBooks Online since a given moment, for the named entities. Returns QuickBooks' CDCResponse, in which a record carrying status: Deleted was removed. QuickBooks only looks back 30 days.
get_class
ChatGPTGet a single class from QuickBooks Online by Id.
get_class_sales
ChatGPTGenerate the QuickBooks class sales report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_company_currency
ChatGPTGet a single company currency from QuickBooks Online by Id. The currencies the company transacts in; only meaningful with multicurrency enabled.
get_company_info
ChatGPTGet a single company info from QuickBooks Online by Id.
get_credit_card_payment_txn
ChatGPTGet a single credit card payment txn from QuickBooks Online by Id. An accounting record of a bank payment toward a credit card balance. It does not move money.
get_credit_memo
ChatGPTGet a single credit memo from QuickBooks Online by Id.
get_customer
ChatGPTGet a single customer from QuickBooks Online by Id.
get_customer_balance
ChatGPTGenerate the QuickBooks customer balance report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_customer_balance_detail
ChatGPTGenerate the QuickBooks customer balance detail report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_customer_income
ChatGPTGenerate the QuickBooks customer income report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_customer_sales
ChatGPTGenerate the QuickBooks customer sales report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_customer_type
ChatGPTGet a single customer type from QuickBooks Online by Id.
get_department
ChatGPTGet a single department from QuickBooks Online by Id.
get_department_sales
ChatGPTGenerate the QuickBooks department sales report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_deposit
ChatGPTGet a single deposit from QuickBooks Online by Id.
get_employee
ChatGPTGet a single employee from QuickBooks Online by Id.
get_estimate
ChatGPTGet a single estimate from QuickBooks Online by Id.
get_exchange_rate
ChatGPTGet the exchange rate QuickBooks uses for a currency into the company's home currency on a date (multicurrency companies only).
get_general_ledger
ChatGPTGenerate the QuickBooks general ledger report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_inventory_adjustment
ChatGPTGet a single inventory adjustment from QuickBooks Online by Id. Changes the quantity on hand of inventory items and books the valuation difference; US companies on Plus or Advanced only.
get_inventory_valuation_detail
ChatGPTGenerate the QuickBooks inventory valuation detail report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_inventory_valuation_summary
ChatGPTGenerate the QuickBooks inventory valuation summary report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_invoice
ChatGPTGet a single invoice from QuickBooks Online by Id.
get_item
ChatGPTGet a single item from QuickBooks Online by Id.
get_item_sales
ChatGPTGenerate the QuickBooks item sales report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_journal_entry
ChatGPTGet a single journal entry from QuickBooks Online by Id.
get_journal_report
ChatGPTGenerate the QuickBooks journal report report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_open_invoices
ChatGPTGenerate the QuickBooks open invoices report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_payment
ChatGPTGet a single payment from QuickBooks Online by Id. An accounting record of a customer payment already received. Payment processing is not supported; ProcessPayment must be omitted or false.
get_payment_method
ChatGPTGet a single payment method from QuickBooks Online by Id.
get_physical_inventory_worksheet
ChatGPTGenerate the QuickBooks physical inventory worksheet report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_preferences
ChatGPTGet the company's QuickBooks preferences.
get_profit_and_loss
ChatGPTGenerate the QuickBooks profit and loss report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_profit_and_loss_detail
ChatGPTGenerate the QuickBooks profit and loss detail report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_purchase
ChatGPTGet a single purchase from QuickBooks Online by Id.
get_purchase_order
ChatGPTGet a single purchase order from QuickBooks Online by Id.
get_recurring_transaction
ChatGPTGet a single recurring transaction from QuickBooks Online by Id. A template QuickBooks uses to create a transaction on a schedule, or on request.
get_refund_receipt
ChatGPTGet a single refund receipt from QuickBooks Online by Id.
get_sales_receipt
ChatGPTGet a single sales receipt from QuickBooks Online by Id.
get_tax_agency
ChatGPTGet a single tax agency from QuickBooks Online by Id.
get_tax_code
ChatGPTGet a single tax code from QuickBooks Online by Id.
get_tax_payment
ChatGPTGet a single tax payment from QuickBooks Online by Id. Sales tax (GST/HST, QST, VAT) payments and refunds recorded against filed returns; AU, CA and UK companies only.
get_tax_rate
ChatGPTGet a single tax rate from QuickBooks Online by Id.
get_tax_summary
ChatGPTGenerate the QuickBooks tax summary (GST/HST, QST, VAT filing lines) for a period. Without agency_id, returns { agencies: [{ agency_id, agency_name, report }] } with one report per tax agency that had activity; with agency_id, returns that agency's report directly. Each report is { columns, column_types, rows } as for the other reports.
get_term
ChatGPTGet a single term from QuickBooks Online by Id.
get_time_activity
ChatGPTGet a single time activity from QuickBooks Online by Id.
get_transaction_detail_by_account
ChatGPTGenerate the QuickBooks transaction detail by account report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_transaction_list
ChatGPTGenerate the QuickBooks transaction list report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_transaction_list_by_customer
ChatGPTGenerate the QuickBooks transaction list by customer report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_transaction_list_by_vendor
ChatGPTGenerate the QuickBooks transaction list by vendor report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_transaction_list_with_splits
ChatGPTGenerate the QuickBooks transaction list with splits report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_transfer
ChatGPTGet a single transfer from QuickBooks Online by Id. An accounting entry recording a transfer between accounts. It does not move money between bank accounts.
get_trial_balance
ChatGPTGenerate the QuickBooks trial balance report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_vendor
ChatGPTGet a single vendor from QuickBooks Online by Id.
get_vendor_balance
ChatGPTGenerate the QuickBooks vendor balance report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_vendor_balance_detail
ChatGPTGenerate the QuickBooks vendor balance detail report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
get_vendor_credit
ChatGPTGet a single vendor credit from QuickBooks Online by Id.
get_vendor_expenses
ChatGPTGenerate the QuickBooks vendor expenses report. Returns { columns, column_types, rows }: each row has a type (section | data | total), a depth, and values aligned to columns (Money cells as numbers, first cell is the label on summary reports); id is the label cell's QuickBooks record id (e.g. the account); on detail reports ids aligns to values instead. All-zero rows are omitted and counted in hidden_zero_rows. filters lists the filters QuickBooks confirms it applied (a parameter it ignored is absent), and no_data: true means the period has nothing to report.
list_bank_accounts
ChatGPTList the bank and card accounts connected on the Caribooks Banks page, with the bank's current and available balance as Caribooks last read it and the time it was read (balance_as_of), and, for each account mapped to QuickBooks, the QuickBooks account and the balance QuickBooks holds for it. Balances are read every few hours with the bank feed; this tool does not ask the bank. Tell the user how old a balance is; for a fresher one, the user presses Refresh balances on Manage banks. Read-only.
list_bank_feed
ChatGPTList the bank transactions QuickBooks has not booked yet, from the bank accounts connected on the Caribooks Banks page, each with the entry Caribooks suggests (expense with vendor, account and tax code; transfer; payment of invoices; deposit) and whether the company's own history or rules make it sure. Pending transactions are listed apart. Read-only: booking a line is done with the regular create tools when the user asks, and lines that are not sure need the user's confirmation first.
list_bank_transactions
ChatGPTList the transactions the bank itself shows on the connected bank and card accounts, including pending ones, newest first: date, account, description, merchant, money out or in, currency and category. Read from the bank, not from QuickBooks, so transactions not yet accepted from the bank feed are included. Defaults to the last 30 days. Read-only.
list_connected_companies
ChatGPTList the QuickBooks companies connected to this Caribooks account, with their access level.
list_loops
ChatGPTThe loops this account has for a company, or for every company when none is named: each one's id, whether it is active or paused, the sentence it came from, what it does read back in the user's words, and when it last ran and runs next. Read-only.
list_proposals
ChatGPTList a company's proposed or completed bookkeeping changes, newest first. Returns each proposal's id, action type, approval mode, status, summary and supporting evidence. Pending proposals can be approved or rejected by the user in the Caribooks portal Review tab or through the daily digest link. This tool is read-only and cannot approve or reject proposals.
list_receipt_inbox
ChatGPTList receipts, invoices and documents uploaded through the Caribooks portal or emailed to the account's receiving address. Returns each file's upload_id, company, kind, filing status and content preview. Kinds include transaction evidence, monthly statements and reference documents. Read-only; does not create transactions or attachments. include_filed includes filed statements and references. upload_id selects a document for a full-text read; text_offset pages through long documents, and cursor pages through older files.
list_rules
ChatGPTList saved bookkeeping rules for a connected company, including active rules and proposals awaiting user approval. Returns each rule's id, source and evidence. Read-only.
remember_rule
ChatGPTSave a user's bookkeeping preference for a connected company: a categorization, vendor fact, preference or procedure. For example, a categorization can associate a payee with an expense account. A rule explicitly stated by the user takes effect immediately and replaces an active rule with the same matcher. A rule inferred from a pattern becomes a proposal awaiting user approval. stated_by_user records that distinction. Rules are company-specific business data; they never change access permissions or confirmation requirements.
retire_rule
ChatGPTRetire a saved bookkeeping rule or decline a proposed rule by id, following the user's request. The rule remains in history but is no longer active.
search_accounts
ChatGPTSearch account records in QuickBooks Online.
search_attachables
ChatGPTSearch attachment records (files and notes pinned to QuickBooks records). Each result names the file and the records it is attached to. Search results do not include a TempDownloadUri download link.
search_bill_payments
ChatGPTSearch bill payment records in QuickBooks Online. An accounting record of a payment to a vendor. It does not initiate a bank or card payment.
search_bills
ChatGPTSearch bill records in QuickBooks Online.
search_budgets
ChatGPTSearch budget records in QuickBooks Online. A profit-and-loss budget with one amount per account per period.
search_classes
ChatGPTSearch class records in QuickBooks Online.
search_company_currencies
ChatGPTSearch company currency records in QuickBooks Online. The currencies the company transacts in; only meaningful with multicurrency enabled.
search_company_infos
ChatGPTSearch company info records in QuickBooks Online.
search_credit_card_payment_txns
ChatGPTSearch credit card payment txn records in QuickBooks Online. An accounting record of a bank payment toward a credit card balance. It does not move money.
search_credit_memos
ChatGPTSearch credit memo records in QuickBooks Online.
search_customer_types
ChatGPTSearch customer type records in QuickBooks Online.
search_customers
ChatGPTSearch customer records in QuickBooks Online.
search_departments
ChatGPTSearch department records in QuickBooks Online.
search_deposits
ChatGPTSearch deposit records in QuickBooks Online.
search_employees
ChatGPTSearch employee records in QuickBooks Online.
search_estimates
ChatGPTSearch estimate records in QuickBooks Online.
search_exchange_rates
ChatGPTSearch exchange rate records in QuickBooks Online.
search_invoices
ChatGPTSearch invoice records in QuickBooks Online.
search_items
ChatGPTSearch item records in QuickBooks Online.
search_journal_entries
ChatGPTSearch journal entry records in QuickBooks Online.
search_payment_methods
ChatGPTSearch payment method records in QuickBooks Online.
search_payments
ChatGPTSearch payment records in QuickBooks Online. An accounting record of a customer payment already received. Payment processing is not supported; ProcessPayment must be omitted or false.
search_purchase_orders
ChatGPTSearch purchase order records in QuickBooks Online.
search_purchases
ChatGPTSearch purchase records in QuickBooks Online.
search_recurring_transactions
ChatGPTSearch recurring transaction records in QuickBooks Online. A template QuickBooks uses to create a transaction on a schedule, or on request.
search_refund_receipts
ChatGPTSearch refund receipt records in QuickBooks Online.
search_reimburse_charges
ChatGPTSearch reimburse charge records in QuickBooks Online.
search_sales_receipts
ChatGPTSearch sales receipt records in QuickBooks Online.
search_tax_agencies
ChatGPTSearch tax agency records in QuickBooks Online.
search_tax_codes
ChatGPTSearch tax code records in QuickBooks Online.
search_tax_payments
ChatGPTSearch tax payment records in QuickBooks Online. Sales tax (GST/HST, QST, VAT) payments and refunds recorded against filed returns; AU, CA and UK companies only.
search_tax_rates
ChatGPTSearch tax rate records in QuickBooks Online.
search_terms
ChatGPTSearch term records in QuickBooks Online.
search_time_activities
ChatGPTSearch time activity records in QuickBooks Online.
search_transfers
ChatGPTSearch transfer records in QuickBooks Online. An accounting entry recording a transfer between accounts. It does not move money between bank accounts.
search_vendor_credits
ChatGPTSearch vendor credit records in QuickBooks Online.
search_vendors
ChatGPTSearch vendor records in QuickBooks Online.
send_credit_memo
ChatGPTEmail a credit memo to the customer as a PDF from QuickBooks Online, and mark it sent. QuickBooks sends the email asynchronously a few seconds after responding. The record must still exist when delivery occurs; deletion or voiding can prevent delivery. Cannot be unsent; requires explicit user confirmation.
send_estimate
ChatGPTEmail an estimate to the customer as a PDF from QuickBooks Online, and mark it sent. QuickBooks sends the email asynchronously a few seconds after responding. The record must still exist when delivery occurs; deletion or voiding can prevent delivery. Cannot be unsent; requires explicit user confirmation.
send_invoice
ChatGPTEmail an invoice to the customer as a PDF from QuickBooks Online, and mark it sent. QuickBooks sends the email asynchronously a few seconds after responding. The record must still exist when delivery occurs; deletion or voiding can prevent delivery. Cannot be unsent; requires explicit user confirmation.
send_payment
ChatGPTEmail the customer a receipt for a payment received, as a PDF from QuickBooks Online. QuickBooks sends the email asynchronously a few seconds after responding. The record must still exist when delivery occurs; deletion or voiding can prevent delivery. Cannot be unsent; requires explicit user confirmation.
send_purchase_order
ChatGPTEmail a purchase order to the vendor as a PDF from QuickBooks Online. The email parameter is required: QuickBooks answers 'Email Address is required to send email' even when the purchase order carries a POEmail. QuickBooks sends the email asynchronously a few seconds after responding. The record must still exist when delivery occurs; deletion or voiding can prevent delivery. Cannot be unsent; requires explicit user confirmation.
send_refund_receipt
ChatGPTEmail a refund receipt to the customer as a PDF from QuickBooks Online, and mark it sent. QuickBooks sends the email asynchronously a few seconds after responding. The record must still exist when delivery occurs; deletion or voiding can prevent delivery. Cannot be unsent; requires explicit user confirmation.
send_sales_receipt
ChatGPTEmail a sales receipt to the customer as a PDF from QuickBooks Online, and mark it sent. QuickBooks sends the email asynchronously a few seconds after responding. The record must still exist when delivery occurs; deletion or voiding can prevent delivery. Cannot be unsent; requires explicit user confirmation.
update_account
ChatGPTUpdate an existing account in QuickBooks Online (requires Id and SyncToken).
update_attachable
ChatGPTUpdate an existing attachable in QuickBooks Online (requires Id and SyncToken).
update_bill
ChatGPTUpdate an existing bill in QuickBooks Online (requires Id and SyncToken).
update_bill_payment
ChatGPTUpdate an existing bill payment in QuickBooks Online (requires Id and SyncToken).
update_budget
ChatGPTUpdate an existing budget in QuickBooks Online (requires Id and SyncToken).
update_class
ChatGPTUpdate an existing class in QuickBooks Online (requires Id and SyncToken).
update_company_currency
ChatGPTUpdate an existing company currency in QuickBooks Online (requires Id and SyncToken).
update_company_info
ChatGPTUpdate an existing company info in QuickBooks Online (requires Id and SyncToken).
update_credit_card_payment_txn
ChatGPTUpdate an existing credit card payment txn in QuickBooks Online (requires Id and SyncToken).
update_credit_memo
ChatGPTUpdate an existing credit memo in QuickBooks Online (requires Id and SyncToken).
update_customer
ChatGPTUpdate an existing customer in QuickBooks Online (requires Id and SyncToken).
update_department
ChatGPTUpdate an existing department in QuickBooks Online (requires Id and SyncToken).
update_deposit
ChatGPTUpdate an existing deposit in QuickBooks Online (requires Id and SyncToken).
update_employee
ChatGPTUpdate an existing employee in QuickBooks Online (requires Id and SyncToken).
update_estimate
ChatGPTUpdate an existing estimate in QuickBooks Online (requires Id and SyncToken).
update_exchange_rate
ChatGPTSet the exchange rate QuickBooks uses for a currency on a given date (multicurrency companies only).
update_inventory_adjustment
ChatGPTUpdate an existing inventory adjustment in QuickBooks Online (requires Id and SyncToken).
update_invoice
ChatGPTUpdate an existing invoice in QuickBooks Online (requires Id and SyncToken).
update_item
ChatGPTUpdate an existing item in QuickBooks Online (requires Id and SyncToken).
update_journal_entry
ChatGPTUpdate an existing journal entry in QuickBooks Online (requires Id and SyncToken).
update_payment
ChatGPTUpdate an existing payment in QuickBooks Online (requires Id and SyncToken).
update_payment_method
ChatGPTUpdate an existing payment method in QuickBooks Online (requires Id and SyncToken).
update_preferences
ChatGPTUpdate the company's QuickBooks preferences. Requires a sparse payload with Id, SyncToken, sparse: true and the preference block being changed. Read-only preference fields are rejected by QuickBooks.
update_purchase
ChatGPTUpdate an existing purchase in QuickBooks Online (requires Id and SyncToken).
update_purchase_order
ChatGPTUpdate an existing purchase order in QuickBooks Online (requires Id and SyncToken).
update_refund_receipt
ChatGPTUpdate an existing refund receipt in QuickBooks Online (requires Id and SyncToken).
update_sales_receipt
ChatGPTUpdate an existing sales receipt in QuickBooks Online (requires Id and SyncToken).
update_term
ChatGPTUpdate an existing term in QuickBooks Online (requires Id and SyncToken).
update_time_activity
ChatGPTUpdate an existing time activity in QuickBooks Online (requires Id and SyncToken).
update_transfer
ChatGPTUpdate an existing transfer in QuickBooks Online (requires Id and SyncToken).
update_vendor
ChatGPTUpdate an existing vendor in QuickBooks Online (requires Id and SyncToken).
update_vendor_credit
ChatGPTUpdate an existing vendor credit in QuickBooks Online (requires Id and SyncToken).
void_bill_payment
ChatGPTVoid a bill payment in QuickBooks Online, keeping the record and its number but zeroing its amounts. Cannot be undone; requires explicit user confirmation.
void_invoice
ChatGPTVoid an invoice in QuickBooks Online, keeping the record and its number but zeroing its amounts. Cannot be undone; requires explicit user confirmation.
void_payment
ChatGPTVoid a payment in QuickBooks Online, keeping the record and its number but zeroing its amounts. Cannot be undone; requires explicit user confirmation.
void_sales_receipt
ChatGPTVoid a sales receipt in QuickBooks Online, keeping the record and its number but zeroing its amounts. Cannot be undone; requires explicit user confirmation.