The Creative Agency's Guide to Project-Based Accounting
Your time is your inventory. If you cannot track it, you cannot price it.
Why Agency Accounting is Different
You run a creative agency. Revenue is lumpy. Projects span three months. Clients pay in stages. You invoice for work completed last month but delivered two months ago.
Then tax season arrives, and you realize your accounting setup cannot answer basic questions: Which projects were profitable? How much unbilled work do you have? Did you recognize retainer revenue correctly?
This is the pattern for most agencies: accounting becomes the problem right when growth demands better financial visibility.
The issue is not just tracking hours. It is the combination of time as inventory, work in progress that sits on your books, revenue recognition that depends on milestones, and retainers that look like revenue but are actually liabilities. Traditional accounting systems treat you like a product business. They were not built for this.
That is why agency accounting is different. It requires a fundamentally different approach.
The Three Core Accounting Challenges for Agencies
Challenge 1: Tracking Billable Time Accurately
Time tracking breaks down the moment you scale beyond five team members without a system.
You need task-level time tracking for accurate project costing. If your team logs "8 hours on Project X" without breaking it down by deliverable, you cannot calculate true project profitability. Which tasks ate up the budget? Where did scope creep happen? You have no data.
The billable vs non-billable distinction matters more than most agencies realize. Proposals, internal meetings, training, downtime — none of that is billable, but it consumes capacity. If you do not track non-billable time separately, you will overpromise on delivery timelines and burn out your team.
Billable utilization is the key metric. For most agencies, 60-75% utilization is healthy. That means if someone works 160 hours per month, 96-120 hours should be billable. The rest is proposals, admin, internal projects. If your utilization is below 60%, you either have too much capacity or you are not tracking time honestly. If it is above 80%, your team has no breathing room for growth work.
Currency risk is real for GCC agencies. Many bill in USD for international appeal but pay team salaries in AED or SAR. If the dollar weakens 5% over a six-month project, your margin just disappeared. You either price in the currency risk upfront or accept the volatility.
That is the challenge with time tracking: it is not just about logging hours. It is about understanding capacity, profitability, and where your team actually spends their time.
Challenge 2: Work in Progress (WIP) Accounting
Work in progress is completed work that has not been invoiced yet.
Most agencies ignore WIP entirely. They treat revenue as "money invoiced" and expenses as "money spent." That approach works fine until your balance sheet is audited or you try to sell the business. Then you discover you have been understating assets and misreporting profitability for years.
WIP is an asset. You completed design work worth 50,000 AED last month but have not invoiced the client yet because the milestone is not due until next month. That 50,000 AED sits on your balance sheet as WIP. When you invoice, WIP converts to accounts receivable. When the client pays, receivables convert to cash.
When to recognize WIP as revenue depends on your contract structure. Fixed-price projects with milestone payments? Recognize revenue at each milestone, not when you do the work. Time-and-materials projects? Recognize revenue as you complete billable hours, even if you invoice monthly. Retainer contracts? Recognize revenue as you deliver against the retainer scope.
VAT on WIP creates a timing issue in the GCC. In the UAE and Saudi Arabia, VAT is due when you issue the invoice, not when you do the work. If you completed work in March, invoice in May, and receive payment in June, you owe VAT in May. Your cash flow needs to account for this.
That is the reality of WIP: it exists whether you track it or not. Ignoring it just makes your financial statements wrong.
Challenge 3: Revenue Recognition for Retainers and Milestones
When do you recognize revenue: when the client pays, when you invoice, or when you deliver?
The answer matters for financial reporting accuracy. Accrual accounting says you recognize revenue when you earn it (when you deliver the work), not when you receive payment. But many agencies on simplified accounting treat the invoice date as the revenue date, which works fine until you have significant timing gaps between delivery and invoicing.
Retainer accounting is where most agencies mess up. A client pays you 30,000 AED on the first of the month for ongoing services. That is not revenue yet — it is deferred revenue (a liability). As you deliver services throughout the month, you convert that liability to revenue. If the client cancels mid-month, you owe them the unearned portion back.
Milestone-based projects require careful revenue recognition. You sign a 200,000 AED branding project with four milestones. The client pays 50,000 AED upfront (deposit), then 50,000 AED at each milestone. The upfront deposit is a liability. You only recognize it as revenue when you complete Milestone 1. If you book the entire 200,000 AED as revenue when the contract is signed, your financials are wrong.
Fixed-price vs time-and-materials projects follow different rules. Fixed-price: recognize revenue at milestone completion (percentage of completion method). Time-and-materials: recognize revenue as you log billable hours (even if you invoice monthly in arrears). If you treat them the same, your revenue timing will be off.
Scope creep creates accounting headaches. The client requests changes mid-project. Do you issue a change order (additional revenue) or absorb it (lower margin)? If you absorb scope creep without documenting it, you cannot explain why a project that should have been 40% margin ended up at 15%.
That is the complexity of revenue recognition: it is not just about when you get paid. It is about when you have truly earned the revenue.
Setting Up Project-Based Accounting the Right Way
Chart of Accounts for Agencies
Your chart of accounts needs to reflect how agencies actually operate.
Revenue accounts should break down by service line: Design Services, Development Services, Consulting Services, Retainer Revenue. This lets you analyze which services are profitable and which are subsidizing the others. If your development work runs at 25% margin but your design work runs at 60%, you need to know that.
Cost of Goods Sold (COGS) accounts for agencies include direct labor (designers, developers, writers) and subcontractors. These are costs directly tied to delivering client work. If you pay a freelancer 10,000 AED to deliver a project, that is COGS, not an operating expense.
Expense accounts need granularity around agency operations:
- Non-billable time (proposals, internal meetings)
- Software tools (Adobe, Figma, project management)
- Marketing and business development
- Office rent and utilities
- Professional services (legal, accounting)
Asset accounts include work in progress (WIP), accounts receivable (invoiced but unpaid), and retainer deposits you have paid to vendors on behalf of clients.
Liability accounts cover retainer deposits (client prepayments), deferred revenue (unearned retainers), VAT payable, and payroll liabilities.
That is the foundation: a chart of accounts that reflects the true economics of your agency.
Time Tracking and Billable Rate Strategy
You cannot price accurately without understanding your costs.
Calculate your target billable rate using this formula:
(Annual salary + overhead allocation) / Annual billable hours = Minimum billable rate
Example: A mid-level designer earns 120,000 AED per year. Add 40% overhead (office, tools, benefits) = 168,000 AED total cost. Assume 60% billable utilization on 2,000 working hours per year = 1,200 billable hours. 168,000 / 1,200 = 140 AED per hour minimum. If you bill this person at 120 AED per hour, you are losing money.
Track time by project, task, and team member. Without task-level granularity, you cannot diagnose where projects go over budget. Was it design revisions? Development complexity? Client delays? If your time tracking is just "8 hours on Project X," you learn nothing.
Billable utilization targets differ by role. Creative roles (designers, writers) often run 65-75% utilization. Project managers and account directors run lower (50-60%) because they spend time on proposals and client development. Junior staff should run higher (75-85%) because they are not pitching new business.
GCC currency strategy: If you bill international clients in USD but pay your team in AED or SAR, you are exposed to currency fluctuations. Many agencies add a 5-10% buffer to their USD rates to absorb FX volatility. Alternatively, price in the currency you pay expenses in (AED/SAR) and accept that international clients will see prices change with exchange rates.
That is the pricing foundation: know your costs, track your time, and bill enough to be profitable.
Invoicing Workflow for Projects
Invoice at milestones, not at project end.
Why milestone invoicing matters: Cash flow. If you wait until a three-month project is complete to invoice 150,000 AED, you are financing the client's project for 90 days. Invoice 50,000 AED upfront, 50,000 AED at design approval, 50,000 AED at final delivery. Now your cash flow is healthy.
What to include in invoices: Time logs or deliverable descriptions. Transparency builds trust. A line item that says "Design Services: 75,000 AED" tells the client nothing. A breakdown that shows "Brand Identity Design: 40 hours at 1,500 AED/hour = 60,000 AED" helps the client understand what they paid for.
Handle scope creep systematically: When the client requests additional work mid-project, issue a change order. Document the new scope, the additional cost, and get approval in writing before starting. If you absorb scope creep without documenting it, you cannot explain margin erosion later.
Payment terms: NET 30 is standard in the GCC, but it assumes you trust the client to pay. For new clients or large projects, structure payment terms to reduce risk: 30% upfront, 40% at mid-point, 30% at delivery. This way, you never have more than 30% of the project value at risk.
That is the invoicing strategy: frequent, transparent, milestone-based, with payment terms that protect cash flow.
GCC-Specific Considerations
VAT on services is standard-rated in the GCC. Design, consulting, marketing, and development services are subject to 5% VAT in the UAE and 15% in Saudi Arabia. You collect VAT from clients and remit it to the tax authority quarterly (UAE) or monthly (Saudi Arabia).
Cross-border invoicing follows reverse charge rules for B2B services. If your UAE agency provides design services to a Saudi business, you do not charge UAE VAT. Instead, the Saudi client self-assesses VAT under reverse charge. Your invoice should state "Reverse Charge — VAT to be accounted for by the recipient." If you charge UAE VAT on a cross-border B2B service, you are doing it wrong.
Multi-currency accounting creates foreign exchange gains and losses. You invoice a US client for 20,000 USD when the exchange rate is 1 USD = 3.67 AED (73,400 AED). They pay 30 days later when the rate is 1 USD = 3.65 AED (73,000 AED). You lost 400 AED to currency fluctuation. This is an FX loss, recorded as a separate line item on your P&L.
E-invoicing compliance is mandatory for Saudi agencies under ZATCA Phase 2. Every invoice must be issued through a ZATCA-compliant system with specific data fields (buyer VAT number, seller VAT number, invoice hash, QR code). UAE e-invoicing is rolling out and will have similar requirements. Your accounting software must generate compliant e-invoices automatically, not as an afterthought.
That is the GCC reality: compliance is not optional, and your system needs to handle it natively.
What Good Agency Accounting Looks Like
Here is the checklist. If you can check all of these, your accounting setup is scaling with your business:
[ ] Time tracked daily at task level by all team members
[ ] WIP calculated and reviewed monthly
[ ] Revenue recognized at milestones, not project completion
[ ] Retainers treated as liabilities until earned
[ ] Billable utilization tracked per team member
[ ] Client profitability visible per project in real time
[ ] VAT accounted correctly on domestic and cross-border services
[ ] E-invoicing compliant for all GCC clients
If you are tracking time in a shared spreadsheet, you are not there yet. If you do not know your WIP balance, you are not there yet. If you cannot answer "What is our margin on Project X?" in under 60 seconds, you are not there yet.
That is the benchmark: if you are not there yet, you have work to do.
When Your Current Setup is Broken
Concrete signals that your current setup is breaking:
You do not know which projects are profitable until they are done. If you cannot see real-time project P&L (revenue, direct costs, margin), you are flying blind. By the time you discover a project lost money, it is too late to fix it.
Time tracking is trust-based. No system, just team members estimating hours at month-end. This is guaranteed to be inaccurate. Memory-based time tracking under-reports non-billable time and over-reports billable time. You think your utilization is 75% when it is actually 55%.
WIP is not tracked. Your balance sheet shows zero work in progress, but you have 200,000 AED of completed unbilled work sitting in your pipeline. Your assets are understated, your profitability is wrong, and your financial statements are not useful.
You invoice at project end and struggle with cash flow. You complete a three-month project, invoice 150,000 AED, wait 30 days for payment. You just financed that project for 120 days. Meanwhile, you are paying salaries every month. Milestone invoicing fixes this.
Retainer accounting is a mess. Clients pay upfront, and you treat it as revenue. Then mid-month cancellations happen, and you realize you owe refunds but already counted the money as profit. Retainers are liabilities until you deliver.
Tax filing requires manual spreadsheet reconstruction. Every time you file VAT, you are rebuilding the numbers from bank statements and invoices. This is a massive risk for compliance errors and a waste of time.
That is the breaking point: when you see these signals, it is time to change.
What to Do This Week
Practical steps to improve your agency accounting starting today:
Audit your time tracking. Are you capturing billable vs non-billable time? Is it tracked daily or reconstructed at month-end? Move to real-time daily tracking.
Calculate your WIP. Sum all completed work that has not been invoiced yet. Add it to your balance sheet as an asset. Review it monthly.
Review retainer contracts. Are you recognizing revenue when the client pays or when you deliver? Fix any retainers you booked as immediate revenue.
Set up project-level P&L. For every active project, track: revenue (actual + projected), direct costs (team time + subcontractors), margin. Review weekly.
Implement milestone invoicing. Stop waiting until project completion to invoice. Break projects into 2-4 milestones and invoice at each stage.
Check VAT treatment. Are you applying reverse charge correctly for cross-border B2B services? Are you charging VAT on domestic services? Review your last 10 invoices.
The goal is not perfection on day one. The goal is systematic improvement: track time accurately, recognize revenue correctly, invoice frequently, and get better financial visibility to make smarter decisions.
If you need foundational accounting concepts, see Accounting for Non-Accountants: A Practical Guide. For startups navigating early-stage accounting setup, The Essential Guide to Accounting for Startups covers burn rate, cash flow tracking, and when to hire help.
See how Bizrah handles project-based accounting with time tracking, WIP management, and GCC-native invoicing built in → Try Bizrah Free