Skip to content

Latest commit

Β 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌸 maddyInvoice

A beautiful, privacy-first Persian (Farsi) invoice generator β€” fully client-side, no backend, no signup.


✨ Features

🧾 Invoice Management

  • Seller Profile β€” Logo upload, contact info, social links, national/economic codes
  • Customer Book β€” Save repeat customers for quick selection
  • Line Items β€” Drag-and-drop reordering, quantity/unit/price/discount, item presets
  • Auto Calculations β€” Subtotal, global discount (percent or fixed), VAT, shipping, grand total
  • Persian Words β€” Grand total shown in Persian script (e.g. Β«Ψ³Ω‡ Ω…ΫŒΩ„ΫŒΩˆΩ† و ΩΎΨ§Ω†Ψ΅Ψ― Ω‡Ψ²Ψ§Ψ± ΨͺΩˆΩ…Ψ§Ω†Β»)
  • Multi-Currency β€” Toman, Rial, USD, EUR, USDT
  • Jalali Calendar β€” Native Persian date picker with date-fns-jalali
  • Auto Numbering β€” Custom prefix + yearly counter (e.g. MDY-1405-001)
  • Document Types β€” فاکΨͺور Ψ±Ψ³Ω…ΫŒ / ΩΎΫŒΨ΄β€ŒΩΨ§Ϊ©Ψͺور / رسید / ءورΨͺβ€ŒΨ­Ψ³Ψ§Ψ¨
  • Status Stamps β€” Paid / Pending / Overdue with decorative rotated overlay
  • Payment Info β€” Card number (auto-format + bank detection via prefix), IBAN, payment link
  • QR Code β€” Auto-generated for card/payment info
  • Signature Pad β€” Draw with mouse/touch, or upload image
  • Bilingual Mode β€” Persian/English side-by-side for foreign clients

🎨 12 Professional Templates

# Template Style
1 Blossom 🌸 Pink pastel with delicate floral border
2 Rose Gold 🌹 Luxury gold lines and accents
3 Lavender Dream πŸ’œ Soft purple tones
4 Minimal Chic ✨ Clean white with pink accents
5 Marble Luxe πŸ›οΈ Marble-textured elegance
6 Pastel Wave 🌈 Colorful pastel gradients
7 Classic Formal πŸ“‹ Grayscale corporate style
8 Dark Elegance πŸŒ™ Dark theme with neon pink
9 Botanical 🌿 Watercolor leaf motifs
10 Geometric πŸ”· Modern geometric patterns
11 Vintage Paper πŸ“œ Aged paper aesthetic
12 Gradient Pop 🎨 Bold gradient backgrounds

πŸ“€ Export Options

  • PDF (A4/A5) β€” Perfect Persian text rendering via DOMβ†’Imageβ†’PDF pipeline
  • PNG (2Γ— / 3Γ— resolution)
  • Copy to Clipboard β€” Instant image sharing
  • Print β€” Dedicated print styles
  • Share Link β€” Entire invoice compressed into URL hash (zero-server sharing)
  • JSON β€” Backup and restore

πŸ“‚ Archive & Dashboard

  • IndexedDB Archive β€” Full offline storage
  • Search & Filter β€” By buyer name, invoice number, or status
  • Mini Dashboard β€” Monthly income chart, unpaid invoice count
  • Full Backup/Restore β€” Export/import all data as JSON

🌐 Multi-Language Support

  • فارسی (Persian) β€” RTL
  • English β€” LTR
  • Deutsch (German) β€” LTR
  • Ψ§Ω„ΨΉΨ±Ψ¨ΩŠΨ© (Arabic) β€” RTL
  • Русский (Russian) β€” LTR
  • FranΓ§ais (French) β€” LTR

πŸŽ€ Design & UX

  • Feminine Pink Aesthetic β€” Rose, powder pink, lilac color palette
  • Glassmorphism β€” Frosted glass cards with pink-tinted shadows
  • Framer Motion β€” Smooth 60fps animations, staggered list entrances
  • Dark Mode β€” Deep plum and neon pink dark theme
  • Responsive β€” Desktop split-view, tablet tabs, mobile wizard
  • Onboarding Tour β€” 4-step cute guide for first-time visitors
  • Keyboard Shortcuts β€” Ctrl+S (save), Ctrl+P (export), Ctrl+Z (undo)
  • Undo/Redo β€” Full history stack
  • Confetti πŸŽ‰ β€” Celebratory burst on successful export

πŸ”’ Privacy & Offline

  • 100% Client-Side β€” Zero server requests, no data leaves your browser
  • PWA β€” Installable, works fully offline
  • No Signup Required β€” Just open and use

πŸš€ Quick Start

# Install dependencies
npm install

# Development server
npm run dev

# Production build
npm run build

# Preview production build
npm run preview

πŸ“¦ Download Fonts

Download the following WOFF2 font files and place them in public/fonts/:

  • Vazirmatn (default, all weights)
  • Shabnam, Sahel, Lalezar (optional alternatives)

The app works without them (falls back to system fonts), but for best Persian text rendering, especially in PDF exports, install them.


πŸ›  Tech Stack

Category Technology
Framework React 19 + TypeScript
Build Tool Vite 8
Styling Tailwind CSS v4
Animation Framer Motion
State Zustand (with persist middleware)
Calendar date-fns-jalali
PDF html-to-image + jsPDF
QR Code qrcode.react
Compression lz-string (share links)
Storage IndexedDB (idb) + localStorage
PWA vite-plugin-pwa
Drag & Drop @hello-pangea/dnd

πŸ— Project Structure

src/
β”œβ”€β”€ types/          β€” TypeScript interfaces (Invoice, LineItem, Customer, etc.)
β”œβ”€β”€ utils/          β€” Persian number utils, bank detector, calculation helpers
β”œβ”€β”€ i18n/           β€” Translation files (fa, en, de, ar, ru, fr)
β”œβ”€β”€ stores/         β€” Zustand stores (invoice, archive)
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ Form/       β€” Invoice form sections (seller, buyer, items, payment, meta)
β”‚   β”œβ”€β”€ Preview/    β€” Live A4 preview with zoom and template carousel
β”‚   β”œβ”€β”€ Templates/  β€” 12 template renderers
β”‚   β”œβ”€β”€ Export/     β€” PDF/PNG/clipboard/print/share export panel
β”‚   β”œβ”€β”€ Archive/    β€” Invoice archive and dashboard
β”‚   └── UI/         β€” Shared UI components (Toast, Modal, SignaturePad, etc.)
└── App.tsx         β€” Main app with responsive layout

πŸ”— Share Invoices

Generate a shareable link that encodes the entire invoice in the URL hash using lz-string compression. The recipient opens the link and sees the exact same invoice β€” no server required.


πŸ“„ License

MIT Β© Maddyrampant


Made with πŸ’– for the Persian-speaking community

About

🌸 A beautiful, privacy-first Persian (Farsi) invoice generator SPA. 6 languages, 12 templates, PDF/PNG export, PWA, fully client-side.

Topics

Resources

Stars

16 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages