Skip to content
Skip to Content

Industries

Professional services

A professional services firm sells the time of its people. The margin is decided weeks before anyone books an hour, when people are put on the work, and it is kept or lost in every week that follows.


This page is for consulting firms and for the advisory side of real estate. We are one ourselves: Acunomic plans, records and bills its own projects the way this page describes, and in our implementations we have set up the same flow for other consultancies.

Our recommendation is a platform: Odoo or NetSuite. For a European footprint we increasingly recommend Odoo, because projects, planning, time, absence, purchasing, stock and accounting share one database. NetSuite keeps its place where a group already runs its finance on it, or where revenue must be allocated by standalone selling price.

The project is where the margin is made

Every hour, expense and invoice belongs to a project. The project carries the estimate from the offer, the hour budget per phase and the billing rules, and every later check measures against them.

Time and materials or a fixed fee changes what an hour means. Under time and materials an approved hour is revenue. Under a fixed fee the same hour is cost against a budget, and the margin depends on how far the work has come.

Changes come back to the practice lead. A new person on the team or a wider scope updates the budget and the tasks, and the practice lead approves it. Without that loop, scope growth shows only in the final margin.

Staffing decides the margin, and the team plans its own week

Project management searches people by skill and availability and requests them. When nobody is free, a placeholder holds the slot until the practice lead finds a person. A placeholder must not stay one.

Odoo Planning (Enterprise) does this top-down: shifts by role, open shifts as placeholders, and Auto Plan, which respects time off, working hours and contracts. Projects, timesheets and accounting share its database.

Oracle has changed where NetSuite's resource planning happens. On 25 January 2025 Oracle renamed OpenAir to SuiteProjects Pro and made it NetSuite's advanced professional services product: a separate application with its own login and documentation, connected to the ERP rather than part of it. Since the 2025.2 release, new resource management features such as the Resource Center arrive there. Inside NetSuite, the Resource Allocation Chart has not gained a feature since 2019, and Project Resource Management is no longer offered to new customers.

Top-down allocation and the team's own plans rarely meet. No platform documents people planning their own week; Odoo lets an employee only switch, take or give up a published shift. That is the gap our own app closes.

With TIMEperative, in early access and in use, people plan their own week and record what they actually did. Approved time goes to Odoo's timesheets. The plans stay in the app for now, so project management reconciles them with the allocation there.

Project time and absence are two different things

Project time lands on a task, billable or not, and project management approves it every week. Time on the wrong task, or marked non-billable by mistake, never reaches the invoice.

Leave and absence run apart. They have their own request, their own approval and their own balances, and they come off the availability that staffing works with. Put into the same box as project time, they distort both.

Odoo covers both in one database: Time Off (Community) books approved leave as timesheet lines on an internal project, and Planning respects it. NetSuite's Time-Off Management belongs to SuitePeople HR, a paid module Oracle does not list for Switzerland.

Time and materials includes the material

Freelancers and partner firms work under a framework agreement. Each order is placed on the project, so its cost is committed before the bill arrives, and the bill is booked on the project when it comes.

Material is the part most systems forget. Hardware, licences and supplies come from stock or are bought for the project, their cost has to land on it, and the client is billed for them.

What the firm needs Odoo NetSuite
Subcontractor order with committed cost Purchase orders on the project; profitability shows them as costs still to bill (Community) Purchase to Project SuiteApp; committed cost for service items in the profitability report
Material from stock onto the project Pickings carry the project and post the cost to it (Community) Not standard; needs customisation
Material planned from the task or the backlog From a task with Field Service (Enterprise) Not documented
Delivered material rebilled Through the sales order (Community) Billable items on the invoice

Travel and expenses follow the expense rules

A trip is approved before it is booked. On the way, people record expenses with their receipts and claim allowances for meals, per diem and mileage. Project management approves the report, and the payout runs through payables or with the salary.

Client entertainment, memberships in industry associations and personal IT hardware and software are recorded apart. They follow other rules for approval, VAT and tax than a trip does.

Odoo Expenses (Community) handles categories, mileage, per diem as a fixed-rate category, approval and rebilling to the client; reimbursement with the payslip and receipt scanning are Enterprise. NetSuite has expense reports and mileage in the core, but no per diem outside SuiteProjects Pro. Neither books travel.

Invoicing first, then the group

Before an invoice goes out, project management writes time down or marks it unbillable. Then approved time, expenses and material, milestones and fixed fees become invoices, and each one is checked before it reaches the client.

