> ## Documentation Index
> Fetch the complete documentation index at: https://docs.taxhomebase.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Expenses

> Track deductible expenses with receipt scanning, CSV import, and detailed reporting.

The Expenses page lets you log, categorize, and manage work-related expenses. Expenses feed into tax calculations, profitability analysis, and your audit-ready export package.

<Frame caption="Track expenses by category with receipt attachments, receipt scanning, and CSV import.">
  <img src="https://mintcdn.com/stipendguard/rYTODjwsgR5TPzB9/images/guides/expenses.png?fit=max&auto=format&n=rYTODjwsgR5TPzB9&q=85&s=201f8c33e265efb4a29b795a4ded5b66" alt="Expenses page showing categorized expense cards with amounts, dates, and receipt indicators" style={{ maxWidth: '300px' }} width="786" height="1680" data-path="images/guides/expenses.png" />
</Frame>

## Adding an Expense

Tap the **+** button to open the expense form. Fields:

| Field           | Required | Description                          |
| --------------- | -------- | ------------------------------------ |
| **Category**    | Yes      | One of 13 expense categories         |
| **Amount**      | Yes      | Dollar amount (stored as cents)      |
| **Date**        | Yes      | Date the expense was incurred        |
| **Assignment**  | No       | Link to a specific assignment        |
| **Description** | No       | Vendor name or notes (max 500 chars) |
| **Receipt**     | No       | Photo of receipt for substantiation  |

### Expense Categories

| Category         | Description                                  |
| ---------------- | -------------------------------------------- |
| `travel`         | Flights, gas, tolls, parking for work travel |
| `licensing`      | State license fees, compact license          |
| `supplies`       | Stethoscopes, scrubs, medical equipment      |
| `ce_credits`     | Continuing education courses                 |
| `meals`          | Work-related meals (subject to IRS limits)   |
| `lodging`        | Temporary housing at assignment              |
| `uniforms`       | Required work clothing                       |
| `insurance`      | Professional liability insurance             |
| `dues`           | Professional association memberships         |
| `parking`        | Parking at work facility                     |
| `phone_internet` | Work-use portion of phone/internet           |
| `tax_prep`       | Tax preparation fees                         |
| `other`          | Miscellaneous deductible expenses            |

## Receipt Scanning

In create mode, use **Scan Receipt** to photograph a receipt and auto-fill fields:

<Steps>
  <Step title="Take or upload a photo">
    JPEG or PNG, up to 10MB. The image is uploaded to S3.
  </Step>

  <Step title="Textract analyzes the receipt">
    AWS Textract extracts the total amount, date, vendor name, and suggests a category based on keywords.
  </Step>

  <Step title="Review auto-filled fields">
    Only empty fields are populated — your manual entries are preserved. Review and adjust as needed.
  </Step>
</Steps>

After saving, the receipt is linked to the expense. View it anytime via the camera icon on the expense card.

See [Receipt Scanning](/guides/receipt-scanning) for the full workflow.

## CSV Import

<Frame caption="Import expenses in bulk from CSV with auto-detection, preview, and duplicate detection.">
  <img src="https://mintcdn.com/stipendguard/rYTODjwsgR5TPzB9/images/guides/expense-import.png?fit=max&auto=format&n=rYTODjwsgR5TPzB9&q=85&s=c2ccd9dc9699fc6507c33ae830d7685e" alt="CSV import modal showing upload, preview with color-coded rows, and import result stages" style={{ maxWidth: '300px' }} width="2640" height="2000" data-path="images/guides/expense-import.png" />
</Frame>

Bulk-import expenses from a CSV file:

1. Click **Import** on the Expenses page
2. Upload a `.csv` file
3. TaxHomeBase auto-detects columns by header row (date, category/type, amount/total/cost, description/note/vendor)
4. Preview shows color-coded rows: green (ready), red (error), amber (duplicate)
5. Confirm to import

Import limits: max 500 expenses per import, batch-inserted in 100-row chunks. The system deduplicates against existing expenses by (category, amount, date).

## Expense Reports

<Frame caption="Expense Reports offer monthly breakdowns, assignment grouping, and year-over-year insights.">
  <img src="https://mintcdn.com/stipendguard/rYTODjwsgR5TPzB9/images/guides/expense-reports.png?fit=max&auto=format&n=rYTODjwsgR5TPzB9&q=85&s=62675357f1e644aacadf00dff21c8b62" alt="Expense Reports page showing monthly breakdown tab, assignment grouping, and insights with YoY trends" style={{ maxWidth: '300px' }} width="2000" height="3288" data-path="images/guides/expense-reports.png" />
</Frame>

Navigate to **Expense Reports** (linked from the Expenses page) for three views:

<Tabs>
  <Tab title="Monthly Breakdown">
    Expenses grouped by month with expandable cards showing individual items, amounts, and receipt indicators.
  </Tab>

  <Tab title="By Assignment">
    Expenses grouped by linked assignment, with unlinked expenses in a separate group.
  </Tab>

  <Tab title="Insights">
    Year-over-year analysis:

    * **YoY summary** — Total spend with change badge vs. previous year
    * **Monthly trend** — SVG sparkline comparing current and previous year
    * **Quarterly breakdown** — 2x2 grid (Q1–Q4) with change badges
    * **Category comparison** — Per-category YoY with warning flags for 10%+ increases
    * **Receipt substantiation** — Coverage percentage, IRS-flagged items (expenses >\$75 or lodging without receipts)
  </Tab>
</Tabs>

A summary banner at the top shows total amount, count, and top category with a category distribution bar chart.

## W-2 vs. 1099 Deductions

How expenses are handled depends on your employment type:

<Tabs>
  <Tab title="W-2 Employees">
    Under TCJA (2017–2025), unreimbursed employee expenses are **not deductible** on your federal return. However, 5 states still allow them: NY, CA, AL, HI, and AR.

    TaxHomeBase still tracks your expenses because:

    * State-level deductions may apply
    * TCJA suspension of W-2 expense deductions is now permanent
    * Expenses feed into profitability analysis
  </Tab>

  <Tab title="1099 Contractors">
    Business expenses reduce Schedule C income before self-employment tax. The 13 TaxHomeBase expense categories correspond to common deductible business expenses for 1099 travel nurses, subject to IRS substantiation requirements.
  </Tab>
</Tabs>

## Actions on Expense Cards

* **Expand** — View full details and receipt
* **Edit** — Modify any field
* **Delete** — Soft delete with 5-second undo toast
* **Duplicate** — Open a pre-filled create form
* **View Receipt** — Open receipt image in modal (camera icon)
