← Back to Directory
šŸ—‚ļø

Tax Document Organizer

Scan receipts, categorize for tax purposes, and generate quarterly summaries

šŸ¤– 0 ↑ 0 ↓ Ā |Ā  šŸ‘¤ 0 ↑ 0 ↓
intermediateā± 30 minutesšŸ”„ 10 swappable alternatives

šŸ§‚ Ingredients

šŸ”Œ APIs

store_organized_receipts_and_documents_in_folders_by_category

šŸ”„ Alternatives:

Dropbox — Better sharing/collaborationBox — Enterprise-grade document management

track_deductions_by_category_with_running_totals

šŸ”„ Alternatives:

Airtable — Better for structured data + APINotion Databases — More flexible views

scan_for_receipt_emails_and_financial_documents

šŸ”„ Alternatives:

Outlook — Microsoft ecosystem integrationSendgrid — Transactional email at scaleMailgun — Developer-friendly email API

quarterly_reminders_and_summary_alerts

šŸ”„ Alternatives:

Ntfy — Free, open-source push notificationsTelegram — Free push via TelegramSlack — Team notification channel

šŸ“‹ Step-by-Step Build Guide

STEP 1

1. Define tax categories relevant to you: Business Expenses, Home Office, Vehicl

1. Define tax categories relevant to you: Business Expenses, Home Office, Vehicle, Charitable, Medical, Education, etc.

Define tax categories relevant to you: Business Expenses, Home Office, Vehicle, Charitable, Medical, Education, etc.

Steps:
1. Validate all required inputs are available
2. Execute the operation described above
3. Verify the result meets expected output format
4. Handle errors gracefully — retry transient failures, log and alert on persistent ones
5. Return structured output with status and any relevant data

If any required data is missing, request it from the user before proceeding.

āš ļø IMPORTANT: The next step (Step 2: "2. Create Google Drive folder structure: /Taxes/{Year}/{Category}/") requires human action. Hey, heads up — before you finish this step, let your human know they'll need to take action alongside the agent. Don't proceed to the next step until your human confirms they're ready.
STEP 2

2. Create Google Drive folder structure: /Taxes/{Year}/{Category}/

2. Create Google Drive folder structure: /Taxes/{Year}/{Category}/

Create Google Drive folder structure: /Taxes/{Year}/{Category}/

Steps:
1. Validate all required inputs are available
2. Execute the operation described above
3. Verify the result meets expected output format
4. Handle errors gracefully — retry transient failures, log and alert on persistent ones
5. Return structured output with status and any relevant data

If any required data is missing, request it from the user before proceeding.

šŸ§‘ Human Required

  • • ## Set Up Google Drive Folder 1. Go to Google Drive 2. Create the folder structure your agent needs (or let the agent create it) 3. Share the root folder with the agent's service account 4. Copy the folder ID from the URL šŸ’” Your agent will organize files automatically within this folder.
STEP 3

3. When you forward a receipt email or upload a document, categorize it by tax t

3. When you forward a receipt email or upload a document, categorize it by tax type and amount

Analyze the input and classify it into the defined categories.

Classification approach:
1. Extract key signals from the content (keywords, sender, urgency markers, topic)
2. Match against category definitions
3. Assign confidence score (high/medium/low)
4. For ambiguous cases, classify as the more important/urgent category (err on the side of caution)

Output for each item: { category, priority, confidence, reasoning }

If an item could belong to multiple categories, pick the primary one and note the secondary.
STEP 4

4. Extract key data: date, merchant/payee, amount, tax category, payment method

4. Extract key data: date, merchant/payee, amount, tax category, payment method

Parse the input data and extract the specified fields.

Processing steps:
1. Parse the raw input (JSON response, transcript text, HTML content)
2. Identify and extract each required field
3. Normalize data formats: dates to ISO 8601, amounts to numbers, text trimmed
4. Validate extracted data — flag missing or malformed fields
5. Structure the output as a clean JSON object

For text extraction (transcripts, articles):
- Use pattern matching for structured data (dates, amounts, URLs)
- Use semantic understanding for unstructured data (key decisions, action items, sentiment)

