ExpenseBot Guide & FAQ

📧 Still chasing receipts manually?

Let AI Handle Your Expenses

Forward receipts, snap photos, or let Gmail auto-scan. Your data stays in YOUR Google Drive.

Join 2,500+ businesses already saving hours every month

You'll sign in with Google next — takes 30 seconds, read-only access.

Start Free 60-Day Trial →

No credit card required

Quick Start Guide

Watch the 2-Minute Overview

This short video shows you everything you need to get started with ExpenseBot — how to capture receipts (email, photos, PDFs, Gmail), create a report, and share it with your accountant or finance team so they can import it into their accounting system.

Watch the Quick Start video:

ExpenseBot Quick Start Overview

Interactive Demo

Tip: Add to your safe sender list to receive processing notifications.

Configuration & Setup

How do I configure ExpenseBot settings?

The Agent Configuration page lets you customize how ExpenseBot works for you — set up email preferences, configure automation settings, and personalize your expense tracking workflow.

Configuration options include:

  • Gmail scanning: Enable automatic receipt capture from your inbox
  • Email notifications: Choose when to receive processing updates
  • Default currency: Set your home currency for multi-currency conversion
  • Expense categories: Customize categories to match your business
  • Auto-sharing: Set up automatic report sharing with your accountant

Take a few minutes to configure ExpenseBot when you first sign up, and the AI will handle expense tracking exactly the way you need it. Most settings can be changed anytime as your needs evolve.

Agent Configuration

Interactive Demo

How do I add custom G/L codes for my accountant?

Some companies require expenses to be submitted with specific accounting codes (G/L codes). Add your G/L codes to ExpenseBot and it will automatically categorize your expenses into the right accounts — so they're in perfect shape when you submit them to your accounting team.

Sign in and add accounting codes

Interactive Demo

Requirements

Do I need a Gmail account to use ExpenseBot?

You need a Google account to sign in. This can be a Gmail address, a Google Workspace account, or any email linked to Google.

Google Workspace users: Just sign in — you're already set.

Don't have a Google account? Create one with your existing email at the Google Account Sign‑up page — choose "Use your existing email."

Do I need an app?

No — just sign in at https://www.expensebot.ai

Ready to get started?

Try ExpenseBot free for 60 days. See why thousands of businesses trust us with their expenses.

Start Free Trial →

Solutions By Role

For Freelancers

  • Super simple — just login, snap a photo, done
  • No app to download — works in any browser with your Google account
  • All receipts automatically appear in your Google Sheets
  • Reports created in familiar spreadsheet format
  • Import from PDFs, screenshots, or let our Gmail agent auto‑capture receipts
  • One‑click sharing with your accountant — complete with all documentation
  • AI organizes and categorizes expenses automatically
  • Handles both expenses and invoices seamlessly

See how freelancers use ExpenseBot:

Freelancer

Interactive Demo

For Google Workspace Companies

Once invited, each member of your team can use ExpenseBot to capture and submit expenses under their own company domain. No separate accounts needed — your team simply logs in with their existing Google Workspace credentials.

See the complete workflow from purchase to approval:

Google Workspaces Company

Interactive Demo

Benefits for your organization:

  • Team logs in with company domain — no separate accounts
  • Create expense reports in your corporate Google Sheets
  • Secure storage in your corporate Google Drive
  • Gmail AI agent automatically captures receipt emails
  • One‑click report sharing with finance team
  • Built‑in Google Sheets collaboration features
  • AI validates expenses against your corporate policy
  • Simple license management and team assignments
  • Organization‑wide analytics (Coming Soon)
  • Virtual cards for budget control (Coming Soon)

For Accountants

  • Eliminate client expense headaches
  • Review and approve reports directly in browser
  • Reports delivered in familiar spreadsheet format
  • Export to ANY accounting software with AI G/L mapping
  • Automatic invoice and expense separation
  • Built‑in policy compliance validation
  • Approved reports lock automatically to prevent tampering

See how accountants streamline expense management:

Accountants

Interactive Demo

For CFO Consultants

  • Save clients time and money across all departments
  • Seamless ERP system integration
  • Complete expense workflow with automatic report locking
  • Works with all accounting packages, direct QuickBooks integration
  • Delivers reports in familiar Google Sheets format

For Investment Managers

  • AI‑powered expense compliance that reads your Form ADV
  • Automatic fund vs. adviser allocation with SEC‑defensible citations
  • Bulk invoice processing — handle hundreds of PDFs at once
  • Auto‑retrieval of Form ADV directly from SEC database
  • Vendor contract matching with renewal alerts
  • One‑click push to QuickBooks or export to any accounting system
  • Complete audit trail for SEC examinations

See how investment managers automate expense compliance:

Investment Advisors

Interactive Demo

For Real Estate Agents

  • Simple mileage tracking for showings and appointments
  • Gmail auto‑capture of MLS fees, staging invoices, photography bills
  • Year‑end tax report with all deductions calculated
  • Automatic business vs. personal expense separation
  • Credit card reconciliation to catch missing receipts
  • IRS‑compliant mileage log and expense documentation
  • Import trips directly from Google Calendar

See how real estate agents track expenses and mileage:

Realtor Overview

Interactive Demo

For Wedding Planning & Personal Life Events

Can I use ExpenseBot to track wedding expenses?

Yes — and we built a dedicated wedding flow that goes well beyond a single "Wedding" bucket. When you type a wedding description into the AI tag wizard (Settings → Manage Tags → ✨ Create a Tag with AI), it detects wedding intent and creates five tags at once:

  • Wedding – Attire — gown, tux, alterations, hair, makeup, jewelry
  • Wedding – Venue — venue rental, caterer, bar service, cake, rentals
  • Wedding – Vendors — photographer, videographer, DJ, florist, officiant, planner
  • Wedding – Stationery — invitations, save-the-dates, favors, gifts
  • Wedding – Honeymoon — flights, hotels, resorts, excursions, rental car

Every future receipt sorts itself automatically. Existing receipts from the last 90 days are retroactively tagged too.

Tracking who paid: Add paidby:bride (or groom, bride's family, groom's family) to the subject line when forwarding a receipt. ExpenseBot stamps "Paid by Bride" into the Notes column — without touching the category tag, so your budget totals still roll up cleanly. Or link a second Gmail (bride@gmail.com) as an alias under Settings and attribution is automatic — no subject-line typing needed.

Dedicated Wedding Budget Report: once you're tagged for wedding tracking, a specialized report appears on My Reports — budget vs actuals by vendor category, top vendors per tag, deposit/final-payment pairing, a monthly burn chart oriented around your wedding date, and a Paid-By split flagging who over- or under-paid vs the ratio you set (50/50, 60/40, etc.).

Generic reports: Go to My Reports → Create Report → Report by Tag and pick all five "Wedding –" tags for a per-category breakdown. Filter the Notes column in your spreadsheet to split costs by payer.

The same approach works for any life event: home renovation, baby expenses, moving costs, or an anniversary trip.

For Realtors & Real Estate Agents

Can I use ExpenseBot to track realtor or real estate agent expenses?

Yes — and we built a dedicated realtor flow that maps cleanly to IRS Schedule C. When you type a realtor description into the AI tag wizard (Settings → Manage Tags → ✨ Create a Tag with AI), it detects real estate agent intent and creates five tags at once:

  • Realtor – MLS — MLS fees, NAR/state dues, E&O insurance, license renewal, lockbox (Supra, ShowingTime)
  • Realtor – Gifts — closing gifts, housewarming, thank-you cards (IRS $25/client/year limit applies)
  • Realtor – Listings — staging, photography, drones, virtual tours, yard signs, open house supplies
  • Realtor – CE — continuing education, designations, conferences, coaching, training books
  • Realtor – Tech — CRM (Follow Up Boss, kvCORE), DocuSign, ShowingTime, Canva, scheduling apps

Every future receipt sorts itself automatically. Existing receipts from the last 90 days are retroactively tagged too.

