Skip to content

Dataverse vs SharePoint Lists: Which One Should Store Your Power App's Data?

SharePoint Lists are free and already there. Dataverse costs more and does more. Building on the wrong one means a migration later, so here is how to decide before you start.

| 5 min read

A database cylinder icon connected by a dotted line to a table/list icon, representing Dataverse and SharePoint Lists

SharePoint Lists work well for simple data with light relationships and a small number of users. Dataverse is built for real relationships between tables, row-level security, and record volumes a list view struggles with. The right choice depends on what the data has to do over the next couple of years, not on which one happens to already be free in your tenant.

What is the actual difference?

A SharePoint List is a table with columns. You can link lists with a lookup column, but there is no real referential integrity behind it, and a filtered view starts running into trouble well before 5,000 items.

Dataverse is a proper relational database. Tables have real one-to-many and many-to-many relationships, security is enforced at the row and field level, and business rules and calculated columns run on the platform itself rather than inside whichever app happens to be open.

Both can sit behind a Canvas App. The difference shows up once the data model goes past a couple of tables.

Dataverse vs SharePoint Lists at a glance

Aspect SharePoint Lists Dataverse
Cost Included in most Microsoft 365 plans Needs Power Apps / Power Automate premium licensing
Relationships Lookup columns only, no real integrity Native one-to-many and many-to-many
Row-level security Item-level permissions, awkward at scale Built in, scoped by team or business unit
Large data volumes View thresholds start to bite Handles millions of rows
Reporting in Power BI Works, but slower and more limited Direct, and built for it
Setup time for one table Minutes Longer, more design up front
Setup time for 15 related tables Gets fragile fast Built for exactly this
Offline apps Supported Supported

When is SharePoint good enough?

  • The data is genuinely simple. A handful of columns, one table, nothing that really relates to anything else.
  • The team is small. A department tracker with ten users and a few hundred records is nowhere near a list's limits.
  • You already pay for it. No extra licensing to justify for a first version of something.
  • You are testing whether the process is worth building properly. Starting on a list, then moving to Dataverse once the process is proven, is a reasonable way to work, as long as the migration is planned rather than forced on you later.

When does Dataverse earn its cost?

  • The data has real relationships. Orders that belong to customers, that belong to accounts, that roll up into regions. Lists fake this with lookups; Dataverse does it properly.
  • Different people need to see different records. Row-level security by team or ownership is native in Dataverse. In a list, that means custom permissions set on every item, which stops scaling past a small team fast.
  • More than one app or flow touches the same data. Dataverse gives every consumer, apps, flows, Power BI reports, one source instead of each one reading a list slightly differently.
  • The volume is going to grow. A list that behaves fine at 500 items shows its limits well before 50,000.

What does the wrong choice cost?

Starting on Dataverse for something that turns out to be one simple list is not a disaster. It costs a bit more up front and a bit more to maintain. That is the whole penalty.

Starting on SharePoint Lists for something that turns out to need real relationships and row-level security is the expensive direction. By the time the limits show up, there is usually a working app, real data in it, and people who depend on it. The migration then happens while the thing is live, which is harder than building it correctly the first time.

How do I decide in practice?

Ask whether the data will ever need row-level security or a real relationship to another table. If the answer is no and stays no, a list is the right, cheaper choice. If the answer is probably, Dataverse is worth the extra setup now instead of the rebuild later.

Frequently asked questions

Can I move from SharePoint Lists to Dataverse later? Yes, and it is a common path. The data migrates cleanly. What does not move cleanly is anything built around the list's limitations, like a workaround column standing in for a relationship that should have existed properly from the start.

Does Dataverse need a separate licence? Yes. Dataverse sits behind Power Apps and Power Automate premium licensing, unlike SharePoint, which is included in most Microsoft 365 plans. Settle this before committing to a data model, because it is as much a budget conversation as a technical one.

Can Power BI report on SharePoint Lists directly? It can connect, but it is slower and more limited than reporting against Dataverse, especially once a report needs to join several lists together. This is one of the quieter reasons teams end up migrating.

Last updated

Working through this on a real project?

30 minutes, no cost, no pitch. Describe what you are building and I’ll tell you what I would do.