The ladder from configuration to code
When configuration beats code, and when it does not
A surprising share of customization requests can be met without code. A field that should be mandatory only for one type of opportunity is a business rule. A notification to a manager when a high-value case is opened is a flow. A different form for field technicians and office staff is a matter of form order and security roles.
Code becomes the right answer when the logic must hold no matter how the data arrives: from a form, an import, an integration or the mobile app. Business rules run on forms, and some also at the table level, but a credit limit check that must stop every order, from every source, belongs in a plug-in that runs inside the transaction.
We write down which layer each requirement uses and why. That short note is what lets someone else maintain the system later without guessing.
Building blocks we work with
Dataverse tables and relationships
New tables for the things your business tracks that the standard apps do not, such as inspections, contracts or equipment rentals, related properly to accounts and contacts.
Model-driven apps
Focused apps that show each team only the tables, forms and dashboards it needs, instead of one crowded app for everyone.
Security roles and field security
Who can see, create and edit which records and which sensitive columns, designed alongside the data model rather than added at the end.
Plug-ins and custom APIs
C# code registered on Dataverse events, written with tests and tracing so failures can be diagnosed from the logs.
PCF components
TypeScript controls built with the Power Apps component framework and packaged in a solution like any other change.
Client scripts, sparingly
JavaScript on forms where no other layer can do it, kept small and using only supported APIs.

Warning signs your system is over-customized
- βUpdates from Microsoft make people nervous, and someone checks the system by hand after each one.
- βForms carry dozens of fields that nobody fills in, kept because nobody knows what depends on them.
- βChanges are made directly in production, with no unmanaged development environment or source control behind them.
- βSeveral plug-ins fire on the same event and nobody can say in what order or why.
- βOnly one person, often a former contractor, understands how the key processes work.
Customization questions
Will customizations break when Microsoft releases an update?
Supported customizations, meaning solution-aware components using documented APIs, are designed to survive updates. What breaks is unsupported work: scripts that reach into the page structure, or code calling deprecated APIs. We test against the upcoming release wave in a sandbox before it reaches production. Anything that needs changing is fixed ahead of time.
Is this the same as Business Central customization?
No. Business Central does not run on Dataverse, and its changes are written in AL as extensions. That is a different skill set and a different release process, which is why it has its own page. If you run both products, the two teams work from one design so the data meets cleanly between them.
Do you use managed solutions?
Yes. Development happens in a dedicated environment, changes are packaged as solutions and kept in source control, and test and production receive managed solutions through a pipeline. This keeps production clean and makes it possible to roll a change back. It also means another partner could pick up the work later.
Can you clean up customizations another partner left behind?
Yes. We inventory the solutions, tables, plug-ins, flows and scripts, find what is unused or duplicated, and propose a staged cleanup. Removing components has to be done carefully, because data and integrations may still depend on them. You approve each stage in writing before anything is deleted.
How do you decide between a canvas app and a model-driven app?
Model-driven apps suit data-heavy processes with forms, views and security, and they sit naturally beside Dynamics 365 Sales or Customer Service. Canvas apps suit narrow, task-focused screens such as a mobile inspection checklist where layout matters more. Many solutions use a model-driven app for the office and a canvas app for the field, over the same Dataverse tables.
Talk to us about your project.
Tell us what you run today and what has to change. A senior consultant replies with a written next step.
