Industry

ERP for Events and Marketing Agencies in the UAE: Project Costing, Resourcing and Client Billing

An agency's profit is decided in the gap between what the client was quoted and what the suppliers, crew and overtime actually cost. Most agencies only find out what that gap was three months after the event. An ERP built around the project closes it in real time.

Events and marketing agencies in Dubai and Abu Dhabi share a financial pattern. Revenue arrives in large, lumpy projects. Costs arrive from dozens of suppliers, freelancers and crew over the weeks around the event, many of them after the client has already been invoiced. The owner sees a healthy top line and a cash balance that never quite matches it, and nobody can say with confidence which of last quarter's twelve projects actually made money.

The standard toolset makes this worse. Quotes in Excel, tasks in a project board, supplier bills in an accounting package, crew on WhatsApp and a monthly reconciliation that takes the finance manager a week. This guide sets out how an agency should run on an ERP instead: what the project needs to hold, how to cost people and suppliers, how milestone billing and deposits should work under UAE VAT, and what the owner should be able to see every Monday morning.

Key takeaways

  • The project is the unit of profit. Every quote line, supplier bill, timesheet and client invoice must carry it.
  • Separate agency fee from pass-through costs in the quote, the invoice and the margin report, or you will misread the business.
  • Cost people at a loaded rate through timesheets, and cost freelancers and crew as suppliers on the project.
  • Deposits and milestone invoices are tax invoices with VAT due at the tax point, not receipts to sort out later.
  • Budget versus committed versus actual, per project, is the report that changes behaviour. Build it first.

Model the project, not the event

An event agency's ERP is a project costing system with accounting attached. The project record carries the client, the brief, the quote version that was approved, a budget by cost category, the team, the supplier commitments, the client billing schedule and the delivered margin. A marketing agency running retainers has the same structure with a monthly project per client instead of a one-off.

In Odoo this maps naturally onto the projects module with analytic accounts, so that sales order lines, purchase orders, vendor bills, timesheets and expenses all post to the project and roll up into a single margin view. The budget comes from the approved quote, broken into the same categories you buy against: venue, production, AV, catering, talent, creative, logistics, permits, contingency and agency fee.

The one design rule that matters more than any other is that the quote structure, the purchase categories and the invoice lines use the same categories. If the quote says "production" and the supplier bills are coded to "staging", "lighting" and "set build", nobody can compare budget to actual without a spreadsheet, and the spreadsheet is what you were trying to get rid of.

Fee, markup and pass-through: keep them apart

Agencies earn in three ways on the same project: a fee for their own work, a markup on third-party costs, and sometimes a pure pass-through where the client reimburses a cost at nil margin. If these are mixed into one line called "event management", the gross margin percentage on the dashboard means nothing. A project that bills AED 900,000 with AED 800,000 of venue and production costs is a very different business from one that bills AED 300,000 of fee against AED 60,000 of freelancers, and the dashboard should say so.

Revenue typeWhat it isHow to record it
Agency feeYour own planning, creative, account management and on-site deliveryRevenue line on the project; costed against timesheets at loaded rates
Marked-up supplier costProduction, AV, catering and similar bought in and billed with a marginCost line from the supplier bill and a revenue line at the billed amount, so the margin is visible per category
Pass-through at costPermits, venue deposits, talent fees reimbursed with no marginCost and revenue at the same amount, flagged as pass-through so it is excluded from margin percentages
Client advance for supplier costsMoney received to pay suppliers before the eventLiability until the supply is made, with the VAT treatment confirmed by your adviser

Set this up in the quote template so the sales team does it by default. The margin report then shows fee margin, buying margin and total margin separately, and the owner can see whether the business is earning on its people or on its purchasing.

Resourcing: people are the cost that gets lost

Supplier costs arrive as bills and get recorded. People costs do not, which is why agencies routinely underestimate the cost of a project by the amount of their own overtime. Three groups need handling differently.

Employees are costed through timesheets at a loaded hourly rate: salary plus allowances, visa, insurance and employer costs divided by productive hours. The rate is set per grade and updated once a year. Timesheets do not need to be precise to the minute; half-day blocks per project are enough to see where the account team's month went.

Freelancers and crew are suppliers. Raise a purchase order against the project for each engagement, receive it when the work is done, and the bill matches automatically. This also builds the record you need for the labour and payment questions that arise with freelance crew in the UAE, since every engagement has a PO, a scope and a payment.

Event-day overtime and allowances for WPS-paid staff should be captured as a project cost at the time, not discovered in the payroll run three weeks later. A simple expense or allowance entry per person per event day is enough. Payroll stays in the HR module, the cost still lands on the project.

Billing: deposits, milestones and VAT

Agency billing in the UAE normally runs as a deposit on signature, one or more milestones before the event, and a balance after delivery with a reconciliation of actuals. Each of these is a tax invoice. Under the UAE VAT rules the tax point is generally the earliest of the invoice, the payment or the supply, so a deposit received in October for an event in January normally carries VAT in October. Issuing a "proforma" and sorting it out later is a habit that catches agencies at their first FTA audit.

Configure the ERP so the billing schedule lives on the project and generates invoices on the agreed dates, so the deposit invoice is a proper tax invoice with the client's TRN, and so the final reconciliation invoice pulls actual pass-through costs from the project rather than from a spreadsheet. Where the client is in a designated free zone or outside the UAE, the VAT treatment of the fee can differ, and the invoice template should carry the right tax code by default. From 2027, these invoices will also flow to the FTA through an Accredited Service Provider, which is far simpler when every invoice already comes from one system with structured line data.

Retainer agencies have an easier billing cycle and a harder revenue recognition question: a monthly fee billed in advance is deferred and released as the month is delivered. Odoo handles this with deferred revenue rules on the fee product.

The Monday report

With the structure above, the reports an owner or finance head actually needs are straightforward:

  1. Budget, committed (POs raised) and actual (bills received) per project, with the variance by category.
  2. Fee margin and buying margin per project and per account manager.
  3. Unbilled milestones and overdue receivables, since cash timing is the agency killer.
  4. Open purchase orders with no bill more than 30 days after the event, which is where late supplier invoices will surprise you.
  5. Utilisation by person: hours on billable projects against available hours.

The "committed" column is the one most agencies have never seen. It shows that a project is over budget while there is still time to do something about it, rather than after the last bill arrives.

How Kaido approaches it

We begin with two finished projects, one that the agency believes was profitable and one it suspects was not, and rebuild both in a test system from the original quote through every supplier bill, timesheet and client invoice. The exercise takes a day and usually changes the quote template, because it shows exactly where fee, markup and pass-through were blended and where people time was never costed at all.

From there we configure projects, sales, purchasing, timesheets, accounting and the billing schedule around that template, with the budget-versus-committed-versus-actual report built before go-live rather than afterwards. Our project management and job costing page explains the module set in more detail, and our guide to ERP cost in the UAE sets out what a build of this size typically involves. Adoption matters more in agencies than almost anywhere, because the system only works if every PO and timesheet is entered during the project rather than reconstructed afterwards. We cover that in our change management guide.

Still finding out whether an event made money after the final supplier invoice?

Talk to a senior consultant about running your agency on one system. We will take two recent projects, trace every cost and invoice through them, and show you what live project margin would look like on your own data.

Book a discovery call →