- Products store packing-slip title aliases; matcher checks exact title/alias
first so previously-matched items skip fuzzy matching entirely
- Packing-slip imports snapshot printingCost/costOfGoods/productId onto order
items; profit analysis reads stored costs so catalog edits don't rewrite history
- Etsy statement fees allocate to orders via Order # references in Title/Info
instead of date proximity; shop-level fees (listings, ads) no longer leak
into order fees
- Remove broken transaction-fee exclusion guard (order totals are gross, so
all expenses count once)
- Remove debug buttons, date-fix banner, test files, and console.log noise;
Clear All Orders now uses a bulk DELETE /orders endpoint
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Features:
- React + TypeScript frontend with Tailwind CSS
- Node.js + Express backend with TypeScript
- Comprehensive order tracking and management
- Product catalog with inventory tracking
- Customer data management
- Expense tracking and categorization
- Advanced Profit Analysis Dashboard with:
- Real-time profit metrics and KPI visualization
- Detailed order-level profit breakdown
- Product performance analysis
- Enhanced time range filtering (monthly, quarterly, yearly)
- Interactive expandable order analysis
- Performance categorization and color coding
- CSV import functionality for Etsy statements
- PDF parsing capabilities
- Redux state management with persistence
- Responsive design with mobile support
- Australian date formatting and currency display