# Ownership structure explorer for family office teams

> See who actually owns what across nested trusts, LLCs and holding companies, with ownership percentage and look-through value at every level.

- Workflow type: app
- Services: Addepar, Google Sheets
- Categories: Finance, Operations
- Published: 2026-08-14

## What it does

- Search for a family or client and open the full ownership tree, from the top level owner down through every trust, LLC and holding company beneath it.
- Show ownership percentage and look-through market value at every node, so you can see what each entity really controls rather than what sits directly under its name.
- Flag the gaps that break reporting, such as a holding with no ownership percentage recorded or an entity missing details its type requires, and let you correct them in place.
- Roll up the family's total exposure to a single asset across every entity that holds it, and export the flattened structure to Google Sheets for the tax or estate team.

## What you'll need

- An Addepar login for your firm with permission to view entities, positions and portfolio data
- Permission to edit entities and positions in Addepar if you want to make corrections from inside the app
- A Google account with access to the spreadsheet you want to export into

## Prompt

Build me an ownership structure explorer that my family office team opens to answer who actually owns what across nested trusts, LLCs and holding companies. Everything comes from Addepar, and I want to be able to correct the structure without leaving the app.

The landing screen is a search over families and clients. Use Addepar List Entities to populate it, with a text filter on entity name and a filter by entity type sourced from List Entity Types. Show each result with its name, entity type and a short line of context so I can tell two similarly named trusts apart. Selecting a result opens that entity as the top level owner of the ownership tree.

The main view is the ownership tree. Starting from the selected top level owner, walk Addepar List Positions to find every entity it owns, then repeat down through each intermediate entity until you reach the assets at the bottom. Render this as an expandable tree. Every node shows the entity name, its entity type, the ownership percentage on the position that links it to its parent, and its look-through market value. Get the market values from Query Portfolio Data, and use List Attributes first to discover the exact column and grouping attributes the firm has available rather than assuming attribute names. Look-through value at a node means the value attributable to it after applying ownership percentages at every level above it, so compute the effective percentage down each path and multiply through.

Selecting a node opens a side panel for that entity. Show its full attributes from Get Entity, and list its direct holdings, meaning the entities one level beneath it with each ownership percentage and value. Include a breadcrumb of the ownership path from the top level owner down to this node, since in a deep structure it is easy to lose track of where you are.

The app should flag problems as I browse. Flag any position that has no ownership percentage recorded, because that quietly breaks every roll up above it. Flag any entity that is missing an attribute its entity type requires, comparing the entity's attributes from Get Entity against the required attributes that List Entity Types returns for that type. Show these flags as a badge on the affected node in the tree and as a running issues list I can work through, so nobody has to hunt for them node by node.

Let me fix problems in place. From the node panel I should be able to edit an entity's attributes and save them back with Update Entity. When I find a missing ownership link, let me create it with Create Position, choosing the owner entity, the owned entity and the ownership percentage. After a successful write, refresh the affected branch and clear the flag so the issues list stays honest. Use Get Position when I need the full detail of a single ownership link before changing anything around it.

Include a total exposure roll up. Across the whole tree for the selected family, group by the underlying asset and sum the look-through value contributed by every entity that holds it, so I can see aggregate exposure to a single asset even when it is reached through five different entities. Show each asset with its total look-through value, its share of the family total, and the list of entities that hold it with each one's contribution. This is the number I most often need and cannot get by looking at any single entity.

Add an export that flattens the tree into rows and sends them to Google Sheets with Append Values, so I can hand it to the tax or estate team. One row per ownership path, with the full path from top level owner down, the entity name and type at each level, the ownership percentage at each step, the effective look-through percentage, and the look-through market value. Let me pick the target spreadsheet and tab before exporting.

Two things to get right in how the data is fetched. Addepar rate limits are per firm at 50 requests per 15 minute window and 1,000 per 24 hours, so do not fetch positions one node at a time. Pull positions in batched pages using cursor pagination with page[limit] up to 2000 and page[after], following the links.next URL verbatim, then assemble the tree client side from the batched results and cache it for the session so expanding a node costs nothing. Second, guard the walk: track visited entities so a circular ownership loop cannot spin forever, and cap the recursion depth with a clear message when a structure goes deeper than the cap. If a portfolio query is large enough to risk the 60 second request timeout, submit it as an async portfolio job and poll for the result instead of blocking the screen.

Keep the interface dense and readable. This is a working tool for a small team who live in it, so favour a tree that shows many levels at once over big cards, and always show percentages and values on the same line as the entity name.

## How to customize

- Set how many levels of the tree expand by default, and which entity types stay collapsed when a family opens
- Adjust which attributes count as required for each entity type so the missing details flag matches your firm's own data standards
- Point the export at a different spreadsheet or tab, and choose which columns the tax or estate team actually needs

## FAQ

### Does this change anything in Addepar?

Only when you ask it to. Browsing the structure is read only. Attribute edits and new ownership links are written back to Addepar just for the entity you are looking at, and only after you save them.

### How deep can the ownership structure go?

It follows the chain as far down as it goes, generation over generation, through trusts, LLCs, holding companies and the assets at the bottom. It also protects against loops where two entities appear to own each other, so a circular structure will not send it spinning.

### What does look-through value mean here?

It is the value that genuinely belongs to a node once ownership percentages have been applied at every level above it. If a trust owns 40 percent of an LLC that holds a building, the trust's look-through value reflects its 40 percent share rather than the full value of the building.

### Why would an entity get flagged?

Two common reasons. A position exists but nobody recorded what percentage it represents, which quietly breaks every roll up above it. Or an entity is missing an attribute its own type is supposed to carry, which shows up later as a hole in tax and estate reporting.

### Can the whole family office team use the same app?

Yes. Everyone opens the same app and signs in with their own Addepar account, so each person sees only the families and entities their login already permits.

Use this prompt in General Input: https://www.generalinput.com/prompts/ownership-structure-explorer-for-family-office-teams