← Back to all apps

Intuit QuickBooks

Financeby Intuit QuickBooks
Launched Mar 3, 2026 on ChatGPTLaunched Mar 12, 2026 on Claude

Turn your business's raw financial data into clear financial insights. Analyze profitability, cash flow, and compare your performance against similar businesses in your industry and region. Generate accounting-compliant profit & loss and cash flow statements in minutes. Upload CSVs, PDFs, images, or paste transactions directly into Claude — QuickBooks will sync and analyze your personalized results as your business evolves.

11ChatGPT Tools
11Claude Tools
Intuit QuickBooksDeveloper
FinanceCategory

Use Cases

productivity

Available Tools

About-quickbooks

about-quickbooks
Full Description

Use this tool when the user wants to discover what QuickBooks can do in ChatGPT or how to use QuickBooks with ChatGPT.

ALWAYS USE THIS TOOL FOR:

  • 'What can I do with QuickBooks?'
  • 'What can QuickBooks do in ChatGPT?'
  • 'Help me understand what QBO can do in ChatGPT'
  • 'What answers can I get from the app?'
  • 'How can I use QuickBooks with ChatGPT?'
  • User asks for an overview of QuickBooks capabilities or features in chat

RETURNS: A visual discovery carousel showing: capabilities (Benchmarking analysis, Profit and loss analysis, Cash Flow analysis, Categorize expenses), and example prompts.

No parameters required. Call this tool with no arguments.

Benchmarking-against-industry

benchmarking-against-industry
Full Description

Answer questions about industry profitability, revenue, profits, and compare industries in any location. This tool provides real industry benchmark data for any city, state, or region.

ALWAYS USE THIS TOOL FOR THESE QUESTIONS:

  • 'What industries are most profitable in [city/state]?' -> USE THIS
  • 'What are the top industries by revenue in [location]?' -> USE THIS
  • 'Which industries are most profitable?' -> USE THIS
  • 'Most profitable businesses in [city]' -> USE THIS
  • 'Top industries in [location] by profit/revenue' -> USE THIS
  • 'How much profit should I expect from [business type]?' -> USE THIS
  • 'I want to invest in [location], which industries?' -> USE THIS
  • 'Average profit/revenue for [industry] in [location]' -> USE THIS
  • User provides a profit/revenue number and wants to compare -> USE THIS

EXAMPLE PROMPTS THAT MUST CALL THIS TOOL:

  • 'what industries are most profitable in salt lake city' -> USE THIS (metricValue=0, location_state='UT')
  • 'What are the top industries by total revenue in the Cincinnati area?' -> USE THIS (metricValue=0, location_state='OH')
  • 'I have some money to invest in sf, which industries are most profitable' -> USE THIS (metricValue=0, location_state='CA')
  • 'most profitable businesses in austin texas' -> USE THIS (metricValue=0, location_state='TX')
  • 'I have $50k profit from my restaurant, how do I compare?' -> USE THIS (metricValue=50000)
  • 'Generate profit from CSV and compare to others in my industry' -> FIRST call profit-loss-generator with the CSV, THEN call THIS tool with the computed profit as metricValue

WHEN TO USE THIS TOOL:

  • ANY question about industry profitability, revenue, or profits in ANY location
  • ANY question about 'top industries', 'most profitable industries', 'best industries'
  • User asks about average/typical profit, revenue, or expenses for businesses
  • User is researching industries for investment or starting a business
  • User provides a metric value (profit/revenue number) and wants comparison
  • User attached a CSV or pasted transactions AND wants to compare against industry peers: FIRST call 'profit-loss-generator' with the CSV to compute financials, THEN call this tool with the resulting profit/revenue/expenses as metricValue. Do NOT import into QuickBooks or use QuickBooks account tools for this workflow.

WHEN NOT TO USE THIS TOOL:

  • ONLY when user explicitly wants to pull data FROM their QuickBooks account (no CSV or transactions provided)
  • Example: 'Benchmark my QuickBooks company' -> use benchmarking-quickbooks-account

