8.6 KiB
Xero MCP React Apps - Complete Manifest
✅ All 18 Apps Built Successfully
Each app includes 4 required files:
index.html- HTML wrappermain.tsx- React.lazy, ErrorBoundary, Suspense + LoadingSkeleton, createRootApp.tsx- useDebounce (300ms), useToast, useTransition, useMemo, stats cards, data grid, empty state, mock datastyles.css- CSS vars (--bg-primary:#0f172a), shimmer, card hover, toast, responsive, dark theme
Apps List
1. invoice-dashboard
Path: src/apps/invoice-dashboard/
Features: Invoice list, status tracking, totals
Mock Data: 5 invoices with various statuses (DRAFT, SUBMITTED, AUTHORISED, PAID, VOIDED)
Stats: Total Invoiced, Outstanding, Paid Invoices, Overdue
2. bill-manager
Path: src/apps/bill-manager/
Features: Bills/AP management, due dates, payments
Mock Data: 5 bills with suppliers and payment status
Stats: Total Bills, Outstanding, Paid Bills, Overdue
3. contact-directory
Path: src/apps/contact-directory/
Features: Contacts, groups, balances
Mock Data: 5 contacts (customers, suppliers, both)
Stats: Total Contacts, Customers, Suppliers, Total Balance
4. chart-of-accounts
Path: src/apps/chart-of-accounts/
Features: Account hierarchy, account types
Mock Data: 6 accounts (BANK, CURRENT, FIXED, EQUITY, EXPENSE, REVENUE)
Stats: Total Accounts, Active, Total Assets, Total Liabilities
5. bank-feed
Path: src/apps/bank-feed/
Features: Bank transactions, reconciliation
Mock Data: 5 bank transactions (RECEIVE, SPEND)
Stats: Total Transactions, Matched, Unmatched, Pending
6. payment-tracker
Path: src/apps/payment-tracker/
Features: Payments, prepayments, overpayments
Mock Data: 5 payment records with various types
Stats: Total Payments, Authorised, Pending, Prepayments
7. credit-note-manager
Path: src/apps/credit-note-manager/
Features: Credit notes, allocations
Mock Data: 5 credit notes with allocation status
Stats: Total Credit Notes, Outstanding, Allocated, Draft
8. purchase-orders
Path: src/apps/purchase-orders/
Features: PO list, status, approvals
Mock Data: 5 purchase orders with suppliers
Stats: Total POs, Authorised, Billed, Draft
9. quote-builder
Path: src/apps/quote-builder/
Features: Quotes, convert to invoice capability
Mock Data: 5 quotes with expiry dates
Stats: Total Quotes, Sent, Accepted, Draft
10. profit-loss
Path: src/apps/profit-loss/
Features: P&L report viewer
Mock Data: 5 P&L line items (Revenue, Expenses)
Stats: Total Revenue, Total Expenses, Net Profit, Profit Margin
11. balance-sheet
Path: src/apps/balance-sheet/
Features: Balance sheet viewer
Mock Data: 6 balance sheet items (Assets, Liabilities, Equity)
Stats: Total Assets, Total Liabilities, Total Equity, Net Position
12. trial-balance
Path: src/apps/trial-balance/
Features: Trial balance viewer
Mock Data: 5 trial balance entries with debit/credit
Stats: Total Debit, Total Credit, Difference, Status (Balanced/Unbalanced)
13. aged-receivables
Path: src/apps/aged-receivables/
Features: AR aging report
Mock Data: 4 customer aging breakdowns (Current, 30, 60, 90+ days)
Stats: Current, 1-30 Days, 31-60 Days, Total Overdue
14. aged-payables
Path: src/apps/aged-payables/
Features: AP aging report
Mock Data: 4 supplier aging breakdowns
Stats: Current, 1-30 Days, 31-60 Days, Total Overdue
15. employee-directory
Path: src/apps/employee-directory/
Features: Employee records
Mock Data: 5 employees with departments and positions
Stats: Total Employees, Active, On Leave, Departments
16. payroll-dashboard
Path: src/apps/payroll-dashboard/
Features: Pay runs, slips, leave
Mock Data: 3 pay runs with gross/tax/net breakdowns
Stats: Total Pay Runs, Total Employees, YTD Gross, YTD Net
17. tax-center
Path: src/apps/tax-center/
Features: Tax rates, returns
Mock Data: 5 tax rates (INPUT, OUTPUT, EXEMPT, NONE)
Stats: Total Tax Rates, Input Rates, Output Rates, Active Rates
18. org-overview
Path: src/apps/org-overview/
Features: Organisation info, settings, metrics
Mock Data: Org details + 6 key metrics (Financial, Operations, People)
Stats: Organisation legal info, currency, financial year end
Technical Implementation
All Apps Include:
✅ React Patterns:
- React.lazy for code splitting
- ErrorBoundary class component for error handling
- Suspense with LoadingSkeleton fallback
- createRoot from react-dom/client
✅ Custom Hooks:
useDebounce(300ms delay for search optimization)useToast(auto-dismissing notifications)useTransition(React 18 concurrent rendering)useMemo(optimized stats calculations)
✅ UI Components:
- Stats cards grid (4 cards per app)
- Data grid with sortable/filterable tables
- Empty state for no results
- Toast notification system
- Search + filter controls
✅ Styling:
- Dark theme (
--bg-primary: #0f172a) - CSS custom properties
- Shimmer loading animation
- Card hover effects
- Responsive design (mobile breakpoints)
- Status badges with color coding
✅ Mock Data:
- Realistic business data
- 3-6 mock records per app
- Proper typing with TypeScript interfaces
- Status enums matching Xero API patterns
File Structure
/Users/jakeshore/.clawdbot/workspace/mcpengine-repo/servers/xero/src/apps/
├── aged-payables/
│ ├── App.tsx
│ ├── index.html
│ ├── main.tsx
│ └── styles.css
├── aged-receivables/
│ ├── App.tsx
│ ├── index.html
│ ├── main.tsx
│ └── styles.css
├── balance-sheet/
│ ├── App.tsx
│ ├── index.html
│ ├── main.tsx
│ └── styles.css
├── bank-feed/
│ ├── App.tsx
│ ├── index.html
│ ├── main.tsx
│ └── styles.css
├── bill-manager/
│ ├── App.tsx
│ ├── index.html
│ ├── main.tsx
│ └── styles.css
├── chart-of-accounts/
│ ├── App.tsx
│ ├── index.html
│ ├── main.tsx
│ └── styles.css
├── contact-directory/
│ ├── App.tsx
│ ├── index.html
│ ├── main.tsx
│ └── styles.css
├── credit-note-manager/
│ ├── App.tsx
│ ├── index.html
│ ├── main.tsx
│ └── styles.css
├── employee-directory/
│ ├── App.tsx
│ ├── index.html
│ ├── main.tsx
│ └── styles.css
├── invoice-dashboard/
│ ├── App.tsx
│ ├── index.html
│ ├── main.tsx
│ └── styles.css
├── org-overview/
│ ├── App.tsx
│ ├── index.html
│ ├── main.tsx
│ └── styles.css
├── payment-tracker/
│ ├── App.tsx
│ ├── index.html
│ ├── main.tsx
│ └── styles.css
├── payroll-dashboard/
│ ├── App.tsx
│ ├── index.html
│ ├── main.tsx
│ └── styles.css
├── profit-loss/
│ ├── App.tsx
│ ├── index.html
│ ├── main.tsx
│ └── styles.css
├── purchase-orders/
│ ├── App.tsx
│ ├── index.html
│ ├── main.tsx
│ └── styles.css
├── quote-builder/
│ ├── App.tsx
│ ├── index.html
│ ├── main.tsx
│ └── styles.css
├── tax-center/
│ ├── App.tsx
│ ├── index.html
│ ├── main.tsx
│ └── styles.css
└── trial-balance/
├── App.tsx
├── index.html
├── main.tsx
└── styles.css
Total Files: 72 (18 apps × 4 files)
Next Steps
-
Install dependencies:
cd /Users/jakeshore/.clawdbot/workspace/mcpengine-repo/servers/xero npm install react react-dom npm install -D @types/react @types/react-dom typescript -
Build configuration:
- Add Vite or webpack config for each app
- Set up dev server for testing
- Configure build output paths
-
Integration with MCP Server:
- Connect apps to actual Xero API via MCP tools
- Replace mock data with real API calls
- Add authentication flow
-
Testing:
- Test each app individually
- Verify responsive design
- Check dark theme rendering
Build Status: ✅ COMPLETE
Apps Built: 18/18
Files Created: 72/72
Ready for: Integration & Testing