{
  "schema_version": 1,
  "type": "app",
  "slug": "adom-erp",
  "title": "Adom ERP Suite",
  "brief": "Full-stack enterprise resource planning for tech startups — Finance, SCM, HCM, CRM, Manufacturing, Reporting + startup-specific equity, SaaS metrics, burn rate, OKRs",
  "version": "1.0.0",
  "tags": [],
  "license": "MIT",
  "sample_prompts": [
    {
      "prompt": "Open the ERP dashboard"
    },
    {
      "prompt": "Show me the general ledger"
    },
    {
      "prompt": "View the sales pipeline"
    },
    {
      "prompt": "Check employee directory"
    },
    {
      "prompt": "Show the cap table"
    },
    {
      "prompt": "View burn rate and runway"
    }
  ],
  "install": {
    "binary_name": "adom-erp",
    "install_dir": "",
    "install_hint": "",
    "version_cmd": ""
  },
  "readme": "# Adom ERP Suite — Complete Feature Tree\n\n> 95 database tables · 340+ API endpoints · 94 routes (87 web + 7 portal) · 20 detail pages · 3 apps\n\n---\n\n## Authentication & Onboarding\n\n### Login (`/login`)\n- Adom-branded SSO login page\n- Keycloak OIDC redirect (\"Continue with SSO\" button)\n- Dark theme with inline Adom logo\n- OIDC callback handler (`/api/auth/callback`) — code exchange, cookie-based session\n- Auth middleware — redirects unauthenticated requests to `/login`\n\n### Onboarding Wizard (first-run flow)\n- **Step 1 — Company Setup** (`/setup`) — Company name, industry, address, timezone, currency\n- **Step 2 — Chart of Accounts** (`/accounts`) — \"Use Standard Template\" (US GAAP) or \"Import from CSV\"\n- **Step 3 — Invite Team** (`/team`) — Email invites with role assignment (Admin/Controller/Accountant/Clerk/Viewer)\n- **Step 4 — Complete** (`/complete`) — Animated checkmark, \"Go to Dashboard\" button\n- 4-step progress bar (teal completed, border upcoming)\n\n---\n\n## App Shell (all authenticated pages)\n\n### Global Navigation Bar\n- Inline Adom SVG logo (white on dark, black on light) — links to dashboard\n- Dynamic breadcrumb trail (set per-page via `BreadcrumbProvider`)\n- Search trigger button (`⌘K` shortcut label)\n- Notification bell with unread count badge + dropdown panel (mark read, mark all read, view all)\n- Theme toggle (dark/light with sun/moon SVG icons)\n- User avatar menu with dropdown\n\n### Module Sidebar\n- 9 modules: Finance, Supply Chain, Manufacturing, HCM, CRM, Startup, Reports, Admin\n- Monochrome SVG icons per module\n- Expandable sub-navigation for active module\n- Active state: teal accent color + accent-muted background + left border\n\n### Command Palette (`⌘K`)\n- Modal overlay with search input\n- 8 navigation items: Finance, Supply Chain, HCM, CRM, Manufacturing\n- 3 quick actions: New Journal Entry, New Purchase Order, New Sales Invoice\n- Keyboard navigation (arrow keys + Enter)\n- Escape to close\n- Category grouping (Navigate / Quick Actions)\n\n---\n\n## Dashboard (`/dashboard`)\n\n- **KPI Cards** (4-column grid)\n  - Revenue (MTD) — JetBrains Mono `$0`\n  - Outstanding AP\n  - Outstanding AR\n  - Cash Balance\n- **Pending Actions** section — shows onboarding prompt when empty\n\n---\n\n## Finance Module\n\n### General Ledger (`/finance/gl`)\n- Table: Entry #, Date, Description, Debit, Credit, Status, Actions\n- 5 mock entries (JE-00001 through JE-00005)\n- Status badges: Draft (gray), Pending (yellow), Approved (teal), Posted (green), Voided (red)\n- Filters: status dropdown, date range pickers, search\n- \"New Entry\" teal button\n- \"View\" button per row\n\n### Journal Entry Detail (`/finance/gl/[id]`)\n- Header: entry number, status badge, date, description\n- Lines table: Line #, Account, Description, Debit, Credit\n- Footer: Total Debit / Total Credit (bold JetBrains Mono)\n- Action buttons by status: Submit (draft), Approve (pending), Post (approved), Void (draft/pending)\n\n### Chart of Accounts (`/finance/accounts`)\n- Tree view with expand/collapse chevrons\n- Columns: Code (mono), Name, Type (color-coded badge), Postable, Balance\n- Account type colors: asset=blue, liability=orange, equity=purple, revenue=green, expense=red\n- 12 mock accounts (1000 Cash through 6200 Utilities)\n\n### Vendors (`/finance/ap/vendors`)\n- Table: Vendor #, Name, Payment Terms, Email, Phone, Status\n- 5 mock vendors (Office Depot, AWS, WeWork, Gusto Payroll, Adobe)\n- Search + Active/Inactive toggle filter\n- \"New Vendor\" button, pagination\n\n### Vendor Detail (`/finance/ap/vendors/[id]`)\n- Info grid: Legal Name, Tax ID (masked), Payment Terms, Email, Phone, Website\n- Address block\n- Edit button, Deactivate button (with confirm dialog)\n\n### Purchase Invoices (`/finance/ap/invoices`)\n- Table: Invoice #, Vendor, Invoice Date, Due Date, Total, Amount Due, Status\n- 4 mock invoices\n- Filters: status, vendor, date range\n- \"New Invoice\" button\n\n### Purchase Invoice Detail (`/finance/ap/invoices/[id]`)\n- Header: invoice number, vendor, dates, status\n- Lines table: #, Description, GL Account, Qty, Unit Price, Tax, Line Total\n- Footer: Subtotal, Tax Total, Grand Total\n- Actions: Submit, Approve, Void (with confirm)\n\n### Customers (`/finance/ar/customers`)\n- Table: Customer #, Name, Payment Terms, Credit Limit, Email, Status\n- 5 mock customers (Acme Corp, TechStart Inc, Global Solutions, Bright Ideas, NextGen AI)\n- Search + status filter\n\n### Customer Detail (`/finance/ar/customers/[id]`)\n- Info grid + credit limit display\n- Edit button, Deactivate button (with confirm)\n\n### Sales Invoices (`/finance/ar/invoices`)\n- Table: Invoice #, Customer, Invoice Date, Due Date, Total, Paid, Due, Status\n- 4 mock invoices\n- \"Record Payment\" inline form with amount input\n\n### Sales Invoice Detail (`/finance/ar/invoices/[id]`)\n- Payment progress bar (amountPaid / total)\n- Actions: Submit, Approve, Void, Apply Payment\n\n### Fixed Assets (`/finance/assets`)\n- Placeholder page — asset register, depreciation schedules\n\n### Budgets (`/finance/budgets`)\n- Placeholder page — budget planning, variance analysis\n\n---\n\n## Supply Chain Module\n\n### Items (`/supply-chain/items`)\n- Table: SKU (mono), Name, Category, UOM, Std Cost, Stock On Hand, Status\n- 8 mock items (enclosures, PCBs, power supplies, cables, hardware, displays, ICs)\n- Search + category/status filters\n- \"New Item\" button\n\n### Item Detail (`/supply-chain/items/[id]`)\n- Info grid: SKU, Name, Category, UOM, Weight, Dimensions, Barcode\n- Costing section (standard cost, last purchase price)\n- Replenishment settings (reorder point, qty, safety stock, lead time)\n- Stock levels table by location\n- Deactivate action\n\n### Purchase Orders (`/supply-chain/purchase-orders`)\n- Table: PO #, Vendor, Order Date, Expected Date, Total, Status\n- 4 mock POs with statuses (draft, approved, sent, partially received)\n- Filters: search, status\n\n### Purchase Order Detail (`/supply-chain/purchase-orders/[id]`)\n- Header: vendor, dates, ship-to location\n- Lines table: Item, Qty, Unit Price, Tax, Total, Received\n- Totals footer (Subtotal, Tax, Shipping, Grand Total)\n- Actions by status: Submit, Approve, Send, Close, Cancel\n\n### Inventory (`/supply-chain/inventory`)\n- **3 KPI Cards**: Total Items, Total Inventory Value, Below Reorder Point (warning)\n- Stock table: SKU, Item, Location, On Hand, Reserved, Available, On Order\n- **Adjust Inventory** inline form (item, location, qty, reason)\n- **Transfer Inventory** inline form (item, from/to location, qty)\n- 6 mock stock records across 2 warehouses\n\n### Sales Orders (`/supply-chain/sales-orders`)\n- Table: SO #, Customer, Order Date, Requested Delivery, Total, Status\n- 4 mock SOs\n- Actions: Confirm (reserves inventory), Process, Cancel (releases inventory), Close\n\n### Sales Order Detail (`/supply-chain/sales-orders/[id]`)\n- Lines: Item, Qty, Unit Price, Discount%, Tax, Total, Shipped\n- Action buttons by status\n\n### Shipments (`/supply-chain/shipments`)\n- Table: Shipment #, SO #, Carrier, Status, Tracking, Shipped Date\n- 3 mock shipments (FedEx, UPS, DHL) with tracking numbers\n- Actions: Pick, Pack, Ship, Deliver\n\n### Shipment Detail (`/supply-chain/shipments/[id]`)\n- Tracking info section\n- Lines: Item, Qty, From Location\n- Action buttons by status\n\n---\n\n## HCM & Payroll Module\n\n### Employee Directory (`/hcm/employees`)\n- Table: Emp # (mono), Name, Department, Job Title, Type, Status\n- 8 mock employees (Sarah Chen, Marcus Johnson, Emily Rodriguez, etc.)\n- Search + department dropdown filter\n- \"Add Employee\" button\n- Status badges: Active (green), On Leave (yellow)\n\n### Employee Detail (`/hcm/employees/[id]`)\n- 4-card info grid: Personal Details, Employment Details, Compensation (salary in mono), Emergency Contact\n- Direct reports table\n- Edit button, Terminate button\n\n### Leave Management (`/hcm/leave`)\n- **Pending Requests** table (for managers): Employee, Type, Dates, Hours, Status\n  - Approve/Reject buttons per request\n- **My Leave Balances** cards:\n  - Annual: 160h entitled / 32h used / 128h available\n  - Sick: 64h entitled / 8h used / 56h available\n  - Personal: 24h entitled / 0h used / 24h available\n  - Visual progress bars (teal fill, warning color above 80%)\n- \"Request Leave\" button\n\n### Payroll (`/hcm/payroll`)\n- Table: Run # (mono), Period, Pay Date, Employees, Gross, Net, Status\n- 3 mock payroll runs (PR-00001 through PR-00003)\n- \"New Payroll Run\" button\n\n### Payroll Run Detail (`/hcm/payroll/[id]`)\n- **4 KPI Cards**: Total Gross, Total Deductions, Total Net, Employer Cost\n- Payslips table: Employee, Gross, Deductions, Net, Employer Cost\n- Totals footer row\n- Actions by status: Calculate (draft), Approve (calculated), Process (approved), Void\n\n### Benefits (`/hcm/benefits`)\n- Tab switcher: Plans / Enrollment Summary\n- **Plans table**: Code, Name, Type (badge), Employee Cost, Employer Cost, Status\n- 4 mock plans: HEALTH-PPO, DENTAL-BASIC, VISION-STD, 401K-MATCH\n- **Enrollment Summary** cards: plan name, enrolled count, total monthly cost\n\n---\n\n## CRM Module\n\n### CRM Accounts (`/crm/accounts`)\n- Table: Account # (mono), Name, Stage, Industry, Owner, Score, Last Activity\n- 6 mock accounts at various stages (prospect, lead, qualified, customer)\n- Search + stage filter\n\n### Account Detail (`/crm/accounts/[id]`)\n- Info grid + tags display\n- Contact list, opportunities table, recent activities timeline\n\n### Sales Pipeline — Kanban (`/crm/pipeline`)\n- **3 KPI Cards**: Total Pipeline ($1,425,000), Weighted Value ($687,500), Avg Deal Size ($178,125)\n- **5 Kanban columns**: Prospecting (3), Qualification (2), Needs Analysis (0), Proposal (2), Negotiation (1)\n- Deal cards: name, account, amount (mono), probability %, close date\n- Colored top borders per stage\n- 8 mock opportunities\n\n### Opportunity Detail (`/crm/opportunities/[id]`)\n- Header: name, stage badge, amount (mono)\n- Info grid: Account, Contact, Source, Expected Close, Probability\n- Activity timeline\n- Actions: Advance Stage, Close Won, Close Lost\n\n### Quotes (`/crm/quotes`)\n- Table: Quote # (mono), Account, Status, Total, Valid Until\n- 4 mock quotes (draft, sent, accepted, expired)\n\n### Quote Detail (`/crm/quotes/[id]`)\n- Lines table: Description, Qty, Unit Price, Discount%, Tax, Total\n- Totals footer (Subtotal, Discount, Tax, Grand Total)\n- Actions: Send, Accept, Reject, Convert to Sales Order\n\n### Activities (`/crm/activities`)\n- **Type filter tabs**: All, Calls, Emails, Meetings, Tasks, Notes, Demos, Follow-ups\n- **Upcoming section** at top\n- Activity cards: type icon (monochrome SVG), subject, related account/contact, due date, completion status\n- 8 mock activities\n- \"New Activity\" button\n\n### Support Tickets (`/crm/tickets`)\n- Table: Ticket # (mono), Subject, Account, Priority, Status, Assigned To, Created\n- Priority badges: low (gray), normal (blue), high (orange), critical (red)\n- 5 mock tickets\n- Filters: status, priority, search\n\n### Ticket Detail (`/crm/tickets/[id]`)\n- Header + status/priority badges\n- Comments thread (internal comments have dashed border)\n- Add comment form with \"Internal Note\" toggle\n- Actions: Resolve, Close, Reopen, Assign\n\n---\n\n## Manufacturing Module\n\n### Bills of Materials (`/manufacturing/bom`)\n- Table: BOM # (mono), Name, Finished Item, Revision, Status\n- 3 mock BOMs\n- \"New BOM\" button\n\n### BOM Detail (`/manufacturing/bom/[id]`)\n- Components table: #, Component (with SKU), Qty, UOM, Scrap%, Phantom\n- **Cost Rollup** section: Material Cost, Labor Cost, Overhead Cost, Total Cost (accent-colored)\n- Actions: Cost Rollup, Activate (draft), Obsolete (active)\n\n### Work Orders (`/manufacturing/work-orders`)\n- Table: WO # (mono), Item, Qty, Completed, Status, Priority, Planned Start, Planned End\n- Priority badges (low/normal/high/urgent)\n- 4 mock work orders at various stages\n\n### Work Order Detail (`/manufacturing/work-orders/[id]`)\n- Status + priority badges in header\n- **Progress bar** (quantityCompleted / quantity, teal fill)\n- **Operations table**: Step, Name, Work Center, Status, Planned Time, Actual Time\n- **Materials table**: Item, Planned, Consumed, Scrapped\n- **Cost comparison table**: Planned vs Actual vs Variance (red/green coloring)\n- Actions by status: Release, Start, Complete, Cancel, Close\n\n### Quality Inspections (`/manufacturing/quality`)\n- Table: Inspection # (mono), Item, WO, Sample Size, Passed (green), Failed (red), Status\n- 3 mock inspections\n\n### MRP Planning (`/manufacturing/mrp`)\n- \"Run MRP\" button\n- Latest run summary card: Run #, Date, Recommendations count, Actioned count\n- **Recommendations table**: Item (with SKU), Type badge (WO/PO), Qty, Required Date, Reason, Actioned\n- \"Action\" button per unactioned recommendation\n- 5 mock recommendations\n\n---\n\n## Reporting & Analytics Module\n\n### Analytics Dashboard (`/reporting`)\n- **6 KPI Cards** with trend arrows (up/down SVG):\n  - Revenue: $125,000.00 (+12.5%)\n  - Gross Margin: 68.0% (+2.3%)\n  - Orders: 847 (+8.1%)\n  - Avg Order Value: $147.58 (-1.2%)\n  - On-Time Delivery: 94.2% (+0.8%)\n  - Customer Churn: 2.1% (-0.3%)\n- **6 Chart Placeholders**: Revenue Trend, Expenses by Category, Order Fulfillment Rate, Top Products, Cash Flow Analysis, Inventory Turnover\n\n### Report Library (`/reporting/reports`)\n- Reports grouped by category: Finance, Supply Chain, Manufacturing, HCM, CRM\n- Category badges (teal/purple/orange/blue/green)\n- Each report card: name, description, \"Run\" and \"Save\" buttons\n- Search bar\n- 32 buttons total (Run + Save per report)\n\n### Report Viewer (`/reporting/reports/[id]`)\n- Header with export buttons (PDF, CSV, XLSX)\n- Dynamic filter bar from report definition\n- Sortable column headers\n- Pagination\n- Execution metadata (rows returned, time taken)\n\n### Dashboards (`/reporting/dashboards`)\n- Dashboard cards: name, description, owner, widget count, \"Default\" badge\n- \"Create Dashboard\" button\n- 2 mock dashboards\n\n### Dashboard Builder (`/reporting/dashboards/[id]`)\n- Widget grid with type badges (KPI, Chart, Table, Gauge)\n- Widget placeholder content (large numbers, bar charts, table rows)\n- \"Add Widget\" button\n- Edit/Remove icons per widget\n\n### Scheduled Reports (`/reporting/scheduled`)\n- Table: Name, Report, Frequency, Format, Recipients (pill badges), Next Run, Last Run, Active toggle\n- Frequency badges (Daily=teal, Weekly=blue, Monthly=purple)\n- Active toggle switch with optimistic update\n- \"Schedule Report\" button\n- 3 mock scheduled reports\n\n---\n\n## Startup Module\n\n### Cap Table (`/startup/equity`)\n- **Ownership Summary** with CSS conic-gradient pie chart\n  - Founders 55%, Employees 15%, Investors 30%\n  - Total Shares: 10,000,000\n  - Latest Valuation: $20,000,000.00\n- **Shareholders Table**: Name, Type (badge), Shares, % Ownership, Vested, Unvested\n  - 5 shareholders: Alex Rivera CEO, Jordan Lee CTO, Employee Option Pool, Sequoia Capital, Y Combinator\n- **Fundraising Rounds Table**: Name, Pre-Money Valuation, Amount Raised, Price/Share, Status\n  - Seed Round ($5M pre-money, $2M raised, Closed)\n  - Series A ($15M pre-money, $5M raised, Closed)\n- \"View Grants\" + \"New Round\" buttons\n\n### Equity Grants (`/startup/equity/grants`)\n- Table: Grantee, Type (option/rsa/rsu), Shares, Strike Price, Vesting (progress bar), Status\n- Purple vesting progress bars\n- 5 mock grants\n- \"New Grant\" button\n\n### Expense Management (`/startup/expenses`)\n- My Expenses / All Expenses toggle\n- Pending approval queue (yellow highlight)\n- Table: Report # (mono), Employee, Date, Total, Status\n- Actions: Submit, Approve, Reject, Reimburse\n- 4 mock expense reports\n\n### SaaS Vendor Spend (`/startup/saas-spend`)\n- **4 KPI Cards**: Total Monthly Spend, Total Annual Spend, Active Subscriptions, Avg Utilization %\n- **Upcoming Renewals** warning section (next 30 days)\n- Table: Vendor, Product, Category (badge), Monthly Cost, Annual Cost, Seats (used/total), Renewal Date, Status\n- Category badges: engineering=teal, sales=green, marketing=purple, hr=blue\n- 8 mock subscriptions (GitHub, Slack, AWS, HubSpot, Figma, Notion, Zoom, Datadog)\n- \"Add Subscription\" button\n\n### OKR Tracking (`/startup/okrs`)\n- Company-wide progress bar at top (avg of all objectives)\n- Period filter (Q1-Q4) + Level filter (Company/Team/Individual)\n- **Expandable objective cards**:\n  - Title, owner, progress bar (green on_track / yellow at_risk / red behind)\n  - Nested key results: title, current/target value, unit, mini progress bar\n- 3 mock objectives with 2-3 key results each\n- \"New Objective\" button\n\n### R&D Tax Credits (`/startup/rd-credits`)\n- **3 KPI Cards**: Qualifying Hours (YTD), Qualifying Wages, Estimated Credit (at 20% rate)\n- **Activities Table**: Name, Category (badge), Description, Qualifying (checkmark)\n- **Time Entries Table**: Employee, Activity, Date, Hours, Description\n- 4 mock activities + 6 mock time entries\n- \"New Activity\" + \"Log Time\" buttons\n\n### SaaS Metrics (`/startup/metrics`)\n- Description: \"Key subscription business metrics. These would pull from a billing integration (e.g. Stripe) in production.\"\n- **8 KPI Cards**: MRR ($0.00), ARR ($0.00), MoM Growth (0.0%), Net Revenue Retention (0.0%), Churn Rate (0.0%), LTV ($0.00), CAC ($0.00), LTV:CAC Ratio (0.0x)\n- **4 Chart Placeholders** (dashed border, elevated bg):\n  - MRR Over Time (Line Chart)\n  - Revenue by Plan (Bar Chart)\n  - Churn Cohort (Heatmap)\n  - Customer Growth (Line Chart)\n\n### Burn Rate & Runway (`/startup/burn`)\n- **6 KPI Cards**: Cash on Hand, Monthly Burn Rate, Gross Burn, Net Burn, Months of Runway, Last Fundraise\n- **Runway Projection** chart placeholder (declining dashed line with red $0 threshold)\n- **Monthly Breakdown Table**: Month (Jan-May 2026), Revenue, Payroll, SaaS, Rent, Other, Net Burn\n- **Fundraising Milestones** timeline: Pre-Seed, Seed, Series A (with \"Planning\" badges)\n\n---\n\n## Admin Module\n\n### Administration Hub (`/admin`)\n- 6 admin cards (each with monochrome SVG icon, title, description):\n  - Tenant Settings, User Management, Organizations, API Keys, Webhooks, Audit Log\n\n### Tenant Settings (`/admin/settings`)\n- Form: Company Name, Logo URL, Timezone dropdown, Default Currency dropdown, Locale dropdown\n- \"Save Settings\" teal button\n- Error banner for API failures\n\n### User Management (`/admin/users`)\n- Table: Name, Email, Roles (teal badge chips), Status, Last Login (mono)\n- 6 mock users with roles (Admin, Controller, Accountant, etc.)\n- Search + status filter\n- \"Invite User\" button\n\n### User Detail (`/admin/users/[id]`)\n- Info grid + roles list with remove buttons\n- \"Add Role\" button\n- Deactivate action\n\n### Organizations (`/admin/organizations`)\n- Table: Name, Code (mono), Address, Users Count\n- \"New Organization\" button\n\n### API Keys (`/admin/api-keys`)\n- Table: Name, Key (masked `••••xxxx` in mono), Created (mono), Expires, Status\n- \"Generate Key\" button (one-time reveal)\n- Revoke action per key\n\n### Webhooks (`/admin/webhooks`)\n- Table: URL (mono), Events (badge chips), Active toggle, Last Triggered (mono)\n- \"Add Webhook\" button\n- Edit/Delete actions\n\n### Audit Log (`/admin/audit-log`)\n- Table: Timestamp (mono), User, Action (color-coded badge), Entity, Details\n- 10 mock audit entries\n- Filters: Entity Type, User, Action, Date From, Date To\n\n---\n\n## Workflows Module\n\n### My Approvals (`/workflows`)\n- **Pending Approvals** cards:\n  - Entity type badge, entity reference, current step\n  - Requested by, time waiting\n  - Approve / Reject buttons\n- **Recent Activity** timeline with colored dots and time-ago\n\n### Workflow Definitions (`/workflows/definitions`)\n- Table: Name, Entity Type, Steps, Status, Instances Count\n- \"New Workflow\" button\n\n### Workflow Definition Detail (`/workflows/definitions/[id]`)\n- **Visual step pipeline**: numbered boxes connected by SVG arrows\n  - Each step: name, approver role/user\n- Activate/Deactivate toggle\n- Instance history table\n\n---\n\n## Customer/Employee Portal (`apps/portal` — port 3002)\n\n### Portal Home (`/`)\n- Link cards to all sections with monochrome SVG icons\n\n### Customer Section\n- **My Orders** (`/orders`) — Order #, Date, Status, Total\n- **My Invoices** (`/invoices`) — Invoice #, Date, Due Date, Total, Paid, Due, Status + \"Pay Now\" button\n- **My Tickets** (`/tickets`) — Ticket list + new ticket form (subject, description, priority)\n- **My Profile** (`/profile`) — Read-only info grid\n\n### Employee Section\n- **My Pay Stubs** (`/pay-stubs`) — Pay Period, Gross, Deductions, Net + click-to-view detail\n- **My Leave** (`/leave`) — Balance cards + request form + request history\n- **My Benefits** — View enrolled plans\n\n---\n\n## Backend-Only Features (API endpoints, no dedicated UI page)\n\n### Finance\n- Tax Codes CRUD + tax calculation (basis points)\n- Fixed Assets depreciation (straight-line, declining balance, batch runs)\n- Period Close wizard (3-point checklist, balance carry-forward, lock/reopen)\n- Account Balance projection (BullMQ job on JE post)\n\n### Supply Chain\n- Goods Receipts (3-way PO matching, stock movements on confirm)\n- Carriers CRUD (tracking URL templates)\n- Cycle Counts (auto-populate from inventory, variance calc, auto-adjustment)\n\n### HCM\n- Departments CRUD + tree hierarchy\n- Job Titles CRUD + salary bands\n- Attendance clock-in/out + monthly summaries\n- Leave balance initialization + carry-over\n\n### CRM\n- Contacts CRUD + DNC flags\n- Campaigns (bulk member add, conversion tracking, metrics)\n- Quote-to-Sales-Order conversion\n\n### Manufacturing\n- Work Centers CRUD\n- Routings + routing steps\n- Material consumption tracking\n- Quality checkpoints\n\n### Reporting\n- Report Definitions CRUD + seed system reports (8 built-in)\n- KPI snapshots (historical value capture)\n- Report execution logging (timing, row count)\n\n### Platform\n- WebSocket gateway (Socket.IO + Redis pub/sub)\n- BullMQ job queues (6 priority levels)\n- OPA authorization guard + `@RequirePermission` decorator\n- Notification service (DB + WebSocket emit)\n- Workflow engine (definition → instance → transition lifecycle)\n\n### Field Service\n- Service Orders (schedule → dispatch → start → complete with signature)\n- Technician GPS location tracking\n- Service territories (GeoJSON polygons)\n- Service order photos (before/after)\n\n### Startup\n- Equity grants (exercise, cancel, vesting tracking)\n- Liquidation waterfall analysis\n- Cap table aggregation\n- Expense report line items + receipt URLs\n- OKR progress auto-calculation\n- R&D credit summary (qualifying hours × wage rate × 20%)\n\n---\n\n## Infrastructure & Tooling\n\n### Database\n- 8 schema files: platform, finance, supply-chain, hcm, crm, manufacturing, reporting, startup, field-service\n- 95 tables with proper indexes, multi-tenant row-level isolation (`tenant_id` on every table)\n- Drizzle ORM with type-safe schema definitions\n\n### i18n\n- 3 locales: en-US, fr-CA, es-US\n- ~100 translation keys per locale (common, nav, finance, scm, hcm, crm)\n- `next-intl` configured for incremental adoption\n\n### Storybook\n- 6 story files: Tokens, Buttons, Cards, Tables, Forms, StatusBadge\n- Adom brand showcase (color palette, typography scale, spacing)\n- Accessibility addon (`@storybook/addon-a11y`)\n\n### Seed Data\n- Demo tenant: Acme Corporation\n- 40 GL accounts (US GAAP standard COA)\n- 12 fiscal periods (FY 2026)\n- 3 tax codes, 8 departments, 11 job titles\n- 10 employees, 20 items, 5 vendors, 5 customers\n- 5 CRM accounts, 4 benefit plans\n- 30 leave balances (10 employees × 3 types)\n\n### CI/CD\n- GitHub Actions workflow with brand-audit job\n- Turbo build orchestration\n- TypeScript strict-mode typecheck across all packages\n\n### Docker Compose\n- PostgreSQL 16, Redis 7, Elasticsearch 8.17, MinIO, Keycloak 25, Mailpit\n",
  "author": {
    "name": "Kyle Bergstedt",
    "email": "[email protected]"
  },
  "visibility": {
    "public": true
  },
  "hero": null,
  "discovery_triggers": [],
  "discovery_pitch": null,
  "metadata": {},
  "created_at": "2026-05-28T05:28:46.698Z",
  "updated_at": "2026-05-28T05:28:46.698Z",
  "skills": []
}