A free, open-source invoice management system for small businesses and freelancers.
Features •
Demo •
Installation •
Contributing •
License
- ✅ Unlimited Invoices - Create as many invoices as you need
- ✅ Unlimited Products - Manage your product inventory
- ✅ Multi-Currency Support - SAR, MAD, AED, USD, EUR, GBP
- ✅ Bilingual Interface - Full Arabic & English support with RTL
- ✅ PDF Export - Generate professional PDF invoices
- ✅ Sales Reports - Analytics and revenue tracking
- ✅ Email & WhatsApp Sharing - Send invoices directly
- ✅ Google OAuth - Quick sign-in with Google
- ✅ 100% Free & Open Source - MIT License
- 🏪 Small business owners
- 💼 Freelancers
- 📊 Accountants
- 🛒 Retail stores
- 🚀 Startups
Live Demo: https://invoice-saas-xi.vercel.app
- Node.js 18+
- npm or yarn
- Supabase account (free)
- Google OAuth credentials (optional)
- Clone the repository
git clone https://github.com/YASSINENFAI/invoiceflow.git
cd invoiceflow- Install dependencies
npm install- Create
.env.localfile
# Supabase
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
# Google OAuth (optional)
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
# NextAuth
NEXTAUTH_SECRET=your_random_secret_key
NEXTAUTH_URL=http://localhost:3000- Set up Supabase database
Create a new Supabase project and run the SQL schema in supabase-schema.sql
- Run development server
npm run dev| Technology | Purpose |
|---|---|
| Next.js 14 | React framework with App Router |
| Supabase | PostgreSQL database & Authentication |
| NextAuth.js | Authentication system |
| Tailwind CSS | Styling |
| TypeScript | Type safety |
| Vercel | Deployment |
invoiceflow/
├── src/
│ ├── app/ # Next.js App Router pages
│ ├── components/ # React components
│ ├── lib/ # Utilities & configurations
│ └── types/ # TypeScript types
├── public/ # Static assets
├── supabase-schema.sql # Database schema
└── package.json
The project uses Supabase (PostgreSQL) with the following tables:
| Table | Description |
|---|---|
users |
User profiles and settings |
products |
Product inventory |
invoices |
Invoice records |
invoice_items |
Invoice line items |
See supabase-schema.sql for complete schema.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Email: azffhk@gmail.com
GitHub: https://github.com/YASSINENFAI/invoiceflow
If you find this project useful, please consider giving it a ⭐ on GitHub!
Made with ❤️ for small businesses