Back to home
Web platform · Internal · Multi-brandIn development

Maverick & Vertical — Quotation Platform

One platform for two brands: quotations with an approval flow, invoices, payments, deliveries and purchase orders — each brand's data kept separate, every document in English and Arabic.

  • Django
  • React
  • DigitalOcean
Vertical dashboard — quoted, won, invoiced and collected this month, receivables by age, invoiced vs collected over 12 months
The dashboard: this month against last, what clients owe by age, what the brand owes suppliers, and invoiced vs collected over twelve months. Demo data.
Context
Maverick VC and Vertical issue quotations, purchase orders and invoices every day, each under its own brand.
Problem
The previous system was hard to extend and didn't separate the two brands cleanly.
What I built
A single application serving both brands' domains with tenant separation in the database: bilingual quotation, invoice and delivery documents; invoices linked to quotations (partial invoicing included) with payments recorded against them; internal cost and margin per quotation that never reaches the client; role-based permissions; and dashboards for what's quoted, won, invoiced, collected and overdue.
My responsibility
Lead developer at Maverick VC — rebuilding the platform from the ground up: architecture, backend and frontend.
Verified outcome
In development to replace the previous system, with invoice numbering continuing from the existing records.
Technology
Django with a React front end, hosted on DigitalOcean managed services.
Quotations list with approval, payment and production status
Quotations — filtered by approval stage, payment and production stage.
A quotation awaiting approval, with bilingual lines and internal cost and profit
A quotation awaiting approval — bilingual lines, and cost & margin visible only to admins and approvers.
An invoice for 50% of a quotation, paid by cheque
Partial invoicing — an invoice for half of a quotation, with the payment recorded against it.
The same platform under the Maverick brand — clients list
Same app, Maverick's domain: its own branding, and only its own clients.