This tool supports TWO MODES: 1. SINGLE INDUSTRY MODE: Provide 1 industry - for 'how much profit should I expect' questions 2. MULTI-INDUSTRY MODE: Provide 2-5 industries - for 'which industries are most profitable' questions (pick diverse industries like Retail, Healthcare, Real Estate, Professional Services, Restaurants)

IMPORTANT: For research questions without user's own numbers, set metricValue to 0.

PARAMETERS:

  • industryType: REQUIRED. Array of 1-5 industry types to compare.

For 'how much profit' questions: provide 1 industry (e.g., ['Retail'] for clothing store) For 'which industries are most profitable' questions: provide 2-5 industries to compare Note: Partial matches work (e.g., 'Restaurant' matches 'Restaurants & Cafés') Use the short industry name from the NAICS code: first use the 4-digit NAICS subsector name (e.g., 2123=Sand & Gravel Mining, 7225=Restaurants), then fall back to the 2-digit sector name if no specific subsector applies (e.g., 21=Mining, 23=Construction, 44-45=Retail). Examples: ['Mining'], ['Retail', 'Healthcare', 'Real Estate']

  • naics codes (naicsCode): REQUIRED. Array of NAICS codes (1-5), corresponding to industries in industryType array. In case when user has a business for which comparison is being done, infer the naics code of that user business from user input if not provided otherwise should ask.

Must have same length as industryType array. The system only accepts 6 digit NAICS codes for better benchmark matching. Examples: ['531210'] for single (6-digit), ['531210', '722511', '541110'] for multiple

  • financial metric value (metricValue): REQUIRED. Company's actual value for the metric (can be positive, negative, or 0).

Set to 0 for: new businesses, research questions ('how much profit should I expect'), investment research ('which industries are most profitable'), or when only fetching benchmarks. Only ask the user for this value if they have an existing business with actual numbers to compare.

  • company name (companyName): REQUIRED. Name of the company being analyzed.

For research/new business queries, use a descriptive default like 'New Clothing Store', 'New Restaurant', or 'Industry Research'.

  • company industry (companyIndustry): OPTIONAL. The specific industry of the user's company (from the industryType list).

Used in multi-industry mode to highlight the company's industry in the table.

  • location state (location_state): REQUIRED. State for regional benchmarks. MUST be a 2-letter uppercase state code (e.g., 'CA', 'TX', 'NY', 'FL'). Never use full state names like 'California' or 'New York'. Infer from context if possible (e.g., 'SF' or 'San Francisco' means 'CA').
  • location county (location_county): OPTIONAL. County for more specific regional benchmarks. Infer from context if possible (e.g., 'SF' means 'San Francisco County'). Examples: 'Los Angeles County', 'Santa Clara County', 'San Francisco County'.
  • metric type (metricType): OPTIONAL. Financial metric to compare:

• 'profit' (default)

  • Profit/loss

• 'revenue'

  • Revenue/income

• 'expenses'

  • Expenses

• 'income'

  • Income (same as revenue)
  • aggregation period (aggregationPeriod): OPTIONAL. Time period for metricValue:

• 'yearly' (default)

  • One year

• 'monthly'

  • One month

• 'quarterly'

  • Three months

RETURNS:

  • Single industry: Interactive bar chart with regional/national comparison against a specific industry
  • Multiple industries: Tabular comparison showing benchmarks across all industries
  • Company data displayed when metricValue != 0
Parameters (5 required, 4 optional)
Required
companyNamestring

Name of the company being analyzed

industryTypearray

Array of 1-5 industry types to compare. Single industry creates bar chart, multiple creates table. Use the short industry name from the NAICS code: prefer the 4-digit subsector name (e.g., 2123=Sand & Gravel Mining, 7225=Restaurants), fall back to 2-digit sector name (e.g., 21=Mining, 23=Construction, 44-45=Retail).

location_statestring

REQUIRED. Geographic location of the business (state) for regional benchmark comparison. MUST be a 2-letter uppercase state code (e.g., 'CA', 'TX', 'NY', 'FL'). Never use full state names like 'California' or 'New York'.

metricValuenumber

Company's actual value for the metric being compared. Can be positive, negative, or 0 for new businesses.

naicsCodearray

