Last updated: October 14, 2026
By ZapAI Team
TL;DR: SharePoint lists are free with Microsoft 365 and fine for simple Power Platform apps with modest data and flat permissions. Dataverse costs a premium license, $20 per user per month for Power Apps Premium, but adds real relationships, row and column security, auditing, and solution-based deployment. Upgrade when delegation warnings, the 5,000-item view threshold, or permission workarounds start running your week.
Dataverse vs SharePoint comes down to scale, security, and budget. SharePoint lists suit small, flat apps on standard Microsoft 365 licensing. Dataverse suits relational, secured, audited apps and requires premium Power Apps licenses.
Almost every Power Apps project starts on a SharePoint list. It’s already there, nobody needs a new license, and a maker can wire up a canvas app over lunch. That’s a perfectly good start.
Then the list hits 8,000 rows. A gallery filter quietly stops finding records. Someone asks why a contractor can see salary data. So the question becomes when, exactly, the free option turns into the expensive one, and what Dataverse costs once you get there.
Bias disclosed. We sell Dataverse implementation services, so we have every reason to push you up a tier. We’ll still tell you when SharePoint is the right answer, because a lot of the time it is.
What’s the Actual Difference Between Dataverse and SharePoint Lists?
A SharePoint list is a collaboration list that Power Apps can read and write. Dataverse is a relational business database built for apps, with its own security model, business logic, and deployment tooling.
The gap is design intent. SharePoint lists were built for teams tracking items next to their documents, and Microsoft now surfaces them through Microsoft Lists. Dataverse is the same database underneath Dynamics 365 Sales and Customer Service. One is a very good shared spreadsheet with forms. The other is the engine Microsoft runs its own CRM on. Both are useful. They just break in different places. (New to the stack? Our explainer on what Microsoft Power Platform is covers how the pieces fit.)
Where Do SharePoint Lists Break in Power Apps?
Delegation, view thresholds, and permissions. Non-delegable formulas only scan the first 500 records by default, 2,000 at most, and SharePoint views struggle past 5,000 items. Item-level security gets messy fast.
Delegation is the one that bites silently. Microsoft’s delegation overview explains that when a query can’t be passed to the data source, Power Apps pulls the first 500 rows and filters locally. You can raise that data row limit to 2,000. That’s the ceiling. Record 2,001 never shows up, and no error tells the user.
SharePoint delegates less than people assume. Per the SharePoint connector documentation, Filter, LookUp, Sort, and StartsWith delegate for most column types, but Not doesn’t, IsBlank on text doesn’t, the ID column only supports an equals comparison, and Person columns delegate only on Email and DisplayName. Search isn’t in the SharePoint delegation table at all. A search box over a 10,000-item list? Wrong answers, delivered with confidence.
Then the hard numbers. Microsoft’s SharePoint limits page allows 30 million items per list, which sounds roomy. But once a list passes 100,000 items you can’t break permission inheritance on it, and unique permissions top out at 50,000 per list, with 5,000 recommended. The large list guidance adds that the 5,000-item list view threshold can’t be changed in SharePoint Online, and views with too many lookup or Person columns get blocked.
Storage sits in a pool you already pay for, 1 TB plus 10 GB per license, and attachments cap at 250 MB per item. Not the problem. The problem is querying.