Payments on account are usually deducted in the final invoice; in our implementations that is how our clients settle them. VAT on an advance payment is due when you receive it, even if you account on agreed remuneration (MWSTG Art. 40).

In a group, a consultant employed by one company often works on another company's project, so the time is charged across. Management, admin and royalty fees follow every month, and the intercompany balances are netted.

Odoo's inter-company rules (Enterprise) create the matching order or bill in the other company, and recurring fees run as subscriptions. NetSuite OneWorld pairs intercompany transactions, cross-charges time and expenses, and nets the balances.

Work in progress at month end

Work done but not yet invoiced is an asset, not a gap in revenue. Each month project management updates the effort to complete, finance accrues unbilled time and expenses, and revenue on fixed fees follows the stage of completion.

Framework What it says for service engagements
OR Art. 960c Services you have not yet invoiced are carried at cost, or at a lower realisable value.
Swiss GAAP FER 22 A long-term service engagement is recognised by stage of completion when revenue, cost and progress can be estimated reliably; an expected loss is recognised at once.
IFRS 15 Advice billed by time is usually revenue over time (15.35(a)); where the hourly rate reflects the value delivered, you may recognise what you have the right to invoice (B16).

For a German entity, unfinished services are carried as unfertige Leistungen at production cost under HGB. Odoo books unbilled time and materials with its accrued revenue entry (Community); revenue by stage of completion on fixed fees comes from partner apps. NetSuite's Advanced Revenue Management, included in the SuiteSuccess Services editions, recognises revenue from the project's percent complete.

Real estate advisory

Advisory firms in real estate run their mandates on the same flow as any consultancy: staffing, time, expenses, invoicing and work in progress. Many of them also broker property or manage it, often for the same owners.

Odoo has industry modules for that side (all Enterprise): Real Estate Agency for listings, commissions and signing, Property Management for buildings, meters and leases, and Property Owner Association for owners, distribution keys and votes. They share the database with the advisory projects.

How we test it in an evaluation

We take one of your engagements through the platform you are considering, with your roles, rates and calendars:

  1. Quote it, open the project and staff it, with one placeholder that the practice lead replaces.
  2. Let two people plan their week, record a week of time and a day of leave, and approve both.
  3. Order a subcontractor and some material on the project, and book a trip with a per diem.
  4. Invoice a payment on account, write down an hour, close the month and settle the final invoice.

You see where each platform does it in the standard product, where it needs an add-on, and where it needs a workaround.

Professional services, from the first enquiry to the closed project

Choose a step of the value chain. Its subprocess opens underneath across the full width; choose an activity to see the business requirement and how the platforms score on it.

Core process

Subprocess · 01 of 11

Win the engagement

The engagement is priced before anyone is staffed: effort by role, rates and the commercial model are agreed, and a likely deal opens a basic project.

Requirements in this step

Choose an activity with a gold dot to see its business requirement.

No specific system requirement at this activity.

  • Project structure with phases, tasks, hour budgets and change control
    Odoo
    3 · Standard
    NetSuite
    3 · Standard
  • Invoicing by time and materials, milestone, fixed fee and payments on account, with time written down or marked unbillable
    Odoo
    3 · Standard
    NetSuite
    3 · Standard

How the platforms score

Odoo NetSuite
What the industry needs

Axes this step touches are in bold; the gold point is the selected requirement.

Where to look: first module references

Module references and how each platform covers each activity are in the client area, for signed-in clients.

Subprocess · 02 of 11

Plan the project

The project gets its phases, tasks, hour budget and billing rules, and the practice lead releases it for kick-off. A change of scope later comes back here.

Requirements in this step

Choose an activity with a gold dot to see its business requirement.

No specific system requirement at this activity.

  • Project structure with phases, tasks, hour budgets and change control
    Odoo
    3 · Standard
    NetSuite
    3 · Standard
  • Invoicing by time and materials, milestone, fixed fee and payments on account, with time written down or marked unbillable
    Odoo
    3 · Standard
    NetSuite
    3 · Standard

How the platforms score

Odoo NetSuite
What the industry needs

Axes this step touches are in bold; the gold point is the selected requirement.

Where to look: first module references

Module references and how each platform covers each activity are in the client area, for signed-in clients.

Subprocess · 03 of 11

Staff the project

People are put on the work by skill and availability, which decides the margin weeks before the first hour is booked. Then the team plans its own week.

Requirements in this step

Choose an activity with a gold dot to see its business requirement.

