Free & Open-Source Invoice Generator – Live PDF Preview, No Sign-Up, 100% In-Browser. Includes a Stripe-style invoice template.
Find a file
Vlad Sazonau ce1ea7169b
feat: replaced window.confirm with alert discard dialog for buyer and seller management (#200)
* 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.
2026-03-27 20:15:48 +01:00
.agents/skills feat: reworked seller/buyer sections, email visibility switch field, shared invoice indicator, improved Out-of-Date helper + minor things (#197) 2026-03-23 22:19:23 +01:00
.cursor chore: update Playwright test version and refactor CTA toast logic (#151) 2025-11-16 00:49:19 +01:00
.github feat: replaced window.confirm with alert discard dialog for buyer and seller management (#200) 2026-03-27 20:15:48 +01:00
.husky feat: add e2e tests with playwright and other improvements (#79) 2025-03-27 21:41:55 +01:00
.vscode feat: customizable tax/VAT label text + a lot of other improvements and bug fixes (#163) 2026-01-11 22:23:04 +01:00
e2e feat: replaced window.confirm with alert discard dialog for buyer and seller management (#200) 2026-03-27 20:15:48 +01:00
messages feat: add QR code functionality to invoice templates and other improvements + bug fixes (#165) 2026-02-24 19:53:24 +01:00
public fix: update STATIC_ASSETS_URL in config and restore generateStaticPar… (#108) 2025-05-11 22:28:41 +02:00
src feat: replaced window.confirm with alert discard dialog for buyer and seller management (#200) 2026-03-27 20:15:48 +01:00
.env.example feat: customizable tax/VAT label text + a lot of other improvements and bug fixes (#163) 2026-01-11 22:23:04 +01:00
.gitignore feat: add QR code functionality to invoice templates and other improvements + bug fixes (#165) 2026-02-24 19:53:24 +01:00
.npmrc feat: reworked seller/buyer sections, email visibility switch field, shared invoice indicator, improved Out-of-Date helper + minor things (#197) 2026-03-23 22:19:23 +01:00
.prettierignore feat: customizable tax/VAT label text + a lot of other improvements and bug fixes (#163) 2026-01-11 22:23:04 +01:00
.prettierrc.js feat: add /?template=stripe|default to url, implement URL compression logic (#130) 2025-08-20 01:15:48 +02:00
CODE_OF_CONDUCT.md feat: add QR code functionality to invoice templates and other improvements + bug fixes (#165) 2026-02-24 19:53:24 +01:00
CODEOWNERS chore: add CODEOWNERS file 2024-11-30 16:01:56 +01:00
components.json feat: update dependencies and enhance invoice form functionality (#14) 2025-01-13 22:38:54 +01:00
eslint.config.mjs feat: add /?template=stripe|default to url, implement URL compression logic (#130) 2025-08-20 01:15:48 +02:00
global.ts feat: i18n /about page, new translations and currencies and other improvements (#84) 2025-04-19 19:56:32 +02:00
knip.ts fix: delete invoice item flow (#180) 2026-03-02 01:47:41 +01:00
LICENSE fix text 2025-07-21 12:40:16 +02:00
lint-staged.config.js fix: delete invoice item flow (#180) 2026-03-02 01:47:41 +01:00
next.config.mjs feat: customizable tax/VAT label text + a lot of other improvements and bug fixes (#163) 2026-01-11 22:23:04 +01:00
package.json feat: replaced window.confirm with alert discard dialog for buyer and seller management (#200) 2026-03-27 20:15:48 +01:00
playwright.config.ts refactor: currency searchable combobox (#183) 2026-03-08 17:36:02 +01:00
pnpm-lock.yaml feat: add cancel confirm dialog for seller/buyer dialog, update gh actions, added new script update-github-actions in package.json (#198) 2026-03-25 02:50:17 +01:00
postcss.config.mjs feat: add e2e tests with playwright and other improvements (#79) 2025-03-27 21:41:55 +01:00
README.md feat: reworked seller/buyer sections, email visibility switch field, shared invoice indicator, improved Out-of-Date helper + minor things (#197) 2026-03-23 22:19:23 +01:00
sentry.client.config.ts chore: update package manager and Playwright timeout settings; enhance Sentry configuration for better environment checks 2025-04-23 23:42:07 +02:00
sentry.edge.config.ts chore: update package manager and Playwright timeout settings; enhance Sentry configuration for better environment checks 2025-04-23 23:42:07 +02:00
sentry.server.config.ts chore: update package manager and Playwright timeout settings; enhance Sentry configuration for better environment checks 2025-04-23 23:42:07 +02:00
skills-lock.json feat: reworked seller/buyer sections, email visibility switch field, shared invoice indicator, improved Out-of-Date helper + minor things (#197) 2026-03-23 22:19:23 +01:00
tailwind.config.ts feat: add QR code functionality to invoice templates and other improvements + bug fixes (#165) 2026-02-24 19:53:24 +01:00
TODO.md feat: expand TODO list with discounts feature and improve e2e workflow (#186) 2026-03-09 00:05:50 +01:00
tsconfig.json feat: customizable tax/VAT label text + a lot of other improvements and bug fixes (#163) 2026-01-11 22:23:04 +01:00
vitest.config.ts feat: add /?template=stripe|default to url, implement URL compression logic (#130) 2025-08-20 01:15:48 +02:00

EasyInvoicePDF Logo

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.

Get Started

About · Releases

EasyInvoicePDF Product Screenshot

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

Live Preview Demo

See changes in real-time as you type


📥 Instant PDF Download

Instant Download Demo

One-click PDF download ready for printing or sending


Shareable Links Demo

Send invoices directly to clients without attachments


📲 QR Codes & Advanced Multi-Page PDF Support

QR Code Support Demo

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

Customizable Tax Settings Demo

Customize tax labels (VAT, Sales Tax, IVA, etc.)


🌍 Language & Currency

Language & Currency Demo

Switch between 10 languages and 120+ currencies instantly with live PDF preview updates


🎨 Professional Invoice Templates

Invoice Templates Demo

Choose between multiple professional templates (Default and Stripe) to match your brand and style

Default Invoice Template Stripe Invoice Template
Default Invoice Template Stripe Invoice Template

🌟 Star History

RepoStars

📢 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

❤️ Support the Project

If you find EasyInvoicePDF useful, please consider:

Your support helps keep this project free and open-source 🙏

Join our community X.com

Tech Stack

Other Tools & Services

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, youll need to obtain and set values from the following services:

License

This project is dual-licensed:

By using this software, you agree to the terms of the applicable license.