Industry guide · Custom Software

Tax Aware Portfolio Rebalancing Software: How Do You Trade Thousands of Accounts Without Handing Clients a Tax Bill?

Portfolio Rebalancing Tax Optimization software visual showing chart pie, recurring cycle, and percent.
The short answer

If you run models across thousands of accounts and your rebalancing tool trades at the position level while your tax lot decisions happen in someone's head or a side spreadsheet, build. A first release covering household aware model drift detection, lot level trade generation with wash sale and holding period constraints, and a reviewable trade blotter runs $100,000 to $220,000 and ships in 14 to 20 weeks in our delivery experience. A full platform adding asset location across account types, transition budgets for low basis legacy positions, direct indexing style loss harvesting and custodian trade file integration runs $250,000 to $650,000, phased over 9 to 15 months. If you manage under roughly 300 accounts on a handful of models and most assets sit in tax deferred accounts, do not build. Orion Eclipse or a similar tool will do it and the difference will not show up in client outcomes.

The rebalance that costs the client more than it earns

A firm decides in January to shift the model two points from large cap growth to international. The rebalancer generates trades across 2,400 accounts. It sells the same fund in every account because that is what the model says. In 300 of those accounts the position is short term with a gain, so the client realises income at ordinary rates. In 90 accounts the sale creates a wash sale because the same fund was purchased 20 days earlier by a dividend reinvestment nobody switched off. In a dozen accounts the position is a low basis legacy holding the client inherited emotionally and financially, and the advisor finds out when the client calls.

The model change was correct. The implementation cost more than the change was worth. That gap between the investment decision and its after tax delivery is what a rebalancing engine either closes or widens, and at scale nobody can close it by hand.

This is why the engine is a strategic asset for a registered investment advisor or a turnkey asset management program. It is the thing that turns a model into a client outcome, across thousands of accounts, every day, without an operations team the size of the advisory team.

What the incumbents genuinely do

Orion Eclipse is a capable rebalancer with real tax lot awareness and it is embedded in a platform many firms already pay for. Envestnet and Vestmark run at scale for large sponsors. Smartleaf is built specifically around tax management and does that job well. LifeYield focuses on asset location and household coordination. 55ip built its name on tax aware transitions.

These are not weak products and we recommend them regularly. The reason firms build anyway comes down to model structure and household logic. Every one of these tools imposes its own hierarchy: how a sleeve relates to a model, how a household aggregates, where a restriction lives, how a cash need interrupts a rebalance. If your firm's investment process fits that hierarchy, use the tool. If it does not, you spend years bending your process to the software, and the parts that will not bend become the spreadsheet your operations lead maintains.

The second reason is optimisation transparency. Most packaged tools give you a trade list and a summary. They do not tell you what the optimiser traded off, which constraint bound, or what the result would have been at a different tax budget. Firms that want to explain a trade to a client, or to a regulator, need that.

Problem one: lots, not positions

A position is an aggregate. The decisions live underneath it. Each lot has an acquisition date, a cost basis, a holding period, and an unrealised gain or loss, and the correct lot to sell depends on what you are trying to achieve. Selling highest cost first minimises realised gain today. Selling long term first controls the rate. Selling to a target realised gain budget for the year is a different problem again.

Custodian default methods do not solve this. A firm that trades at the position level and lets the custodian apply first in first out is making a tax decision by accident in every account, every day. The build requirement is that trade generation happens at the lot level, with the lot selection specified per account against the client's own situation, and the resulting tax impact computed and shown before release, not discovered in the January tax package.

Problem two: wash sales are a household problem, not an account problem

The wash sale rule looks back and forward 30 days and it does not respect your account boundaries. A loss harvested in a taxable account is disallowed if a substantially identical security is purchased in the client's individual retirement account inside the window, and in that case the basis adjustment is lost entirely rather than deferred. Dividend reinvestment and automatic contributions are the usual culprits, and they run on schedules nobody is watching.

A rebalancer that checks wash sales within one account is worse than useless because it creates confidence. The build must maintain a household level purchase calendar covering every linked account, including retirement accounts you do not trade, and including scheduled future purchases such as reinvestments and recurring contributions. Then the constraint is applied both directions in time. This is unglamorous plumbing and it is the difference between a tax aware system and a system that says it is tax aware.

Problem three: the constraint set is where firms differ

Real accounts carry restrictions: no tobacco, no employer stock, no sales of this specific position, hold this bond to maturity, keep 40,000 dollars liquid for a property purchase in March, do not exceed 15 percent in any single stock because of a concentration policy, transition this legacy portfolio over three years within an annual realised gain budget.

