Skip to content
Skip to Content

Industries

Software

Acunomic has long been a partner to software vendors and to the partners who sell and implement their products. Our speciality is digital transformation and operational excellence along the software value chain, from development project accounting to revenue recognition under IFRS 15 and ASC 606.


We have delivered projects for several dozen software companies, with consultants who have worked in the industry for many years. We are just as much at home where software is sold with hardware, and stock, shipping and returns join the subscription.

We deliver complete operations platforms as well as best-of-breed systems, and we have integrated them with each other many times. We work with Salesforce, HubSpot, Chargebee, NetSuite, Odoo, PayPal and Checkout.com, among others.

Our recommendation is a platform: NetSuite or Odoo, depending on your global footprint and your service model. For a European footprint we increasingly recommend Odoo, because NetSuite, born in the US, falls further behind on European localisation. In Europe it keeps its place in finance-only projects, in software and in eCommerce. We also recommend it wherever contracts need revenue allocated by standalone selling price, which NetSuite calls fair value.

What we deliver along the software value chain

We set up each step of the software value chain and connect the steps that share data:

  1. Development project accounting: hours and overhead by deliverable, with the directly attributable cost split into what is capitalised and what is expensed
  2. Pricing: price lists, plans, bundles, discounts and price increases at renewal
  3. Sales channels: direct sales, resellers and distributors, with partner prices, margins and commissions
  4. Subscription billing: renewals, upgrades, aligned end dates, proration and usage
  5. Payments: cards and wallets, refunds, disputes and chargebacks, matched to open invoices and provider fees
  6. Revenue recognition: under each framework you report under, whether IFRS 15, ASC 606, Swiss GAAP FER or the Swiss Code of Obligations

Where software ships with hardware, the chain grows: stock, serial numbers, shipping and returns join the contract, and revenue has to be split between the device and the subscription.

Development, run as a project business

We set up software development the way engineering firms and consultancies run their projects: every deliverable has a budget, and every hour and every share of overhead is booked to one.

Your largest cost is the time your developers spend on the product. In our experience, software companies have yet to manage and account for that time the way engineering and consulting firms do. We bring the controls those firms use: hours at cost, a budget per deliverable and a monthly forecast to finish.

Our approach is project-centric. We tie your development method, Scrum or another agile method, to measurable deliverables, the epics in that language. Then we track time and overhead expenses against each one:

  • Each epic is a project with a budget of its own; a small epic can be a parent task, which carries hours and their cost but no budget or overhead share of its own
  • Developers book their hours to the epic's tasks, costed at each employee's hourly cost
  • Overhead expenses, such as tools, licences and office space, reach each epic at a rate we agree with you
  • Overhead counts in the epic's cost, but only directly attributable cost is capitalised (IAS 38.67), and rent stays out of the figures for an IP box
  • Every month, the cost of each epic against its budget, and the remaining hours at cost

With enough of that data you can track efficiency, see what each deliverable is expected to earn, and allocate and reallocate people faster. With agentic AI and in the age of disposable software, that speed has become crucial.

Neither Odoo nor NetSuite has a record of its own for sprints or epics, so we map each epic to a project. Where your teams plan in Jira, we deliver the integration with a partner's connector, so epics and hours reach the ERP.

In Odoo, projects, tasks, milestones, timesheets and project profitability are in Community, and budgets need Enterprise. Overhead reaches a project through an analytic distribution at a fixed percentage. NetSuite sets cost budgets per project task and month, and moves overhead to projects with allocation schedules. In both systems the overhead share sits on the project, not on a task.

Software IP is an asset the CFO manages

We set up the books so that software IP is managed like any other asset: cost per product, legal entity and year, from the first timesheet.

A real-estate CFO carries buildings under construction and decides which company holds them, for value and tax. A software CFO does the same with code. Software under development is the CFO's work in progress: it collects cost before it earns anything.

