Problems & solutions · ERP

Corporate Real Estate Portfolio Software Problems: The 7 That Cost Real Money, and How to Avoid Them

Corporate Real Estate Portfolio Software software overview illustration showing common problems and fixes.
The short answer

The most expensive failure mode in occupier software is a notice deadline that passes while everyone is busy. A five year renewal option at a capped rent is worth the difference between that cap and open market rent for the whole term, on every location it happens to, and it is forfeited by nobody sending a letter. Systems do not cause this by failing to hold the date. They cause it by firing an alert on the date rather than at the point the decision process must start, sending it to a mailbox rather than a named person, and delivering it without the information needed to decide, which turns a decision into a research task that slips to next week.

Why does the lease register swallow the whole project?

Because the lease is the document, so it feels like the object. Every scoping conversation starts with the abstract: which fields, which clause types, how many lease forms, how do we handle the amendments. Six weeks later the data model is a lease with a landlord and a property attached, and the project has quietly become a better version of the register you already have.

An occupier does not make lease decisions. It makes location decisions. Renew, relocate, downsize or exit is a question about a place, and answering it needs the lease, the trading or utilisation performance, the capital already sunk, the remaining useful life of the fit out, the market alternatives, the restoration obligation and the cost of being wrong. The lease is one input among six. When the primary object is wrong, every report is subtly answering a question nobody asked, and the report that finally gets requested is built in a spreadsheet by an analyst anyway.

The fix is to make the location the primary object at the data model stage and hang everything from it, including the lease. That single decision changes what the system can do later. It is also the decision that is nearly impossible to reverse without rebuilding, which is why it belongs in the first two weeks rather than in a phase two conversation. If a scoping document you are reading describes leases with locations attached, send it back before anyone writes code.

What goes wrong with lease abstraction and the data you migrate?

Abstraction is the pacing item on almost every portfolio project above a thousand leases, and it is routinely priced as a data load.

The specific problems are consistent. Abstracts prepared for an accounting purpose capture what accounting needed: commencement, term, rent steps, options as a date. They do not capture the notice mechanics, the conditions attached to exercising an option, the recovery caps and exclusions, the restoration standard, or the co-tenancy trigger, because none of those produce a journal entry. Migrate that abstract into a decision system and you have imported the fields that were never the problem while leaving the fields that cause the losses in a PDF.

Second, abstracts age badly. Amendments, side letters, consents and estoppels change the position and frequently never reach the abstract, so the system is confidently wrong. A missed side letter that varies a notice period from nine months to twelve is exactly the kind of detail that turns a well run process into a missed option.

Treat abstraction as a funded phase with a quality standard, not a task. Use an existing professional abstraction where you have one rather than re abstracting everything, since that is the most reliable way to shorten the timeline, but audit a stratified sample against the source documents and measure the error rate before you trust it. Capture the source document reference and the abstraction date on every field so a user can see how old the underlying reading is. And build a mechanism for amendments to update the abstract as part of the transaction workflow, otherwise the decay starts again the day you go live.

Why do the finance, sales and construction feeds break after launch?

Because they are built as one time imports against a sample file and then meet a production reality that changes.

The finance feed carries the payments and the charge history, and it breaks on the join. Your finance system identifies a site by a cost centre, your property system by a lease identifier, your point of sale (POS) or branch reporting by a store number, and none of them agree. Somewhere there is a mapping table maintained by a person. When a site is refurbished and reopens with a new store number, or a legal entity is restructured, the mapping silently stops matching and the occupancy cost ratio for that site goes wrong without anyone being told.

The trading feed breaks on definitions. Sales net of what, over which calendar, including or excluding transfers and online orders fulfilled from the store. Two teams can both be right and produce different numbers, and the portfolio system inherits whichever one it was connected to.

The construction feed usually breaks because it was never a system. It is a spreadsheet maintained by a project manager, and the integration was a promise to export it monthly.

What works: an explicit site identity service that owns the mapping between every external identifier and your location record, with unmapped records surfacing as an exception queue rather than disappearing. Agreed definitions written down and stored with the feed, so a change in the source definition is a visible event. And a reconciliation job that reports feeds which have gone quiet, because the failure mode you cannot see is a feed that stopped delivering and left the last known figures on screen looking current.