Every one of those is a constraint on an optimisation, and the interesting cases are where they conflict. The model wants to sell, the gain budget says no, the drift is beyond tolerance and the compliance policy says drift must be corrected. Something has to give and the system has to say which, and why. A build should express this as an explicit optimisation with a stated objective, ranked constraints, and an output that names the binding constraint per account. An advisor who can tell a client that the portfolio is off model because correcting it this year would have cost 9,000 dollars in tax has a conversation. An advisor holding a trade list has an argument.

Problem four: asset location across a household

Bonds in the taxable account and equities in the individual retirement account is a common, avoidable drag. Getting location right means treating the household as the unit of investment, allocating asset classes across account types by tax efficiency while keeping each account's risk within its own bounds, and doing it without triggering the tax cost you were trying to avoid.

Off the shelf tools handle this at varying depth and LifeYield in particular is built for it. The reason to own it is that the location policy is an investment decision you should be able to state, evidence and change. Firms that outsource it cannot explain it, and it eventually shows up in a due diligence question they answer with a vendor brochure.

What a first release should contain

  • A household and account model that reflects your actual hierarchy, including sleeves, models, and which accounts are traded versus observed only.
  • Position and lot ingestion from every custodian you use, reconciled daily, with a clear failure mode when a file is late.
  • Drift detection at account and household level with tolerance bands you define, including cash drift.
  • Lot level trade generation with wash sale windows applied across the whole household and forward looking scheduled purchases.
  • Per account realised gain budgets and holding period preferences, with the binding constraint reported.
  • A trade blotter with review, override with reason, and an immutable record of what was released and by whom.
  • Custodian trade file generation and execution status ingestion, so a rejected trade does not silently vanish.

Cost, timeline and the drivers

A first release with household modelling, lot level generation, wash sale constraints and a reviewable blotter runs $100,000 to $220,000 over 14 to 20 weeks. Adding asset location, multi year transition budgets, loss harvesting at scale and full custodian integration takes it to $250,000 to $650,000 across 9 to 15 months.

What increases cost: custodian count, because each one has its own file formats, position reporting quirks and trade rejection semantics, and adding a custodian is real weeks rather than a config change. Direct indexing style harvesting across hundreds of individual securities, which changes both the optimisation size and the data requirements. Options and concentrated stock strategies, which need their own handling. Multi year transition planning, which requires modelling future tax years rather than just this one.

What holds it down: starting with your largest custodian, your top models, and taxable accounts only. Retirement accounts have no tax constraint and are the easy case, so proving the hard case first is the right order.

When you should not build

Do not build if most of your assets sit in tax deferred accounts, because the entire premise of the project disappears. Do not build under a few hundred accounts, where an advisor reviewing a rebalance manually is genuinely feasible and cheaper. Do not build if you already run Orion or Envestnet and your process fits their hierarchy without side spreadsheets, because you would be paying to reproduce something you have.

Build when you are trading thousands of taxable accounts, when your operations team maintains spreadsheets to handle what the tool cannot express, when after tax outcomes are part of how you win clients and you cannot currently evidence them, when you serve multiple custodians and each one is a manual step, or when you are a turnkey program whose rebalancing engine is effectively your product.

How to choose a developer

Ask how they would prevent a wash sale caused by a dividend reinvestment in a retirement account you do not trade. If the answer does not involve a household level purchase calendar including scheduled future activity, they will build you an account level checker and you will have the problem you started with.

Ask them to describe the optimisation objective and how conflicting constraints are ranked. If they describe a sequence of if statements, you are getting a rules script rather than an optimiser, and it will produce defensible trades right up until two constraints disagree.

Ask what they have integrated. A Schwab position file, a Fidelity trade upload and a Pershing execution report are three separate problems with three separate rejection behaviours. Ask for the named custodian and the named interface.

Ask how a released trade is evidenced. Every override needs a reason and an approver retained immutably, because the first serious question a regulator or a client asks is why this account traded differently from the model.

Settle ownership before kickoff: the repository, the infrastructure accounts and the right to hire anyone else. At Digital Heroes the client owns the code from the first commit. If the rebalancer is your differentiator, owning it is not a preference, it is the point.

Research & sources

