We were deep into a Dynamics CRM project recently, working through security roles, when we noticed something in the client's capacity settings that stopped us cold. Their storage costs were far higher than a company their size should ever see. Not a little high. The kind of high that, once fixed, would pay for the entire implementation and then some.
The cause was simple, and it is more common than most people realize. Files that belonged in SharePoint were being stored directly in Dynamics.
Why this quietly drains money
Dynamics runs on Dataverse, and Dataverse database storage is expensive. It runs around $40 per GB per month. That price makes sense for what it is meant to hold, which is structured transactional data, the records that run your business.
It is a terrible price for holding files. Attachments, scanned documents, PDFs, images, the stuff that piles up as people work. When those files land in Dataverse database storage instead of where they belong, you pay database rates for file data.
How much more? SharePoint storage is up to 200 times cheaper than Dataverse database storage for the same files. Azure Blob storage is cheaper still. You are paying a premium price for the cheapest kind of data to store, and because it accrues quietly month over month, nobody notices until the bill is large.
To be clear, Dataverse has two storage tiers, database at around $40/GB/month and file at around $2/GB/month. The costly mistake is files ending up in database storage, where they’re paying the premium relational-data rate for what are really just attachments. Moved to SharePoint at around $0.20/GB, that same file data is up to 200x cheaper.
How it happens
Nobody decides to do this on purpose. It builds up. A system gets configured to attach documents directly to records because that was the fastest way to make it work during the build. Users start uploading. Integrations push files in. Months pass. The storage meter climbs, the overage charges start, and the finance team sees a line item they do not understand and cannot easily trace.
By the time it gets attention, the company is often facing a decision it should never have had to make: pay for more expensive storage, or figure out why they are consuming so much in the first place.
The fix is not buying more storage
When storage costs spike, the instinct is to purchase more capacity. That is the expensive answer, and it treats the symptom instead of the cause.
The real fix is to move file storage out of Dataverse and into SharePoint, where Dynamics is designed to integrate with it anyway. Dynamics and SharePoint are built to work together. Documents live in SharePoint at a fraction of the cost, and users still access them from within Dynamics exactly as before. The experience does not change. The bill does.
Getting there takes some work. You have to identify what is stored where, configure the SharePoint integration correctly, and move the existing files without breaking the links users depend on. But that one-time effort is small against a recurring saving that, in cases like the one we found, can run into six figures a year.
What to check in your own environment
If you run Dynamics and have never looked at this, it is worth an hour. In the Power Platform Admin Center, open Capacity, then Dataverse, then Database. Look at three numbers: your entitled capacity, your consumed capacity, and any add-on capacity you are paying for beyond your entitlement.
If you are buying add-on database capacity and a large share of your consumption is files rather than records, you have found the same problem. The savings are the add-on capacity you can eliminate once those files move where they belong.
The broader point
This is the kind of thing that does not show up in a feature demo or a project status report. It sits in the plumbing, quietly costing money, until someone who knows where to look actually looks. The best returns in a Dynamics environment often come not from new functionality but from fixing what was configured without the full cost picture in mind.
If your Dynamics storage bill has been creeping up and nobody can quite explain why, that is worth a closer look. The answer is frequently cheaper than you think, and the saving is frequently larger than you expect.
Poize2 is a senior Microsoft Dynamics team. We build real AI, including our own delivery tools, and help clients cut through the noise to find the AI uses that deliver genuine ROI. We specialize in rescuing troubled Dynamics projects and delivering ones that stay on track. Learn more at .
