An Invoice Management System built with Next.js, Auth.js, and Prisma to streamline invoice generation, tracking, and management. Users can send invoices, track payments, and automate reminders.
- Framework: Next.js (App Router)
- Auth: Auth.js (Magic Link via Mailtrap)
- Database: PostgreSQL (via Prisma ORM)
- UI: TailwindCSS, shadcn/ui
- Emails: Resend / Nodemailer + Mailtrap
- PDF Generation: Puppeteer / PDFKit
- Deployment: Vercel / Railway + GitHub Actions
- Magic Link authentication with Auth.js
- Custom verification route for email login
- User onboarding with name and address (for invoices)
- Overview of invoices, payments, and clients
- Interactive charts & stats for revenue tracking
- Create invoices & send email notifications
- Edit invoices (auto-email updates to clients)
- Download invoices as PDFs
- Delete invoices when needed
- Mark invoices as paid
- Automated email reminders for due invoices
- Clean and modern marketing page
- SEO-optimized for better visibility
git clone https://github.com/yourusername/invoice-management.git
cd invoice-management
yarn install # or npm install
Create a .env.local
file and add the following:
DATABASE_URL=your_postgresql_url
NEXTAUTH_SECRET=your_secret_key
NEXTAUTH_URL=http://localhost:3000
MAILTRAP_USER=your_mailtrap_user
MAILTRAP_PASS=your_mailtrap_pass
npx prisma migrate dev --name init
yarn dev # or npm run dev
vercel
railway up
- Implement Stripe integration for payments
- Add multi-user/team functionality
- Support recurring invoices
This project is licensed under the MIT License.
Pull requests are welcome! For major changes, please open an issue first to discuss what you’d like to change.
For inquiries, reach out at: [email protected]
Happy Coding! 🚀