3 ms·
I’m working on a free & open-source invoice generator: - Live PDF preview - 100% client-side - No sign-up required - Includes a Stripe-style invoice templat
by vldszn 1y ago
I’m working on a free & open-source invoice generator:
- Live PDF preview
- 100% client-side
- No sign-up required
- Includes a Stripe-style invoice template
- Built with modern web tech – simple to self-host or fork
Repo: https://github.com/VladSez/easy-invoice-pdf https://github.com/VladSez/easy-invoice-pdf
Demo: https://easyinvoicepdf.com https://easyinvoicepdf.com
Would love feedback, contributions, or ideas for other templates/features!
- wonger_ 1y agoSeems to work well. The live preview workflow is nice. I like data URLs but not sure how other people feel handling several-hundred character URLs. Only minor gripe is that the "support my work" popup is a bit aggressive.
- vldszn 1y agoThanks for the feedback! The long URL is a compromise that lets the service work without requiring sign-ups or storing user data. I’ll definitely try to make the “support my work” popup less aggressive.
- wonger_ 1y agoI think you could cut the URL length in half if you remap the JSON keys before compressing. Like turning "total": 18, "vatTableSummaryIsVisible": true, "paymentMethod": "wire transfer", "paymentMethodFieldIsVisible": true, "paymentDue": "2025-08-27", "stripePayOnlineUrl": "https://example.com", "notes": "Reverse charge", "notesFieldIsVisible": true, "personAuthorizedToReceiveFieldIsVisible": false, ... to this "1": 18, "2": 1, "3": "wire transfer", "4": 0, "5": "2025-08-27", "6": "https://example.com", "7": "Reverse charge", "8": 1, "9": 0, ... Cut from ~1400 to ~700 chars in my testing, which is still a lot, so idk if you think it would be worth the extra code.
- vldszn 1y agoAwesome idea, thank you, will look into this