* feat: replaced window.confirm with alert discard dialog for buyer and seller management - Added a ConfirmDiscardDialog component to handle unsaved changes in BuyerDialog and SellerDialog, enhancing user experience by preventing accidental data loss. - Updated the dialog logic to open the confirmation dialog when attempting to close the forms with unsaved changes. - Modified related tests to ensure the confirmation dialog behaves as expected, verifying the visibility and functionality of the discard options. - Adjusted GitHub Actions workflows to include necessary permissions for improved CI/CD processes. * feat: refactor buyer and seller management components with new dialog structure - Updated import paths for BuyerManagement and SellerManagement components to reflect new directory structure. - added re-usable hook * chore: add Vercel deployment URL to E2E workflow notifications - Included the Vercel deployment URL in the E2E workflow notifications to provide better visibility of deployment status alongside existing GitHub Actions run and pull request links. * feat: implement pre-fill switch dirty guard in BuyerDialog and SellerDialog - Added functionality to guard the pre-fill switch toggle against unsaved changes in both BuyerDialog and SellerDialog. - Introduced a confirmation dialog that prompts users when attempting to toggle the pre-fill switch while the form is dirty, enhancing data integrity. - Updated related tests to cover various scenarios for toggling the switch and confirming or discarding changes, ensuring expected behavior in the user interface. * feat: enhance buyer and seller dialogs with localStorage validation - Updated BuyerDialog and SellerDialog to validate localStorage entries, preserving valid data while dropping invalid ones. * feat: update buyer and seller dialogs to handle whitespace and duplicate entries - Enhanced BuyerDialog and SellerDialog to trim whitespace from name and other fields before saving. - Implemented validation to reject whitespace-padded names that duplicate existing buyers or sellers, ensuring data integrity. - Updated related tests to cover new scenarios for trimming and validation, improving overall user experience. |
||
|---|---|---|
| .agents/skills | ||
| .cursor | ||
| .github | ||
| .husky | ||
| .vscode | ||
| e2e | ||
| messages | ||
| public | ||
| src | ||
| .env.example | ||
| .gitignore | ||
| .npmrc | ||
| .prettierignore | ||
| .prettierrc.js | ||
| CODE_OF_CONDUCT.md | ||
| CODEOWNERS | ||
| components.json | ||
| eslint.config.mjs | ||
| global.ts | ||
| knip.ts | ||
| LICENSE | ||
| lint-staged.config.js | ||
| next.config.mjs | ||
| package.json | ||
| playwright.config.ts | ||
| pnpm-lock.yaml | ||
| postcss.config.mjs | ||
| README.md | ||
| sentry.client.config.ts | ||
| sentry.edge.config.ts | ||
| sentry.server.config.ts | ||
| skills-lock.json | ||
| tailwind.config.ts | ||
| TODO.md | ||
| tsconfig.json | ||
| vitest.config.ts | ||
EasyInvoicePDF
Free & Open-Source Invoice Generator
Create professional invoices instantly in your browser with Live Preview, Multiple Templates (including a Stripe-style design). No Sign-Up Required.
✨ Key Features of EasyInvoicePDF:
- ⭐ No Sign-Up Required: Start creating invoices immediately without any registration
- 📄 Instant PDF: One-click download ready for printing or sending
- ⚡ Live Preview: See changes in real-time as you type
- 🔗 Shareable Links: Send invoices directly to clients without attachments
- 🎨 Multiple Templates: Including modern Stripe-style design
- 📱 Browser Only: No server uploads, your data stays private
- 💰 Flexible Tax Support: VAT, GST, Sales Tax, and custom tax formats with automatic calculations
- 🌍 Multi-Language & Currency: Support for 10+ languages and 120+ currencies
- 📱 Mobile-Friendly: Create invoices on the go from any device
- 🏞️ QR Code Support: Add payment QR codes with any invoice-related information (payment links, UPI, contact details, custom data)
- 📑 Multi-Page PDFs: Seamless multi-page support with automatic pagination and page breaks
Learn more about features.
🎬 Invoice PDF Live Preview
See changes in real-time as you type
📥 Instant PDF Download
One-click PDF download ready for printing or sending
🔗 Shareable Links
Send invoices directly to clients without attachments
📲 QR Codes & Advanced Multi-Page PDF Support
Add payment QR codes with any invoice-related information (payment links, UPI, contact details, custom data) and seamless multi-page support with automatic pagination and page breaks for large invoices
🏷️ Customizable Tax Settings
Customize tax labels (VAT, Sales Tax, IVA, etc.)
🌍 Language & Currency
Switch between 10 languages and 120+ currencies instantly with live PDF preview updates
🎨 Professional Invoice Templates
Choose between multiple professional templates (Default and Stripe) to match your brand and style
| Default Invoice Template | Stripe Invoice Template |
|---|---|
![]() |
![]() |
🌟 Star History
📢 News & Updates
- Mar 10, 2026: Added QR code support, logo upload for the default template, searchable currency combobox, and improved multi-page PDF support. Release notes for v1.0.2
- Jan 11, 2026: Added customizable tax/VAT labels, improved internationalization (i18n) translations, enhanced overall performance, and fixed multiple bugs. Release notes for v1.0.1
- Nov 19, 2025: EasyInvoicePDF version 1.0.0 released! Create professional invoices in seconds. Welcome to try EasyInvoicePDF. Release notes for v1.0.0
🎥 Demo Video
Watch a quick demo of EasyInvoicePDF in action to see how easy it is to create professional invoices in seconds. The video demonstrates key features like Live Preview, Instant PDF Download, and Customization Options.
https://github.com/user-attachments/assets/d46c6e4e-b78a-4aa1-ab44-d20d6485b682
👨💻 Made By
Built by Vlad Sazonau
- 🐦 Twitter: @vladsazonau
- 💼 LinkedIn: Vlad Sazonau
- 🌐 Website: vladsazon.com
❤️ Support the Project
If you find EasyInvoicePDF useful, please consider:
- ⭐ Star this repository on GitHub to show your support
- ☕ Buy me a coffee to support the creator
Your support helps keep this project free and open-source 🙏
Join our community X.com
Tech Stack
Other Tools & Services
- Generate beautiful OG images: https://og.new
- Analytics: https://umami.is/
- typescript-plugin-directives
- Create Mockups with shots.so
Quick Start
- Run
pnpm i - Copy
.env.example to .env.local(cp .env.example .env.local) - Run
pnpm run dev
For the full app experience, you’ll need to obtain and set values from the following services:
License
This project is dual-licensed:
- AGPL-3.0 (for open-source or compliant use): GNU AGPL v3
- Commercial license (for proprietary use): contact vlad@mail.easyinvoicepdf.com
By using this software, you agree to the terms of the applicable license.
