Process Overview
-
1
Connect to QuickBooks
Click Connect to QuickBooks on the home screen. You will be redirected to Intuit to authorise access. Once approved, you are returned to the app automatically. The connection status in the top-right of every page shows whether you are connected.
Your connection is held in memory. If the server restarts, you will need to reconnect.
-
2
Download the Template
Click Download Template after connecting. The template is generated live from your QuickBooks data - employee names, customers, and service items are pulled directly from your company and pre-loaded as Excel dropdowns. If you download before connecting, these dropdowns will be empty.
-
3
Fill in the Template
Each row is one time entry. Use the dropdowns for Employee, Class, Customer, and Service Item - names must match QuickBooks exactly, and the dropdowns guarantee this. The columns are:
Column Format Required Date Select from date picker or type yyyy-mm-dd Yes Employee Name Dropdown - from your QBO employees Yes Customer Dropdown - from your QBO customers Yes Class Dropdown - from your QBO classes Yes Service Item Dropdown - from your QBO service items Yes Description Free text No Hours Decimal number, e.g. 1.5 Yes Billable (Yes/No) Yes or No No - defaults to No Blank rows between entries are fine - they are skipped automatically.
-
4
Import
Save your file as
.xlsxand upload it in Step 3 on the home screen. Click Import to QuickBooks. Depending on the number of rows, this may take a few seconds while the app validates names against QBO and creates each time entry. -
5
Review the Results
Every import shows a result summary broken into four tiers. See below for a full explanation of each.
Understanding Your Results
Successfully created as a time entry in QuickBooks Online.
An identical entry (same date, employee, customer, and service) already exists in QuickBooks. The row was skipped to prevent double-counting.
A name in the row (employee, customer, service item, or class) could not be matched in QuickBooks. Check the list below the summary for details. Re-download the template to get fresh dropdowns, correct the data, and re-upload.
The QuickBooks API rejected the entry after a valid match was found. This is usually a temporary API issue. Try re-importing the affected rows.
Connecting an AI Assistant
You can log time and ask an AI assistant about your team's hours, customers and retainers in plain English. Time On It connects through the Model Context Protocol (MCP). Everyone connects with their own Time On It account, so they only see what they're allowed to see.
Claude (web, desktop and mobile)
- In Claude, go to Settings → Connectors → Add custom connector.
- Name it Time On It and enter
https://timeonit.com/mcp. Leave the OAuth client ID and secret blank. - Click Connect, sign in to Time On It, choose your company and click Connect again.
On Claude Team and Enterprise plans, an owner can add the connector for the whole organisation. Each person then connects with their own Time On It account.
ChatGPT
- An admin adds Time On It once: in your ChatGPT workspace's Plugins settings, create a new custom plugin with the server URL
https://timeonit.com/mcpand OAuth authentication. Turn on developer mode if ChatGPT asks. - The admin then publishes the plugin to the workspace. New custom plugins start as drafts that only the admin can use.
- Each person then opens the Time On It plugin, clicks Connect and Continue to Time On It, signs in and approves.
Claude Code, Cursor and VS Code
- Go to Settings → Integrations → API Keys & MCP and create a key. Copy it straight away, as it's only shown once.
- Paste the ready-made command shown on that page into a terminal to connect Claude Code. For other tools, add an MCP server pointing to
https://timeonit.com/mcpand send your key in anAuthorization: Bearerheader.
Then ask a question, such as "Who's behind on their hours this week?" Your assistant can read your data and add new time entries. It always shows a preview first and only adds entries once you confirm, using the same checks as a spreadsheet upload. Members can only add their own time. If your data is more than an hour old, it will usually sync the latest time from QuickBooks first; syncing only reads from QuickBooks and doesn't send missing-time reminder emails. Disconnect an app or revoke a key at any time in Settings → Integrations → API Keys & MCP. See the AI Assistant feature page for more.
Pricing
Monthly Subscription
Plans start from $5/month. See the pricing page for full details. You are invoiced monthly with no setup fees and no lock-in contracts.
For billing enquiries, use our contact form.
Tips
- Always download a fresh template if you have recently added new employees or customers to QuickBooks - the dropdowns are generated live.
- You can upload the same file multiple times safely - duplicate entries are detected and skipped.
- Leave the Description column blank if you want the app to generate one automatically (Service Item – Customer Name).
- Use the Billable column to control whether time appears on customer invoices in QuickBooks.
- Use description tags to classify the type of work in each entry - start the description with a label in square brackets, e.g.
[Feature]or[Change Request]. Time On It reads these automatically and shows a "By Tag" breakdown on every insight page. See the timesheet tags guide for examples and usage guidelines.