Revenue systems for financial advisory

Advisory revenue is computed, not sold. A recurring fee is calculated by portfolio accounting against balances held at a custodian and billed on a cycle that has nothing to do with when the client was acquired, so the distance between the marketing event and the first dollar is measured in reconciliation cycles rather than in clicks. Two consequences follow, and both are about evidence rather than effort. When a firm runs its own advertising-review and retention policy, the publishing pipeline is quietly carrying a second job: where the CMS retains revisions of a source document and the testing tool retains only the variant it kept, the page as a particular prospect saw it exists in no system once it stops being served. And the event that creates the revenue, an account opened and funded in the custodian's records, is written where the ad platform has no read access, so where no first-party identifier survives the handoff from opportunity to opened account, spend and assets have no key to join on.

evidence · public-visible scope · revenue mechanics last reviewed · 2026-08-16

Who this is for

Written for firms billing a recurring advisory fee on managed assets while running a CRM alongside portfolio accounting, planning software with account aggregation, and a compliance archive. The revenue path runs from a purchased or referred inquiry, through consultation, to an account opened and funded at a custodian, and the fee is then computed on a cycle of its own.

How revenue is actually made

The unit of revenue is a fee on assets the firm advises but does not itself hold. Portfolio accounting reads a fee schedule and a household grouping, applies them to balances reported by the custodian, and produces an invoice on a recurring cycle, so billing shape matters as much as deal shape. Where an opened account is never linked to its billing group, the invoice is still internally consistent: it computes correctly over a smaller set than the accounts actually under advisement, and where the billing run is the only reconciliation configured, nothing else is positioned to catch the difference. Growth runs in two directions that both sit past the first transfer, balances already visible in the planning platform but held away from the firm, and the household's next generation, and both are records problems before they are conversations. Standalone planning fees and flat retainers sit alongside the asset-based line, and where they are invoiced from a separate tool, one household exists as two revenue objects with no shared key between them.

Where demand comes from

  • Paid lead marketplaces, where a single inquiry may be delivered to more than one firm
  • Referrals from CPAs, estate attorneys and other centers of influence
  • Custodian and platform referral programs that route investors to participating firms
  • Paid search and display run under Google's financial products and services policy

Revenue-leak map