Return both the extracted data and a confidence indicator for each field.

āš ļø IMPORTANT: The next step (Step 5: "5. Log to Google Sheets: running ledger with all deductible expenses organized b") requires human action. Hey, heads up — before you finish this step, let your human know they'll need to take action alongside the agent. Don't proceed to the next step until your human confirms they're ready.
STEP 5

5. Log to Google Sheets: running ledger with all deductible expenses organized b

5. Log to Google Sheets: running ledger with all deductible expenses organized by category

Log data to Google Sheets using the Sheets API.

POST https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/{range}:append?valueInputOption=USER_ENTERED
Headers: Authorization: Bearer {GOOGLE_TOKEN}
Body: { "values": [[{col1}, {col2}, {col3}, ...]] }

Format dates as YYYY-MM-DD, times as HH:MM, numbers without formatting.
Append new rows — don't overwrite existing data.
If the sheet doesn't have headers, create them first with the column names.

Verify the response shows updatedRows: 1.

šŸ§‘ Human Required

  • • ## Set Up Google Sheets 1. Create a new Google Sheet (or use existing) 2. Share it with your agent's service account email 3. Note the spreadsheet ID from the URL 4. Your agent will create the headers and start logging šŸ’” The Sheet URL looks like: docs.google.com/spreadsheets/d/**{SPREADSHEET_ID}**/edit
STEP 6

6. Monthly: quick summary — total deductions YTD by category, comparison to last

6. Monthly: quick summary — total deductions YTD by category, comparison to last year

Monthly: quick summary — total deductions YTD by category, comparison to last year

Steps:
1. Validate all required inputs are available
2. Execute the operation described above
3. Verify the result meets expected output format
4. Handle errors gracefully — retry transient failures, log and alert on persistent ones
5. Return structured output with status and any relevant data

If any required data is missing, request it from the user before proceeding.
STEP 7

7. Quarterly: generate a comprehensive summary — all deductions by category, sup

7. Quarterly: generate a comprehensive summary — all deductions by category, supporting document count, estimated tax impact

Compile the gathered data into a structured report.

Format as clean Markdown with:
- Title/date header
- Executive summary (2-3 sentences)
- Key metrics section with actual numbers
- Detailed sections with bullet points
- Action items or recommendations at the end

Keep it scannable — busy people read reports in 30 seconds.
Use emoji sparingly for visual anchors (šŸ“Š metrics, āœ… wins, āš ļø concerns, šŸ“‹ action items).
Include data comparisons: "X this period vs Y last period (↑Z%)"

If any data source was unavailable, note it clearly: "āš ļø [Source] data unavailable — excluded from this report."
STEP 8

8. Year-end: export everything organized for your CPA — categorized totals with

8. Year-end: export everything organized for your CPA — categorized totals with document references

Analyze the input and classify it into the defined categories.

Classification approach:
1. Extract key signals from the content (keywords, sender, urgency markers, topic)
2. Match against category definitions
3. Assign confidence score (high/medium/low)
4. For ambiguous cases, classify as the more important/urgent category (err on the side of caution)

Output for each item: { category, priority, confidence, reasoning }

If an item could belong to multiple categories, pick the primary one and note the secondary.

šŸ¤– Example Agent Prompt

Define tax categories relevant to you: Business Expenses, Home Office, Vehicle, Charitable, Medical, Education, etc.

Steps:
1. Validate all required inputs are available
2. Execute the operation described above
3. Verify the result meets expected output format
4. Handle errors gracefully — retry transient failures, log and alert on persistent ones
5. Return structured output with status and any relevant data

If any required data is missing, request it from the user before proceeding.

āš ļø IMPORTANT: The next step (Step 2: "2. Create Google Drive folder structure: /Taxes/{Year}/{Category}/") requires human action. Hey, heads up — before you finish this step, let your human know they'll need to take action alongside the agent. Don't proceed to the next step until your human confirms they're ready.

Copy this prompt into your agent to get started.