Array of NAICS codes (1-5), must match length of industryType array. The system automatically uses hierarchical NAICS codes (2-digit, 4-digit, and 6-digit) for better benchmark matching. When you provide a 6-digit code (e.g., '541110'), the system will also use the corresponding 4-digit ('5411') and 2-digit ('54') codes. When you provide a 4-digit code, it will also use the 2-digit code. Examples: ['531210'], ['531210', '722511']

Optional
aggregationPeriodstring

Time period over which metricValue was aggregated: 'yearly' (default), 'monthly', or 'quarterly'.

Default: yearly
companyIndustrystring

The specific industry of the user's company (must be one from industryType list). Used to highlight company's industry in multi-industry table.

Default: null
location_countystring

OPTIONAL. Geographic location of the business (county) for regional benchmark comparison. Examples: 'Santa Clara County', 'Los Angeles County', 'King County'.

Default: null
metricTypestring

Financial metric to compare: 'profit' (default), 'revenue', 'expenses', or 'income'

Default: profit

Benchmarking-quickbooks-account

benchmarking-quickbooks-account
Full Description

Compare your company's financial metrics in your QuickBooks account against regional peers using your QuickBooks account data.

WHEN TO USE THIS TOOL:

  • User wants to pull financial data FROM their QuickBooks account (not provided in the prompt)
  • User says 'my QuickBooks account', 'my QuickBooks data', 'from my account'
  • User asks to benchmark their company but does NOT provide a profit/revenue number

WHEN NOT TO USE THIS TOOL (use 'benchmarking-against-industry' instead):

  • User ALREADY PROVIDED a metric value in the prompt (e.g., 'I have $45000 profit', 'my profit is 100k')
  • User provided industry, location, AND a number - they don't need QuickBooks login
  • Phrases like 'benchmark my peers' or 'compare with my industry' when user provided their own numbers
  • User attached a CSV or pasted transaction data: use 'profit-loss-generator' to compute financials first, then 'benchmarking-against-industry' with the result. Do NOT import the CSV into QuickBooks for this workflow.

CRITICAL INSTRUCTIONS

  • YOU MUST FOLLOW THESE EXACTLY:

DO NOT CALL THIS TOOL IF USER ALREADY PROVIDED A METRIC VALUE (profit, revenue, expenses) IN THEIR PROMPT. DO NOT CALL THIS TOOL AGAIN IF CUSTOMER PROVIDED THE INDUSTRY INFORMATION. CALL THE industry-recommendation tool to show you industry recommendations and let you select one, then use the 'quickbooks-profile-info-update' tool to save it in QuickBooks. DO NOT CALL THIS TOOL IF CUSTOMER DECLINED TO SIGN IN WHILE YOU ASKED FOR IT BEFORE CALLING THIS TOOL. In this case, you can suggest to the user whether they would want to perform benchmarking without using their QuickBooks account, since they declined to sign in.

IMPORTANT: Before calling this tool, you MUST first call the 'company-info' tool to establish the QuickBooks connection. If 'company-info' has not been called yet in this conversation, call it first, then call this tool. This ensures the user is authenticated.

This tool uses your QuickBooks account profile and transaction data automatically. It will: 1. Check if you're signed in to QuickBooks 2. Verify your company profile is complete (company name, industry, location, NAICS code) 3. Calculate your financial metrics from your QuickBooks transactions 4. Generate benchmarking analysis comparing your company against regional peers

PARAMETERS:

  • metricType: OPTIONAL. Financial metric to compare: 'profit' (default), 'revenue', 'expenses', 'income'
  • aggregationPeriod: OPTIONAL. Time period: 'yearly' (default), 'monthly', 'quarterly'

COMPANY INFORMATION: Your company information (name, industry, location, NAICS code) is automatically retrieved from your QuickBooks profile. If any required information is missing, the tool will ask you to provide it.

METRIC CALCULATION: Your financial metric value is automatically calculated from your QuickBooks transactions:

  • For 'profit': Sum of all income transactions minus expenses and COGS
  • For 'revenue'/'income': Sum of all income transactions
  • For 'expenses': Sum of all expense and COGS transactions

RETURNS:

  • Interactive benchmarking analysis with bar charts comparing your company against regional peers
  • If you have no transactions or metric value is 0, shows a message encouraging you to connect bank or upload transactions