No specific system requirement at this activity.

  • Top-down staffing: people allocated by role, skill and availability, with request and approval
    Odoo
    3 · Standard
    NetSuite
    2 · Add-on
  • Bottom-up planning: the team plans its own week, and the plan meets the allocation
    Odoo
    2 · Add-on
    NetSuite
    0 · Not offered

How the platforms score

Odoo NetSuite
What the industry needs

Axes this step touches are in bold; the gold point is the selected requirement.

Where to look: first module references

Module references and how each platform covers each activity are in the client area, for signed-in clients.

Subprocess · 04 of 11

Record time and absence

Project time lands on the task it belongs to and is approved every week. Leave and absence run apart, with their own approval, and come off the availability.

Requirements in this step

Choose an activity with a gold dot to see its business requirement.

No specific system requirement at this activity.

  • Project time per task, billable or not, with weekly approval
    Odoo
    3 · Standard
    NetSuite
    3 · Standard
  • Utilisation and chargeability per person, and margin per project, from the same hours
    Odoo
    3 · Standard
    NetSuite
    3 · Standard
  • Leave and absence requested and approved on their own, and taken off the availability
    Odoo
    3 · Standard
    NetSuite
    1 · Workaround

How the platforms score

Odoo NetSuite
What the industry needs

Axes this step touches are in bold; the gold point is the selected requirement.

Where to look: first module references

Module references and how each platform covers each activity are in the client area, for signed-in clients.

Subprocess · 05 of 11

Engage subcontractors

Freelancers and partner firms work under a framework agreement. Each order is placed on the project, so its cost is committed before the bill arrives.

Requirements in this step

Choose an activity with a gold dot to see its business requirement.

No specific system requirement at this activity.

  • Subcontractors under framework agreements, orders with committed cost, and their bills on the project
    Odoo
    3 · Standard
    NetSuite
    2 · Add-on

How the platforms score

Odoo NetSuite
What the industry needs

Axes this step touches are in bold; the gold point is the selected requirement.

Where to look: first module references

Module references and how each platform covers each activity are in the client area, for signed-in clients.

Subprocess · 06 of 11

Use material on the project

Time and materials means material too: hardware, licences and supplies come from stock or are bought for the project, their cost lands on it, and the client is billed.

Requirements in this step

Choose an activity with a gold dot to see its business requirement.

No specific system requirement at this activity.

  • Material from stock or purchase, issued to the project and rebilled
    Odoo
    3 · Standard
    NetSuite
    1 · Workaround

How the platforms score

Odoo NetSuite
What the industry needs

Axes this step touches are in bold; the gold point is the selected requirement.

Where to look: first module references

Module references and how each platform covers each activity are in the client area, for signed-in clients.

Subprocess · 07 of 11

Travel and expenses

A trip is approved before it is booked. Expenses are recorded on the way with their receipts, allowances follow the expense rules, and the payout runs through payables or the salary.

Requirements in this step

Choose an activity with a gold dot to see its business requirement.

No specific system requirement at this activity.

  • Travel and expenses: trip approval, allowances, receipts, approval, reimbursement and rebilling
    Odoo
    3 · Standard
    NetSuite
    2 · Add-on

How the platforms score

Odoo NetSuite
What the industry needs

Axes this step touches are in bold; the gold point is the selected requirement.

Where to look: first module references

Module references and how each platform covers each activity are in the client area, for signed-in clients.

Subprocess · 08 of 11

Invoicing

Approved time, expenses, material, milestones and fixed fees become invoices. Time is written down or marked unbillable first, and each invoice is checked before it reaches the client.

Requirements in this step

Choose an activity with a gold dot to see its business requirement.

No specific system requirement at this activity.

  • Invoicing by time and materials, milestone, fixed fee and payments on account, with time written down or marked unbillable
    Odoo
    3 · Standard
    NetSuite
    3 · Standard

How the platforms score

Odoo NetSuite
What the industry needs

Axes this step touches are in bold; the gold point is the selected requirement.

Where to look: first module references

Module references and how each platform covers each activity are in the client area, for signed-in clients.

Subprocess · 09 of 11

Rebill within the group

A consultant employed by one group company works on another company's project, so the time is charged across. Management, admin and royalty fees follow every month, and the balances are netted.

Requirements in this step

Choose an activity with a gold dot to see its business requirement.

No specific system requirement at this activity.

  • Intercompany rebilling of time and of management, admin and royalty fees, with netting
    Odoo
    3 · Standard
    NetSuite
    3 · Standard

How the platforms score

Odoo NetSuite
What the industry needs

Axes this step touches are in bold; the gold point is the selected requirement.

Where to look: first module references

Module references and how each platform covers each activity are in the client area, for signed-in clients.