Under IFRS, development cost becomes part of an intangible asset only from the date all six criteria of IAS 38.57 are met; before that it is an expense. Until the software is available for use, the asset is tested for impairment every year (IAS 36.10). Amortisation starts when it is available for use, in the same words IAS 16 uses for buildings and equipment (IAS 38.97, IAS 16.55).

The difference: an investment property may be shown at fair value (IAS 40), while software in practice stays at cost (IAS 38.75). Its value shows in tax, and in the prices group companies charge each other for it. Whether development becomes an asset depends on the framework:

Framework Self-developed software
IFRS (IAS 38) Research is expensed. Development must be capitalised once all six criteria of IAS 38.57 are met, including technical feasibility and reliable measurement of the cost.
Swiss GAAP FER 10 Self-created intangible assets may be capitalised if they are identifiable and controlled, bring a measurable benefit over several years, have separately measurable costs and the resources to complete them are available.
Swiss Code of Obligations (OR) Art. 959 (2) OR requires an asset to be recognised where it is controlled, an inflow of funds is probable and its value can be reliably estimated. For self-created software these conditions leave room for judgement, and in practice it is often not capitalised. General research is not capitalised.
German Commercial Code (HGB) An option under § 248 (2) HGB. Only development costs qualify (§ 255 (2a) HGB); if research and development cannot be separated, nothing is capitalised. Profits equal to the capitalised amount, net of deferred tax, may not be distributed (§ 268 (8) HGB).
German tax balance sheet (EStG) Only purchased intangible fixed assets are carried (§ 5 (2) EStG).
Austrian Commercial Code (UGB) Self-created intangible fixed assets may not be capitalised (§ 197 (2) UGB).

Every row of that table depends on the same records: hours by development project, kept apart from research, maintenance and customer work, and costed at the right rate. They must be right by the period close, because an amount once expensed cannot be capitalised later (IAS 38.71).

Where the IP sits, and what the ERP must cover

We set up the ERP for the countries you grow into, so that the CFO has the figures to decide, with the tax advisers, where the IP sits. The return follows the company that does and controls the development, not the one that only holds the rights (OECD Transfer Pricing Guidelines 6.42, 6.56). The books must therefore show where that work is done.

Several countries reduce the tax on profit from software, where the conditions are met:

Country What it offers, where the conditions are met
Switzerland The cantonal patent box reduces taxable profit from patents by up to 90 %, but software counts only if it is patented. For other software, most cantons allow an extra deduction of up to 50 % on Swiss R&D cost, where the work counts as research or science-based innovation (tax period 2025).
Ireland The Knowledge Development Box taxes qualifying profit from copyrighted software at an effective 10 %, for accounting periods starting before 1 January 2027. The R&D tax credit is 30 % of qualifying spend, and in general 35 % for accounting periods ending on 31 December 2026 or later (Finance Act 2025).
Netherlands The innovation box taxes qualifying benefits from self-developed software at an effective 9 % (2026). Each asset needs an R&D declaration under the WBSO scheme.
Luxembourg 80 % of net income from qualifying IP, copyrighted software included, is exempt: an overall rate of 4.774 % in Luxembourg City (2025).

Germany and Austria reward research and development itself, where the work qualifies. The Forschungszulage grants 25 % of eligible R&D wages (2026), more for small and medium-sized companies. The Forschungsprämie grants 14 % of qualifying R&D spend and needs an annual opinion of the FFG.

These IP boxes follow the OECD nexus rule: the benefit follows the share of qualifying spend in total development spend, measured per IP asset, product or product family. Under the OECD standard, development bought from related companies and acquired IP do not count as qualifying spend; Switzerland also counts R&D done by Swiss group companies. For groups with consolidated revenue of EUR 750 million or more in at least two of the four preceding years, the global minimum tax tops up the effective rate in a country to 15 % where it falls below.

That makes it an ERP question as well as a tax question. The ERP has to cover each region: the local books and tax of each entity, and group reporting under IFRS, US GAAP or Swiss GAAP FER. It also has to carry licence fees between group companies, with the withholding tax of each route, and development cost per IP asset, kept for years.

Contracts, subscriptions and usage, as you sell them