Schedule C at tax time: each tag maps to a specific Schedule C line — MLS to lines 15 & 23 (Insurance, Taxes & licenses), Gifts to line 27a, Listings to line 8 (Advertising), CE to line 17 (Legal & professional), Tech to lines 18 & 22 (Office expense, Supplies).

Three specialized reports for realtors: once you're tagged as a realtor, three dedicated reports appear on My Reports — Realtor Commission P&L (full-year profit & loss with net commission), Realtor Schedule C Preview (USA) / T2125 Preview (Canada) mapping each "Realtor –" tag to the exact tax line, and Realtor Gift Limit Checker that audits your "Realtor – Gifts" spending against the IRS §274(b) $25/client/year cap and CRA equivalents — flagging over-limit clients before your accountant does.

Mileage stays in ExpenseBot's dedicated mileage tracker and maps to Schedule C Line 9 — no separate realtor mileage tag needed.

Does ExpenseBot warn me about the IRS $25 gift limit per client?

Yes. The Realtor Gift Limit Checker report audits your gift spending against IRS §274(b) and CRA limits and flags every recipient at risk of having gifts disallowed at audit.

  • USA — IRS §274(b) caps deductions at $25 per recipient per tax year. Anything beyond is non-deductible.
  • Canada — no hard cap, but gifts over $500 CAD per recipient trigger a "verify reasonableness" flag.
  • Other countries — total-by-recipient breakdown without flagging.

How it flags: USA users see recipients sorted by year-to-date total — 🟢 under $25 fully deductible, 🟡 at limit, 🔴 over with the non-deductible excess broken out separately. Canadian users see the reasonableness flag at $500 CAD instead.

How it identifies the recipient: ExpenseBot checks four sources in order — (1) tag sub-name (Realtor – Gifts – Alice Johnson uses Alice Johnson), (2) Notes column (Paid for Alice or For: Alice), (3) merchant name as fallback (flagged with ?), (4) Unassigned. The easiest way to add a recipient is paidfor:Alice Johnson in the email subject when forwarding the receipt.

The report scans any tag whose name ends in GiftsRealtor – Gifts, Client Gifts, Wedding – Gifts, or generic Gifts — and shows a "tags scanned" count up front so you can confirm your gift receipts are being included. Catches over-limit clients before your accountant does.

For Marketing, PR & Creative Agencies

Can I track client-rebillable expenses for my marketing or PR agency?

Yes — ExpenseBot has a dedicated agency flow for marketing, PR, ad, and creative agencies that bill expenses back to named clients. The convention is simple: tag receipts with Client – <Name> (e.g., Client – Acme Corp, Client – Global Media). The AI tag wizard detects "agency" intent — type something like "ad spend for Acme Corp" or "Canva subscription for client work" and it creates the right Client – tag automatically. From then on, any receipt mentioning that client in the merchant, subject, or notes auto-tags to the right partition.

Three specialized reports for agencies: once you have any Client – tag, three dedicated reports appear on My Reports — Agency Per-Client P&L (profitability broken down per client; flags negative-margin clients where passthrough + time > billed retainer), Agency Passthrough Reconciliation (ad spend paid on behalf of clients — Meta, Google, LinkedIn Ads — vs what was billed back; catches missed rebills before month-end close), and Agency Schedule C Preview (USA) / T2125 Preview (Canada) with year-end tax form previews mapped to agency-specific expense lines (client passthrough, ad spend, tools, meals with clients).

Works for sole-prop agencies (Schedule C) and incorporated agencies (LLC/Inc with T2125 or separate corporate return). Receipts for your own overhead (software, office supplies, staff meals) stay in the normal expense categories — only client-specific spend gets the Client – tag, so your own P&L and each client P&L stay cleanly partitioned.

For Landlords & Rental Property Owners

Can I track rental property expenses per property for IRS Schedule E?

Yes — ExpenseBot has a dedicated rental property flow for landlords. Go to Settings → Rental Properties and add each of your properties (nickname, street address, purchase date, rental %). ExpenseBot creates a tag for each one (Prop – Brooklyn duplex, Prop – Queens condo, etc.).

Auto-tagging: receipts that mention a property address in the subject or body auto-tag via deterministic street-number + street-name matching — no Gemini guessing, no false positives. If you have two properties on the same street (123 Main and 127 Main), the exact street number disambiguates. Rent deposits detected by our Gmail income scanner match the same way, so both sides of the per-property P&L come together automatically.

Schedule E report: run My Reports → Schedule E Rental and get a Google Sheet with IRS Schedule E line layout per property — Advertising, Cleaning & Maintenance, Insurance, Management Fees, Repairs, Taxes, Utilities, HOA/Condo Fees — plus manual-entry fields for mortgage interest (from your 1098) and depreciation.

House hack / owner-occupied: set Rental % to the portion actually rented (e.g., 50% for half a duplex). The report prorates shared expenses automatically.

Three new Expense Accounts (Cleaning and Maintenance, Property Management Fees, HOA and Condo Fees) are added to your spreadsheet on first property setup so nothing is ambiguous at tax time. Works for any portfolio size, from 1 property to 20+.

Does ExpenseBot track rental property expenses per property?

Yes. ExpenseBot tracks rental property expenses per property (not lumped as one "rental" category). Add each property in Settings → Rental Properties with an address and rental %, and receipts with that address auto-tag to the right property. At tax time, ExpenseBot generates Schedule E (US) or T776 (Canada) worksheets with one section per property, ready for filing. See /rental-property-tracker.

Does ExpenseBot support Canadian T776 rental reports?

Yes. ExpenseBot generates T776 Statement of Real Estate Rentals worksheets for Canadian landlords, with gross rents on Line 8141, expenses mapped to Lines 8521 (advertising), 8690 (insurance), 8710 (interest), total expenses on Line 9369, and net income/loss on Line 9946. US landlords get Schedule E worksheets. One T776 per property, as CRA requires. See /rental-property-tracker.

Does ExpenseBot work for office managers handling team receipts?

Yes. ExpenseBot is designed for office managers and personal assistants at small offices (3-20 people). Your team forwards receipts to a shared alias or lets Gmail auto-scan catch them, and you review everything in one Google Sheet. Export to QuickBooks, Xero, Sage, or Wave in one click. No IT setup required — any Google Workspace account can onboard in 10 minutes. See /office-manager.

For Executive Assistants

  • Manage expense tracking for multiple executives from one account
  • Set up executives with their own Gmail scanning and receipt forwarding
  • Create and submit expense reports on behalf of executives
  • Executives can sign in to review and approve their own reports
  • Seamless handoff — you capture, they approve

How do I set up my executives in ExpenseBot?

As an executive assistant, you can add and manage multiple executives from your ExpenseBot account. Set up their email addresses, configure Gmail scanning, and start capturing their expenses immediately.

Set Up Your Executives in ExpenseBot

Interactive Demo

How do executives sign in after being invited?

Once you invite an executive, they receive an email with instructions to sign in. Executives can then view their expenses, review reports you've prepared, and approve them — all without needing to capture receipts themselves.

Executive Sign In

Interactive Demo

Automated Receipt & Invoice Capture

Email Import

How do I submit receipts I receive by email?

You can easily forward any receipt emails to ExpenseBot. Simply forward your email to receipts@expensebot.ai and ExpenseBot will automatically process:

  • PDF attachments containing receipts
  • Receipt details embedded directly in the email body
  • Image attachments of receipts

All forwarded receipts will automatically appear in your ExpenseBot spreadsheet:

How do I add expenses without a receipt?

For cash expenses or when you don't have a receipt, send an email to receipts@expensebot.ai with cash: at the start of the subject line, followed by the amount, description, and optionally a date.

Simple expenses:

  • cash: $45 Uber
  • cash: $12.50 Starbucks coffee
  • cash: $200 office supplies

With tax or tip:

  • cash: $1200 rent with $25 taxes
  • cash: $85 dinner with $12 tax and $15 tip

Tax and tip are included in your total — $1200 with $25 taxes means your total is $1200, not $1225.