What Does Dataverse Give You That SharePoint Doesn’t?
Real relationships, server-side business rules, layered security down to individual columns, built-in auditing, transactions, and solutions that move apps between dev, test, and production environments.
- One-to-many and many-to-many relationships with cascade rules, instead of lookup columns that strain every view.
- Business rules and plug-ins that run on the server, so validation holds whether data arrives from a canvas app, a flow, or an import.
- Security roles, business units, teams, record sharing, and column-level security profiles. Want managers to see salary while everyone else sees the row without it? Column security does that. SharePoint can’t hide a single column.
- Auditing you switch on per table and per column, with history of who changed what.
- Change sets in the Web API that roll back every operation if one fails. Order header and order lines either both save or neither does.
- Solutions, managed and unmanaged, for real ALM.
Delegation is broader too. Microsoft’s own example is the in operator, which Dataverse delegates and Excel can’t. Most of the formulas that fail quietly on SharePoint simply work.
Dataverse has its own limits, to be fair. Every licensed user gets a daily request allowance, and service protection throttles heavy bulk jobs. Ordinary apps rarely notice. Badly written loops do.
How Much Does Dataverse Cost Compared to SharePoint?
SharePoint data runs on the standard connector included with most Microsoft 365 business plans, so there’s no added license. Dataverse needs premium licensing, starting at $20 per user per month for Power Apps Premium.
From Microsoft’s Power Apps pricing page, checked October 14, 2026, Power Apps Premium is $20 per user per month paid yearly, or $12 with a 2,000-seat minimum. Each Premium license adds 250 MB of Dataverse database and 2 GB of file capacity to the tenant pool. Extra database capacity is $40 per GB per month. Occasional users can go pay-as-you-go at $10 per active user per app per month through Azure.
Run it for a 40-person operations team. On SharePoint, $0 in new licenses. On Dataverse with Premium, $800 a month, or $9,600 a year. Is the jump worth it? Only if the app is important enough that wrong answers or leaked rows would cost you more than $800 a month. For plenty of apps, they would.
One sleeper line item is request capacity. Microsoft’s request limits table gives Power Apps Premium users 40,000 Power Platform requests per 24 hours, and Microsoft 365 users 6,000. Chatty apps feel that. For the full license matrix, including per-app plans, Power Automate, and capacity add-ons, see our Power Platform licensing guide. We won’t repeat it here.
Is Dataverse for Teams a Middle Option in 2026?
Technically yes, practically narrow. It comes with select Microsoft 365 plans, but each team gets a 2 GB environment, apps run only inside Teams, and there’s no direct API access.
Microsoft’s Dataverse for Teams admin documentation, updated May 2026, still describes it as current. We found no official retirement notice. But the fine print is tight. Each environment holds 2 GB of combined database and file storage, which can’t be extended. A tenant gets 5 environments plus 1 more per 20 eligible Microsoft 365 licenses. Record sharing isn’t supported. And the upgrade path to full Dataverse requires spare tenant capacity at least as large as the environment, and after upgrading, every user needs a Power Apps license.
Our take? Fine for a team-scoped tracker that will never leave Teams. For anything that might grow up, it’s a detour that ends at the same licensing bill.
Dataverse vs SharePoint: Which Fits Your App?
Pick SharePoint for small, flat, document-adjacent apps with simple permissions. Pick Dataverse for relational data, row or column security, audit requirements, or apps that need managed deployment.
| Factor | SharePoint lists | Dataverse |
|---|---|---|
| License for app users | Included with most Microsoft 365 plans | Power Apps Premium ($20) or pay-as-you-go ($10 per active user per app) |
| Comfortable data size in Power Apps | Under a few thousand rows unless every formula delegates | Millions of rows with delegable queries |
| Relationships | Lookup columns, limited per view | One-to-many and many-to-many with cascade rules |
| Security | Site, list, and item permissions | Roles, business units, teams, sharing, column security |
| Auditing | Version history on items | Table and column auditing |
| Transactions | None across items | Change sets and server-side transactions |
| ALM | App and flows in solutions, list schema lives in each site | Tables, rules, and security roles ship in solutions |
| Best fit | Team trackers, request forms, document-linked lists | Line-of-business apps, regulated data, multi-table processes |