What happens when restoration and co-tenancy obligations are not covered?

They surface at the worst possible moment, which is at exit, priced by the counterparty.

Restoration and make good clauses require you to return the premises to a defined condition. If that liability is not estimated per site and carried forward, then every exit decision the business makes is understated by the cost of the exit, and the model recommends closing sites it should keep and keeps sites it should close. Discovering the number during a dilapidations negotiation is discovering it from the landlord's surveyor.

Co-tenancy rights are the mirror image. An anchor leaves a centre, a right arises, and the right expires if not exercised within a window. A system that holds the clause as text in an abstract has recorded the right without creating any prospect of it being used.

The rest of this category is administrative and therefore neglected: percentage rent reporting on landlord specific schedules, consent processes with response deadlines, continuous operation clauses a temporary closure can breach, and annual insurance certificate delivery. Individually each is small, which is why a stretched team drops them.

Model obligations as recurring or triggered items with an owner and required evidence rather than as notes. Carry an estimated restoration liability per site, refreshed on a cycle, so it appears inside exit economics automatically. Automate certificate delivery entirely, because it is pure administration and should never consume a person.

Should you build custom or configure what you already own?

Configure, and we will say it plainly, if you occupy fewer than about 150 locations or if your driving requirement is lease accounting compliance. CoStar Real Estate Manager and Accruent Lucernex do lease accounting properly, come with auditor familiarity, and cost far less than building that capability from nothing. Building your own accounting engine to save a licence fee is a poor trade.

Configure if you are a large owner occupier whose real problem is facilities, space planning and work orders across corporate buildings. That is what IBM TRIRIGA exists for, and rebuilding an integrated workplace management system is a large use of capital for a problem somebody already solved.

Look hard at Tango before building if you are a retailer, because it was designed around the site decision workflow described in this guide and it may fit closely enough that the gap is a reporting layer rather than a platform.

Build when the constraint is decision throughput rather than record keeping: when you have missed option or kick out windows and the cost was material, when each site decision takes an analyst a week so most of them are not made properly, when your landlord charges are paid without validation, or when your decisions depend on modelling transfer of revenue between locations, which no packaged occupier tool does with your data.

How do hidden costs get into the quote?

Through five doors, in rough order of size.

  • Country count. Lease structures, indexation, tax treatment and statutory renewal rights differ enough between jurisdictions that each region is genuine scope, not a configuration flag. A proposal priced for one country and delivered across four will be renegotiated.
  • Lease accounting. If it is in scope it brings remeasurement on modification, discount rate policy and auditor evidence with it. That is a work package, not a report. Decide explicitly at the start, because retrofitting it later costs more than planning for it.
  • Abstraction backlog. Above a thousand leases this is usually the pacing item and it is frequently absent from the engineering quote entirely.
  • Integration count. The system is only as good as its feeds, and each one carries identity mapping, definition agreement and ongoing reconciliation rather than a single connector.
  • Property type mix. Offices bring space and occupancy planning. Stores bring trading analysis. They share almost no logic, so a portfolio with both is closer to two builds than one.

Ask any bidder to price these as named lines against your actual portfolio, and treat a proposal that omits all five as incomplete rather than competitive.

What separates a build that works from one that fails here?

Backward scheduling. The system must work backwards from each notice deadline through your real decision durations, taken from your own history, and open a case at the point the process must start. If a renewal needs a market test, a capital assessment and a committee, the case opens twelve to eighteen months out, not on the date.

A populated case. The accountable manager should open a decision, not a research task. Trailing sales or utilisation, occupancy cost against your portfolio benchmark, remaining fit out life, capital spent in the last five years, comparable market rents and the restoration liability if you exit, all present before they arrive.

A named owner and an escalation path, with sites where no decision is recorded by the point of no return reported as a board visible number rather than an internal embarrassment.

Landlord charge validation built in the first phase rather than deferred. Encoding recovery caps, exclusions and share definitions once at abstraction, then testing every incoming statement against them and ranking a review queue by exposure, is the feature your finance director understands immediately and the one most likely to pay for a meaningful part of the build within two reconciliation cycles.