We set up billing for the contracts you actually sell. First we decide with you where the contract lives: in the ERP, in a CRM such as Salesforce or HubSpot, or in a billing system such as Chargebee. The other systems then read it from there.

Contract shapes vary, and many companies sell more than one:

  • Subscriptions bought online and paid by card, monthly or yearly
  • Subscriptions with a start date, a term, a billing period and a renewal rule
  • One-off items such as licences, set-up fees and training days
  • Implementation work at a fixed price, by milestone or on time and materials
  • Usage priced per transaction, per API call or per active user

For each shape we set the rules for changes: whether added users are billed at once or at renewal, how a second contract is aligned to the first end date, and what a cancellation does.

Usage is measured in your product. We agree with you how the quantities reach the invoice, by import or by interface, and who checks them before it goes out.

Monthly and annual recurring revenue (MRR and ARR), churn and expansion then come from the contract records and reconcile to the ledger, instead of a spreadsheet that is rebuilt every month.

Revenue recognition depends on what you sold and where you report

We set up revenue recognition per legal entity and framework. On NetSuite with Advanced Revenue Management, the revenue schedule follows the contract's performance obligations. On Odoo, it follows each invoice line, which is enough where every line is invoiced in advance with its own price and period. What each framework requires:

Framework What the rule says What the ERP has to do
IFRS 15 The contract is split into distinct performance obligations and the price is allocated by standalone selling price (IFRS 15.27, 15.73 to 80). A licence is a right to access, recognised over time, or a right to use, recognised at a point in time (IFRS 15.B56, B58). Hosted software without a licence is usually a service recognised over time. Sales commissions that are incremental costs of obtaining a contract are capitalised; where they would be amortised within a year, they may be expensed instead (IFRS 15.91 to 94). Performance obligations per contract, an allocation by standalone selling price, a revenue schedule per obligation and an asset for capitalised commissions
Swiss GAAP FER Since 1 January 2016 the framework, FER 3 and FER 6 require the components of a multiple-element arrangement to be recognised separately. There is no separate revenue standard. Separate lines per component, each with its own recognition date or schedule
Swiss Code of Obligations (OR) Income and expense are recognised in the period they relate to (Art. 958b OR). A subscription paid in advance sits in deferred income (passive Rechnungsabgrenzung, Art. 959a OR) until the period it covers. Deferred revenue per invoice line, released month by month

A Swiss subsidiary often reports under OR or Swiss GAAP FER while the group reports under IFRS, or under US GAAP. There ASC 606 applies, the counterpart of IFRS 15, issued together with it in May 2014. The system then has to keep both views of the same contract.

Where contracts need an allocation by standalone selling price, which NetSuite calls fair value, we set it up in NetSuite with Advanced Revenue Management and its Revenue Allocation add-on. Odoo's standard product does not reallocate between invoice lines; partner apps for Odoo 19 add the allocation on contract records of their own.

Implementation projects and support

Where you sell implementation, integration, training or support, we set them up as projects with budgets, milestones and hours, on the same timesheets your developers use for the product. Each hour then lands on a customer project or on a development epic, never on both.

  • Fixed-price, milestone and time-and-materials billing from the same timesheets
  • Project margin with actual hours at cost, not at list price
  • A helpdesk with service levels tied to the customer's contract
  • Renewal and upsell opportunities that reach sales from the support history

A platform first, specialist systems where they earn their place

We set up a platform first, because the links matter. The contract and its invoices set the revenue schedule, the timesheet sets project margin, cost per epic and capitalised development, and support feeds the renewal. Split across systems that are not connected, each link becomes an export.

A specialist system still earns its place where it does one job better, and many software companies should keep the ones they run. We decide with you which system owns which record, and connect them so that you still get:

  • One contract record shared by sales, billing, finance and support
  • A revenue schedule per contract line, released under the rules of each framework you report under
  • Recurring revenue figures that reconcile to the ledger
  • Development hours that can be capitalised without a separate spreadsheet
  • Cost per epic and per IP asset, for each legal entity

How we test it in an evaluation