Each entry names the system the leak lives in, the configuration in which it exists, the evidence that would confirm it, and what still cannot be concluded once you have that evidence. None of it is a claim about any particular business.

  1. Published page variants that leave no rendered snapshot

    Archive products in this category do capture web surfaces, and where a firm has enabled page-level capture and pointed it at the marketing site, a rendered snapshot exists. Where the archive subscription is configured over message streams alone, mail, text and social, and the site is iterated in a CMS that stores revisions of a source document while a testing tool retains the variant it kept and stops rendering the alternatives, the page as assembled for a visitor is held in no system. The approval record then points at a document while the served page keeps moving underneath it.

    where it lives
    The capture-scope setting on the compliance archive, read against the surfaces the marketing stack actually serves from: CMS, testing tool, personalization layer, and anything injected client-side after the document loads.
    what would confirm it
    Pick a past date and a campaign and try to produce the page as served. Ask the CMS revision history, the testing tool variant log, the archive retrievable index and the review workflow in turn, and write down which of them returns a rendered page rather than a definition, a diff or a timestamp.
    what it still cannot show
    The drill establishes what the stack can return today, not what it could have returned then: a retention period may already have run out, and a snapshot that renders may still be missing the client-side layer that changed what the visitor read. Whether any gap matters is a question for the review policy that governs the material, not for the capture tool.
  2. Held-away balances rendered from a link with no freshness state

    Planning platforms take external account data through an aggregation provider, and where the platform exposes a last-successful-refresh date and a broken-link state on each connection, staleness is visible on the client record. When connection state is carried only inside the aggregation vendor and the plan renders the last value it received, a balance that stopped updating at an unknown date presents identically to one that refreshed this morning. When the aggregation provider places re-authentication with the client rather than the firm, the failure is silent on the firm side and the consolidation conversation is built on a number the system cannot date.

    where it lives
    The aggregation connection between the financial planning platform and the external institution, and whether link status and last-refresh date exist as fields on the client record or only inside the vendor console.
    what would confirm it
    Export linked external accounts from the planning platform together with their last-successful-refresh dates where the platform exposes them, and compare each date against the date the plan containing it was last presented. Then check whether any alert, report or task fires when a link enters an error state.
    what it still cannot show
    A stale link is not a lost relationship and a refreshed one is not permission to move anything. The refresh date says when data arrived, not whether the balance behind it is movable, restricted inside an employer plan, held under an inherited-account restriction, or kept outside the relationship on purpose.
  3. Funding events with no key back to the opportunity that produced them

    Account-opening tools in this category do write a custodian account identifier back to the CRM, and where the opening runs inside that integration the key exists on the record. Wherever the opening completes in the custodian portal or on paper outside the workflow, the account appears in portfolio accounting at the next reconciliation and the opportunity is closed by hand, carrying no account identifier and no system-stamped funding date, so source and funding are never on the same row. Platform-reported conversions cannot stand in for the missing key: where storage consent is denied, consent-aware tags send measurements without cookies and Google products use those pings to model metrics, so the reported count is partly observed and partly modeled.

    where it lives
    The account-opening handoff between the CRM opportunity and the custodian, specifically whether the custodian account number is written back as a stored field or reconstructed afterwards by judgement.
    what would confirm it
    Take accounts opened in one period from portfolio accounting and attempt to match each one to a CRM opportunity. For every match, record whether it resolved on a stored key or on a person reading names and dates. The matches that needed judgement are the population to inspect, and the ones that could not be resolved at all are the boundary of the current architecture.
    what it still cannot show
    Even a complete key records the source captured at inquiry. A consideration path that ran over years, a referral conversation, an event, an article read long before the form, leaves no field for the join to read, so the row reports where the record was created and not what caused the decision.
  4. A fee run that reconciles against its own inputs

    Portfolio accounting systems ship pre-bill audit and billing exception reports, and where one of those is configured and run against the custodian account list before the cycle posts, an unlinked account surfaces before the invoice does. When the invoice is the only check configured, the run reads household groupings and a fee schedule, computes correctly over the accounts it was handed, and produces a document that is internally consistent and silent about the accounts it never saw. Household structure maintained in portfolio accounting and again in the CRM can drift apart without either raising an error, because neither has been designated the authority over the other.

    where it lives
    The billing-group and household structure inside portfolio accounting, held separately from the household structure inside the CRM, with no system designated authoritative between them.
    what would confirm it
    Reconcile the custodian account list for one billing period against the accounts that appeared on invoices for the same period, then reconcile household membership in portfolio accounting against household membership in the CRM. Both difference sets are the population to inspect, and the direction of each difference is the useful part.
    what it still cannot show
    A difference is not automatically an error. An account may be excluded by agreement, carried at a legacy schedule, or billed outside the run entirely, and the schedule the client actually agreed to lives in a signed document rather than in either system, so the reconciliation locates disagreements and cannot adjudicate them.
  5. Next-generation contacts carried as a related-party field, not an addressable record

    CRMs built for advisory work do model household members as contact records with their own owner, stage and history, and where a beneficiary or adult child is created that way the relationship is addressable. Where the same person is entered as a related-party value on the client record so it can be reported on, there is something to display and no object to own: no lifecycle stage, no assigned owner, no interaction history accumulating against it. Where automation triggers are bound to record events, a relationship held as a field value has no event to fire on.

    where it lives
    The CRM data model, specifically whether a beneficiary or adult child exists as a contact object or as a value on a household field. This is a question about object modeling, not about how carefully anything was typed in.
    what would confirm it
    Attempt to build a CRM segment of beneficiaries and adult children carrying a recorded interaction inside a defined window. If the segment cannot be constructed at all, the constraint sits in the data model rather than in the cadence, and no amount of campaign design will reach it.
    what it still cannot show
    A queryable beneficiary is not a contactable one. Whether the client would welcome the firm contacting that person, and whether an advisor already holds the relationship informally with nothing written down, are both outside anything the CRM can report on.
  6. Opt-out state held at the web layer and absent from the audience export

    Consent management platforms record opt-out and preference-signal state at the site, and where that state is written into a CRM field the audience builder filters on, suppression travels with the record. When the audience for an ad platform is exported directly from CRM household segments, the export reads a household while the opt-out was recorded against a person, so an individual suppression does not necessarily remove the row it belongs to. The marketing unit in an advisory CRM and the unit the preference was expressed at are not the same object.

    where it lives
    The path from the consent management platform on the website into the CRM field the audience export filters on, and the level, person or household, at which each system holds the state.
    what would confirm it
    Take one recorded opt-out and follow it: find the field it wrote, open the saved segment that feeds the customer-match or suppression list, and confirm whether that segment filters at the same level the opt-out was recorded at. Repeat with a browser signal rather than a form submission, since the two arrive by different paths.
    what it still cannot show
    Tracing one record establishes what the export does with the states that already exist. It says nothing about opt-outs that arrived by a channel the site never saw, a reply to a message, a call to the office, an instruction given to an advisor in a meeting, none of which leave a field for any export to read.

Operational flow and systems of record

The path from demand to revenue, and which system holds the truth at each step. The boundaries between them are where state has to be handed over, so they are where this page looks.

  1. Publication and advertising review Review workflow and compliance archive, alongside the CMS or testing tool that serves the page

    Approval metadata is bound to the artifact that was reviewed. When the live page is edited, split-tested or personalized after approval and the archive is not configured to capture rendered pages, the approved artifact and the served artifact diverge with no field linking them back together.

  2. Inquiry, qualification and consultation CRM opportunity record, with the plan itself in the financial planning platform

    The plan holds aggregation data, goals and household detail inside the planning platform. Where no integration writes any of that back as fields on the opportunity, the CRM knows only what was entered before the meeting, and the population that was screened out cannot be compared across acquisition sources afterwards.

  3. Account opening and funding Custodian platform and the account-opening workflow

    The custodian issues an account number. When the opening completes inside an integrated workflow, that number returns to the CRM and the opportunity can close on an event; where it completes in the custodian portal, the close is a manual action and the identifier stays on the custodian side of the boundary.

  4. Fee calculation, billing and ongoing household service Portfolio accounting and billing system, with lifecycle records in the CRM

    Household and billing-group structure exists here and again in the CRM. Where no reconciliation is scheduled between the two, a divergence produces no error in either system, and the first reader of the difference is the client holding the invoice.