Subprocess · 10 of 11

Close the month

Each month shows how well capacity was used and what each project earns, then values the work done but not yet billed and recognises revenue on fixed fees by stage of completion.

Requirements in this step

Choose an activity with a gold dot to see its business requirement.

No specific system requirement at this activity.

  • Work in progress valued at month end, with accruals and revenue by stage of completion
    Odoo
    2 · Add-on
    NetSuite
    3 · Standard
  • Utilisation and chargeability per person, and margin per project, from the same hours
    Odoo
    3 · Standard
    NetSuite
    3 · Standard

How the platforms score

Odoo NetSuite
What the industry needs

Axes this step touches are in bold; the gold point is the selected requirement.

Where to look: first module references

Module references and how each platform covers each activity are in the client area, for signed-in clients.

Subprocess · 11 of 11

Close the project

The final invoice settles the payments on account, the margin shows whether the estimate held, and the people return to the pool.

Requirements in this step

Choose an activity with a gold dot to see its business requirement.

No specific system requirement at this activity.

  • Invoicing by time and materials, milestone, fixed fee and payments on account, with time written down or marked unbillable
    Odoo
    3 · Standard
    NetSuite
    3 · Standard
  • Utilisation and chargeability per person, and margin per project, from the same hours
    Odoo
    3 · Standard
    NetSuite
    3 · Standard

How the platforms score

Odoo NetSuite
What the industry needs

Axes this step touches are in bold; the gold point is the selected requirement.

Where to look: first module references

Module references and how each platform covers each activity are in the client area, for signed-in clients.

How the platforms compare for professional services

Both systems run projects, time and invoicing. They differ in planning, in absence, in material on the project and in what needs an extra module.

Odoo

Meets 11 of 13

NetSuite

Meets 7 of 13

Requirement Needed Odoo NetSuite
Project structure with phases, tasks, hour budgets and change control 3 3 · Standard 3 · Standard
Top-down staffing: people allocated by role, skill and availability, with request and approval 3 3 · Standard 2 · Add-on
Bottom-up planning: the team plans its own week, and the plan meets the allocation 3 2 · Add-on 0 · Not offered
Project time per task, billable or not, with weekly approval 3 3 · Standard 3 · Standard
Leave and absence requested and approved on their own, and taken off the availability 3 3 · Standard 1 · Workaround
Subcontractors under framework agreements, orders with committed cost, and their bills on the project 3 3 · Standard 2 · Add-on
Material from stock or purchase, issued to the project and rebilled 2 3 · Standard 1 · Workaround
Travel and expenses: trip approval, allowances, receipts, approval, reimbursement and rebilling 3 3 · Standard 2 · Add-on
Invoicing by time and materials, milestone, fixed fee and payments on account, with time written down or marked unbillable 3 3 · Standard 3 · Standard
Intercompany rebilling of time and of management, admin and royalty fees, with netting 2 3 · Standard 3 · Standard
Utilisation and chargeability per person, and margin per project, from the same hours 3 3 · Standard 3 · Standard
Work in progress valued at month end, with accruals and revenue by stage of completion 3 2 · Add-on 3 · Standard
A current web interface for daily work, with mobile apps for time, expenses and dashboards 3 3 · Standard 3 · Standard

Scores are our assessment of each platform as named here: Odoo 19 Enterprise, and NetSuite OneWorld on the SuiteSuccess Services Premium edition, which includes SuiteProjects and Revenue Management. 3 included, 2 add-on module, SuiteApp, a partner's app listed for the current version or Acunomic's own app, 1 workaround, 0 not offered. The dashed outline is what a professional services firm needs, in our assessment; hatching marks the gap.

Odoo: staffing to work in progress in one database

Planning, timesheets, time off, purchasing, stock, expenses, invoicing and accounting share one database and one web client, which also runs as an app on phones. Material and subcontractors reach the project's profitability in Community. Two gaps remain: people planning their own week, which our app TIMEperative covers in early access, and revenue on fixed fees by stage of completion, which comes from partner apps.

NetSuite: strong finance, planning moved out

Invoicing, revenue by percent complete, utilisation and the intercompany flows of a group are mature in OneWorld with the Services editions. New resource planning ships in SuiteProjects Pro, a separate application. Time off needs SuitePeople HR, which Oracle does not list for Switzerland, there is no per diem in the core, and material on a project needs customisation.

Walk us through one of your engagements.

From the offer to the final invoice, or from the week your team plans to the month you close. We will show you where an integrated system changes the margin, and where it does not.