In our evaluations, each shortlisted system has to run one of your contracts and one of your epics from end to end, with your data. Every vendor can show a recurring invoice; what matters is what happens when something changes:

  1. One of your contracts, as you sell it
  2. An upgrade in the fifth month and a renewal at a new price
  3. A month of usage imported and invoiced
  4. A period close with deferred revenue in each set of books you report, and the recurring revenue figures reconciled to it
  5. A month of development hours and overhead on two epics, with the directly attributable cost split into what is capitalised and what is expensed
  6. A licence fee charged between two group companies in different currencies

Not slides. Transactions.

Software, from plans and prices to the monthly close

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. The customer type switch marks what applies to businesses, consumers or the public sector.

Core process

Subprocess · 01 of 08

Plans and prices

Items, plans and price lists are set up once as templates, so every quotation, invoice and revenue plan draws on the same definitions.

No activity of this step applies to this customer type.

Requirements in this step

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

No specific system requirement at this activity.

  • Deferred revenue released on schedule
    Odoo
    3 · Standard
    NetSuite
    3 · Standard
  • Subscriptions, renewals, mid-term changes and recurring revenue reporting
    Odoo
    3 · Standard
    NetSuite
    2 · Add-on
  • Performance obligations and allocation by standalone selling price
    Odoo
    2 · Add-on
    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 · 02 of 08

Quote and contract

One quotation carries the subscription, licence, implementation and support, with the tax calculated when it is made. Consumers sign up online and pay by card instead.

No activity of this step applies to this customer type.

Requirements in this step

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

No specific system requirement at this activity.

  • CRM, quotations and customer support with service levels
    Odoo
    3 · Standard
    NetSuite
    3 · Standard
  • Subscriptions, renewals, mid-term changes and recurring revenue reporting
    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 · 03 of 08

Set up and activate

The order splits: software becomes an active subscription, other items go to delivery. The price is split by obligation, and revenue is planned from the start of the service period, together with the forecast.

No activity of this step applies to this customer type.

Requirements in this step

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

No specific system requirement at this activity.

  • Subscriptions, renewals, mid-term changes and recurring revenue reporting
    Odoo
    3 · Standard
    NetSuite
    2 · Add-on
  • Usage-based billing from metered quantities
    Odoo
    2 · Add-on
    NetSuite
    2 · Add-on
  • Performance obligations and allocation by standalone selling price
    Odoo
    2 · Add-on
    NetSuite
    2 · Add-on
  • Deferred revenue released on schedule
    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 · 04 of 08

Implement

The implementation runs as a project with a budget and milestones, and the hours booked to it set both the invoice and the project margin. Consumers who use the software as it is need none.

No activity of this step applies to this customer type.

Requirements in this step

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

No specific system requirement at this activity.

  • Projects, timesheets and project billing
    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 · 05 of 08

Bill and collect

Each billing run turns subscriptions and checked usage into invoices, posts what is billed in advance as deferred revenue and follows every invoice to payment. A consumer's card is charged each period.

No activity of this step applies to this customer type.

Requirements in this step

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

No specific system requirement at this activity.

  • Usage-based billing from metered quantities
    Odoo
    2 · Add-on
    NetSuite
    2 · Add-on
  • Subscriptions, renewals, mid-term changes and recurring revenue reporting
    Odoo
    3 · Standard
    NetSuite
    2 · Add-on
  • Deferred revenue released on schedule
    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 · 06 of 08

Support customers

Support works from the customer's contract: each ticket carries its service level, defects reach development, and the support history reaches sales before the renewal.

No activity of this step applies to this customer type.

Requirements in this step

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

No specific system requirement at this activity.

  • CRM, quotations and customer support with service levels
    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 · 07 of 08

Change and renew

Upsells, downsells and renewals change the running contract: each change is priced for the rest of the term, billed without a manual credit note and reflected in the revenue split. A renewal is quoted like a new contract.

No activity of this step applies to this customer type.

Requirements in this step

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

