L o a d i n g
Back to Portfolio B2B SaaS Platform

RFQ, Quotation & Invoicing Platform

A custom B2B platform running the full pre-sales and sales cycle for a distribution/trading business — public catalogue, self-service customer portal, and a premium staff dashboard for quotations, invoices, deliveries, procurement and finance. Delivered to two production clients — Growque and Hisham Halawi — from one shared codebase.

Django 5.1 Django REST Framework PostgreSQL Celery + Redis Tailwind CSS WeasyPrint

2

Production Client Deployments

Celery + Redis

Async & Scheduled Jobs

WeasyPrint

PDF Quotes, Invoices & DNs

25+

Granular Permission Flags
Walkthrough

Customer Portal & Staff Dashboard

Key Features

What The Platform Does

Guided Quotation Builder

Dynamic line items with live recalculation of totals, discounts and tax.

Full Sales State Machine

Quotation → Invoice → Delivery Note → Return, status-gated at every step.

Branded PDF Documents

Pixel-consistent quotes, invoices, delivery notes via WeasyPrint.

PDF Quotation Import

Upload a supplier PDF and auto-populate line items.

Customer Tiers & Credit Terms

Standard/Silver/Gold/Platinum tiers with per-customer credit limits and days.

Command-Palette Search

Ctrl/Cmd+K global search across products, customers, quotes and invoices.

Technology

Stack & Integrations

Frontend
Django Templates Tailwind CSS Alpine.js
Backend
Python Django 5.1 DRF + SimpleJWT
Database
PostgreSQL Redis
Integrations
WeasyPrint SendGrid Sentry S3-Compatible Storage
Architecture

How It's Built

The platform is a modular Django project (apps/*) with split settings for development and production, reusable abstract model mixins (timestamped, soft-delete, sluggable, audited), and a central SequenceCounter for gapless, per-year document numbering across quotations, invoices, delivery notes and returns. Celery workers and scheduled beat jobs handle overdue-invoice sweeps and payment reminders outside the request/response cycle, and the whole stack ships containerized with Docker Compose for both local development and production.

The same codebase runs two branded production deployments — Growque and Hisham Halawi — differing only in configuration: currency, tax rules, document numbering and content. That's the real engineering test of this build: proving the platform is a genuinely reusable product rather than a one-off client build.