From briefing to billing.
One agency OS.
Mojo Brands is a Portuguese creative agency that runs on briefings, deadlines, and tight margins. We're rebuilding their entire operating stack on Odoo - CRM, quoting, projects, timesheets, billing, connected end-to-end. Goal: real-time project profitability, by the end of week 8.
Where Mojo stood,
and where they're heading.
An award-winning agency, running on Excel and intuition.
- Pipeline scattered across spreadsheets, emails, and a couple of notion boards.
- Quotes built manually in Word/PDF — no margin matrix, no real cost basis, no template reuse.
- Project profitability only visible at end-of-month, sometimes end-of-project.
- Timesheets disconnected from invoicing — billable hours leaking every week.
- Briefing → quote → project → invoice = 4 manual handoffs, every time.
An end-to-end Odoo backbone, deployed in 8 weeks.
- Two pipelines (Clientes + Prospeção) with structured stages from Briefing recebido to Won.
- Quote Calculator: margin-aware quoting with real hourly costs and resource matrix.
- Auto Sales → Project conversion. Each Won deal opens a project with its analytic account.
- Live cost tracking: Purchase, Timesheets, Expenses — all aggregated in analytic accounting.
- Real-time profitability dashboards. Week 1 of the project. Not month 6.
8 phases. 8 weeks.
A Proof of Concept methodology - start with 2 users (1 Mainsail consultant + 1 Mojo key user), measure real profitability with pilot project data, then scale. No 12-month roadmaps. No half-baked deliveries.
Foundation, hierarchies, real hourly costs
Data model audit. Departmental hierarchies. Real hourly costs computed per role (not budget-line averages). CRM pipeline configuration: 2 pipelines, structured stages, sub-statuses (extra, Lost, Reach again, revision).
Quotation Builder + Quote Calculator
A quote engine with a built-in margin matrix: contribution margin = (sales price − theoretical cost) ÷ sales price. The Quote Calculator lets account managers test price scenarios, swap resources, and see margin impact in real time — before sending the proposal.
Subcontracting + external costs, linked to projects
Freelance illustrators, video production houses, print shops — every external PO linked to its project line. Margin and external cost tracked on the same record. No more lost POs.
Sales → Project, automatic
When a quote is Won, an Odoo Project opens with its analytic account, default tasks, milestones, and a Discuss/Documents hub. Briefing files attached, brand guides versioned, all in one place. Manual tasks supported alongside auto-generated ones.
Hours and capacity, in the same view
Mobile timesheets per project & phase. Planning shows who's free, who's overbooked, who needs to backfill. Billable vs non-billable separated. Hours flow straight into invoices on T&M projects.
Expenses linked to projects, end-to-end
Photoshoot meals, taxis to client meetings, software licenses bought for a specific brand — every expense tagged to its project at submission. No spreadsheet reconciliation at month-end.
End-to-end run on a pilot project
Pick one live brief, run it through the whole stack: CRM → Quote Calculator → Won → Project → Timesheets → Invoice. Document gaps. Train management on dashboards. Adjust before go-live.
Daily presence, audit, planning beyond PoC
Daily on-call during the first week of live use. End-of-PoC audit: what worked, what to expand. Planning for scaling beyond the initial 2 users — onboarding the rest of the team, additional Odoo modules.
Layering an AI agent on top.
Once the ERP backbone is live, we plug Odoo's native AI agent into the same database. No integration project, no separate vendor - the agent reads and writes the same records the team uses every day. For a creative agency, that turns the ERP from "system of record" into "system of action".
The agent drafts the proposal.
A briefing email or PDF arrives. The agent reads it, surfaces 2-3 similar past projects, drafts a quote skeleton with hours, team and price — ready for the account manager to refine.
Catch overruns at 80%, not 100%.
The agent watches actual hours and external costs against the Quote Calculator estimate. Alerts the project lead — and only the project lead — before the margin disappears.
Weekly client updates, on Friday morning.
The agent compiles project progress, milestones reached, blockers, and drafts a client-facing status update — in PT, EN or whatever the client speaks.
Every past brief, searchable.
Briefings, mood boards, won quotes, lost quotes, post-mortems — all indexed. The agent surfaces relevant past work the moment a new brief lands.
What week 8 will look like.
Goals defined upfront with the Mojo team. Each one tied to a concrete dashboard or workflow that didn't exist before.
Ready to ship Odoo?
30 minutes. No commitment. Just answers. We tell you, candidly, how Odoo fits your agency (or doesn't).