Custom Software Cost in Industry: Rates, Cost Drivers, Hidden Blocks
- Published:
- Reading time
- 21 min read
- Author:
- Abbas Mohammadi
Custom software in industry costs as much as the hours that analysis, development, connectivity, testing and acceptance on a running line actually take - multiplied by an hourly rate that in 2026 sits at a median of EUR 95 for IT freelancers in the DACH region. A defensible figure for custom software cost in industry therefore exists only as a range, and that range depends less on the user interface than on controllers, interfaces and test windows. This article sets out what a quote is made of, which cost drivers exist only in manufacturing, and how to put competing quotes on a common basis.
Custom software cost in industry: why only ranges are credible
Any credible statement about custom software cost is a range, because the price comes from two quantities: the effort in hours and the hourly rate. The rate is reasonably well documented in public; the effort depends entirely on your plant. The same fault log with reporting costs a fraction on a line with three identical controllers and an OPC UA server compared with eight machines from four different decades, two fieldbuses and one line with no interface at all.
As a reference frame for software development cost per hour, only third-party data with a named author and a date is of any use. The Freelancer-Kompass 2026 by freelancermap, evaluated in an article dated 2 July 2026, puts the median for IT freelancers across the DACH region (Germany, Austria and Switzerland) at EUR 95 per hour, with a mean of EUR 97. Agencies and system houses additionally price in sales, project management and idle time; their rates are usually higher, but no comparable public survey covers them.
| Specialism | Median hourly rate 2026 | Source and date |
|---|---|---|
| IT freelancers overall (DACH) | EUR 95/h | freelancermap, Freelancer-Kompass 2026, 2 July 2026 |
| Software and web development | EUR 90/h | freelancermap, 2026 |
| IT infrastructure | EUR 95/h | freelancermap, 2026 |
| Data and analytics | EUR 100/h | freelancermap, 2026 |
| SAP and ERP | EUR 120/h | freelancermap, 2026 |
Anyone commissioning software and benchmarking the cost against web or app projects will systematically underestimate industrial projects. There, the user interface is rarely the bottleneck. The effort sits in connecting controllers, in data quality, in test windows during machine downtime, and in acceptance testing against live production. Whether a bespoke build is the right route at all is settled by the decision matrix for off-the-shelf versus custom software; this article assumes that decision has gone towards custom development, or is about to.
The alternative of developing in-house remains a question of price too - above all a question of capacity. According to Bitkom Research, the German economy is short of around 79,000 IT specialists in 2026, and 17 % of the profiles sought are in software development and architecture. The figures come from two surveys of companies with three or more employees, run between calendar weeks 18 and 25 of 2026 with samples of 853 and 602 companies. In 2025 the shortfall was 109,000, in 2023 still 149,000. The falling number does not make in-house development any cheaper: 31 % of companies receive few or no applications for IT vacancies.
What a quote is actually made of
Every quote for custom software consists of six blocks, even where a supplier does not itemise them: analysis and specification, development, integration, test and acceptance, commissioning and training, and operation and maintenance. The distribution in Tab. 02 is a rule of thumb from practice, not a measurement - but it shows where industrial projects sit differently from pure application projects: integration, as well as test and acceptance, takes a proportionally larger share, because third-party systems, controllers and shift operation set the pace.
| Block | Share of project price (indicative) | What manufacturing adds |
|---|---|---|
| Analysis and specification | 10-15 % | Site walk-through, signal and data point list, alignment with maintenance and IT |
| Development | 35-45 % | Core logic, user interface, data model, roles and permissions |
| Integration | 15-25 % | Controller connectivity, ERP and MES interfaces, certificates, network clearances |
| Test and acceptance | 10-15 % | Test data, testing inside the downtime window, acceptance loops at the machine |
| Commissioning and training | 5-10 % | Rollout per line, training across several shifts, handover documentation |
| Operation and maintenance | annual, priced separately | Fault fixing, adjustments, updates, security upkeep, on-call availability |
Two checks are worth making on every quote. First: does the supplier itemise integration and test and acceptance as separate lines? A quote that puts 80 % of the price under a single development item has usually not seen the plant. Second: is the expansion stage clear? Many projects begin by replacing an Excel-based schedule and then grow, so a price with no stage attached to it is not comparable.
Cost drivers that exist only in manufacturing
The cost drivers of software development in industry are almost never features but constraints: how many different controllers have to be connected, whether an interface exists at all, when testing is permitted, and where the system runs. Tab. 03 assigns each driver its effect and a check question you should answer inside your own plant before you request a quote. Every question answered in advance shrinks the risk premium a supplier would otherwise have to price in.
| Cost driver | Effect on effort | Check question for your own plant |
|---|---|---|
| Number and heterogeneity of controllers | Every controller type is a separate connection with its own test | How many manufacturers, series and firmware levels are affected? |
| Protocols and certificates with OPC UA | Security policy, certificate distribution and namespaces cost coordination | Who manages certificates, are the endpoints documented? |
| Brownfield machines with no interface | A retrofit with sensors or signal tapping becomes a sub-project of its own | Which machines deliver no data today, and which signals do you need? |
| Timestamps and sampling | Different clocks and cycle times require synchronisation and buffering | Is there a common time source on the plant network? |
| Test windows only during downtime | Tests slip into weekends and maintenance windows, and the schedule grows | When may testing take place at the machine, and who signs it off? |
| Acceptance on a running line | Acceptance in loops across several shifts instead of in one session | Who accepts, against which criteria: production, maintenance or IT? |
| On-premise operation | Server, backup, monitoring and patching have to be planned in | Who runs the server, and is there a patch window? |
| Documents and OCR quality | Poor scans and inconsistent templates multiply recognition and checking effort | How consistent are delivery notes, inspection records or drawings in reality? |
| Roles and permissions in shift operation | Shift changes, cover arrangements and shared accounts demand their own permissions concept | Who may change what, and how do shifts sign in today? |
| Network segmentation and IT clearances | Every firewall rule is a coordination step with waiting time | Are OT and office networks separated, and who decides on connections? |
Three of these drivers frequently become sub-projects in their own right. Machines with no interface need a retrofit route, described in retrofitting machine data. OPC UA connections fail over certificates and security policies far more often than over the software itself, so endpoints, policies and certificate handling belong in the quote as work in their own right. In document projects the quality of the templates decides the outcome. Complexity therefore varies widely between projects that look alike from the outside: a shift log with no machine connection sits at the lower end, energy monitoring across twenty meters with machine attribution at the upper end - with a user interface of much the same size.
The hidden cost blocks
The items that ultimately blow up the price of custom software regularly appear in no quote at all, because formally they are not the software supplier's deliverable. They arise all the same. The list below is a pattern from practice; check every quote against it and get written confirmation of who carries which item.
- Data cleansing and master data mapping: part numbers, machine designations and cost centres rarely match across ERP, controller and Excel lists; reconciling them is manual work on your side.
- Sourcing test data: order data, fault histories or drawings have to be anonymised, exported and cleared for use.
- Interface fees charged by the third-party vendor: ERP or MES suppliers invoice for API activation, connector licences or consulting days.
- Licences for controller options: server functions such as an OPC UA server are paid-for options on some controllers.
- Acceptance loops: every acceptance tied to a downtime window extends the project; without a cap on loops, someone carries the extra effort.
- Training across multiple shifts: three shifts means three sessions, plus cover staff and refresher training for new hires.
- Documentation: an operating manual, an interface description and a recovery procedure only appear in quotes that take them seriously.
- Migration when a controller or ERP changes: over the software's lifetime a neighbouring system will almost certainly be replaced, and every migration is a small project.
Fixed price or time and materials? What makes sense when
In a software project, fixed price versus time and materials is not a matter of taste but a question of how well the requirements are known. A fixed price presupposes a solid requirements document - otherwise the supplier prices the unknown as a risk premium, and you pay for uncertainty that two weeks of analysis would have removed. Time and materials suits exploratory phases, but demands tickets, timesheets and a budget ceiling that nobody exceeds without your approval. A fixed price becomes possible only once the requirements document names the machines, the interfaces, the data points and the acceptance criteria.
| Criterion | Fixed price | Time and materials | Hybrid |
|---|---|---|---|
| Precondition | Complete requirements document, known machines and interfaces | Trust, ticket system, timesheets | Fixed price for analysis and specification, then time and materials per expansion stage |
| Risk for the client | Changes cost extra, risk premium built into the price | Budget overrun without a ceiling | Capped by a budget ceiling per stage |
| Risk for the supplier | Unknown machines, postponed test windows, endless acceptance loops | Low, but with an obligation to evidence hours | Shared: specification fixed, delivery transparent |
| Suitability | Clearly bounded modules, rebuilding known functionality | Brownfield, data projects, a first expansion stage | Most industrial projects with several stages |
| Typical contract type | Werkvertrag (contract for work): the result is owed (section 631 BGB) | Dienstvertrag (contract for services): the activity is owed | Differs per phase, to be regulated explicitly |
The billing model has legal consequences beyond the invoice. Under section 631 BGB of the German Civil Code, a Werkvertrag obliges the contractor to produce the promised work: a result is owed. Under a Dienstvertrag, the activity is owed. In a judgment of 19 December 2024 (case 10 U 201/22), the Higher Regional Court of Frankfurt classified a contract for developing software interfaces as a Dienstvertrag. According to law firm CBH's case note, payment by time spent, a fixed term with a notice clause and the designation as a service were decisive, and the fee was owed regardless of whether the interfaces worked. The same note stresses that this is the exception: contracts to create software are regularly Werkverträge.
Calculate running costs over the machine's life, not over three years
The software attached to a machine lives as long as the machine does, and machines live a long time. The AfA-Tabelle AV, the German finance ministry's depreciation table for generally usable fixed assets, sets the customary useful life of stationary milling machines at 15 years, lathes and stationary drilling machines at 16 years, presses at 14 and welding equipment at 13 years. Many machines run well beyond that. Looking at the useful life of custom software over three years, as is customary in IT, therefore hides the larger part of the cost.
Total cost = one-off cost + years in use × (maintenance + adaptation + updates + security upkeep + operation + on-call)
- one-off cost
- Analysis through training, every block in Tab. 02 except operation
- years in use
- Remaining life of the machine, not the depreciation period of the software
- maintenance
- Fault fixing and small corrections
- adaptation
- Changes for new products, processes and neighbouring systems
- updates
- Operating system, database, libraries
- security upkeep
- Vulnerability monitoring, patches, certificates
- operation
- Server or hosting, backup, monitoring
- on-call
- Availability and agreed response times
A hypothetical worked example shows the order of magnitude; every figure is assumed. The one-off cost is EUR 120,000. Per year the following arise: maintenance EUR 6,000, adaptations EUR 8,000, updates EUR 3,000, security upkeep EUR 2,000, server operation EUR 4,000, on-call EUR 4,000 - EUR 27,000 in total. Over three years that gives EUR 201,000, with operation accounting for 40 %. Over a 15-year machine life it is EUR 525,000, and operation accounts for 77 %. The one-off price, which takes up most of the negotiation, is the smaller block in this calculation.
Two conclusions follow. First, the annual figure matters more than the one-off price, and it has to appear in the quote - as a flat fee, or as an hourly rate with an agreed block of hours and response times. Second, everything that makes the software handover-ready lowers the annual cost: documented source code that you own, standard technologies instead of exotic frameworks, a reproducible deployment, a recovery procedure. Anyone who can change supplier after ten years pays no premium for dependency.
The accounting view: capitalisation, depreciation, useful life
For the cost of custom software there are three accounting questions: capitalise or not, which useful life, and does the same answer apply in the commercial and the tax balance sheet? For tax purposes section 5 (2) EStG (the German Income Tax Act) is unambiguous: an asset may be recognised for intangible fixed assets only where they were acquired for consideration. Under commercial law, section 248 (2) HGB (the German Commercial Code) grants an option: internally generated intangible fixed assets may be recognised in the balance sheet. Whether commissioned custom software counts as acquired for consideration or as internally generated depends on who bears the production risk - another reason why the contract type matters.
On the useful life of custom software, the BMF circular of 22 February 2022 (IV C 3 - S 2190/21/10002 :025) applies. For system and application software used for data entry and processing, a customary useful life of one year may be assumed. The definition expressly covers not only standard applications but also applications tailored to the individual user, such as ERP software or other application software for business administration or process control. The circular is equally clear: no special form of depreciation, no new depreciation method, no immediate write-off and no election within the meaning of section 5 (1) EStG. The taxpayer may depart from the assumption; the circular replaces the one of 26 February 2021.
| Question | Tax balance sheet | Commercial balance sheet | Source |
|---|---|---|---|
| Capitalise internally generated software? | No - an asset may be recognised only on acquisition for consideration | Option to recognise internally generated intangible fixed assets | Section 5 (2) EStG; section 248 (2) HGB |
| Capitalise software acquired for consideration? | Yes - an asset must be recognised | - | Section 5 (2) EStG (tax balance sheet) |
| Useful life for system and application software | One year may be assumed; departure is possible | Not covered by the BMF circular; useful life under commercial law is your own estimate | BMF circular of 22 February 2022 (tax balance sheet) |
| Is the one-year useful life an election or an immediate write-off? | No - neither an election nor an immediate write-off; section 7 (1) EStG continues to apply | - | BMF circular of 22 February 2022, para. 1.1 |
Making quotes comparable: twelve questions for every supplier
A typical pattern: quotes for the same requirement come in far apart, and usually the reason is not the hourly rate but the fact that different scopes have been priced. The twelve questions below put quotes on a common basis. Ask them in writing, and attach the answers to the contract.
Twelve questions that make any quote comparable
- What is included in the price and what is expressly excluded - block by block, following Tab. 02?
- Which expansion stage is being priced, and what does the next one cost?
- Who provides the test environment, the test data and the test window at the machine?
- How many acceptance loops are included, and what does each further loop cost?
- Who owns the source code after payment, and where is it held?
- What does the exit clause look like: handover of code, documentation and deployment to a third party?
- Which response times apply after acceptance, and what do they cost per year?
- Where does the system run - on-premise, in your cloud, at the supplier - and who operates it?
- Which documentation is delivered: operating manual, interface description, recovery procedure?
- What does an additional interface or an additional controller type cost?
- Which licences, third-party fees and controller options are not included in the price?
- Who carries the risk of postponed test windows and delayed clearances from IT?
Why a sole proprietorship calculates differently from an agency
A sole proprietorship and an agency price the same hour differently, because different overheads hang off it. At an agency or system house, the hourly rate also funds sales, a project office, middle management, office space and the idle time between projects. For a sole proprietorship most of that falls away; in exchange, parallel capacity is limited and cover against absence has to be organised differently. Neither is a statement about quality - they are cost structures with consequences for your project.
- Cost structure: without sales and a project office, a larger share of the hourly rate is actual development time. Whether that shows up in the price is something only the quote will tell you.
- Capacity: a sole proprietorship handles few projects in parallel. Ask about utilisation in the planned period and about response time in the event of a fault.
- Safeguards: ask for handover-readiness rather than promises - documented code that you own, standard technologies, a reproducible deployment. That protects you with any supplier, and with a small one especially.
Conclusion
Custom software cost is decided in your plant, not in a price list: by the number of controllers, by the interfaces that already exist, by test windows, by the operating model, and by how many years the machine still has to run. Public hourly rates give you the frame; the effort comes out of your answers to the check questions in Tab. 03. Calculate operation over the life of the machine, insist on handover-readiness, and use the twelve questions to put quotes on a common basis before you compare prices.
The next step is not a request for a price but a data point and machine list from which a supplier can derive an effort estimate. If you would like to draw up that list together with a developer who knows manufacturing projects, custom software development at ralwo is one possible point of contact.
Frequently asked questions
Sources
- IT freelancer hourly rates 2026: what IT experts earn [IT-Freelancer Stundensatz 2026: Das verdienen IT-Experten] — freelancermap (Freelancer-Kompass 2026)
- Depreciation table for generally usable fixed assets [AfA-Tabelle für die allgemein verwendbaren Anlagegüter, AfA-Tabelle "AV"] — German Federal Ministry of Finance (Bundesministerium der Finanzen)
- Income Tax Act (EStG) - section 5, individual provision [Einkommensteuergesetz (EStG) - § 5 Einzelnorm] — German Federal Ministry of Justice / juris (Gesetze im Internet)
- Section 248 HGB - individual provision [§ 248 HGB - Einzelnorm] — German Federal Ministry of Justice / juris (Gesetze im Internet)
- Useful life of computer hardware and software for data entry and processing [Nutzungsdauer von Computerhardware und Software zur Dateneingabe und -verarbeitung], BMF circular of 22 February 2022, IV C 3 - S 2190/21/10002 :025 — German Federal Ministry of Finance (document copy hosted by Bundesverband Lohnsteuerhilfevereine)
- Section 631 BGB - individual provision [§ 631 BGB - Einzelnorm] — German Federal Ministry of Justice / juris (Gesetze im Internet)
- A contract for the creation of software is a contract for services. The end of an era? [Vertrag über Softwareerstellung ist Dienstvertrag. Das Ende einer Ära?] — CBH Rechtsanwälte
- The labour market for IT specialists 2026 [Der Arbeitsmarkt für IT-Fachkräfte 2026] — Bitkom Research