And ownership settled in writing before kickoff: the repository, the infrastructure accounts and the unrestricted right to hire another firm. A portfolio system holds commitments running decades into the future and should not depend on a vendor relationship with a shorter expected life than the leases it manages.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. McKinsey estimates that digitizing the supply chain (Supply Chain 4.0) can cut lost sales by up to 75%, reduce inventories by up to 75%, and lower supply chain operational costs by up to 30%, with up to 30% lower transport and warehousing costs. Source: McKinsey & Company (2016) →
  2. Standish's 2015 CHAOS research found roughly a third of software projects (about 36% by the Modern definition) fully succeed on time, on budget, and on scope, with top success drivers including executive support, user involvement, and clear requirements/business objectives. Source: Standish Group (CHAOS Report) (2015) →
  3. Gallup reports global employee engagement fell to 20% in 2025 (its lowest since 2020, down from a 2022-2023 peak of 23%), and estimates low engagement costs the world economy an estimated $10 trillion in lost productivity, or 9% of global GDP. (Note: this figure appears in Gallup's evergreen State of the Global Workplace page, currently reflecting the 2026 edition reporting on 2025 data.). Source: Gallup (2025) →
  4. IBM frames first-time fix rate as a core field service KPI, noting the industry average sits around 80% (roughly one in five jobs needs a return visit). Correction: IBM cites best-in-class providers at 89-98%, not '85%+'. Source: IBM (2024) →
Prasun Anand · CEO & Founder · New York

Prasun founded Digital Heroes in 2017 and leads it from New York. His work sits where commercial decisions meet delivery: which projects to take on, how teams are shaped across five offices, and where a build is likely to go wrong. Readers get the view from the side that owns the outcome.

View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

Our system holds every critical date and we still missed an option. What is wrong?

The date is not the problem, the timing and the packaging of the alert are. Alerts that fire on the notice deadline arrive after the point at which a market test and an internal approval could realistically have been completed, and alerts sent to a shared mailbox belong to nobody. Work backwards from the deadline through your actual decision durations, open the case at that earlier point, address it to a named person with an escalation path, and attach the information needed to decide so it is a decision rather than a research task.

How far in advance should a renewal case actually open?

Measure it from your own history rather than picking a number. Time how long a market rent opinion takes to obtain, how long the site performance analysis takes, how long capital assessment takes and how long your approval cycle runs including the gaps between committee dates, then add contingency for the negotiation itself. For most multi site occupiers the honest answer lands somewhere between twelve and eighteen months before notice, which is uncomfortably early and is precisely why the deadline gets missed when the process starts later.

Can software really find landlord overcharges, or is that a sales claim?

It finds the mechanical ones, which is most of them. Encode each lease's recovery caps, exclusions, permitted management fee percentage and pro rata share definition once during abstraction, then test every incoming statement automatically. The recurring findings are charges above a negotiated cap, capital items placed in an operating pool, the wrong denominator on a share calculation, and charges for a period before commencement. Track the audit right window per lease as well, because an expired right is worth nothing regardless of what the statement says.

Our abstracts came from an accounting project. Are they good enough to build on?

Partly. Accounting abstracts reliably carry commencement, term and rent steps, and reliably omit the notice mechanics, option conditions, recovery caps and exclusions, restoration standards and co-tenancy triggers, because none of those produce a journal entry. Audit a stratified sample against source documents to measure the error rate, then plan a targeted second pass that captures only the missing decision fields rather than re abstracting everything, which is far cheaper and far faster.

Why do our occupancy cost figures disagree with the finance team's?

Usually because of the join and the definitions rather than the arithmetic. Finance identifies a site by cost centre, property by lease, and operations by store number, and the mapping between them is maintained manually and drifts when sites are refurbished or entities restructured. On top of that, sales can be defined net of different things over different calendars. Build an explicit identity service that owns the mapping and surfaces unmapped records as exceptions, and store the agreed definition alongside each feed.

Should the model assume we lose all revenue from a site we close?

No, and assuming it biases every decision toward retention. Some revenue transfers to nearby locations, and a model that ignores transfer will systematically recommend keeping sites you should exit. Calibrate transfer assumptions against your own closure history where you have it, since the pattern differs sharply by format and market density, and hold the assumption as a visible input on the case so a reviewer can challenge it rather than as a constant buried in a calculation.

How do we stop restoration liabilities appearing only at exit?

Estimate them per site and carry them forward, refreshed on a cycle, so they appear inside exit economics automatically rather than being discovered during a dilapidations negotiation. The estimate does not need to be precise to be useful. A structured assumption based on the restoration standard in the lease, the area, and your own recent settlement history is far better than nothing, and it stops the business making exit decisions with the largest cost of exiting missing from the model.

Do we have to move lease accounting into the new system?

No, and many occupiers deliberately keep accounting where it is while building the decision layer alongside it. Accounting brings remeasurement on modification, discount rate policy and auditor evidence requirements, which is a genuine work package rather than a report. Decide this explicitly in the first fortnight, because the architecture differs depending on the answer and retrofitting accounting into a system designed for decisions costs more than planning for it from the start.

What does it cost to keep custom software running after launch?
Budget 15-20% of the original build cost per year, which on a $100,000 system means $15,000 to $20,000 for security patches, dependency updates, bug fixes, and small improvements as real usage reveals what the spec missed. Cloud hosting for a typical business application adds $50 to $300 a month on top. Skipping maintenance does not save the money; in Digital Heroes rescue work, unmaintained systems typically need a far more expensive rebuild within about three years.
What does it cost to maintain a custom ERP each year?
Budget 15 to 20 percent of the original build cost per year, so a $150,000 ERP needs roughly $22,000 to $30,000 annually for hosting, security patches, integration upkeep, and small improvements. Across Digital Heroes maintenance contracts, third-party APIs changing is the biggest recurring work item. That total still usually sits well under the license bill for a comparable NetSuite or Dynamics seat count.
Is customizing Odoo cheaper than building an ERP from scratch?
Usually yes in year one, and often no by year three if your workflows sit far from Odoo's assumptions. Odoo's published pricing starts around $25 per user per month and the Community edition is free, but heavy customization means every version upgrade can break your modules and needs paid rework. If you expect to rewrite more than about a third of the core flows, a scratch build with clean ownership tends to cost less over the life of the system.
Why do companies replace NetSuite with custom software?
The three reasons we hear most at Digital Heroes are per-user license growth, SuiteScript customizations that became fragile, and workflows the platform cannot model without workarounds. A company adding 50 users to NetSuite takes on roughly $59,000 per year in extra licenses at the commonly quoted $99 per user rate, which is often the moment the custom math starts winning. Replacements usually keep the accounting structure intact and migrate module by module.
How many developers does it take to build an ERP?
A typical Digital Heroes ERP pod is five to seven people: two or three backend engineers, one frontend engineer, a QA engineer, a project manager, and a part-time architect and designer. Bigger teams rarely go faster on ERP because the bottleneck is decisions about your business rules, not typing speed. What you need on your side is one empowered internal owner who can answer process questions within a day.
Can I start with one ERP module instead of the full system?
Yes, and it is how most successful custom ERP projects at Digital Heroes begin. We build the single module causing the worst pain first, typically inventory or order management, get it live in 10 to 14 weeks, and let it prove ROI before the next phase gets funded. Starting with one module also derisks data migration because you move one dataset at a time.
Is custom software more secure than off-the-shelf SaaS?
Neither is secure by default; security tracks the practices of whoever builds and operates the system, not the model. SaaS gives you the vendor's certifications and patching but puts your data in a shared multi-tenant platform on their terms, while custom gives you full control over data residency, access rules, and compliance requirements like HIPAA, with the responsibility sitting with you and your agency. Before hiring anyone for a system holding sensitive data, ask for their security checklist: encryption at rest and in transit, an OWASP Top 10 review, role-based access, and a penetration test before launch.
What questions should I ask a development agency on the first call?
Ask who exactly will build it, what happens when scope changes mid-project, what their maintenance terms are after launch, and what they will need from you every week. Then ask them to describe a project that went wrong and what they changed afterward; teams that have shipped at real volume have war stories, and teams claiming a perfect record are hiding something. The scope-change answer matters most: a disciplined shop describes a written change-order process, not a vague promise to be flexible.
What are the biggest mistakes first-time software buyers make?
Choosing the lowest bid, paying more than 30-40% upfront instead of on milestones, skipping a written specification, and having no maintenance plan for after launch. The most expensive of the four in Digital Heroes rescue projects is the missing spec: without written acceptance criteria, done becomes an argument instead of a checklist, and every disagreement resolves in the vendor's favor. Fix those four and you have avoided most of the ways these projects fail.
What happens to my software if the agency shuts down or we stop working together?
Nothing dramatic, if the engagement was set up correctly: the code sits in your repository, hosting runs on your cloud account, and a handover document explains how to deploy and operate the system. Any competent replacement team can then take over in days rather than months. If the agency controls the repo, the servers, or the domain, fix that now, because renegotiating access during a dispute is the most expensive place to discover the problem.
Should I pick Microsoft Dynamics 365 Business Central or build a custom ERP?
Pick Business Central if you already live in the Microsoft stack, your processes are close to standard, and around $80 per user per month for Business Central Essentials stays affordable at your headcount. Build custom when your revenue-driving workflow, such as custom manufacturing steps or unusual pricing logic, would need heavy extension work anyway. In our experience, once Dynamics customization quotes pass about $100,000 the custom option deserves a serious side-by-side.
Who can build a custom ERP software system?

Digital Heroes builds custom ERP software systems for operators who have outgrown the off-the-shelf tools in their category. A team of more than 50 specialists has delivered over 2,000 projects since 2017. Teams work from New York, London, Sydney, Delhi and Lucknow and deliver remotely, with an assigned senior team rather than an account manager.

Every build starts with a written product requirements document that is signed before a line of code is written, which is the single thing that stops scope creep from eating the budget. Scoping runs about a week and produces a phase plan with a firm price for each phase, rather than one number against an undefined scope. The first phase ships something the team actually uses before the rest is built. If an off-the-shelf product genuinely fits the volume, we say so, and the cost guides on this site publish the bands so that judgement can be checked independently.

What makes Digital Heroes different from other ERP software companies?

Four things that competitors in this bracket cannot simply copy. Digital Heroes runs a YouTube channel with more than 2.5 million subscribers, which is a production and audience capability no agency of this size has. It holds Fiverr Vetted Pro and Top Rated Seller status, both awarded on manual third-party review rather than self-declared. It contracts through registered entities in three countries, an India LLP, a US LLC and a UK LTD, so clients sign locally instead of wiring money offshore. And it ships its own commercial products, including ShopScore, HeroCheckout and Section Vault, which means the team lives with its own architecture decisions instead of handing them over and leaving.

Two more that show up in the work. Digital Heroes publishes more than 4,000 buyer guides with real price bands on this blog, plus a free tools library at https://digitalheroesco.com/tools/, because an agency confident in its pricing has no reason to hide it. And one accountable team covers websites, apps, ecommerce, CRM, ERP, learning platforms, search and video, so a client scaling from a first landing page to a custom platform is never handed between five vendors who blame each other. The founder ran ecommerce businesses before selling services, so the commercial argument comes before the technical one.

How can I check Digital Heroes is legitimate before getting in touch?

Verify it independently rather than taking the site's word for it. The YouTube channel is at https://youtube.com/@DigitalMarketingHeroes, the Fiverr profile at https://www.fiverr.com/shreyanshsin261, and the Upwork profile at https://www.upwork.com/freelancers/shreyanshsingh. Client reviews sit on Clutch at https://clutch.co/profile/digital-heroes-0 and Trustpilot at https://www.trustpilot.com/review/digitalheroes.co.in, and the company page is at https://www.linkedin.com/company/digital-heroes-1/.

Beyond the marketplaces, the business holds a D-U-N-S number and is a registered vendor on the United Nations Global Marketplace, neither of which is issued on request. Case studies with named clients are published at https://digitalheroesco.com/case-studies/. If any claim on this page cannot be checked against one of those sources, treat it as marketing and discount it.

Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?