← All templates

Invoice / Billing

Finance · React + Node (Express) · 15 @molecule/* packages

FreshBooks-like invoicing with clients, invoices, recurring billing, payments, and tax reports — with built-in Stripe-backed subscription tiers

Open in Molecule

What is inside

  • auth
  • payments
  • reports
  • import-export
  • subscriptions

Screens (15)

  • Landing /
  • Login /login
  • Signup /signup
  • ForgotPassword /forgot-password
  • ResetPassword /reset-password
  • Dashboard /dashboard (signed in)
  • Invoices /invoices (signed in)
  • InvoiceEditor /invoices/new (signed in)
  • InvoiceDetail /invoices/:id (signed in)
  • Clients /clients (signed in)
  • ClientDetail /clients/:id (signed in)
  • Payments /payments (signed in)
  • Reports /reports (signed in)
  • Notifications /notifications (signed in)
  • Settings /settings (signed in)

Data model (7 tables)

  • clients — id, user_id, name, email, company, phone, address, tax_id, …
  • devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
  • invoice_payments — id, user_id, invoice_id, invoice_number, client_name, amount, method, reference, …
  • invoices — id, user_id, client_id, client_name, client_company, invoice_number, items, subtotal, …
  • payments — id, createdAt, updatedAt, userId, transactionId, productId, platformKey, data, …
  • recurring_invoices — id, user_id, client_id, client_name, label, items, amount, currency, …
  • tax_rates — id, user_id, name, rate_pct, region, created_at, updatedAt

API (12 handlers)

  • \_decorate api/src/handlers/_decorate.ts
  • \_seed api/src/handlers/_seed.ts
  • clients api/src/handlers/clients.ts
  • dashboard api/src/handlers/dashboard.ts
  • exports api/src/handlers/exports.ts
  • invoices api/src/handlers/invoices.ts
  • notifications api/src/handlers/notifications.ts
  • payments api/src/handlers/payments.ts
  • profile api/src/handlers/profile.ts
  • recurring api/src/handlers/recurring.ts
  • reports api/src/handlers/reports.ts
  • tax-rates api/src/handlers/tax-rates.ts

Subscription tiers

free / pro / team — gated by: maxClients, maxInvoices, maxPayments, maxRecurring, advancedFeatures, canExport, retentionDays

Built from 15 @molecule/* packages

Browse all @molecule/* packages →

Required secrets

  • DATABASE_URL PostgreSQL connection string
  • STRIPE_SECRET_KEY Stripe secret key for payment processing
  • STRIPE_PUBLISHABLE_KEY Stripe publishable key
  • MAILGUN_API_KEY Mailgun API key for invoice emails

The @molecule/* packages are Apache-2.0. The app you build from this template is yours to export and self-host. Licensing