JP
jpedroschmitz/FreeInvoice.dev
Professional invoices in seconds. Completely free, user-friendly, and secure with client-side processing โ your data stays with you.
FreeInvoice.dev
Create unlimited professional invoices without signing up or paying anything. Your data stays in your browser, making it completely secure and private. Start invoicing immediately with our free, simple tool.
View Demo ยท Report Bug ยท Request Feature
๐ Features
- Always Free - No hidden costs, no premium features, no subscription fees
- Private & Secure - Client-side processing, no data storage
- No Registration - Start creating invoices immediately
- Instant PDF Export - Download professional PDFs with one click
- Global Currencies - Support for USD, EUR, GBP, AUD, CAD, and more
- VAT Support - Include VAT IDs and tax information
๐ Tech Stack
- Next.js
- TypeScript
- TailwindCSS
- @react-pdf/renderer
- React Hook Form
- Zod
- @headlessui/react
- @heroicons/react
๐ Directory Structure
FreeInvoice.dev/
โโโ .github/ # GitHub workflows
โโโ .husky/ # Husky hooks
โโโ public/ # Static assets
โโโ src/ # Source code directory
โ โโโ app/ # Next.js app
โ โโโ components/ # Reusable components
โ โโโ lib/ # Utility functions and shared UI code
โโโ tests/ # E2E tests
๐ ๏ธ Getting Started
Prerequisites
- Node.js >= 20
- pnpm 9
Installation
- Clone the repository
git clone https://github.com/jpedroschmitz/FreeInvoice.dev.git- Install dependencies
pnpm install- Start the development server
pnpm dev๐ Available Scripts
pnpm dev- Start the development serverpnpm build- Create an optimized production buildpnpm build:analyze- Build with bundle analysispnpm start- Start the production serverpnpm test:e2e- Run end-to-end tests with Playwrightpnpm test:e2e:playwright- Run Playwright tests with UIpnpm type-check- Run TypeScript compiler checkpnpm lint- Run ESLint on source filespnpm format- Format source files with Prettier
๐ค Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
Made with โค๏ธ by Joรฃo Pedro