The Dataverse data model is the foundation of every solution built on it. Get it right in week one and everything built on top is straightforward. Get it wrong and the year ahead involves working around poor early decisions.
Standard tables vs custom tables
Use standard tables (Account, Contact, Opportunity) when your data maps reasonably to those concepts and you plan to integrate with Dynamics 365. Create custom tables when your domain is specific enough that generic concepts do not fit.
Column choices that trip people up
- Choice vs Lookup: Use Choice for fixed small value sets. Use Lookup for values managed as separate records that may grow.
- Currency vs Decimal: Use Currency for monetary values β it stores the currency code alongside the value.
The biggest modelling mistake
Using text columns to store values that should be structured: status as free text instead of Choice, related IDs as text instead of Lookups, comma-separated values instead of a related table. Text columns are flexible β and the data becomes nearly impossible to filter, validate, or report on.
If you are storing something that will be filtered, sorted, reported, or validated β it should not be a text column. Structure the data properly from the start.
Spend a week on data modelling before building anything. A well-thought-through Dataverse schema takes time upfront and saves months over the life of the solution.