The evidence behind this guide

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

  1. The average developer spends more than 17 hours a week dealing with maintenance issues such as debugging and refactoring, and about four of those hours on 'bad code' - waste that equates to nearly $85 billion annually worldwide in opportunity cost. Source: Stripe (2018) →
  2. Only 16% of respondents said their organizations' digital transformations had successfully improved performance and equipped them to sustain gains over the long term; even in digitally savvy industries such as high tech, media, and telecom, self-reported success rates did not exceed 26%. Source: McKinsey & Company (2018) →
  3. Independent reporting of Gartner's 2025 survey confirms 59% of finance leaders use AI, up from 37% in 2023, with error and anomaly detection (34%) and accounts payable automation (37%) among the leading use cases. Source: CPA Practice Advisor (reporting Gartner) (2025) →
  4. WordPress powers 41.5% of all websites and holds 59.2% of the market among sites running a known content management system, making it by far the most-used CMS on the web. Source: W3Techs (2026) →
Zara E. · Senior Strategist · APAC · Sydney

Zara works as a senior strategist across APAC, sitting between what a client says they want and what the build should actually be. She pressure tests business cases, priorities and sequencing before engineering time gets committed. Read her for the thinking that happens before a project brief is written.

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

FAQ

Frequently asked questions

How much does custom tax aware rebalancing software cost for an RIA?
A first release with household modelling, drift detection, lot level trade generation with wash sale constraints and a reviewable blotter runs $100,000 to $220,000 and ships in 14 to 20 weeks based on Digital Heroes delivery experience. Adding asset location across account types, multi year transition budgets, harvesting at scale and full custodian integration takes it to $250,000 to $650,000 over 9 to 15 months. Custodian count is the driver firms consistently underestimate, since each one brings its own file formats and trade rejection semantics.
Is Orion Eclipse or Smartleaf enough, or do we need to build?
They are genuinely capable and we recommend them regularly, particularly if your investment process fits their model and household hierarchy without side spreadsheets. The build case appears when it does not fit: when your operations team maintains workbooks for the restrictions, sleeves or transition budgets the tool cannot express, when you need to explain to a client which constraint prevented a trade, or when the rebalancing engine is effectively your product because you are a turnkey program rather than a consumer of one.
How does a rebalancer avoid wash sales across a client household?
By maintaining a purchase calendar across every linked account, including retirement accounts you do not trade, and including scheduled future activity such as dividend reinvestment and recurring contributions. The wash sale rule looks back and forward 30 days and does not respect account boundaries, and a purchase of a substantially identical security in an individual retirement account inside that window disallows the loss without preserving the basis adjustment. An account level check creates false confidence, which is worse than no check.
Why does lot level trading matter if the custodian applies a default method?
Because a default method makes a tax decision for you in every account, every day, and it is rarely the decision you would make. Selling highest cost first minimises realised gain today, selling long term lots first controls the rate, and trading to an annual realised gain budget is a different objective again. Trading at the position level and letting the custodian pick means the after tax outcome is an accident, and the client discovers it in the tax package the following January.
Can custom software handle low basis legacy positions and multi year transitions?
Yes, and it is one of the clearest reasons to build. A transition is an optimisation across future tax years with an annual realised gain budget, a target model, and constraints for positions the client will not sell, so it needs to model more than the current year. The output that matters to an advisor is not just a trade list but a plan showing how far toward the model the account gets each year and what it costs, which is the conversation that actually persuades a client to move.
How do you decide asset location across taxable and retirement accounts?
By treating the household as the investment unit and allocating asset classes across account types by tax efficiency while keeping each individual account within its own risk bounds. The hard part is getting there without incurring the tax cost you were trying to avoid, which usually means locating new money and rebalance flows rather than repositioning everything at once. Owning this logic matters because location is an investment policy decision you should be able to state and evidence, not point at a vendor brochure for.
How long does it take to build a rebalancing engine?
Fourteen to twenty weeks for a first release covering taxable accounts at your largest custodian across your main models. The schedule risk sits in two places: reconciling lot level data from custodians, which is messier than firms expect, and pinning down the constraint hierarchy, because most firms have never written down what happens when the drift policy and the gain budget disagree. Answering that question early is worth more to the timeline than any engineering decision.
Do we need this if most of our client assets are in retirement accounts?
No, and we would tell you so directly. Tax aware rebalancing exists to manage realised gains, holding periods and wash sales, and none of those constraints apply inside a tax deferred account. If the large majority of your assets sit there, a straightforward drift based rebalancer is sufficient and the money is better spent elsewhere. The threshold is the size of your taxable book and the number of accounts, not total assets under management.
Who owns the code if an agency builds our rebalancing engine?
You should own the repository, the cloud infrastructure accounts and the unrestricted right to hire another firm, agreed in writing before kickoff. If the engine is what turns your models into client outcomes, it is a core asset rather than a utility, and a vendor holding it holds your process. At Digital Heroes the client owns the code from the first commit. Ask the question early, because a firm that hedges on it at the proposal stage will not improve later.
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.
Who owns the code when an agency builds my software?
You should, completely, through a written intellectual property assignment that transfers everything on final payment; without that clause, copyright stays with whoever wrote the code by default. Insist that the repository lives in your own GitHub organization from day one and that hosting, domains, and third-party accounts are registered to you. Also check for licenses to the agency's proprietary frameworks buried in the contract, because those can make switching vendors practically impossible even when you own your own code.
How much should a small business budget for its first custom app or website?
For a focused first build, most small businesses land between $8,000 and $60,000: roughly $8,000 to $45,000 for a custom website and $25,000 to $60,000 for an internal tool or simple web app, based on Digital Heroes delivery across 2,000+ projects. Customer-facing products with payments, logins, or a mobile app start around $40,000. Quotes far below these bands usually mean a template with your logo on it, not software shaped around your workflow.
What should I have ready before I contact a development agency?
Three things, none of them technical: a one-page description of the problem in your own words, a list of the tools and spreadsheets the new system must replace or connect to, and a must-have versus nice-to-have split of features. Add a budget range, even a wide one, because it changes the conversation from fantasy to engineering. You do not need a formal specification; producing that is what a discovery phase is for.
What happens if I stop paying for maintenance after launch?
Nothing breaks on day one, which is what makes it dangerous. Within 6 to 18 months, unpatched dependencies accumulate known vulnerabilities, an integrated API like Stripe ships a breaking change, and the first fix requires a developer to relearn a stale codebase at full price. Budget 15 to 20% of the build cost per year for upkeep; it is the difference between a $500 patch and a $15,000 emergency.
What is a discovery phase, and is it worth paying for separately?
Pay for it, and treat the output as yours. A discovery phase runs two to three weeks, typically 5 to 10% of the eventual build budget, and produces a written scope, wireframes, and a fixed quote you can take to any vendor, including a competitor of the agency that wrote it. Skipping it is how projects end up quoted from a two-paragraph email and delivered at twice the price.
Can I build my product on a no-code tool like Bubble instead of hiring developers?
For testing whether anyone wants the product, yes, and Bubble's paid plans start at $29 a month, which is the cheapest validation you will ever buy. The ceiling arrives with complex data relationships, heavy integrations, performance at a few thousand users, and the fact that you cannot export a Bubble app to servers you control. A path many Digital Heroes clients take: prove demand on no-code, then rebuild custom once revenue justifies it, treating the no-code version as a paid prototype rather than a foundation.
What is the biggest mistake first-time software buyers make?
Choosing the lowest quote without asking why it is the lowest. A bid 40% under the field usually gets there by skipping tests, documentation, and code review, which are invisible in a demo and brutal to pay for later; every stalled project Digital Heroes has been asked to rescue tells some version of that story. The second mistake is signing without a written scope, which reliably turns the winning cheap quote into 1.5x to 2x the price by launch.
If an agency builds my software, who actually owns the code?
You should own everything, assigned in writing: the contract transfers full IP to you on final payment, the code lives in your GitHub organization, and hosting runs in cloud accounts you control. The red flag is a proposal that mentions the agency's proprietary platform or framework, which usually means you are renting, not buying. Digital Heroes structures every build this way precisely so a client can fire us and lose nothing but the relationship.
We run everything on spreadsheets and Airtable. How do we know it's time for custom software?
The reliable signals are re-typing the same data into multiple tools, one employee acting as human middleware between systems, and errors appearing in handoffs between teams. Hard limits force the issue too: Airtable's Team plan caps at 50,000 records per base, and Business costs $45 per seat per month, so a 20-person team pays about $10,800 a year for a tool it has already outgrown. When workarounds consume more hours than the tools save, the spreadsheet era is over.
Is a solo freelancer enough for my project, or do I really need an agency?
A solo freelancer is a fine choice for a well-defined build under roughly $15,000 to $20,000 with a limited lifespan: an internal calculator, a scripted integration, a prototype. Above $50,000, or for any system your business will depend on for years, you are buying continuity as much as code: enforced code review, cover when someone is ill, and support that outlasts one person's career plans. Price the risk of a single point of failure, not just the hourly rate.
Who can build a custom software system?

Digital Heroes builds custom 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 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?