Tax time used to mean digging through receipts — not anymore

Freelancers and small business owners have a receipts problem. Throughout the year, business expenses pile up — office supplies, software subscriptions, client meals, equipment, professional services. At tax time, someone has to go through all of it, figure out what’s deductible, categorize it, and add it up.

Most people either do this retroactively in a panic in March, or they pay an accountant to do it. Either way it’s tedious and often incomplete — receipts get missed because nobody logged them consistently.

Built a workflow that handles every receipt the moment it’s uploaded to Drive. By the time April arrives, the Tax Deductions sheet is already done.

What it does

Receipt dropped in Google Drive folder → extracts store, items, amounts → determines if tax-deductible → assigns deduction category → generates receipt ID with tax year and quarter → logs to Receipt Database → routes deductibles to a separate Tax Deductions tab

About 8-10 seconds per receipt.

What gets extracted

  • Store name and address

  • Receipt date

  • All items with quantity and price

  • Subtotal, tax amount, tax rate, total

  • Payment method and last four digits

  • isTaxDeductible — true or false

  • deductionCategory — from the list below

8 deduction categories

  • Office Supplies

  • Business Meals

  • Travel

  • Equipment

  • Software

  • Professional Services

  • Marketing

  • Not Deductible

PDF Vector determines deductibility and category from the receipt content. A Starbucks receipt during a client meeting gets categorized as Business Meals. An Adobe invoice becomes Software. A Staples purchase becomes Office Supplies.

Auto-generated receipt ID

The Process Receipt Code node generates a unique receipt ID (RCP-MX4F2K format) and tags every receipt with tax year and quarter:

  • taxYear: 2025

  • quarter: Q1

Filter your Tax Deductions tab by Q1 or Q2 to see quarterly deduction totals for estimated tax payments.

Two-sheet structure

Receipt Database tab — every receipt regardless of deductibility:

Receipt ID, Date, Store, Items, Subtotal, Tax, Total, Payment, Tax Deductible (Yes/No), Category, Tax Year, Quarter

Tax Deductions tab — deductible receipts only:

Receipt ID, Date, Vendor, Amount, Category, Tax Year, Quarter

The IF node routes only deductible receipts to the Tax Deductions tab. Non-deductible purchases (grocery run, personal Amazon order) are logged in Receipt Database but don’t clutter your tax sheet.

Setup

You’ll need:

  • Google Drive (a “Receipts” folder — upload PDFs or scanned receipts here)

  • Google Sheets with two tabs: Receipt Database and Tax Deductions

  • n8n instance (self-hosted — uses PDF Vector community node)

  • PDF Vector account (free tier: 100 credits/month)

About 10 minutes to configure. No Slack needed — this one is purely Drive → Sheets.

Download

Workflow JSON:

Receipt-scanner-organizer.json

Full workflow collection:

khanhduyvt0101/workflows


Setup Guide

Step 1: Get your PDF Vector API key

Sign up at pdfvector.com — free plan works for testing.

Step 2: Create your Sheet

Create a spreadsheet with two tabs named exactly:

  • Receipt Database

  • Tax Deductions

Receipt Database headers:


Receipt ID | Date | Store | Items | Subtotal | Tax | Total | Payment | Tax Deductible | Category | Tax Year | Quarter

Tax Deductions headers:


Receipt ID | Date | Vendor | Amount | Category | Tax Year | Quarter

Step 3: Import and configure

Download JSON → n8n → Import from File.

Google Drive Trigger:

  • Connect Google Drive (OAuth2), paste folder ID

PDF Vector - Extract Receipt:

  • Add credential (Bearer Token), paste API key

Log to Receipt Database + Add to Tax Deductions:

  • Connect Google Sheets, paste Sheet ID in both nodes

  • The sheet names must match exactly: Receipt Database and Tax Deductions


Accuracy

Tested on restaurant receipts, SaaS invoices, office supply receipts, and photographed paper receipts.

  • Store name and total: ~97%

  • Itemized purchases: ~92% on itemized receipts; ~100% on summary-only receipts

  • Tax deductibility classification: ~88% — reliable for clear business categories; occasionally misclassifies mixed-use purchases

  • Deduction category: ~91% for common business expenses

  • Tax rate: ~90% when printed on receipt

Works on both digital PDFs and photographed paper receipts.

Cost

3-4 credits per receipt. Free tier covers ~25-30 receipts per month — fine for light usage. Active freelancers may want the Basic plan ($25/month) for higher volume.

Customizing it

Add more categories:

Edit the schema enum in the PDF Vector node and extend the Code node logic to match your business’s deduction categories.

Connect to accounting software:

After logging to the Tax Deductions tab, add an HTTP Request node to create an expense in QuickBooks, Wave, or FreshBooks automatically.

Quarterly deduction summary:

Add a scheduled workflow that runs on the last day of each quarter — reads your Tax Deductions tab, filters by the current quarter, sums by category, and sends you a Slack or email summary for estimated tax payments.

Bulk upload existing receipts:

For receipts you haven’t processed yet, drop them all in the folder at once. The workflow processes each file as it’s created.


Limitations

  • Requires self-hosted n8n (PDF Vector is a community node)

  • Deductibility classification depends on receipt content — ambiguous purchases may need manual review

  • Personal vs business classification requires context the receipt alone may not provide

  • No duplicate detection — same receipt uploaded twice creates two rows


PDF Vector n8n integration

Full workflow collection

Questions? Drop a comment.

This is a really solid showcase for tax deductions automation. The accuracy breakdown (97% for store name, 91% for categories) is super helpful. Nice two-sheet structure too — separating everything vs. deductible-only is a smart design.