Commit Graph
15 Commits
Author SHA1 Message Date
AndymickandClaude Haiku 4.5 2d55203c1c Phase 2 Complete: Comprehensive reporting UI with all features
Added 10 major enhancements:
1. KPI Dashboard with Year-to-Date (YTD) summary cards
2. Income breakdown by source (web vs manual sales)
3. Expense breakdown with pie chart visualization
4. Revenue vs Operating Expenses comparison chart
5. Growth metrics (Month-over-Month % changes)
6. Monthly drill-down modal (click bars/rows for transaction details)
7. UK Tax Year summary (April-April) with HMRC export
8. Sortable tables (click headers to sort by date/amount)
9. Better export options (all/income/expenses/tax-year formats)
10. Quick filters for expense categories

Features:
- 9 report tabs: KPIs, Trends, Monthly Profit, Income, Expenses, Revenue vs Expenses, Cash Flow, Tax Year, HMRC
- Interactive charts with click-to-drill functionality
- SVG visualizations for profit trends and expense distribution
- Real-time calculations for YTD, tax year, growth metrics
- Accountant-friendly exports with proper formatting
- UK tax compliance with April-April year tracking

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-07-17 15:41:16 +01:00
AndymickandClaude Haiku 4.5 78487affbd Phase 2: Better reporting UI with charts and exports
- Add CSV export utility for ledger data (generateLedgerCSV)
- Export formatters: pence to pounds, proper CSV escaping
- Date range filtering (from/to inputs) on reports page
- Export CSV button with proper formatting for accountants
- New \"Trends\" tab with visual profit trend chart
- SVG bar chart shows last 12 months of profit
- Charts color-coded: green (profit), red (loss)
- Shows monthly values and best/worst month stats
- Export functionality:
  - Filters by date range
  - Combines all income sources (orders + manual sales)
  - Includes COGS (purchases) and expenses
  - Generates PDF-ready CSV with summary rows
  - Downloads with proper date-stamped filename

CSV exports are formatted for accountants and tax software:
- Includes summary totals
- Proper date formatting (DD/MM/YYYY)
- Escaped descriptions for safe import
- Clear categorization

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-07-17 15:26:20 +01:00
AndymickandClaude Haiku 4.5 d56f942a88 Phase 1: Financial audit logging foundation
- Add FinancialAuditLog model to track all financial changes
- Log action (CREATE, UPDATE, DELETE) with before/after values
- Capture who made changes (IP address)
- Record timestamp and reason for change
- Create /admin/financial-audit page to view audit trail
- Add filtering by entity type, action, date range
- Show summary stats (total changes, deletions, etc)
- Integrate with purchases: log create and delete operations
- Red-flag deletions for security awareness
- Add "Financial audit trail" link to admin menu

This provides foundation for Phase 2 (reporting UI) and Phase 3 (bank reconciliation).
All financial changes are now traceable and auditable for compliance.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-07-17 15:23:05 +01:00
AndymickandClaude Haiku 4.5 e69759081c Add customer login activity logging
- Add CustomerLoginLog model to track customer login attempts
- Record successful and failed customer logins
- Capture email, IP address, and user agent for each attempt
- Create /admin/customer-login-logs page to view activity
- Show login stats (successes, failures, active customers)
- Display browser/device and IP for each login attempt
- Add "Customer login activity" link to admin menu
- Monitor customer access patterns and detect suspicious activity
- Last 30 days active customer count

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-07-16 21:43:09 +01:00
AndymickandClaude Haiku 4.5 ea6f9d2e25 Add admin login activity logging
- Add AdminLoginLog model to track all login attempts
- Record successful and failed login attempts
- Capture IP address and user agent for each login
- Create /admin/login-logs page to view activity history
- Show login stats (successes, failures, last 30 days)
- Display browser/device and IP for each login
- Add "Login activity" link to admin menu
- Useful for security auditing and monitoring access

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-07-16 21:33:40 +01:00
AndymickandClaude Haiku 4.5 53dd963090 Add HMRC tax reporting to accounts
- Add new HMRC Report tab to accounts reports
- Show total turnover (web + manual sales)
- Calculate cost of goods sold from purchases
- Display gross profit and profit margin
- Show operating expenses breakdown
- Calculate net profit before tax
- Estimate tax liability (19% corporation tax)
- Include HMRC checklist of what needs to be reported
- Help admin prepare for Self Assessment submission

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-07-16 21:17:46 +01:00
AndymickandClaude Haiku 4.5 d596cbe836 Add automatic invoice parsing to extract purchase items
- Install pdf-parse and tesseract.js for PDF/image processing
- Create /api/admin/parse-invoice endpoint to extract line items from invoices
- Parser extracts quantity and description from invoice text
- Attempts to match extracted items to products in database
- Update PurchaseForm with "Extract items" button
- Pre-fill purchase form with parsed items (user can edit/add more)
- Supports PDF files and image scans (JPG, PNG, etc)

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-07-16 21:14:49 +01:00
AndymickandClaude Haiku 4.5 48017facf0 Use AdminMenu component in header
- Import and use existing AdminMenu component instead of simple link
- Displays dropdown menu with all admin section links when clicked
- Includes logout button in admin menu

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-07-16 20:33:06 +01:00
AndymickandClaude Haiku 4.5 6c8d34edde Add admin menu link to header when authenticated
- Check isAdminAuthenticated() in Header component
- Show 'Admin' link to /admin/orders when user is logged in as admin
- Allows quick navigation to admin section after login

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-07-16 20:31:22 +01:00
AndymickandClaude Haiku 4.5 8edb5e1f5b Add guest checkout and admin login link
- Add guest checkout flow: customers can now complete orders without creating an account
  - New /checkout page with login or guest options
  - Guest form collects: full name, email, phone, address
  - Orders track guest info via guestName and guestPhone fields
- Update cart message to reflect guest option
- Add "Admin login" link to customer login page for clear navigation
- Update checkout API to accept and store guest information

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-07-16 20:10:42 +01:00
AndymickandClaude Haiku 4.5 39f54dedee Wire Stage 3 reports to real data
Created getReportData server action to fetch Orders, ManualSales, and
Expenses from database. Split reports page into server component (fetches
data) and client component (renders charts). Reports now display actual
business data instead of mock data - monthly profit, expense breakdown,
and cash flow tables.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-07-15 19:24:56 +01:00
AndymickandClaude Haiku 4.5 339b2d960e Remove AdminMenu from public site header
Hide admin interface completely from public site. Admins access /admin/login
directly. Cleaner separation between customer-facing UI and back office.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-07-15 19:18:51 +01:00
AndymickandClaude Haiku 4.5 158c9cf934 Add ProductImage schema for bulk image upload
- ProductImage model links images to products with detected color
- Supports any product type (tees, hoodies, mugs, etc.)
- One image per color per product (unique constraint)

Bulk upload form + color detection coming next.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-07-15 18:14:43 +01:00
AndymickandClaude Haiku 4.5 7cb8d9b5a6 Stage 3: Complete expense pages + reports
- Add Expense CRUD pages (/expenses list, /new form, /[id] detail) + actions
- Expense form: date/description/category/amount/receipt, auto-create from purchases
- Reports page: 3 tabs (monthly profit, expense breakdown, cash flow) with tables
- Add Expenses + Reports to AccountsNav tabs

All expense features wired. Reports skeleton ready for data integration.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-07-15 18:14:14 +01:00
Andymick 41937ffc15 Initial commit: Craft2Prints with Stages 1-3 2026-07-15 18:09:59 +01:00