accounting.fatbot.ai¶
GBP-based business accounting system for FATBot. Balance sheet, P&L, cash flow, subscriptions, asset depreciation, prop firm challenge tracking.
Service name: fatbot-accounting
Port: 3100
Currency: GBP (£)
Domain: accounting.fatbot.ai
Status: Built and running
Running¶
cd accounting
npm install
npm start # http://localhost:3100
npm run dev # with --watch
Structure¶
accounting/
├── src/
│ ├── server.js # Express server (port 3100)
│ ├── api.js # REST API routes
│ └── db.js # SQLite schema, seed, migrations
├── public/
│ └── index.html # Full SPA (7 pages, dark theme)
├── data/
│ └── accounting.db # SQLite database (auto-created)
├── package.json
└── README.md
Tech Stack¶
| Component | Choice |
|---|---|
| Backend | Node.js + Express 5 |
| Database | SQLite via sql.js (pure JS, no native deps) |
| Frontend | Vanilla HTML/CSS/JS SPA |
| Theme | Dark, matching FATBot (amber accent) |
Features¶
- 7 page views: Dashboard, Balance Sheet, P&L, Expenses, Subscriptions, Assets, Revenue
- Double-entry accounting (debit/credit)
- 27 pre-seeded accounts (assets, liabilities, equity, revenue, expenses)
- Prop Firm Challenges as dedicated expense category
- Fund Account flow (investor capital, loans → asset accounts)
- Asset depreciation (straight-line + declining balance)
- Subscription tracker with renewal dates and monthly equivalents
- Cash flow chart (6-month trend)
- All amounts in GBP (£)
API¶
All endpoints under /api:
| Method | Path | Description |
|---|---|---|
| GET | /health |
Health check |
| GET | /dashboard |
Dashboard summary (net worth, P&L, cash flow) |
| GET | /balance-sheet |
Full balance sheet |
| GET | /pnl?year=&month= |
P&L statement |
| GET | /revenue?year= |
Revenue by month |
| GET/POST | /accounts |
Chart of accounts |
| GET/POST/DELETE | /transactions |
Transactions |
| GET/POST/PUT/DELETE | /subscriptions |
Subscriptions |
| GET/POST/PUT | /assets |
Assets |
| POST | /assets/:id/depreciate |
Run monthly depreciation |