With dates:

  • cash: $50 lunch yesterday
  • cash: $200 groceries last friday
  • cash: $1200 rent for march
  • cash: $1200 rent for march 1 2025

If you don't include a date, today's date is used.

Multiple expenses in one email:

  • cash: $50 lunch, $30 gas, $20 parking
  • cash: $12 coffee, $65 dinner, $25 Uber

Recurring expenses:

  • cash: $1200 rent each month this year
  • cash: $1200 rent and $25 taxes each month this year
  • cash: $1200 rent for the past 4 months
  • cash: $1200 rent for march, april, and may
  • cash: $50 cleaning every week for the past month

Recurring expenses will never be created for future dates.

Each expense is automatically categorized by AI, tagged as "No Receipt", and added to your spreadsheet. You can put details in the subject line, the email body, or both.

Add expenses without a receipt

Interactive Demo

Can I forward receipts from another email address?

Yes. Add it as an Email Alias in Settings. If most receipts arrive at the Gmail you signed up with, you can skip this.

Email Alias

Interactive Demo

Why am I getting "Undeliverable" or "Access denied" when forwarding from Outlook/Microsoft 365?

If you receive an error like 550 5.7.520 Access denied, Your organization does not allow external forwarding, your company's Microsoft 365 admin has blocked external email forwarding as a security policy.

Solutions:

  • Ask your IT admin to whitelist receipts@expensebot.ai as an allowed external forwarding destination
  • Forward from personal email — if you have a Gmail, forward receipts through that instead
  • Upload directly — use ExpenseBot's camera, Google Photos import, or drag-and-drop upload

Your IT admin can find the setting in Microsoft 365 Admin Center → Exchange → Mail Flow → Remote Domains, or via PowerShell using Set-RemoteDomain.

How can I import receipts from my Gmail inbox?

Connect Gmail and let the AI find receipts automatically — no forwarding rules required:

Can I scan a second Gmail account for a full year of receipts?

Yes! Connect up to 5 Gmail accounts and run a historical scan on each — perfect for pulling a full year of receipts at tax time.

How it works:

  • Go to Process from Gmail and connect the new account
  • Select the account from the dropdown
  • Choose a time period (e.g., "2025 Calendar Year")
  • Click Scan — it runs in the background
  • You'll receive an email notification when the scan is complete with a summary of processed receipts and those needing review

The scan processes in the background so you can close the page. When it finishes, you get an email showing exactly what was found.

How does the Gmail scanner decide which emails to pick up?

The scanner uses multiple layers to find your receipts automatically — no setup or rules needed:

  • Keyword scanning: Every scan searches for emails containing "receipt", "order", "invoice", "payment", and more — from all senders.
  • Learned senders: Once you process a receipt from a sender (e.g., Amazon, Adobe), the AI remembers and automatically includes them in future scans.
  • AI classification: Every email found is analyzed by AI to confirm it's actually a receipt (not a marketing email or shipping notification).

You don't need to add senders or set up keyword rules — the more receipts you process, the smarter the scanner gets for your account. If something is still being missed, apply the "ExpenseBot" label to the email in Gmail and the scanner will pick it up and learn from it.

Pro tip: Gmail filters for guaranteed pickup

Want to make sure receipts from a specific merchant always get picked up? Use Gmail's built-in filters to auto-apply the "ExpenseBot" label to emails from that sender (e.g., auto-confirm@amazon.ie). The scanner will pick them up on every scan — no manual labeling needed.

How to set it up: In Gmail, click the search bar filter icon, enter the sender's email in "From", click Create filter, then choose Apply label "ExpenseBot".

Does the scanner look through archived emails?

It depends on the scan type:

  • Daily automated scans: Only look at your inbox — emails that have arrived since the last scan.
  • Historical scans (when you first connect or run a manual scan): Search all mail — including archived emails and labeled folders — so receipts you've already read and filed away are still captured.

In both cases, once an email has been processed it's excluded from future scans — so nothing gets duplicated.

What if the Gmail scan missed a receipt?

It's rare — the scanner already searches for receipt-related keywords across all senders — but some emails can still be misclassified by the AI. For example, order confirmations with "not yet charged" disclaimers may be skipped. Here's what to do:

Two steps to fix it:

  1. Label the email: In Gmail, apply the "ExpenseBot" label to the missed email (the label should already be in your label list).
  2. Process it: In ExpenseBot, click Find receipts in Gmail — the labeled email will appear and you can process it right from there.

Processing a missed receipt teaches the AI to recognize that sender going forward — future emails from them will be included in scans automatically.

Please also let us know at support@expensebot.ai so we can investigate and improve the detection for everyone.

Can I exclude certain merchants or categories from my Gmail scan?

Yes. Exclusion rules let you skip specific merchants or expense categories during Gmail scans — matching receipts are never written to your spreadsheet.

How to set it up:

  1. Open Gmail Processor (the receipts/Gmail view).
  2. Click the Exclusions button in the top-right header.
  3. Choose Merchant or Category from the dropdown, enter the name, and click Add.

Matching behavior:

  • Merchant rules — substring, case-insensitive. Adding "amazon" blocks "Amazon.com", "AMAZON MKTPLACE", and "Amazon Web Services".
  • Category rules — exact match, case-insensitive. Adding "Meals and Entertainment" only blocks that exact category.

Excluded receipts are labeled ExpenseBot-Excluded in Gmail for a transparent audit trail. Your scan confirmation email shows exactly what was excluded and which rule matched. Nothing is deleted — the original email stays in your inbox.

Note: Exclusions only apply to Gmail scans. If you manually upload a photo or PDF receipt, it always goes through — deliberate uploads reflect explicit intent.

Photo Import

How do I take a photo of a receipt and submit to ExpenseBot?

How can I import photos of receipts from Google Photos?

ExpenseBot makes it easy to find and import receipts directly from Google Photos:

Import from Google Photos

Interactive Demo

How do I import screenshots and images from my device?

If you have screenshots, saved images, or other receipt photos stored directly on your device (not in Google Photos), you can import multiple images at once:

Importing Images from Device

Interactive Demo

Document Import

How do I import multiple PDFs from my device?

Importing PDFs

Interactive Demo

Can I import receipts from Google Drive?

Yes! Click the Google Drive button in ExpenseBot to open the Drive Picker. Browse or search your Drive, select up to 100 receipt files at once, and AI processes them all automatically.

Privacy note:

ExpenseBot only accesses the specific files you select — it uses Google's secure drive.file scope, not full Drive access. Your other Drive files are never touched.

How do I scan receipts from my iPhone camera roll?

Open expensebot.ai in Safari on your iPhone, sign in with Google or Apple, and tap Upload. Safari opens iOS's native photo picker.

  1. Long-press the first receipt photo in your camera roll
  2. Tap additional photos to multi-select (up to ~100 per batch)
  3. Tap Upload — AI processes every image in parallel
  4. Each receipt becomes a row in your Google Sheet with vendor, amount, date, tax, and category extracted

No app download needed:

ExpenseBot runs entirely in Safari. iCloud Photos appear in the picker automatically because iOS syncs them to the camera roll. For a native-app feel, use Safari's "Add to Home Screen" — you get a home-screen icon and full-screen UX without the App Store.

Learn more: iPhone Receipt Scanner

How do I scan receipts from my iPhone with the Apple Shortcut?

ExpenseBot ships a free "Scan Receipts" Apple Shortcut. Install it in under 2 minutes:

  1. Go to Settings → General → iPhone Shortcut and copy your personal upload URL
  2. Tap the iCloud install link on the Apple Shortcuts guide — the Shortcuts app prompts you for your URL during install
  3. Open Photos.app, select receipt photos, tap Share → "Scan Receipts"
  4. Photos upload in one tap; results appear in your Google Sheet in ~2 minutes

Works on iPhone + Mac + iPad:

Any device running Shortcuts (iOS 14+, iPadOS 14+, macOS Monterey+). Install once via iCloud — syncs across all your Apple devices automatically.

Files accepted: JPEG, PNG, HEIC, WebP, PDF (up to 15 MB each). Also triggerable via Siri ("Hey Siri, Scan Receipts").