No specific system requirement at this activity.

  • Subscriptions, renewals, mid-term changes and recurring revenue reporting
    Odoo
    3 · Standard
    NetSuite
    2 · Add-on
  • Performance obligations and allocation by standalone selling price
    Odoo
    2 · Add-on
    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 08

Close the period

Each period end releases deferred revenue, reconciles recognised and recurring revenue to what was billed, capitalises qualifying development, and closes with the bank reconciliation and the VAT return.

No activity of this step applies to this customer type.

Requirements in this step

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

No specific system requirement at this activity.

  • Budgets and overhead costs per epic or deliverable
    Odoo
    3 · Standard
    NetSuite
    2 · Add-on
  • Deferred revenue released on schedule
    Odoo
    3 · Standard
    NetSuite
    3 · Standard
  • Subscriptions, renewals, mid-term changes and recurring revenue reporting
    Odoo
    3 · Standard
    NetSuite
    2 · Add-on
  • Development hours capitalised as an asset
    Odoo
    1 · Workaround
    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.

How the platforms compare for software companies

Both systems bill subscriptions and run projects. They differ in where the revenue rules live, what needs an extra module, and how overhead reaches a project.

Odoo

Meets 8 of 9

NetSuite

Meets 7 of 9

Requirement Needed Odoo NetSuite
Subscriptions, renewals, mid-term changes and recurring revenue reporting 3 3 · Standard 2 · Add-on
Usage-based billing from metered quantities 2 2 · Add-on 2 · Add-on
Deferred revenue released on schedule 3 3 · Standard 3 · Standard
Performance obligations and allocation by standalone selling price 2 2 · Add-on 2 · Add-on
Development hours capitalised as an asset 2 1 · Workaround 1 · Workaround
Budgets and overhead costs per epic or deliverable 2 3 · Standard 2 · Add-on
Projects, timesheets and project billing 3 3 · Standard 3 · Standard
CRM, quotations and customer support with service levels 3 3 · Standard 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 on its SuiteSuccess Software edition with SuiteProjects. 3 included, 2 add-on module, SuiteApp or a partner's app listed for the current version, 1 workaround, 0 not offered. The dashed outline is what a software group that reports under IFRS needs, in our assessment; hatching marks the gap.

Odoo: contract to cash in one database

Subscriptions with MRR and churn reports, deferred revenue, budgets and the helpdesk with service levels (all Odoo Enterprise), projects, timesheets, project profitability and CRM share one database and one web client, which also runs as an app on phones. Odoo's standard product does not allocate a contract price by standalone selling price (what NetSuite calls fair value): it defers each invoice line on its own. Partner apps for Odoo 19 add the allocation on contract records of their own, kept apart from orders and invoices. Where the allocation has to run on the sales transactions themselves, NetSuite comes in: Advanced Revenue Management with Revenue Allocation. Each epic is a project with its own budget, and distribution models post overhead to it at fixed shares, which we keep up to date as epics open and close. Metered usage is billed by a partner's app, apart from Odoo Subscriptions and its MRR reports. Capitalised development is a period-end entry from timesheet costs.

NetSuite: mature, module by module

Revenue Management (Advanced Revenue Management Essentials) comes with the SuiteSuccess Software edition and releases deferred revenue by rule. SuiteBilling covers subscriptions, change orders and usage, and the Revenue Allocation add-on splits a contract price by standalone selling price, which NetSuite calls fair value. Both are provisioned on request, and recurring revenue metrics come from a separate SuiteApp. Project tasks, milestones and project billing need a separate module, Project Management or SuiteProjects; SuiteProjects includes Job Costing and Project Budgeting, which sets cost budgets per task and month. Allocation schedules move overhead to projects. CRM and case management with escalation rules are native. Capitalised development is a period-end journal from project time to an asset account, from which the Fixed Assets Management SuiteApp (Premium edition) creates the asset with its project. The free NetSuite for Mobile app covers time, expenses, dashboards and records.

Walk us through one of your contracts.

From the quotation to the first renewal, or from the first timesheet to the capitalised asset. We will show you where an integrated system changes the result, and where it does not.