What Are the Signals It’s Time to Upgrade?
When workarounds cost more than the license. Recurring delegation warnings, item-level permission sprawl, an auditor asking for change history, or a second team wanting the same data are the clearest signs.
- Your formulas carry yellow delegation triangles and the list is past 2,000 rows.
- Somebody built a ClearCollect loop to page through records. Clever. Also a red flag.
- Item-level permissions set by a flow, per record, on thousands of records.
- Three lists pretending to be related tables, joined with LookUp inside a gallery.
- Compliance wants proof of who changed a value last March.
- You need the same app in dev, test, and production, and today “deployment” means rebuilding columns by hand.
- A Copilot Studio agent or Dynamics 365 app needs to read and write the same data.
Two or more of these? Price the upgrade now, not after the next incident.
When Should You Stay on SharePoint?
When the app is small, the data is flat, everyone with site access can see every row, and nobody’s budget has room for premium seats. Plenty of good apps live there for years.
A 200-row equipment checkout list for one office. An event signup form. A request list tied to a document library where approvals already run in Power Automate flows. None of these need Dataverse. Moving them would be paying $20 a seat for features nobody uses. Keep them on SharePoint, set the data row limit to 1 during testing so delegation gaps show up early (a trick Microsoft itself recommends), and revisit if the signals above appear. And if the app has outgrown low-code entirely, that’s a different question, which our Power Apps vs custom development comparison takes on.
How Do You Migrate a SharePoint List App to Dataverse?
Model the tables first, load data with a dataflow or the SharePoint import, rebuild lookups as relationships, repoint the app and flows, then run both in parallel before cutover.
- Inventory the lists and columns. Note every lookup, Person, Choice, calculated, and managed metadata column, plus attachments.
- Design the Dataverse model. Turn lookup chains into proper relationships and decide row ownership, user or organization, because it can’t change later.
- Load the data. Power Apps can create a table from a SharePoint list (still in preview), but it skips managed metadata, image, attachment, and system columns. For anything bigger, Power Query dataflows load into existing tables and can refresh up to 48 times a day during the transition.
- Map users and owners. Person columns become lookups to the user table or plain text. Decide which, per column.
- Rebuild security. Create security roles, teams, and column security profiles before anyone logs in.
- Repoint the app and flows. Swap data sources, rewrite formulas that relied on SharePoint quirks, and change flow triggers to the Dataverse connector.
- Run in parallel, then cut over. Keep the list read-only for a few weeks as a fallback.
Step four takes longer than anyone budgets. Person columns carry history from people who’ve left the company, and every orphaned name needs a decision.

Wrapping Up
SharePoint lists are a fine, free home for small apps. Dataverse earns its premium license once you need delegable queries at scale, relationships, row and column security, auditing, or real deployment pipelines. Watch for the signals, price the license against the cost of wrong data, and migrate on purpose rather than in a panic.
ZapAI is a Microsoft Dynamics 365, Power Platform, and AI consulting firm based in Irving, Texas. We help US teams decide where their app data belongs and move it without breaking the apps people rely on. If a SharePoint-based app is straining, our Dataverse consultants can review it and give you a keep, upgrade, or rebuild recommendation with a license estimate.
Questions Makers Ask About Dataverse vs SharePoint
Can a SharePoint list really handle 30 million items in Power Apps?
SharePoint can store that volume. Power Apps can only work with them reliably if every formula delegates, because non-delegable queries stop at 500 records by default and 2,000 at most.
Do all my users need a premium license if the app uses Dataverse?
Every user who runs the app does. That means Power Apps Premium at $20 per user per month, pay-as-you-go at $10 per active user per app per month, or a Dynamics 365 license that includes the access. On pay-as-you-go, people who don’t open the app in a given month aren’t billed for it.
Is Dataverse for Teams being retired?
Not officially, as of October 14, 2026. Microsoft’s admin docs still cover it, though its 2 GB per-team cap and Teams-only access make it a poor base for apps that might grow. Check the Power Platform deprecations list before you commit.
SharePoint permissions vs Dataverse security, does the gap actually matter?
Only when different people should see different rows or columns. If everyone on the site can see everything, SharePoint permissions are plenty. Once you’re breaking inheritance on individual items through a flow, or need to hide one column like pay rate or diagnosis, Dataverse roles and column security are far easier to run and to explain to an auditor. Microsoft also recommends keeping unique permissions under 5,000 per list.
Realistically, how long does a migration take?
Two to six weeks for a single app with a few lists, in our planning experience. Lots of Person columns, attachments, or flows push it longer.
Can we keep documents in SharePoint and data in Dataverse?
Usually the best setup. Dataverse tables can turn on SharePoint document management, so files stay in libraries your team already knows while the structured data, security, and audit history live in Dataverse.
