A modern, cross-platform desktop invoicing application for freelancers and small businesses
EasyBill is an open-source billing and invoicing solution built with Electron, React, and TypeScript. It offers a simple yet powerful interface to manage your invoices, customers, and stay compliant with French e-invoicing regulations.
This project is currently in active development and maintained in my free time with the assistance of AI (Claude).
USE AT YOUR OWN RISK:
- This application is not yet commercial-grade
- Features may be incomplete or contain bugs
- Data backup is your responsibility
- No warranty or guarantee is provided
- Suitable for testing and personal use, not recommended for critical business operations yet
If you encounter issues or have suggestions, please open an issue on GitHub!
- No subscription fees
- No hidden costs
- Full control over your data
- Community-driven development
- Windows, macOS, and Linux support
- Consistent experience across all platforms
- Desktop application with offline capabilities
- Chorus Pro integration
- Support for Factur-X, UBL, and CII formats
- Compliant with 2026 mandatory e-invoicing regulations
- Multi-platform support (Tiime, Pennylane, Sage)
- All data stored locally on your machine
- No cloud dependency
- Encrypted credential storage
- You own your data
- Clean, responsive interface
- Easy-to-use invoice creation
- Customer management
- Dashboard with analytics
β Invoice Management
- Create, edit, and delete invoices
- Professional invoice templates
- PDF generation
- Invoice status tracking
β Customer Management
- Customer database
- SIREN/SIRET validation for French businesses
- Customer history and statistics
β Dashboard & Analytics
- Overview of your business activity
- Revenue tracking
- Invoice status visualization
β E-Invoicing (French Compliance)
- Chorus Pro integration
- Support for qualification and production environments
- Factur-X, UBL, and CII format generation
- Offline queue with automatic retry
- Compliance dashboard
β Settings & Configuration
- Customizable invoice templates
- Multi-language support (French, English)
- E-invoicing platform configuration
- π± Mobile companion app (view-only)
- π§ Email integration for sending invoices
- π° Payment tracking and reminders
- π Advanced analytics and reporting
- π Recurring invoices
- π Multi-currency support
- π§Ύ Expense tracking
- Node.js >= 20.0.0
- npm >= 10.0.0
-
Clone the repository
git clone https://github.com/HugoLeBoennec/EasyBill.git cd EasyBill -
Install dependencies
npm install
-
Start the application
npm start
# Build for your current platform
npm run package
# Output will be in release/build/- Chorus Pro Setup Guide - How to obtain your Chorus Pro credentials and configure e-invoicing
- French E-Invoicing Compliance - Understanding the 2026 mandatory e-invoicing regulations
- Architecture Overview - System architecture and design decisions
- Implementation Log - Development progress and decisions
- Framework: Electron 33.x
- UI: React 18, TailwindCSS
- Language: TypeScript
- Database: SQLite (local storage)
- PDF Generation: pdf-lib
- Build: Webpack, Electron Builder
- β Basic invoice and customer management
- β PDF generation
- β French e-invoicing foundation
- π Bug fixes and stability improvements
- π Comprehensive testing
- π Complete Factur-X implementation
- π UBL and CII generators
- π Production-ready Chorus Pro integration
- π Invoice reception workflow
- π Payment tracking
- π Recurring invoices
- π Email integration
- π Advanced reporting
- π Comprehensive test coverage
- π Security audit
- π Performance optimization
- π Professional documentation
- π 1.0 release
Contributions are welcome! This project is developed with the help of AI (Claude by Anthropic), which helps accelerate development while maintaining code quality.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow the existing code style (ESLint configured)
- Write clear commit messages
- Update documentation for new features
- Test your changes thoroughly
- Database migrations: Manual backup recommended before updates
- E-invoicing: Still in development, test thoroughly in qualification environment
- Performance: Large invoice databases (>10,000) may experience slowdown
- Testing: Test coverage is currently limited
- Platform-specific bugs: Some features may behave differently across platforms
For a complete list of issues, see the GitHub Issues page.
This project is licensed under the MIT License - see the LICENSE file for details.
- Claude AI (Anthropic) - AI assistant that helps with development, architecture decisions, and code generation
- Electron React Boilerplate - Initial project structure
- Open Source Community - Various libraries and tools
- DGFiP - French tax authority documentation
- PISTE Platform - API documentation for Chorus Pro
- Factur-X - Electronic invoicing standard
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Current Version: Alpha (Pre-1.0)
Development Status: Active development, maintained during free time
Production Ready: β Not yet
Recommended For: Testing, personal use, learning
- Simplicity: Make invoicing as simple as possible for freelancers and small businesses
- Privacy: Keep user data local and secure
- Compliance: Help French businesses prepare for 2026 mandatory e-invoicing
- Open Source: Provide a free, community-driven alternative to commercial solutions
- Quality: Eventually reach commercial-grade quality through iterative improvements
This is an early-stage project. While we implement security best practices (encrypted storage, secure API communication), please:
- β Keep regular backups of your data
- β Use strong credentials for e-invoicing platforms
- β Test thoroughly in qualification/sandbox environments first
- β Report security issues privately (see security policy)
- β Don't use for critical production data yet
Coming soon - UI screenshots will be added as the interface stabilizes
If you find this project useful, please consider giving it a star on GitHub! It helps others discover the project and motivates continued development.