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 fcda659229
feat: reworked seller/buyer sections, email visibility switch field, shared invoice indicator, improved Out-of-Date helper + minor things (#197)
* feat: add OutOfDateDatesHelper, Shared invoice badge, etc
* Introduced new markdown files for skills, covering typography, surfaces, animations, and performance to enhance interface design consistency.

* feat: add isSharedInvoice prop to InvoiceForm for shared invoice indication

* Introduced isSharedInvoice prop in InvoiceForm component to manage shared invoice state.
* Updated UI to display tooltips for shared seller and buyer information, enhancing user awareness of shared invoices.

* test: enhance invoice form tests with detailed validation for date fields and invoice number

* fix: update label styling in UI component for improved visual consistency

* Changed text class from text-balance to text-pretty in Label component to enhance design consistency across the application.

* feat: enhance email visibility functionality in buyer and seller dialogs

* Added email visibility toggle in BuyerDialog and SellerDialog components, allowing users to show or hide the email field in PDF outputs.
* Updated related tests to ensure proper functionality of the email visibility feature.
* Improved UI labels for required fields to enhance user experience and clarity.

* feat: implement email visibility toggle in PDF for invoice templates

* Added tests to verify email visibility toggles for both seller and buyer sections in the default and stripe invoice templates.
* Included functionality to capture screenshots of PDFs with emails hidden and visible based on user selections.
* Created new snapshot images for both email visibility states across different devices and browsers.

* formatting

* chore: update CI workflows to handle linting, type checking, and unit tests failures

* Added  to linting, type checking, and unit tests steps to prevent workflow failure on errors.
* Modified email notification conditions to trigger only on failure of respective steps, improving error handling and notification accuracy.

* refactor: update email visibility toggle tests to use role-based queries

* refactor: simplify buyer and seller information forms by removing tooltip components and enhancing locked state visibility

* Removed tooltip components from Buyer and Seller information sections, replacing them with a locked banner for better user guidance.
* Updated input fields to reflect required status and improved accessibility by removing unnecessary aria attributes.
* Enhanced the content of shared seller and buyer tooltips in the InvoiceForm for clarity.

* refactor: remove isSharedInvoice prop and associated tooltips from Invoice components

* Eliminated the isSharedInvoice prop from InvoiceForm and its usage in InvoiceClientPage.
* Simplified the InvoicePageHeader content for shared invoices by replacing detailed tooltips with a concise message.
* Streamlined the code for better readability and maintainability.

* refactor: update locked banner visibility and improve invoice management UI

* Enhanced visibility of locked banners in Buyer and Seller management forms, providing clearer guidance for modifying details.
* Updated tests to verify the visibility and content of locked banners based on buyer and seller selection states.
* Simplified the Invoice components by removing unnecessary props and improving layout consistency across the application.

* refactor: improve error message layout and content in error handling components

* Updated the Error component to separate error messages for better clarity and user guidance.
* Enhanced the styling of the ErrorMessage component for improved readability and layout consistency.
2026-03-23 22:19:23 +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: 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
.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: 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
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: 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
.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: 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
playwright.config.ts refactor: currency searchable combobox (#183) 2026-03-08 17:36:02 +01:00
pnpm-lock.yaml fix: delete invoice item flow (#180) 2026-03-02 01:47:41 +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.