Skip to Content
ThinkDevs
  • Home
  • Services
  • Work
  • Approach
  • About
  • Journal
  • Careers
  • Contact
  • +92 00 0000000
  • Sign in
  • Talk to us
ThinkDevs
    • Home
    • Services
    • Work
    • Approach
    • About
    • Journal
    • Careers
    • Contact
  • +92 00 0000000
  • Sign in
  • Talk to us
Home / Work / MAFA Group
MAFA Group · Odoo 17

Changing a logo stopped needing a deployment

Every report in the system, configurable from one settings screen — per report, per page, or per company and language.

Built by Yaseen & Umar
Odoo 17 PDF.js

The problem a client brought us

“Every company PDF has its letterhead baked into the template. Changing a logo means opening a code editor and redeploying.”

Before and after

A letterhead baked into each template

  • Invoice
  • Quotation
  • Purchase order
  • Every other report

Changed by an admin

One settings screen

What we found and built

A settings screen listing every report in the system, letting an admin set its letterhead per report, per page, or per company-and-language — with a live browser-side preview, because the server has no PDF rasteriser available.

Result

Zero template edits, zero deployments, to change a logo.

Under the hood

  • Page size, margins, DPI and content zoom are set per report.
  • Headers and footers can be replaced, not only backgrounds.
  • Three preview modes, composited in the browser.

Built with

Odoo 17 PDF.js

The pattern behind it

Make the next change a setting, not a deployment

A new logo is a setting. A new tax treatment is a category on the tax. A new operating company gets its document sequences automatically. The next change shouldn't need a developer.

How we think about problems

Next case study

MAFA Group · Odoo 17

Backups that run, and an admin console that is no longer wide open

Scheduled backups that can't collide, and a guard on Odoo's database manager that a compromised admin account can't switch off.

Built by Yaseen · Initial work by Umar · ~7,400 LOC Read the case study

Or go back to the full list and start from the symptom closest to yours.

All case studies

Recognise any of this?

Most of our work starts with a message that sounds a lot like this one did.

Tell us what's broken See the problems we've solved

ThinkDevs

A small, senior engineering team that builds and rescues production Odoo ERP systems.

Remote team · Pakistan / Saudi Arabia

Work

  • Problems we've solved
  • MAFA Group
  • Aviation & Charter ERP
  • Journal

Company

  • Approach
  • Services
  • About
  • Careers
  • Contact

Talk to us

  • info@thinkdevs.com
Tell us what's broken
© 2026 ThinkDevs. All rights reserved. Built on Odoo 18