Relevant OmniLabs systems

These are capability domains inside the systems portfolio, delivered as scoped custom builds. The operating model that sequences them is Revenue OS.

Questions you can answer from your own systems

  • If you had to produce the page a prospect saw last quarter, the variant, as rendered, which system would you open, and would it return a page or a revision log?
  • When an account is funded at the custodian, does an account identifier travel back onto the CRM opportunity through the opening workflow, or is it keyed in afterwards?
  • For each held-away account linked in your planning platform, can you see the date its connection last refreshed successfully?
  • Does anything outside the billing run compare the accounts on the invoice against the custodian account list for the same period?
  • Is a beneficiary or adult child a contact record in your CRM with its own owner and history, or a value on a field attached to the household?
  • When someone opts out on your website, which field holds that state, and does the audience export that feeds your ad platform filter on it at the level it was recorded?

Recurring failure modes

  • Archive capture scope is fixed once, at contract time, against the channels that existed then, while the publishing surface keeps changing; where the subscription is never revisited, a decision made about mail and text is still governing what happens to a landing page.
  • Review is configured as an approval on a submitted document rather than on a rendered artifact, so where the page is edited after approval the approval metadata still points at a file that was never served in that form.
  • Where no stored key joins a funded account to the opportunity that produced it, channel evaluation is available only at the granularity a vendor invoice supplies, and a platform-reported conversion count gets read as though it were a client count.
  • Migration between CRM or portfolio accounting platforms preserves whatever an outside system reconciles, accounts, balances and positions, and drops what nothing outside reconciles: household grouping, source fields and interaction history, none of which any custodian statement will ever contradict.

Evidence and claim boundaries

[CLAIM BOUNDARY] Start with what is absent: no rate, no share, no interval and no financial magnitude appears anywhere on this page. The research behind it returned no verified conversion, retention or funding benchmark for advisory firms, so any rate or magnitude printed here would have been invented. What is left is mechanics, how a record moves between a CRM, a planning platform, a custodian and a billing engine, and every one of them is written in the conditional, because whether it happens at all depends on how a particular stack was configured. None of it was drawn from any firm's systems, and no sentence here describes yours. That leaves the boundaries worth stating plainly. Where an advertising-review, recordkeeping or privacy regime is named, it is named as a constraint on how systems get built and only where a cited source states what it says; nothing here decides whether such a regime reaches a particular firm, or what it would require of one, and that determination belongs to that firm's compliance function and its counsel rather than to a systems vendor. OmniLabs Systems is an implementation studio, not an investment adviser: it holds no securities registration and no advisory credential, and nothing on this page is investment, tax, legal or compliance advice.

Industry pages describe revenue mechanics structurally. No conversion, retention or churn benchmark is published for any industry, because no verified benchmark was obtained for any of them — the mechanics are real, the magnitudes are not established here. Nothing on these pages describes work performed for a business.

Named regimes that constrain the systems

  • California Consumer Privacy Act, as administered by the California Privacy Protection Agency applies to Website tracking, advertising audiences and any sale or sharing of personal information collected through inquiry forms, at businesses the California regime reaches. Whether it reaches a particular firm is a determination about that firm, not a property of the industry it sits in. The agency states that consumers may opt out of the sale or sharing of personal information, including through a user-enabled opt-out preference signal such as Global Privacy Control, that a clear and conspicuous opt-out link belongs in the footer or header, and that a business subject to the regime complies as soon as feasibly possible, up to a maximum of 15 business days. That lands on two specific surfaces in an advisory stack. The opt-out link is part of the served page, so an archive capture that stores body copy and drops the footer has stored something other than what was published. And the signal arrives at the website layer while the audience that reaches the ad platform is exported from the CRM; where the two are not wired together, and where the CRM segment is built at household level rather than at person level, the state a person expressed and the row that leaves the building are not the same object. source SRC-15
  • Google Ads financial products and services policy applies to Advertiser accounts running paid search or display for financial products or advisory services. Google documents this policy as tiered: some products are disallowed outright, certain products require Google certification, and advertisers must complete financial services verification in certain locations. Structurally that makes account eligibility a prerequisite of the acquisition system rather than a setting inside it. The record the verification reads, entity registration and the identity of the advertising entity, is maintained outside the marketing stack, so campaign availability depends on a document set no campaign report displays. When verification lapses, the channel is removed rather than degraded, which means the failure does not appear first as a declining metric. source SRC-12

Regimes are described structurally, as constraints on how systems and follow-up get built. Nothing here interprets them, and nothing here is legal, medical, veterinary, financial or regulatory advice.

Sources

There is one diagnostic. The Revenue Leak Scan reviews public-visible signals for any business; it is not an industry-specific product, and this page does not create one.