All projects
Live in productionPrivate codebaseSaaS

Maldra Invoice & Quote Maker

A standalone invoicing app for freelancers and small firms: professional invoices, quotes and receipts in four PDF templates, quote-to-invoice conversion and payment tracking, on web and mobile.

PDF templates
4
Web screens
18
Apps (web & mobile)
2
Shared document engine
1
Maldra Invoice & Quote Maker screens: dashboard, invoice list, quote list, invoice builder and invoice preview

Highlights

  • Invoices, quotes and receipts rendered by one PDF engine shared with the Maldra POS
  • Four templates (Classic, Modern, Minimal and Bold) with brand colour customisation
  • Convert an accepted quote into an invoice in one step
  • Sold as its own subscription, independent of the full business platform

Why a separate app

Not every business needs a point of sale. Freelancers, consultants and small firms mostly need to send a professional quote, turn it into an invoice, and know who has paid. Bundling that inside a full POS made it harder to sell and harder to use.

So the invoicing features of Maldra became a product of their own: a focused web app and a Flutter mobile app, on their own low-cost subscription, running on the same platform and API.

What it does

  • Invoices and quotes: line items from a product and service catalogue, tax and discounts, multiple currencies, drafts, and a four-step builder (details → items → preview → send).
  • Quote → invoice: an accepted quote becomes an invoice with one action, keeping its history.
  • Payments and receipts: record payments, track paid, outstanding and overdue invoices, and issue receipts.
  • Templates: four professionally designed PDF templates with brand colour customisation.
  • Customers and products: a reusable customer list and product/service catalogue.
  • Sharing: download as PDF or email directly to the customer.

Architecture

System architecture
  1. Clients
    • Invoice Maker web (Next.js)
    • Invoice Maker mobile (Flutter)
  2. Shared UI
    • Invoicing UI package
    • Document PDF engine
  3. API
    • Maldra NestJS API
    • Invoicing module
    • Subscriptions
  4. Data & services
    • PostgreSQL
    • Email
    • Paystack
The Invoice Maker reuses Maldra's API, auth and billing, with its own focused clients.

Engineering challenges

1

One document engine, many products

Invoices, quotes, receipts and POS sale receipts are all produced by a single shared PDF package with a common document model. The standalone Invoice Maker, the main business app and the "invoice from a sale" flow all render identical documents, and the engine is covered by its own tests.

2

A product boundary inside a monorepo

The Invoice Maker had to feel like its own product (its own sign-up, plans and navigation) while sharing auth, billing and data with Maldra. It's built as separate web and Flutter apps on top of shared UI and domain packages, so features land in both products without being duplicated.

3

Pixel-consistent PDFs on web and mobile

The same invoice has to look identical whether it's generated in a browser, on a phone or on the server for email. The templates are defined once and rendered by each platform from the same data model, with fixtures covering every template.

Results

The Invoice & Quote Maker is live at invoice.maldra.com as a standalone subscription, with a Flutter mobile app.

Gallery

Invoice rendered in the Modern template
Modern template
Invoice rendered in the Bold template
Bold template
Quote rendered in the Classic template
Quote (Classic template)
Payment receipt rendered in the Classic template
Receipt (Classic template)

Next project

ApplyAI