← Back to all apps
Intuit QuickBooks logo

Intuit QuickBooks

Open in ChatGPT →

Overview

Tools Available11
CategoryFinance

Business finances made simple

Available Tools

Intuit QuickBooks provides 11 tools that can be used to interact with its services.

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)

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

WHEN NOT TO USE THIS TOOL:

  • ONLY when user explicitly wants to pull data FROM their QuickBooks account
  • 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 Supported industries: • Professional Services, Accounting & Bookkeeping, Consulting, Legal Services • Construction, Retail, E-Commerce • Food & Beverage, Restaurants & Cafés • Healthcare, Real Estate, Transportation • Cleaning Services, Manufacturing, Hospitality, Tourism • Auto Repair Shops, Car Washes, Auto Detailing • Agriculture, Landscaping • Education, Entertainment, Marketing • Insurance, Financial Services Note: Partial matches work (e.g., 'Restaurant' matches 'Restaurants & Cafés') Examples: ['Retail'], ['Retail', 'E-Commerce', 'Restaurants & Cafés']

  • 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

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. Supported: 'Professional Services', 'Accounting & Bookkeeping', 'Consulting', 'Legal Services', 'Construction', 'Retail', 'E-Commerce', 'Food & Beverage', 'Restaurants & Cafés', 'Healthcare', 'Real Estate', 'Transportation', 'Cleaning Services', 'Manufacturing', 'Hospitality', 'Tourism', 'Auto Repair Shops', 'Car Washes', 'Auto Detailing', 'Agriculture', 'Landscaping', 'Education', 'Entertainment', 'Marketing', 'Insurance', 'Financial Services'.

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

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.

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

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)

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

Optional
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.

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

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:

  • Company name and details from QuickBooks
  • Full company information in structured format

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.

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

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.

Use this tool to create P&L 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 profit and loss 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)

RETURNS:

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

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

Parameters

Optional
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.

Call this tool if the user is saying my company or my transactions or my profit and loss report or my company's profit and loss, 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 profit-loss-generator tool instead.

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

Parameters

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

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

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 uploads a CSV file with transactions
  • User pastes transaction data in CSV format
  • User provides transaction data that needs to be imported to QuickBooks
  • A QuickBooks account tool (like profit-loss-quickbooks-account) requests transaction data

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

Parameters

Optional
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