HA
HA2345567/SmartInvoice
SmartInvoice is a modern invoicing web application designed to streamline billing for freelancers and small businesses.
SmartInvoice - Professional Invoice Management System
A comprehensive, production-ready invoice management system built with Next.js, featuring AI-powered suggestions, automated reminders, and professional PDF generation.
๐ Features
Core Functionality
- Professional Invoice Creation - Beautiful, branded PDF invoices
- Client Management - Comprehensive client database with history
- Payment Tracking - Multiple payment methods and status tracking
- Analytics Dashboard - Revenue insights and business metrics
- Export Capabilities - CSV exports and bulk PDF downloads
Smart Features
- AI Auto-Suggestions - Smart line item and client suggestions
- Automated Reminders - Intelligent overdue invoice management
- Multi-Currency Support - Global business ready
- GST/VAT Handling - Tax compliance built-in
- Email Integration - Automated invoice delivery
Technical Excellence
- Responsive Design - Mobile-first, professional UI
- SQLite Database - Reliable local data storage
- JWT Authentication - Secure user management
- PDF Generation - Professional branded invoices
- Email Service - SMTP integration for notifications
๐ Technology Stack
- Frontend: Next.js 13, React, TypeScript
- Styling: Tailwind CSS, Custom Green Theme
- Database: SQLite with migration support
- Authentication: JWT with bcrypt
- PDF Generation: jsPDF with custom templates
- Email: Nodemailer with SMTP
- Icons: Lucide React
- UI Components: Custom component library
๐ฆ Installation & Setup
Prerequisites
- Node.js 18+
- npm or yarn
Quick Start
-
Clone and Install
git clone <repository-url> cd smartinvoice npm install
-
Environment Configuration
Create.env.localfile:JWT_SECRET=your-super-secure-jwt-secret EMAIL_HOST=smtp.gmail.com EMAIL_PORT=587 EMAIL_USER=your-email@gmail.com EMAIL_PASS=your-app-password EMAIL_FROM=your-email@gmail.com NEXT_PUBLIC_APP_URL=http://localhost:3000
-
Start Development Server
npm run dev
-
Access Application
- Open http://localhost:3000
- Demo login:
demo@smartinvoice.com/demo123
Email Configuration (Gmail)
- Enable 2-Factor Authentication on your Gmail account
- Generate an App Password:
- Go to Google Account Settings
- Security โ 2-Step Verification โ App passwords
- Generate password for "Mail"
- Use the generated password in
EMAIL_PASS
Test Email Configuration
Visit /api/test-email to verify email setup.
๐ Deployment
Production Environment Variables
JWT_SECRET=your-production-jwt-secret
DATABASE_URL=your-production-database-url
EMAIL_HOST=your-smtp-host
EMAIL_USER=your-email
EMAIL_PASS=your-email-password
EMAIL_FROM=your-from-email
NEXT_PUBLIC_APP_URL=https://your-domain.com
NODE_ENV=productionDeployment Platforms
Vercel (Recommended)
npm run build
vercel --prodRailway
railway login
railway init
railway upDocker
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["npm", "start"]๐ Business Features
Invoice Management
- Professional PDF generation with branding
- Multiple templates and customization
- Automatic numbering and tracking
- Status management (Draft, Sent, Paid, Overdue)
Client Relationship Management
- Complete client profiles
- Invoice history and analytics
- Payment behavior tracking
- Communication logs
Financial Analytics
- Revenue tracking and forecasting
- Payment analytics
- Client performance metrics
- Export capabilities for accounting
Automation
- Smart reminder system
- Overdue invoice management
- Email automation
- Payment notifications
๐จ Customization
Branding
- Update company information in invoice templates
- Customize colors in
globals.css - Replace logo in PDF generator
- Modify email templates
Features
- Add payment gateway integration
- Implement recurring invoices
- Add time tracking
- Extend reporting capabilities
๐ง API Endpoints
Authentication
POST /api/auth/login- User loginPOST /api/auth/signup- User registrationGET /api/auth/me- Get current user
Invoices
GET /api/invoices- List invoicesPOST /api/invoices- Create invoiceGET /api/invoices/[id]- Get invoicePUT /api/invoices/[id]- Update invoiceDELETE /api/invoices/[id]- Delete invoiceGET /api/invoices/[id]/pdf- Download PDF
Clients
GET /api/clients- List clientsPOST /api/clients- Create clientGET /api/clients/[id]- Get clientPUT /api/clients/[id]- Update clientDELETE /api/clients/[id]- Delete client
Analytics & Export
GET /api/analytics- Business analyticsGET /api/export/invoices- Export invoices CSVGET /api/export/clients- Export clients CSV
๐ก Security Features
- JWT-based authentication
- Password hashing with bcrypt
- Input validation and sanitization
- SQL injection prevention
- XSS protection
- CORS configuration
๐ฑ Mobile Support
- Fully responsive design
- Touch-friendly interface
- Mobile-optimized forms
- Progressive Web App ready
๐ค Contributing
- Fork the repository
- Create feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open Pull Request
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Support
For support and questions:
- Create an issue on GitHub
- Email: support@smartinvoice.com
- Documentation: [docs.smartinvoice.com]
๐ฏ Roadmap
- Payment gateway integration (Stripe, Razorpay)
- Recurring invoice automation
- Time tracking integration
- Multi-language support
- Advanced reporting
- Mobile app development
- API for third-party integrations
SmartInvoice - Professional invoice management for modern businesses.
On this page
Languages
TypeScript94.1%CSS3.5%JavaScript2.3%Shell0.2%
Contributors
Created June 20, 2025
Updated February 3, 2026