FinSync is a responsive, collaborative expense and fund management web application designed for startups, small teams, or any group managing shared finances.
It allows users to create or join companies, submit and manage expenses, add funds, and track reimbursements — all synchronized in real time using Supabase.
- 🔐 Authentication using Supabase Auth (Email/Password)
- 🏢 Company Management
- Create, update, and delete companies
- Join or leave a company anytime
- 💰 Expense Management
- Add, edit, or delete expenses with receipt upload
- Filter and view expenses by user or company
- 💵 Fund Management
- Add and update total funds for each company
- Track available balance and fund inflow
- ✅ Reimbursement Tracking
- Mark expenses as
pending,approved, orreimbursed
- Mark expenses as
- 📊 Dashboard
- Real-time analytics for total funds, expenses, and categories
- 📱 Responsive Design
- Fully optimized for mobile, tablet, and desktop devices
- ☁️ Built with Supabase
- PostgreSQL (Database), Auth, and Storage for images and receipts
- Simplify fund and expense management for small teams and startups
- Maintain transparency and accountability in reimbursements
- Provide a mobile-compatible web solution with real-time synchronization
| Layer | Technology |
|---|---|
| Frontend | React.js, HTML5, CSS3 (Responsive Design) |
| Backend / Database | Supabase (PostgreSQL, Realtime, Storage, Auth) |
| Authentication | Supabase Auth (Email/Password) |
| Version Control | Git & GitHub |
| Deployment (Optional) | Netlify / Vercel |
-- USERS
create table users (
id uuid primary key default uuid_generate_v4(),
name text,
email text unique
);
-- COMPANIES
create table companies (
id uuid primary key default uuid_generate_v4(),
name text,
owner_id uuid references users(id)
);
-- EXPENSES
create table expenses (
id uuid primary key default uuid_generate_v4(),
user_id uuid references users(id),
company_id uuid references companies(id),
amount numeric,
category text,
description text,
image_url text,
status text check (status in ('pending', 'approved', 'reimbursed')) default 'pending',
created_at timestamp default now()
);
-- FUNDS
create table funds (
id uuid primary key default uuid_generate_v4(),
company_id uuid references companies(id),
amount numeric,
created_at timestamp default now()
);
- Receipts and bills are stored in Supabase Storage.
- Public bucket access allows secure URL-based image preview.
- Clone the repository
git clone https://github.com/your-username/finsync.git
- Create a .env file with your Supabase credentials
VITE_SUPABASE_URL=your-supabase-url VITE_SUPABASE_ANON_KEY=your-anon-key
- Install dependencies and start the app
npm install npm run dev
- Automated reimbursements via payment APIs
- Monthly and category-based financial reports
- Role-based permissions (Admin, Employee)
- Export data to CSV/PDF
- AI-based expense categorization and anomaly detection
“Every rupee accountable, every expense visible.”
FinSync promotes financial transparency and trust in teams by combining simplicity with real-time data synchronization.
Feel free to fork, suggest improvements, or raise issues via GitHub.