
Service companies — consulting firms, engineering practices, agencies, IT integrators, architecture studios — have a different economic engine than product businesses. Their inventory is time, their cost of goods is people, and their profitability is decided project by project. Yet a striking number run on spreadsheets that can't answer the most basic question: which projects actually made money? This guide explains project-based accounting and the ERP setup a Turkish service entity needs to see the truth.
Note: Revenue recognition, tax and contract treatments vary by situation. Confirm specifics with your CPA and group controller.
Why product-style accounting fails for service firms
A traditional chart-of-accounts P&L tells you the firm made or lost money overall. It does not tell you:
- Which projects were profitable and which bled
- Which clients are worth keeping
- Whether a project is on track before it overruns
- How much unbilled work (WIP) is sitting on the books
- Which staff or teams deliver margin and which don't
For a service company, the project is the unit of profit. Accounting has to be organized around it.
The building blocks of project accounting
1. Project structure
Every project needs:
- A project code and client link
- A budget (hours and cost, by phase or task)
- A contract type (fixed price, time-and-materials, retainer, milestone)
- A planned timeline with phases/milestones
2. Time tracking
Time is the raw material. Staff log hours against projects and tasks. Without reliable time data, project costing is fiction.
- Hours captured against project + task
- Billable vs non-billable distinction
- Approval workflow (project manager signs off)
- Mobile/web entry — daily, not reconstructed at month-end
3. Cost capture
Beyond labor:
- Subcontractor and freelancer costs
- Travel and expenses charged to the project
- Software, licenses, materials specific to the project
- An allocation of overhead (office, admin, tools)
4. Revenue recognition
This is where service accounting gets nuanced:
- Fixed price — revenue recognized as the project progresses (percentage of completion), not when invoiced
- Time-and-materials — revenue as hours are delivered and approved
- Retainer — typically recognized over the retainer period
- Milestone — recognized as milestones are accepted
The gap between work delivered and invoices issued is WIP (work in progress) — an asset on the balance sheet that many spreadsheet-run firms simply never track.
WIP: the number nobody watches
Work in progress is delivered-but-unbilled value. It matters because:
- It's a real asset — ignoring it understates the balance sheet
- A growing WIP balance can signal a billing bottleneck (cash trapped)
- At year-end, WIP valuation is an audit focus
- It connects the P&L story to the cash story
A proper ERP computes WIP automatically: recognized revenue minus invoiced amount, per project.
Project profitability in real time
The payoff of project accounting is a live view:
| Project | Budget | Cost to date | % complete | Forecast margin | Status |
|---|---|---|---|---|---|
| Client A redesign | ... | ... | ... | ... | On track |
| Client B rollout | ... | ... | ... | ... | Margin risk |
| Client C retainer | ... | ... | ... | ... | Healthy |
The point is to see "margin risk" in week 3, not at the post-mortem.
Resource utilization
For a service firm, utilization (billable hours / available hours) is a core health metric:
- Per person, per team, per period
- Bench time visibility
- Overallocation warnings (the route to burnout and quality problems)
- Forecast utilization from the project pipeline
Billing discipline
Service firms leak revenue at the billing step:
- Time logged but never invoiced
- Milestones reached but invoice not raised
- Out-of-scope work delivered without a change order
- Expenses incurred but not passed through
The ERP should connect delivery to billing so nothing recognized goes uninvoiced.
The 6 mistakes service firms make
1. No project-level P&L The firm-level P&L hides which projects subsidize which.
2. Time tracked at month-end from memory Reconstructed timesheets are inaccurate; project costs become fiction.
3. WIP never tracked Delivered-unbilled value invisible; balance sheet understated, cash trapped silently.
4. Revenue = invoices Recognizing revenue when invoiced rather than when earned distorts every period.
5. Scope creep unmanaged Out-of-scope work delivered without change orders; margin quietly destroyed.
6. Utilization not measured Bench time and overallocation both invisible until they become a crisis.
ERP capability checklist
- Project structure with budget by phase/task
- Multiple contract types (fixed, T&M, retainer, milestone)
- Time tracking with billable/non-billable and approval
- Project cost capture (labor, subcontractor, expense, overhead)
- Revenue recognition per contract type
- WIP calculation per project
- Live project profitability dashboard
- Resource utilization reporting
- Change-order workflow
- Delivery-to-billing linkage
- Group-currency reporting
Birasyo's project accounting approach
Birasyo ERP's project module:
- Project structure with phase/task budgets and client linkage
- All major contract types (fixed price, T&M, retainer, milestone)
- Time tracking (mobile/web, billable split, PM approval)
- Full project cost capture including overhead allocation
- Revenue recognition rules per contract type
- Automatic WIP calculation per project
- Live project profitability dashboard with margin-risk flags
- Resource utilization reporting and overallocation warnings
- Change-order workflow tied to scope and budget
- Delivery-to-billing linkage so nothing recognized goes uninvoiced
- TL + group-currency reporting
If you run a Turkish service entity and want to see true project profitability, book a session.
Sources
- IFRS 15 — Revenue from Contracts with Customers
- VUK (Vergi Usul Kanunu) — Turkish tax procedures
- Türkiye Public Oversight Authority — TFRS materials
Related reads:
Share this on LinkedIn
Headline, summary and hashtags copy to your clipboard and the LinkedIn composer opens — paste (Cmd/Ctrl+V) and post.