Can I download all my receipts as a ZIP file for HSA/FSA/PHSP upload?

Yes — every ExpenseBot report has a one-click "ZIP (Receipts)" download alongside CSV / XLSX / PDF. Available on HUD Medical, CRA Medical, HSA/FSA, PHSP, and regular expense reports.

The ZIP contains:

  • Every Drive-linked receipt PDF, numbered and dated: 001_2026-02-14_Shoppers_Drug_Mart_47.99.pdf
  • index.csv — maps every filename to date / vendor / amount / expense-type / notes with per-row success/fail status
  • README.txt — admin-specific upload instructions for your HSA/FSA provider (WageWorks, HealthEquity, FSAFEDS, Optum, Lively, Fidelity; Olympia Benefits, Benecaid, myHSA, Simply Benefits for Canada)

Technical guarantees:

Streams from Drive → browser without buffering — 100+ MB bundles work fine. If a receipt was deleted from Drive, it's marked FAILED in index.csv and the rest of the ZIP completes (never all-or-nothing).

How do I claim the CRA medical expense tax credit?

Enter eligible expense totals on Line 33099 (self, spouse, minor children) and Line 33199 (adult dependents you supported) of your T1 return.

  • Threshold = LESSER of 3% of net income or $2,833 (2025 — indexed annually)
  • Pick any 12-month period ending in the tax year — not just the calendar year
  • Keep receipts for 6 years (CRA doesn't want them attached, but can request during review)

ExpenseBot automates this:

Scans Gmail for 24 months of medical receipts, extracts vendor/date/amount/tax/line items from each, classifies by CRA expense type. Wizard at /my-cra-medical-report lets you pick any 12-month window with live threshold math. Generates T1-supporting documentation. Patient-name splitting for Line 33099 vs 33199 is manual today (auto-split ships in V2). Stores receipts in your own Google Drive for the full 6-year CRA retention.

Full guide: The Complete CRA Medical Expense Tax Credit Guide. Landing page: CRA Medical Expense Tax Credit Tracker.

Does ExpenseBot handle duplicate receipts? What if I resubmit receipts?

Yes! ExpenseBot checks your spreadsheet before adding any receipt. It will only flag something as a duplicate if the same receipt is already in your spreadsheet. So if receipts didn't go through the first time and you resubmit them, they'll be processed normally — no duplicate issue.

Which Amazon emails does ExpenseBot pick up?

ExpenseBot processes Amazon order confirmations from auto-confirm@amazon.* (any country marketplace — .com, .ca, .co.uk, .de, .fr, .co.jp, etc.). The order confirmation is Amazon's receipt — Amazon doesn't send a separate one. We parse the plain-text body directly to extract items, total, tax, and order number, then drop the row into your spreadsheet. Works across 20+ Amazon marketplaces.

Amazon's status emails are skipped on purpose:

  • shipment-tracking@amazon.* ("Shipped: …") — status update, not a charge.
  • order-update@amazon.* ("Delivered: …") — status update, not a charge.
  • return@amazon.* (refunds, returns) — we don't yet match refunds back to the original purchase.

Scanning those would create a duplicate row for every order, so we filter them out. If you see Amazon emails in Gmail but no Amazon rows in your spreadsheet, the most common reason is simply that you haven't placed a new Amazon order since signing up — your next order confirmation will be captured automatically. Subscribers can also use the "Scan older" option on the Gmail scan button to sweep historical orders from prior years.

Does ExpenseBot handle multi currency?

Yes, we handle currency from any country and convert it back to your home currency using the exchange rate from the date of the receipt itself.

Viewing & Editing Your Expenses

Where are my expenses stored?

All your expenses are automatically organized in a Google Sheet stored in your own Google Drive. This means you own your data, can edit it anytime, and can share it with anyone using familiar spreadsheet tools.

Benefits of Google Sheets:

  • Full control: Edit, sort, filter, and customize your expense data
  • Familiar format: Works just like Excel — no learning curve
  • Easy sharing: Share with your accountant using Google's built-in sharing
  • Your data: Stored in YOUR Google Drive, not on vendor servers

How do I view or edit my expenses on mobile (iPhone/Android)?

Your expenses live in a Google Sheet. To view and edit on your phone, we recommend installing the free Google Sheets app:

Install Google Sheets:

Troubleshooting "View Only" or Can't Edit:

  • Check your Google account: Make sure you're signed into the Google Sheets app with the same Google account you use for ExpenseBot
  • Reinstall the app: If issues persist, uninstall and reinstall Google Sheets
  • Try the browser: Open the spreadsheet link in Safari/Chrome if the app isn't working

Once installed, tapping "View Spreadsheet" in ExpenseBot will open your expenses directly in the Google Sheets app for easy editing.

Can I edit expenses without installing an app?

Yes, you can view and make basic edits in your mobile browser (Safari/Chrome), but the experience is optimized for the Google Sheets app. For the best mobile editing experience, we recommend installing the free Google Sheets app. On desktop, the spreadsheet opens directly in your browser — no app needed.

Does editing expenses in my spreadsheet (recategorizing, changing tags) affect my reports?

No — once your data is in the sheet, changing categories, tags, totals, or any other field does not affect previously generated reports. Reports are created as a separate snapshot, so feel free to recategorize or update entries anytime.

Adding new categories or tags not in the dropdown:

  • In ExpenseBot: Go to Settings > Category or Settings > Tag and add it there
  • Shortcut in the spreadsheet: Go to the Categories or Tags tab and add your entry following the same format as the existing ones

Once added, the new option will appear in the dropdown for all future expenses.

Mileage Tracking

How do I track business mileage?

ExpenseBot integrates with Google Maps to auto‑calculate distances. Enter your starting address and destination, toggle round‑trip if needed, and add it to your expense report with one click. The current IRS mileage rate is applied automatically to calculate your tax deduction.

Mileage tracking features:

  • Google Maps integration: Auto-complete addresses and accurate distance calculation
  • Round-trip toggle: One click to double mileage for return journeys
  • Trip duplication: Reuse frequent routes with one click
  • IRS-compliant log: Date, destination, purpose, and miles — everything the IRS requires
  • Automatic rate updates: Always uses the current IRS standard mileage rate

The average business driver logs 10,000+ miles per year. At the current IRS rate, that's over $6,700 in tax deductions. ExpenseBot makes sure you capture every mile without a separate mileage tracking app draining your battery.

Mileage Tracking Demo

Interactive Demo

Can I import trips from Google Calendar?

Yes! If your calendar events have addresses (like client meetings, property showings, or job sites), ExpenseBot can import them and calculate mileage automatically. This is the easiest way to capture business miles you might otherwise forget.

Perfect for professionals with location-based appointments:

  • Real estate agents: Import showings, open houses, and client meetings
  • Field service technicians: Import job site visits and service calls
  • Sales representatives: Import client visits and prospect meetings
  • Consultants: Import on-site client engagements
  • Healthcare workers: Import home visits and facility rounds

Simply connect your Google Calendar, select the events with addresses, and ExpenseBot calculates the mileage for each trip. No more forgetting to log miles after a busy day of appointments.

Import trips from Google Calendar

Interactive Demo

Report Creation & Submission

Creating Reports

How do I create a report by date range?

In the Report Wizard, choose "Report by Date Range" and select a start and end date. Your expenses are automatically summarized by category in a separate tab — no extra steps needed:

Create a Report by Date Range

Interactive Demo

How do I create a tailored expense report for a trip, project or client?

Use tags to group expenses, then choose "Report by Tag" in the Report Wizard:

Create a Report by Tag

Interactive Demo

Reconciling Your Expenses

How do I reconcile my credit card statement with my expenses?

Connect your bank or credit card via Plaid to automatically pull transactions for reconciliation. ExpenseBot matches your statement with expenses, finds missing receipts, and updates exchange rates.

Why connect your bank account:

  • Automatic reconciliation: Match receipts against bank transactions instantly
  • Find missing expenses: Catch deductible purchases you forgot to capture
  • Home office deductions: Track utilities, internet, and rent payments automatically
  • Month-by-month verification: Ensure every business expense is accounted for
  • Year-end confidence: Know you haven't missed any tax deductions

Bank connections are secured through Plaid, the same technology used by major financial apps. ExpenseBot never sees your login credentials. You can also upload PDF statements manually if you prefer not to connect directly.

Reconcile Credit Cards Automatically

Interactive Demo

Fee & Interest Detection

Does ExpenseBot track bank fees and interest charges?

Yes — the Fee & Interest Detector automatically scans your linked bank accounts for hidden charges and notifies you when they appear or increase. It uses your existing Plaid bank connection — no new setup required.

What it detects:

  • Interest charges — credit card interest and cash advance interest (usually the largest bucket)
  • Overdraft fees — charged when your account goes below zero
  • NSF / returned-payment fees — bounced payments
  • Foreign transaction fees — purchases in a foreign currency
  • Out-of-network ATM fees — ATM use outside your bank's network
  • Other bank fees — annual card fees, maintenance, late fees, wire transfers

ExpenseBot scans once a month and sends an Activity Center notification (plus push notification on mobile) when fees are detected or rise materially. The first time fees are found, you also receive a discovery email the following morning with the full category breakdown.

View your fee summary any time at expensebot.ai/my-fee-audit-report.

Subscription Tracking

Does ExpenseBot track my recurring subscriptions?

Yes — the Subscription Auditor scans your expense sheet for recurring charges and surfaces your full subscription picture: what you're paying, how often, and whether any price has changed.

What the report shows:

  • Active subscriptions — merchant name, cadence (monthly / annual), monthly cost estimate, and category
  • Annual charges broken down — divided by 12 so you can compare all costs side by side
  • Total monthly spend — one number for your full recurring burden
  • Price increases — anything that costs noticeably more than it did 90 days ago

No bank connection required — it works entirely from the expenses already in your ExpenseBot spreadsheet. Run it from Settings → Specialized Reports → Subscription Auditor, from the Suggested Reports card on My Reports (appears once 2+ subscriptions are detected), or go directly to expensebot.ai/my-subscription-audit-report.

After your first scan, ExpenseBot monitors your expenses once a month and sends an Activity Center notification (plus push notification on mobile) if a new subscription appears or a price increases — you only hear about it when something actually changed.

Will ExpenseBot notify me if a subscription price goes up?

Yes. After your first Subscription Auditor scan, ExpenseBot automatically re-scans your expenses once a month. If any subscription's price has increased — or a new recurring charge appears — you'll get:

  • An Activity Center notification (bell icon, top right)
  • A push notification on mobile if you have notifications enabled

Nothing is sent when there's no change — only when there's a real delta worth knowing about. You can also trigger a manual scan any time from Settings → Specialized Reports → Subscription Auditor.

Can my AI assistant connect to ExpenseBot?

Yes. ExpenseBot publishes two Model Context Protocol (MCP) servers on npm — a read-only docs server and an authenticated server with 17 tools across search, capture, Gmail scan, reports, and analytics. They work with Claude Desktop, Cursor, Continue, paid ChatGPT, and any MCP-compatible client.

Setup is three minutes: generate a personal access token in Settings → AI Assistant Tokens, paste a JSON config block into your Claude Desktop config, restart Claude. From then on you can ask things like "find every Uber receipt I expensed last quarter" or "submit this photo as a $42 client lunch yesterday" in plain English.

Listed on the official MCP Registry. See the full guide at /mcp.

Sharing Reports

How do I share my expense report with a manager or accountant?

Share your report quickly with our One‑Click Sharing feature:

One-Click Sharing

Interactive Demo

Review & Approval

How do I approve expense reports as a manager or accountant?

When you receive access to a report, here's what you can do:

Approving a Report

Interactive Demo

How do approved reports get locked to prevent tampering?

Once a report is approved in ExpenseBot, it becomes read‑only and locked in your Google Drive. This ensures compliance and preserves a secure audit trail for your finance team.

Expense Management & Organization

How do I manage tags to organize my expenses?

Tags let you group expenses by business trip, client, or project so you can create separate reports:

Tags

Interactive Demo

Can ExpenseBot create tags from my Google Calendar?

Yes. ExpenseBot scans your Google Calendar (past 90 days plus next 90 days) and proposes tags for recurring clients, projects, and trips. Built for anyone with recurring client meetings, scheduled gigs, or trips — chefs, photographers, consultants, agencies, freelancers, contractors.

Three ways to launch the wizard

  • Tag Management modal → "Create tags from your calendar" button
  • Suggested Reports card on My Reports (for freelancer/agency/realtor users)
  • Automation Hub card in Settings → Gmail Automation

Or navigate directly to /my-calendar-to-tags-wizard.

What it proposes:

  • Recurring meetings with the same attendee → Client – Acme Corp
  • Distinctive upcoming events (wedding, shoot, launch, renovation, gala) → Project – Smith Wedding
  • Travel-shaped events (trip, conference, expo, summit, festival, show) → Trip – Toronto Food Show
  • Recurring same-location events → Location – Starbucks Downtown

Multi-calendar supported — pick which calendars to scan in Step 1. Selection is shared with the Calendar → Mileage feature so you only configure it once.

Optional: filter by event color

If your work and personal events live on the SAME calendar, color-code your work events in Google Calendar (right-click event → "Set color") and use the Filter by event color picker in Step 1. The wizard will only consider events with those colors and skip everything else. Useful for mixed-use calendars or for scanning one client's color at a time.

Note: Apple Calendar's per-event coloring isn't standardized in CalDAV, so this filter is Google-only.

5-tier trust hierarchy when receipts arrive:

  • Subject command (silent, ≥0.95) — for:Acme or project:Website-Redesign in the receipt subject overrides everything
  • Attendee + same-day + plausible merchant (silent, ≥0.95) — receipt date matches a calendar event with the bound attendee
  • Location match (silent, ≥0.95) — merchant location matches the bound event location
  • Proximity to upcoming project (yellow suggestion chip, 0.7–0.95) — generic merchant near a single upcoming Project/Trip binding
  • Multiple plausible bindings (inline dropdown, 0.5–0.7) — you pick

A merchant-class gate prevents false positives — a Best Buy laptop won't auto-tag to a "Lunch with Acme" event, hardware stores can't auto-tag to catering projects, etc.

Recently auto-tagged panel + undo

Silent auto-tags surface in a "Recently auto-tagged" panel above View Expenses with one-click Undo for 7 days. Click any chip to see the reasoning ("Tagged because: meeting at 2pm with john@acme.com on receipt date"). Suggestions also appear in your bell-icon Activity Center with push notifications.

Rolling 30-day sweep: once a day, ExpenseBot scans the next 30 days of your calendar for new patterns and creates bindings automatically — so as your calendar fills with future gigs, tags appear without you having to re-run the wizard.

Privacy: only event metadata (titles, attendees, locations) is sent to Google Gemini for clustering. Private notes, descriptions, and attachments are never read. Disclosed on Step 1 of the wizard before you continue.

Toggle off: turn off "Auto-tag from calendar" in Tag Management → Calendar Bindings (or in the Automation Hub). Existing bindings stay; new receipts won't auto-apply, but you can still tag manually or via subject commands.

Different from Calendar → Mileage: the older mileage feature uses event addresses to compute drive distance for IRS/CRA mileage deductions. Calendar → Tags reads event metadata for tag attribution. Both share the same calendar connection but live in different panels — they're complementary.

Does ExpenseBot's Calendar to Tags feature work with Apple Calendar?

The wizard plugs into Google Calendar only — Apple doesn't expose a public REST API for iCloud Calendar. But you don't need the wizard to get the same per-gig auto-tagging value. Two universal paths work without any calendar integration:

Path 1 — Manual tags + subject commands (recommended)

Create your gig tags once in Tag Management — about 30 sec each:

  • Client – Acme Corp for recurring client work
  • Project – Smith Wedding Catering for one-off projects
  • Trip – Toronto Food Show for travel events

When you forward a receipt to receipts@expensebot.ai, add a subject command:

  • for: smith wedding → matches Project – Smith Wedding Catering
  • project: catering acme → matches existing project tag
  • for: acme → matches Client – Acme Corp

Fuzzy matching handles partial names. ExpenseBot tags the receipt automatically — same outcome as the calendar wizard would have produced.

Path 2 — Use a separate Google Calendar for gigs

If you want full automation without subject-command discipline, create a free Google calendar called "Gigs" and put work events there — keep your personal life on iCloud. Then run the Calendar to Tags wizard against the new Google calendar. Best of both worlds.

Why we don't support Apple Calendar directly: Apple's authentication only exposes name + email, not calendar access. The only programmatic path is CalDAV with an app-specific password — a 5-step user setup versus Google's one-click OAuth. We've researched and planned the integration but it's deferred until adoption signal warrants. Reply to your trial or subscription email if you'd find direct Apple Calendar support valuable.

Color-coding tip: if you eventually move your gigs to a Google calendar, the wizard supports an optional "Filter by event color" step — scan only events you've colored a specific way (e.g. only Tomato red events). Apple's per-event coloring isn't standardized in CalDAV so this feature is Google-only.

How do I customize expense categories?

ExpenseBot automatically determines the correct expense category account. Here's how you can customize them:

Expense Categories

Interactive Demo

My expenses from the same merchant are all in one generic category. How do I fix this?

This is common with merchants like Apple, Amazon, or Google where one merchant sells everything from games to business software to personal subscriptions. For example, dozens of "Apple" charges might all be categorized the same way — but they include mobile games, iCloud storage, streaming subscriptions, and dating apps.

The fix: Add custom categories with descriptions

Go to Settings > Manage Categories and create categories that reflect how you actually want to organize your spending. The key is the description — this tells the AI exactly when to use each category.

Example: Breaking up Apple charges

  • Games — "Mobile games, in-app purchases, gaming subscriptions"
  • Software and Apps — "Business-related software, cloud storage, app subscriptions"
  • Personal — "Dating apps, personal purchases, entertainment, non-business items"

Now a Puzzles and Conquest purchase gets filed under "Games," an iCloud subscription goes to "Software and Apps," and a Match.com charge goes to "Personal."

How does the AI decide?

ExpenseBot reads the actual content of the receipt — not just the merchant name. It looks at line items, subscription names, and purchase descriptions to understand what was bought. This information also flows into the Notes field as a brief summary (e.g., "Puzzles and Conquest" or "iCloud 200GB"), which helps you see at a glance what each charge was for.

Tips for good category descriptions

Be specific and give examples. For instance, a medical professional might create:

  • CME and Medical Education — "Continuing medical education courses, certifications, medical conferences"
  • Medical Reference and Subscriptions — "Clinical reference tools, medical journals, databases (UpToDate, Sanford Guide)"
  • Professional Development — "Business coaching, non-medical courses, professional education"

Without descriptions, these look similar. With descriptions, the AI knows a Sanford Guide subscription goes under "Medical Reference" while a Kajabi business course goes under "Professional Development."

New categories apply automatically to all future receipts — no further action needed.

What's the difference between categories and tags?

Categories (Column C) are your G/L accounts — like "Meals & Entertainment" or "Travel". AI assigns these automatically based on your chart of accounts.

Tags (Column K) are user-defined groupings that cut across categories. A "Las Vegas Trip" tag might include meals, flights, hotels, and Uber rides — all different categories, grouped under one tag.

Quick comparison:

  • Categories: Auto-assigned by AI, one per expense, matches your accounting system
  • Tags: User-defined, for grouping expenses by trip/client/project across all categories
  • AI auto-suggests trip tags: Detects travel patterns and suggests tags like "Las Vegas Trip" overnight
  • Project/client tags: Add in Settings > Tags, then assign in the spreadsheet's Tag column

How reports use each:

  • Report by Date Range: Pulls expenses from a date period, automatically summarizes by category in a separate tab
  • Report by Tag: Pulls all expenses with a specific tag, across all categories and dates
  • Year-End Report: Includes every expense for the year (even those already in other reports), with each category on its own tab

If I create a new tag wizard, will it overwrite my existing tag assignments?

No. Creating a new tag bundle through the wizard never overwrites a tag you've already assigned. When you save a new bundle through Settings → Manage Tags → ✨ Create a Tag with AI — Realtor, Wedding, Rental Property, Agency, or any custom AI-generated tag — ExpenseBot scans receipts from the last 90 days and only fills in receipts where the Tag column (Column K) is currently empty.

What retroactive apply does NOT do:

  • Does not overwrite a tag you assigned manually
  • Does not overwrite a tag the AI assigned earlier from a different bundle
  • Does not touch receipts older than 90 days
  • Does not change tags on future receipts that already get tagged at scan time

You'll see a toast like "5 tags saved. Applied to 37 existing receipts across all tags." — that "37" only counts previously untagged receipts. Your existing categorization is safe; the new bundle just fills the gaps in your untagged history and starts auto-tagging future receipts.

Want a previously-tagged receipt to use the new tag? Open your spreadsheet, find the receipt in the Tag column, click the cell, and pick the new tag from the dropdown. Manual edits always win — the wizard won't touch it again.

How do I add my Employee ID to my report?

Go to your main ExpenseBot spreadsheet, click the Settings tab, and enter your Employee ID in cell B2. Now all reports will include your Employee ID.

How do I delete a report?

Use the Report Wizard to delete or undo a report:

Undo / Delete a Report

Interactive Demo

How do I correct or fix wrong data in my expense spreadsheet?

If an expense has incorrect data (wrong amount, vendor, date, etc.), here's how to fix it depending on how the receipt was originally added:

Option 1: Edit directly in the spreadsheet

The simplest fix — just open your Google Sheet and correct the data in the row. You can change the amount, vendor, category, date, or any other field directly.

Option 2: Re-upload a photo or PDF

If the receipt was a photo or PDF upload and the AI extracted it incorrectly:

  1. Delete the affected row in your spreadsheet
  2. Re-upload the original photo or PDF at expensebot.ai
  3. ExpenseBot will reprocess it fresh and add a corrected row

Note: If you don't delete the old row first, ExpenseBot will flag it as a duplicate.

Option 3: Reprocess a Gmail/email receipt

If the receipt came in via Gmail scan or email forwarding:

  1. Delete the affected row in your spreadsheet
  2. In Gmail, find the original email and remove the "Processed" label
  3. Apply the "ExpenseBot" label to that email (if using Outlook, move it to the "ExpenseBot" folder)
  4. In ExpenseBot, click Find Receipts in Gmail — the email will appear for reprocessing

If you have Gmail Automation enabled, the re-labeled email will also be picked up automatically in the nightly scan — no manual action needed.

For Finance Teams

Upgrade to Teams

I signed up as a Freelancer or Business user — how do I invite teammates now?

You can upgrade to Teams any time from Settings — no need to reset your account or start over.

Teams is a multi-user plan with a minimum of 2 paid seats. Your Team Admin access is included free on top — you never use a seat on yourself. So the smallest Teams plan is you (free admin) + 2 paid seats to assign to teammates = 3 people total using ExpenseBot. Seats are only for teammates who actually submit expenses.

Go to Settings and look for the blue-bordered "Invite your team to ExpenseBot" card, then click Upgrade to Teams. A modal opens where you pick your seat count (starts at 2, up to 200) and billing interval — $10 per seat/month or $100 per seat/year.

If you're already on a paid Freelancer or Business plan, the upgrade modal shows a yellow "Heads up" notice confirming your current subscription will cancel at the end of the billing period and your Teams plan starts immediately — no double-billing.

After checkout, License Manager appears in your sidebar so you can invite teammates by email, assign seats, and sync G/L accounts and tags across everyone. Accountants who upgrade keep their accountant view and get a three-way toggle (Accounting / Team / Expenses) to move between client books, team licenses, and their own expenses.

Invite Clients

How do I invite clients to use ExpenseBot and share reports with me?

Invite clients and enable automatic report sharing to streamline collaboration:

Invite Clients

Interactive Demo

Communication & Collaboration

As a reviewer, how do I communicate with the submitter about expenses?

Leave comments on individual expenses or add notes about the entire report:

Mentions

Interactive Demo

Compliance & Controls

How does the ExpenseBot AI determine compliance with Expense Policies?

Upload your policy PDF and ExpenseBot evaluates any report against it instantly.

Automated Expense Policy Compliance

Interactive Demo

Export & Integration

What accounting software does ExpenseBot support?

ExpenseBot integrates with a wide range of accounting software:

  • QuickBooks Online: Direct one‑click sync for both expenses and invoices
  • Xero: Export formatted for easy import
  • Sage 50 Canada: Export ready‑to‑import files
  • Sage 50 USA: Export ready‑to‑import files
  • Sage Intacct: Export with automatic dimension mapping
  • FreshBooks: Export with automatic G/L mapping
  • Zoho Books: Export with custom field mapping
  • NetSuite: Export formatted for NetSuite import
  • Microsoft Dynamics Business Central: Export with G/L account mapping

Our AI export maps expenses to the correct G/L accounts for any accounting system, saving hours of manual categorization.

Accounting Export - Best

Interactive Demo

Can I connect Claude Desktop or other AI assistants to ExpenseBot?

Yes. ExpenseBot publishes two MCP (Model Context Protocol) servers on the official MCP Registry, letting Claude Desktop, Cursor, ChatGPT, and any MCP-compatible AI assistant work directly with your ExpenseBot account.

What you can do from your AI assistant:

  • Search expenses ("show me my Amazon receipts over $50 from last month")
  • Submit photo or PDF receipts conversationally
  • Scan Gmail for receipts on demand
  • Create and share expense reports
  • Run deep analytics ("compare Q1 vs Q2 spending")
  • Add cash expenses without a receipt
  • Check tax deductibility for purchases
  • Search the ExpenseBot knowledge base — 17 tools total

Setup (3 minutes): Go to Settings → AI Assistant Tokens → Generate. Paste the token into your AI client's config. For Claude Desktop, edit claude_desktop_config.json and add:

{
  "mcpServers": {
    "expensebot": {
      "command": "npx",
      "args": ["-y", "@expensebot/mcp-server-auth", "--token=YOUR_TOKEN"]
    }
  }
}
Security: Personal Access Tokens are scoped to your account only, expire in 30 days, and are revokable instantly. Max 5 active tokens per user. All MCP actions are audit-logged. Your data stays in your Google Drive — the MCP server never stores anything. Free for all ExpenseBot users.

Find both servers on the official MCP Registry — search "ExpenseBot". ExpenseBot is the first expense management tool in the registry.

How does QuickBooks integration work?

ExpenseBot features a direct API integration with QuickBooks Online — not just an export. Connect once through our guided wizard, and expenses sync automatically with one click. Featured in the QuickBooks App Store.

QuickBooks integration features:

  • One-click sync: Submit your expense report and it creates a bill in QuickBooks instantly
  • AI vendor matching: Automatically matches expenses to existing QuickBooks vendors
  • Smart GL mapping: AI maps expense categories to your QuickBooks chart of accounts
  • Invoice handling: Vendor invoices become individual bills; receipts consolidate into one bill
  • Billable expenses: Track client-billable expenses for easy reimbursement
  • Receipt attachments: Original receipts attach directly to QuickBooks bills

Unlike export-based integrations, the QuickBooks API sync means no manual file uploads or imports — just click "Submit to QuickBooks" and the bill appears in your accounting system, ready for payment.

QuickBooks Integration Demo

Interactive Demo

Team Administration

What can I do as a Team Administrator?

Admins can manage licenses, sync G/L accounts, and standardize tags across the team:

Administrator Capabilities:

  • Assign Licenses: Allocate licenses to team members
  • Sync G/L Accounts: Keep consistent accounts across your organization
  • Manage Tags: Create and sync project/client/department tags
  • Team spending insights: Ask the chat assistant questions like “Summarize my team spending this year”

These features ensure consistency while saving time through AI automation.

How do I sync expense categories and G/L accounts for my team?

Upload your company's expense categories and G/L accounts to ensure consistent coding across all team members:

Expensebot Demo

Interactive Demo

How do I purchase ExpenseBot licenses for my team?

Purchase multiple licenses at once and assign them to team members:

Teams Purchase

Interactive Demo

Tax & Year‑End Reports

How do I get my year‑end tax summary?

ExpenseBot automatically generates a complete year‑end tax report with all expenses categorized, deductions calculated, and receipts attached. On December 31st, you receive a comprehensive spreadsheet ready to hand to your accountant or upload to tax software.

Unlike regular reports (which only include unassigned expenses), the year‑end report includes every expense for that year — even those already in other reports. Each category gets its own summary tab.

What's included in your year‑end tax report:

  • Expense summary by category: Travel, meals, office supplies, subscriptions, and more
  • Mileage log: Complete IRS-compliant record of all business miles
  • Deduction calculations: Business use percentages already applied
  • Receipt documentation: All receipts attached and organized
  • Tax form pre-fill: Schedule C (US) or T2125 (Canada) for freelancers

For US freelancers, ExpenseBot can pre-fill your Schedule C with expense totals by category. Canadian freelancers get the T2125 Statement of Business Activities. This saves hours of manual data entry and reduces errors during tax filing season.

Automatic End of Year Tax Summary & Deductions

Interactive Demo

How do I set business use percentage for categories?

Many expenses are only partially deductible when used for both business and personal purposes. ExpenseBot lets you configure the business use percentage for each expense category, and automatically calculates the deductible portion.

Common partial deduction examples:

  • Internet: 50% if you work from home half the time
  • Cell phone: 70% if mostly used for business calls
  • Home office: Based on square footage percentage
  • Vehicle: Based on business vs. personal miles driven
  • Meals: 50% deductible for business meals (IRS rule)

Set these percentages once in your expense category settings, and ExpenseBot applies them automatically to every expense in that category. Your year-end tax report shows both the full expense amount and the calculated business deduction.

Configure Expense Categories and Business Use Allocation

Interactive Demo

How do I set the home office percentage for my expenses?

Home office expenses are only partially deductible — you can only claim the portion of your home you use exclusively for business. ExpenseBot lets you set a single home office percentage once, then applies it automatically to every relevant expense.

How to calculate your home office %:

The standard method is square footage: (business sq ft ÷ total home sq ft) × 100. Example: a 200 sq ft office in a 2,000 sq ft home = 10%.

Which categories typically use the home office %:

  • Rent or mortgage interest
  • Utilities (electricity, gas, water)
  • Internet and phone (home line)
  • Home insurance
  • Property tax
  • Home repairs and maintenance

Configure it once in Settings → Expense Categories and ExpenseBot applies the percentage to every expense in those categories. Your year-end tax report shows both the full expense AND the calculated deduction — feeding into Form 8829 → Schedule C for US freelancers, or the business-use-of-home section of T2125 for Canadian freelancers.

Note: Both the IRS and CRA require the space to be used regularly and exclusivelyfor business to claim these deductions.

Configure Expense Categories and Business Use Allocation

Interactive Demo

Can ExpenseBot track income, not just expenses?

Yes — ExpenseBot tracks income alongside expenses. Three input methods feed a single Income tab in your spreadsheet, and a reconcile-with-bank step keeps everything in sync.

Three ways income gets in:

  • Bank connection (live): Connect your bank and ExpenseBot reconciles deposits against your Income tab on a regular cadence. Deposits from known platforms — Stripe, PayPal, Venmo, Zelle, Square, Etsy, Airbnb, and others — are auto-flagged as income. Anything that doesn't match an existing entry surfaces as "potential income" for review. Business income auto-fills Schedule C Line 1 (or T2125 Line 7 for Canada).
  • Manual Add Income (live): Tap the Add Income button in the app to log any payment that didn't come through your bank — cash tips, checks, in-person payments. Pick a category (royalty, freelance, rental, sales, etc.), source, and date. The right path for cash-heavy professions where most income never shows up in a bank deposit.
  • Schedule C / T2125 worksheet (live): The year-end report's worksheet tab lets you fill in gross receipts, returns and allowances, and other income directly — useful for catch-up entries, prior-year corrections, or any source not already captured.

Reconcile with bank: once a month (or anytime, on demand), click Reconcile with bank to compare your Income tab against the deposits in your linked bank account. ExpenseBot lists every gap and lets you accept, edit, or ignore each one in seconds. Your year-end report shows a reconciliation status (✓ once you've reconciled at least 83% of months) so your accountant knows whether the totals are bank-verified.

The Income tab is the single source of truth — manual entries, bank reconciliation matches, and year-end worksheet adjustments all flow through it.

HUD Medical Expense Deductions

Can I use ExpenseBot to track medical expenses for my HUD recertification?

Yes — ExpenseBot has a dedicated HUD Medical Recertification Report. If you're in Section 8, public housing, Section 202, or Section 811 housing and the head of household is 62+ or disabled, federal law (24 CFR 5.611) lets you deduct unreimbursed medical expenses from the income your rent is based on. Every $1,000 documented saves roughly $25/month off your rent.

Setup takes five minutes: create a Health & Medical tag using the AI wizard (type "HUD medical") and ExpenseBot automatically scans your Gmail for qualifying receipts — prescriptions, copays, doctor visits, hearing aids, Medicare premiums, and service animal expenses. Run a historical scan to catch up on the past year, then generate an itemized worksheet ready to hand directly to your housing coordinator.

For detailed guidance on exactly what qualifies, how Medicare premiums are entered, how to preview your rent savings, and how the recertification date window works — ask our AI assistant.

AI Todo List

What is the AI Todo List?

Free for all ExpenseBot users! Email your notes, reminders, or meeting notes to todo@expensebot.ai and AI organizes everything into one continuously‑updated Google Doc. No app switching, no manual organizing — just email and done. Powered by Gemini 2.5.

What you can email to your AI todo list:

  • Voice memos: Forward voice recordings and AI transcribes and organizes them
  • Meeting notes: Send raw notes and AI extracts action items
  • Quick reminders: "Remind me to call John about the contract"
  • Project ideas: Brain dump ideas and AI categorizes them
  • Shopping lists: Add items and they're organized by store/category

Unlike traditional todo apps, you never need to open an app or log in. Just email from anywhere — your phone, laptop, or even forward emails with tasks. The AI continuously updates your Google Doc, merging related items, removing duplicates, and keeping everything organized. It's like having a personal assistant who never sleeps.

Bonus Feature: AI Todo List Assistant

Interactive Demo

Tips & Best Practices

Receipt Management

How do I write on receipts for easy tagging?

Write special prefixes on receipts before photographing. ExpenseBot's AI reads your handwriting and automatically processes them — no manual entry required after upload.

What to write on your receipts:

  • TAG:ClientName — Creates a new tag or groups to an existing one. Examples: "TAG:Acme Corp", "TAG:NYC Conference", "TAG:Project-123"
  • w/ Names — Adds attendee names to the notes field. Example: "w/ Colin & Rebecca" puts "Colin & Rebecca" in the expense notes — perfect for tracking who attended business dinners

This simple technique saves hours of manual categorization. Write "TAG:Acme" on all receipts for that client, and they're automatically grouped together for easy reporting. Write "w/ John Smith" on dinner receipts to document who you met with. Perfect for freelancers tracking multiple clients, consultants billing projects, or anyone who needs to document business meal attendees.

Write on Receipts for easy organization

Interactive Demo

Quick Tips

  • After submitting a photo of a receipt to ExpenseBot, you can delete it from your camera roll.
  • For restaurant receipts, include the itemized receipt and the credit‑card slip in the same photo to capture tax, tip, and total.
    Itemized receipt next to credit card slip

Organization Best Practices

  • Invite someone to approve or review your reports.
  • Review yellow highlighted cells to check AI suggestions.
    Yellow highlighted cells for AI suggestions
  • All ExpenseBot data is stored in your Google Drive "ExpenseBot Expenses" folder.
Need help? Email support@expensebot.ai

Still researching? Try it free.

60-day free trial. No credit card required. Cancel anytime.

60-day free trial — no credit card required
Start Free 60-Day Trial →

Privacy & Security

How does ExpenseBot handle my data?

ExpenseBot uses a privacy-first approach. Unlike most apps, ExpenseBot does not store your data on our servers. All data — receipts, photos, and spreadsheets — is stored in your own Google Drive, accessible only by you. We process data transiently (to extract receipt details) and then discard it. Nothing is retained on our side.

What is CASA Tier 2 certification?

CASA (Cloud Application Security Assessment) Tier 2 is Google's highest security certification for third-party apps that access Google user data. It requires an independent security audit by a Google-approved lab. ExpenseBot passed this audit, meaning Google has verified our app meets enterprise-grade security standards.

Does ExpenseBot read my emails?

ExpenseBot only scans for receipt-like emails (e.g., order confirmations, invoices). It does not read personal emails, conversations, or anything unrelated to expenses. Gmail scanning is optional — you turn it on explicitly, and you can turn it off at any time under Settings. Our Gmail API usage complies with Google's Limited Use Requirements.

What happens to my photos after scanning?

Receipt photos are processed to extract details (vendor, amount, date), then the extracted data is saved to your Google Sheets spreadsheet and the original photo is stored in your Google Drive. ExpenseBot never stores your photos on our servers. Your original photos in Google Photos are never modified or deleted.

Who can see my expense data?

Only you. Your data lives in your Google Drive under standard Google access controls. ExpenseBot cannot see your data once it's written to your Drive. If you choose to share your spreadsheet with an accountant or manager, that's controlled by you through Google's standard sharing — not through us.

What if I cancel? Do I keep my data?

Yes, 100%. Since everything is stored in your Google Drive, cancelling ExpenseBot changes nothing about your data. Your spreadsheets, receipts, and reports remain in your Drive forever. There are no export fees and no data hostage situations. It's already yours.

Can I reset my account or delete my data?

Yes, under Settings, choose Reset Account to delete the ExpenseBot folder on your Drive and start fresh. This won't affect your subscription status. You can also revoke ExpenseBot's access entirely from your Google Account permissions at any time.

Does ExpenseBot share my data with third parties?

No. We do not sell, share, or provide your data to any third party. The only external services involved are Google (where your data lives) and Stripe (for payment processing, which never sees your expense data). If you connect an accounting system like QuickBooks, data is sent only when you explicitly click sync — and only the data you choose to export.

Support

Troubleshooting

Why can't I enable push notifications?

If you see "Notification permission denied", your browser has blocked notifications for ExpenseBot. This is a browser-level setting that the app cannot override — only you can re-enable it.

How to fix it:

  • Chrome (Desktop): Click the tune icon in the address bar → Site settings → Notifications → change from Block to Allow
  • Chrome (Android): Tap the lock icon → Permissions → toggle Notifications on
  • Safari (Mac): Safari → Settings → Websites → Notifications → find expensebot.ai → Allow. Also check System Settings → Notifications → Safari
  • Firefox: Settings → Privacy & Security → scroll to Permissions → Notifications → click Settings → find expensebot.ai → change to Allow → Save Changes
  • Edge: Click the lock icon next to the address bar → Permissions for this site → set Notifications to Allow
  • DuckDuckGo Browser: DuckDuckGo Browser does not support web push notifications. This is a browser limitation, not a settings issue. Please use Chrome, Firefox, Safari, or Edge instead

After changing the setting, go back to ExpenseBot Settings and toggle push notifications on. See Google's guide on managing notifications for more details.

How to Get Help

Email Support

Our team is available Monday–Friday, 9 AM–6 PM EST.

Documentation

Browse our guides and tutorials in the sections above.

Response Times

We typically respond within 24 business hours.

For urgent matters, include "URGENT" in your email subject line.

Related Pages

↑ Back to top