MULTI-INDUSTRY COMPARISON: This tool only supports SINGLE industry comparison (user's own industry from their QuickBooks profile). If the user wants to compare their QuickBooks data against MULTIPLE industries: 1. First call this tool to get the user's metric value (profit/revenue/expenses) 2. Then use the 'benchmarking-against-industry' tool with:

  • The metric value from step 1
  • The company name from step 1
  • Multiple industries the user wants to compare against
  • The user's location (state) from step 1

This allows multi-industry comparison using the user's actual QuickBooks data.

Parameters (0 required, 2 optional)
Optional
aggregationPeriodstring

Time period: 'yearly' (default), 'monthly', 'quarterly'

Default: yearly
metricTypestring

Financial metric to compare: 'profit' (default), 'revenue', 'expenses', 'income'

Default: profit

Cash-flow-generator

cash-flow-generator
Full Description

Generate cash flow report from transaction data provided by the user through CSV file or pasted transaction text in the current input.

Use this tool to create Cash Flow reports with automatic transaction categorization and financial calculations.

This tool should not be called for the user's own company account in QuickBooks. It is for generating the cash flow report for the company's transactions provided by the user in chat which could be different from the user's own company.

When the user says my company or my transactions, and has not provided a CSV or transactions in the current input (not in the previous ones), then this tool should not be called. Instead the QuickBooks account variation of this tool should be called.INPUT METHODS: This tool accepts EITHER: 1. A globally accessible download URL for a CSV file (via transactionsFileToProcess parameter)

  • USE THIS when user uploads a CSV file

2. An array of transaction objects (via lineItems parameter)

  • USE THIS when user pastes transaction data

CSV FILE REQUIREMENTS (when using transactionsFileToProcess):

  • Must have headers in the first row
  • REQUIRED columns: amount, description, date (case-insensitive)
  • Date format: MM/dd/yyyy (e.g., 01/15/2024)
  • Must contain between 1 and 999 transactions
  • If CSV format is invalid, the widget will display an error asking user to reupload

TRANSACTION ARRAY REQUIREMENTS (when using lineItems):

  • Each transaction object must have:
    • description (REQUIRED): Transaction description/text
    • amount (REQUIRED): Transaction amount as a number (positive for income/revenue, negative for expenses)
    • date (REQUIRED): Transaction date in MM/dd/yyyy format (e.g., '01/15/2024')
    • Must contain between 1 and 999 transactions

PARAMETERS:

  • transactionsFileToProcess: Object containing download_url and file_id. Use this when user uploads a CSV file.
  • lineItems: List of transaction objects. Use this when user pastes transaction data.
  • projectName: Project name to filter by (optional, default: 'All Projects')
  • periodStart: Start date for reporting period (YYYY-MM-DD, optional)
  • periodEnd: End date for reporting period (YYYY-MM-DD, optional)
  • industryName: Industry as explicitly stated by the user in this conversation (e.g., 'Restaurant', 'Retail'). Do NOT infer or guess from transaction descriptions. Do NOT call the 'industry-recommendation' tool — pass the user's answer directly here. (optional)

RETURNS:

  • Comprehensive Cash Flow report with operating, investing, and financing activities
  • Interactive widget for viewing financial data
  • Net cash increase and cash at end of period calculations

The tool automatically:

  • Categorizes transactions using QuickBooks
  • Calculates Net Income from transactions
  • Identifies operating adjustments (A/R, A/P, inventory, etc.)
  • Categorizes investing and financing activities
  • Computes net cash increase and ending cash balance
Parameters (0 required, 6 optional)
Optional
industryNamestring

Industry as explicitly stated by the user in this conversation (e.g., 'Restaurant', 'Retail'). Do NOT infer or guess from transaction descriptions. Do NOT call the 'industry-recommendation' tool — pass the user's answer directly here.

Default: null
lineItemsarray

List of transaction line items. Each item must have description, amount, and date (MM/dd/yyyy format). Use this when user pastes transaction data. Must contain between 1 and 999 transactions.

Default: null
periodEndstring

End date for reporting period (YYYY-MM-DD, optional)

Default: null
periodStartstring

Start date for reporting period (YYYY-MM-DD, optional)

Default: null
projectNamestring

Project name to filter by (optional)

Default: All Projects
transactionsFileToProcessobject

Object containing download_url (globally accessible URL to the CSV file) and file_id (unique file identifier). Use this when user uploads a CSV file. CSV must have headers: amount, description, date (case-insensitive). Date must be in MM/dd/yyyy format. Must contain between 1 and 999 transactions.

Default: null

Cash-flow-quickbooks-account

cash-flow-quickbooks-account
Full Description

Generate cash flow report from your QuickBooks account data.

Call this tool if the user is saying my company or my transactions or my cash flow report or my company's cash flow report, and has not provided a CSV or transactions in the current input. If the user has provided a CSV or transactions in the current input (not in the previous ones), then use the pre auth version of the cash-flow-generator tool instead.

IMPORTANT: Before calling this tool, you MUST first call the 'company-info' tool to establish the QuickBooks connection. If 'company-info' has not been called yet in this conversation, call it first, then call this tool. This ensures the user is authenticated.

This tool requires QuickBooks account authentication. It will: 1. Check if you're signed in to QuickBooks 2. Verify your company profile is complete 3. Check if you have bank connections or transactions 4. Generate a comprehensive Cash Flow report from your QuickBooks data

DO NOT CALL THIS TOOL IF CUSTOMER DECLINED TO SIGN IN WHILE YOU ASKED FOR IT BEFORE CALLING THIS TOOL. In this case, you can suggest to the user whether they would want to generate a cash flow report with the some transactions they provided (or will provide if not provided yet), since they declined to sign in.PARAMETERS:

  • periodStart: Start date for reporting period (YYYY-MM-DD, optional)
  • periodEnd: End date for reporting period (YYYY-MM-DD, optional)

RETURNS:

  • Comprehensive Cash Flow report with operating, investing, and financing activities
  • Interactive widget for viewing financial data
  • Net cash increase and cash at end of period calculations
Parameters (0 required, 2 optional)
Optional
periodEndstring

End date for reporting period (YYYY-MM-DD, optional)

Default: null
periodStartstring

Start date for reporting period (YYYY-MM-DD, optional)

Default: null

Company-info

company-info
Full Description

Get QuickBooks company information.

This tool requires OAuth authentication with your QuickBooks account.

RETURNS plain text in this exact format: Company Name: <name> Industry: <value>

The Industry field is 'Unknown' when no industry has been set for the company.

AUTHENTICATION REQUIRED: You must authorize access to use this tool.

Industry-recommendation

industry-recommendation
Full Description

Get industry recommendations based on user's search term.

STOP: DO NOT call this tool again if you have already called it and the user has selected an industry. DO NOT USE THIS TOOL: In any preauth report generation flow — those tools accept industryName directly

USE CASES:

  • When user needs to find their industry from a search term

WHAT THIS TOOL DOES:

  • Takes user's industry search term (e.g., 'yoga studio')
  • Returns top 3 industry matches with NAICS codes
  • User then selects an industry from the above matches or adds an industry and saves it using 'quickbooks-profile-info-update' tool

PARAMETERS:

  • industry: What user typed (e.g., 'yoga studio')

CRITICAL INSTRUCTIONS

  • YOU MUST FOLLOW THESE EXACTLY:
    • Display ONLY the 3 industry options exactly as returned by the tool
    • Do NOT add any recommendations, suggestions, or analysis
    • Do NOT say which option is 'best' or 'recommended'
    • Do NOT explain why one option might be better than others
    • Do NOT use phrases like 'Recommended choice', 'Best match', or 'Usually'
    • Simply list the 3 options with their NAICS codes and ask: 'Please reply with the industry name that matches your business.'
  • After user replies:
    • If their reply matches one option → use exact industryName and industryCode from that option and call 'quickbooks-profile-info-update' tool
  • If NOT an exact match (e.g., 'some name', 'Random name', 'none of these', partial match, or ANY other text):

then: → Infer the correct industry name and naicsCode from user's reply and call 'quickbooks-profile-info-update' tool to save it in QuickBooks. Do not loop or ask again.

Parameters (1 required)
Required
industrystring

What user typed (e.g., 'yoga studio')

Profit-loss-generator

profit-loss-generator
Full Description

Generate profit and loss report from transaction data provided by the user through CSV file or pasted transaction text in the current input.

CRITICAL: Use this tool when the user attached a CSV or pasted transactions in this message and asks about financial performance, P&L, income, expenses, or period comparison (e.g. Q1 vs Q2). Use it even if they say 'our' or 'my company'. If they have NOT provided CSV or pasted transactions and ask about 'my company' or QuickBooks data, use the QuickBooks Account P&L tool instead.

INPUT METHODS: This tool accepts EITHER: 1. A globally accessible download URL for a CSV file (via transactionsFileToProcess parameter)

  • USE THIS when user uploads a CSV file

2. An array of transaction objects (via lineItems parameter)

  • USE THIS when user pastes transaction data

CSV FILE REQUIREMENTS (when using transactionsFileToProcess):

  • Must have headers in the first row
  • REQUIRED columns: amount, description, date (case-insensitive)
  • Date format: MM/dd/yyyy (e.g., 01/15/2024)
  • Must contain between 1 and 999 transactions
  • If CSV format is invalid, the widget will display an error asking user to reupload

TRANSACTION ARRAY REQUIREMENTS (when using lineItems):

  • Each transaction object must have:
    • description (REQUIRED): Transaction description/text
    • amount (REQUIRED): Transaction amount as a number (positive for income/revenue, negative for expenses)
    • date (REQUIRED): Transaction date in MM/dd/yyyy format (e.g., '01/15/2024')
    • Must contain between 1 and 999 transactions

PARAMETERS:

  • transactionsFileToProcess: Object containing download_url and file_id. Use this when user uploads a CSV file.
  • lineItems: List of transaction objects. Use this when user pastes transaction data.
  • projectName: Project name to filter by (optional, default: 'All Projects')
  • periodStart: Start date for reporting period (YYYY-MM-DD, optional)
  • periodEnd: End date for reporting period (YYYY-MM-DD, optional)
  • industryName: Industry as explicitly stated by the user in this conversation (e.g., 'Restaurant', 'Retail'). Do NOT infer or guess from transaction descriptions. Do NOT call the 'industry-recommendation' tool — pass the user's answer directly here. (Optional)

RETURNS:

  • Comprehensive P&L report with income, expenses, and COGS breakdown
  • Interactive widget for viewing financial data
  • Net profit/loss calculations with margins
  • Monthly breakdown data with per-month metrics for analysis

The tool automatically:

  • Categorizes transactions using QuickBooks
  • Calculates total income from all revenue sources
  • Separates COGS (Cost of Goods Sold) from operating expenses
  • Computes gross profit and gross margin
  • Calculates net income and net profit margin
  • Provides detailed breakdown by account

BENCHMARKING WORKFLOW: If the user also wants to compare against industry peers (e.g., 'generate profit from CSV and compare to my industry'), after this tool returns, use the computed net income, revenue, or expenses as the metricValue in the 'benchmarking-against-industry' tool. Do NOT import the CSV into QuickBooks or use QuickBooks account tools for this workflow.

Parameters (0 required, 6 optional)
Optional
industryNamestring

Industry as explicitly stated by the user in this conversation (e.g., 'Restaurant', 'Retail'). Do NOT infer or guess from transaction descriptions. Do NOT call the 'industry-recommendation' tool — pass the user's answer directly here.

Default: null
lineItemsarray

List of transaction line items. Each item must have description, amount, and date (MM/dd/yyyy format). Use this when user pastes transaction data. Must contain between 1 and 999 transactions.

Default: null
periodEndstring

End date for reporting period (YYYY-MM-DD, optional)

Default: null
periodStartstring

Start date for reporting period (YYYY-MM-DD, optional)

Default: null
projectNamestring

Project name to filter by (optional)

Default: All Projects
transactionsFileToProcessobject

Object containing download_url (globally accessible URL to the CSV file) and file_id (unique file identifier). Use this when user uploads a CSV file. CSV must have headers: amount, description, date (case-insensitive). Date must be in MM/dd/yyyy format. Must contain between 1 and 999 transactions.

Default: null

Profit-loss-quickbooks-account

profit-loss-quickbooks-account
Full Description

Generate profit and loss report from your QuickBooks account data of your company.

CRITICAL

  • CHECK FOR CSV FIRST: Only call this tool when the user is asking about their company's P&L (e.g. my company, my transactions, my profit and loss) AND has NOT attached/uploaded a CSV or pasted transaction data in this message. If they provided a CSV, call 'profit-loss-generator' preauth version of this tool instead (even if they say 'our' or 'my company').

IMPORTANT: Before calling this tool, you MUST first call the 'company-info' tool to establish the QuickBooks connection. If 'company-info' has not been called yet in this conversation, call it first, then call this tool. This ensures the user is authenticated.

This tool requires QuickBooks account authentication. It will: 1. Check if you're signed in to QuickBooks 2. Verify your company profile is complete 3. Check if you have bank connections or transactions 4. Generate a comprehensive P&L report from your QuickBooks data

DO NOT CALL THIS TOOL IF CUSTOMER DECLINED TO SIGN IN WHILE YOU ASKED FOR IT BEFORE CALLING THIS TOOL. In this case, you can suggest to the user whether they would want to generate a profit and loss report with the some transactions they provided (or will provide if not provided yet), since they declined to sign in.PARAMETERS:

  • periodStart: Start date for reporting period (YYYY-MM-DD, optional)
  • periodEnd: End date for reporting period (YYYY-MM-DD, optional)

RETURNS:

  • Comprehensive P&L report with income, expenses, and COGS breakdown
  • Interactive widget for viewing financial data
  • Net profit/loss calculations with margins
  • Monthly breakdown data with per-month metrics for analysis
Parameters (0 required, 2 optional)
Optional
periodEndstring

End date for reporting period (YYYY-MM-DD, optional)

Default: null
periodStartstring

Start date for reporting period (YYYY-MM-DD, optional)

Default: null

Quickbooks-import-status

quickbooks-import-status
Full Description

Check the status of a QuickBooks transaction import job.

Use this tool after calling quickbooks-transaction-import to check if the import is complete.

WHEN TO USE:

  • After quickbooks-transaction-import returns a job_id
  • When waiting for an async import to complete
  • To get the final result of a completed import

PARAMETERS:

  • job_id (REQUIRED): The job_id returned by quickbooks-transaction-import

POSSIBLE STATUS VALUES:

  • PENDING: Import queued but not started
  • PROCESSING: Import is in progress
  • SUCCEEDED: Import finished successfully (includes summary)
  • FAILED: Import failed (includes error details)

TIP: If status is PENDING or PROCESSING, wait a few seconds and check again.

Parameters (1 required)
Required
job_idstring

The job_id returned by quickbooks-transaction-import tool

Quickbooks-profile-info-update

quickbooks-profile-info-update
Full Description

Update your QuickBooks company profile information.

This tool saves the profile information you provide to your QuickBooks account.

PARAMETERS:

  • businessName: Business name (optional)
  • industry: Industry type (optional)

RETURNS:

  • Confirmation that profile information has been updated
  • You can now use QuickBooks account tools that require profile information
Parameters (0 required, 4 optional)
Optional
businessNamestring

Business name

Default: null
industryCodestring

NAICS code from 'industry-recommendation' tool (e.g., '713940')

Default: null
industryNamestring

Industry name from 'industry-recommendation' tool (e.g., 'Fitness and recreational sports centers')

Default: null
statestring

Business state (e.g., 'CA', 'NY')

Default: null

Quickbooks-transaction-import

quickbooks-transaction-import
Full Description

Import transactions from a CSV file or transaction data into your QuickBooks account.

This tool accepts EITHER: 1. A globally accessible download URL for a CSV file (via transactionsFileToProcess) 2. An array of transaction objects (via transactions parameter)

SYNC MODE: This tool waits for the import to complete before returning the result. This may take up to 60 seconds for large imports.

WHEN TO USE THIS TOOL:

  • User explicitly asks to import/save transactions INTO their QuickBooks account
  • A QuickBooks account tool (like profit-loss-quickbooks-account) requests transaction data

WHEN NOT TO USE THIS TOOL:

  • User wants to ANALYZE a CSV (e.g., generate P&L, compare to industry, view expenses): use 'profit-loss-generator' instead. This tool is for IMPORTING into QuickBooks, not for analysis.
  • User says 'generate profit from CSV', 'compare my CSV to industry', or 'show me my P&L from this file': use 'profit-loss-generator', then 'benchmarking-against-industry' if comparison is needed.

OPTION 1

  • FILE UPLOAD (Preferred for user-uploaded CSV files):

When a user uploads a CSV file, ChatGPT provides a download URL. Use the transactionsFileToProcess parameter:

  • transactionsFileToProcess: Object containing:
    • download_url: Globally accessible URL to download the CSV file
    • file_id: Unique identifier for the uploaded file

OPTION 2

  • TRANSACTION ARRAY:

Pass transaction objects directly via the transactions parameter. Each transaction object must have:

  • description (REQUIRED): Transaction description/text from CSV
  • amount (REQUIRED): Transaction amount as a number (positive for income/revenue, negative for expenses)
  • date (OPTIONAL): Transaction date in YYYY-MM-DD format (e.g., '2024-01-15'). If missing, defaults to today.
  • account_name (OPTIONAL): Account name from Chart of Accounts. If missing, will be auto-categorized.
  • account_type (OPTIONAL): Account type like 'INCOME', 'EXPENSE', or 'COGS'. If missing, will be auto-categorized.

EXAMPLE (Transaction Array): If CSV has columns: Date, Description, Amount Convert to: [ {date: '2024-01-15', description: 'Sales Revenue', amount: 5000.00}, {date: '2024-01-20', description: 'Office Rent', amount: -2000.00} ]

SUPPORTED CSV FORMATS:

  • Must have headers in the first row
  • Required columns: Description (or similar), Amount
  • Optional columns: Date(in MM/dd/yyyy format), Account, Type, Project
  • Common formats: Bank exports, accounting software exports, Excel CSV exports

IMPORTANT:

  • Extract EVERY row from the CSV - do not skip any transactions
  • Amounts can be positive (income) or negative (expenses)
  • After importing, you can use profit-loss-quickbooks-account or benchmarking-quickbooks-account tools

INDUSTRY (optional but recommended): If the QuickBooks account has no industry set, this tool returns a nudge before processing. You can then either: (1) Call the 'industry-recommendation' tool so the user can pick their industry, then call 'quickbooks-profile-info-update' to save it, then call this import tool again; or (2) If the user says to proceed without industry (e.g. "proceed anyway", "import without industry"), call this tool again with proceed_without_industry=true to run the import.

  • If the user provides an industry, make 'industry-recommendation' tool call with that term to get industryName and industryCode, then make 'quickbooks-profile-info-update' tool call with those values to save it, then call this import tool again. Do not re-show the nudge; complete the profile update and import.
  • When presenting these options to the user, do NOT describe option (2) as "faster". Both options lead to import; option (1) is recommended for better categorization.
  • proceed_without_industry: Default false. Only set to true when ALL THREE conditions are met: (1) this tool was already called earlier in this conversation, (2) that prior call returned a message about setting industry (the industry nudge), (3) the user has explicitly said to skip or proceed without industry. If calling for the first time, or the user has not yet seen the industry nudge, this MUST be false.
Parameters (0 required, 3 optional)
Optional
proceed_without_industryboolean

Default false. Only set to true when ALL THREE conditions are met: (1) this tool was already called earlier in this conversation, (2) that prior call returned a message about setting industry (the industry nudge), (3) the user has explicitly responded saying to skip or proceed without industry. If you are calling this tool for the first time, or the user has not yet seen the industry nudge, this MUST be false.

Default: False
transactionsarray

List of ALL transactions to import. Include every transaction with description and amount (required), date, account info (optional). Do not sample or truncate.

Default: null
transactionsFileToProcessobject

Object containing download_url (globally accessible URL to the CSV file) and file_id (unique file identifier). Use this when user uploads a CSV file.

Default: null