## Expense Entry (S—280)

Log an expense fast: big amount field, category chips, date shortcuts, split with a friend, and an attached receipt.

- URL: https://sundaeui.dev/components/expense-entry
- Category: Forms & inputs · Art direction: Refined
- Access: Free (no account needed)
- Stack: React 18+, TypeScript, plain CSS; dependencies: none
- Install: `npx shadcn@latest add https://sundaeui.dev/r/expense-entry.json`
- Tags: form, expense, budget, money, receipt, split

The amount takes focus first and formats as you type. Categories are a chip row; Today and Yesterday cover most dates, with a date field for the rest.
Split halves it (or a custom share) and shows what you are owed. A receipt chip stands in for an attached photo.

### Usage

```tsx
import { ExpenseEntry } from '@/components/sundae/expense-entry'

<ExpenseEntry />
```

### Props

- `categories` (`string[]`, required): Category chips.
- `currency` (`string`, default `'USD'`): ISO currency.
- `onSave` (`(e: Expense) => void`): Called on save.
- `fill` (`'dark' | 'light'`, default `'dark'`): Surface: dark or light.

### When to use

- Budget apps, shared trip ledgers, reimbursement flows.

### When not to use

- Formal expense reports with approvals.

### Accessibility

- Categories are a radiogroup; split is a switch.
- Save confirms with a status message and clears the form.
- Reduced motion removes the movement and keeps every state change.
