Free tool

Document generation cost calculator

Four ways to turn a Dataverse record into a document — by hand, a third-party connector, something you build, or VerseDocs — priced over three years on your own numbers. It will tell you to buy nothing when that is the right answer, because a calculator that never says no is a brochure.

Start from a shape

Pick the closest pattern, then change anything below. Rates you have already typed are kept.

A sales team producing quotes from opportunity records. Moderate volume, and a wrong price is embarrassing rather than fatal.

Volume and effort

Price the whole job, not the typing. Finding the record, opening the right version of the template, copying values across, exporting to PDF, attaching it to the record, telling someone it is done.

per month

Count regenerations. A quote produced three times because the price moved is three documents, and it is the second and third that people forget.

minutes

Time somebody doing it, once. The figure people give from memory is usually about half the real one, because it leaves out hunting for the current template.

minutes

Automation is not zero. Somebody still opens the output, glances at it and sends it. Set this to zero only if genuinely nobody looks — and then ask yourself whether that is a good idea.

$ / hour

Loaded, not salary: base pay plus employer tax, benefits, leave and overhead. Most finance teams use 1.25 to 1.4 times the hourly base. Using the salary rate understates every option equally, so it will not change the ranking — it will just make the saving look smaller than it is.

Errors, and what they cost

This is the half of the business case people leave out, and it is usually the half that carries it. A document that is wrong costs the time twice; a document that is wrong and already sent costs something else entirely.

%

Wrong price, stale address, last quarter's terms, a total that quietly missed a line item. If nobody measures it, start at 3 to 5 percent for hand-keyed work, then go and count a week's worth before you present the number.

%

An error caught in review costs you time. One that reaches a customer costs you a reissue, a credit note and a conversation you did not want to have.

$ each

Reissue, credit note, the chase, and the hour a manager spends apologising. A covering letter is worth tens of dollars. A contract with the wrong liability cap is worth whatever your legal team says it is. Be conservative — this is the line finance will argue about.

%

Generation removes transcription errors and stale copy-paste. It does not remove a wrong price sitting in Dataverse — that one will now be wrong faster, more consistently, and on headed paper. One hundred percent is not a real number.

What it costs to build

Applies to all three automated options. They all need the same templates authored, validated and bound to columns.

days

Charged once to the connector, the custom build and VerseDocs alike, because none of them writes your templates for you. Leaving this out is the most common way a business case gets waved through and then misses.

$ / day
% of build

Charged from year two on whatever you built. Fifteen to twenty percent is the usual planning figure for software you own. If nobody is actually funded to do it, the real figure is zero right up until the morning it breaks.

Power Automate and a third-party connector

A premium document connector called from a cloud flow. The commercial model matters far more than the sticker price.

$ each

Use your own quote, not a list price from a comparison site. Check whether a retry, a regeneration and a preview each count as a document, because in most contracts at least one of them does.

days

The flow itself: retries, error handling, and the step that gets the finished file back onto the right record with the right name.

A custom build

An Azure Function, a plug-in, or a console app on a schedule. Cheap on the day it ships, and priced properly only about two years later.

days

Templating, PDF conversion, error handling, retries, security, logging, and getting the output back onto the record. Word rendering is easy for one template and hard for twelve.

$ / year

Compute, storage, Application Insights, and the commercial OOXML or PDF library most teams end up licensing the first time they meet merged cells, a header image or a footer that has to renumber.

VerseDocs

A fixed platform cost with no per-document fee. Generation runs as a Dataverse plug-in in your own environment, so the document bytes never leave your tenant.

$ / year

This field loads with a round placeholder, not a quote, and VerseDocs pricing is not published on this site yet — ask us for a real figure and type it in here. Everything below moves with whatever you enter, including the lines that tell you not to buy it.

The same document, four ways

Year one carries whatever you built. Year three is the steady state, where the build has amortised but its maintenance has not gone anywhere. A build is cheapest exactly once, in the year nobody has had to touch it yet.

OptionYear oneYear threeThree-year totalBeats manual above
By hand$50,760$50,760$152,280
Power Automate + connector$7,200 one-off, $1,440/yr upkeep$18,348$12,588$43,52434 / mo
Custom build$25,200 one-off, $5,040/yr upkeep$35,868$15,708$67,284126 / mo
VerseDocs$2,700 one-off, $540/yr upkeep$17,168$15,008$47,18461 / mo
By hand$152,280
Power Automate + connector$43,524
Custom build$67,284
VerseDocs$47,184

Three-year totals, including the labour that survives automation and the errors that survive it too.

When the right answer is to buy nothing

Sixty documents a month at ten minutes each is ten hours a month — about $5,400 a year at the loaded rate you entered. That is the entire prize, and a one-off build, an annual fee and the maintenance behind it all have to come out of it while somebody still opens the output to check it. Small numbers stay small. Presenting a business case whose upside is smaller than the rounding on the budget is how you lose the next one.

On the numbers you have entered, nothing on this page beats carrying on by hand until about 34 documents a month on a three-year view. Below that, this page is telling you to keep your money. The figure is driven by the gap between your two handling times rather than by volume: twelve minutes before and two after tips early, and when the two are close it may never tip at all.

Three things change that arithmetic before volume does. If you have to prove which version of a template produced a given document, manual loses on evidence rather than on hours. If one person is the only one who knows where the templates live, you are paying for a risk that does not appear in any of these columns. And if the documents are contracts, a single escaped error can cost more than every option on this page combined.

If none of those apply and you are below the figure above, close this tab. The tool has done its job.

What a custom build costs after year one

  • The person who wrote it leaves. The build was the cheap part; the second developer to open it pays most of it again before changing a line.
  • A client secret or certificate expires on a date somebody picked two years ago, silently, and nothing in the code tells you when. Nobody budgets for the afternoon spent working out why every document stopped at once.
  • Somebody renames a column. The template breaks at the moment a customer is waiting for a contract, and the error surfaces as a null reference rather than as anything a business user can act on.
  • Word to PDF at real fidelity is the hard half, and it usually ends in a commercial rendering library with its own annual licence, or a hosted converter with its own outage history.
  • Execution ceilings are real on both sides. A Dataverse plug-in gets two minutes; an Azure Function on a consumption plan has its own hard timeout. And elapsed time is not a stable function of input size, so whatever you build has to be sized for the unlucky run, not the median one.

What a third-party connector costs beyond the fee

  • Your records leave your tenant to be merged. Somebody in legal will eventually ask which region that contract was assembled in and who could read it while it was there. Have the answer before they ask.
  • Per-document pricing bills you for success. The better the process works, the more it costs, and a retry or a regeneration is usually a document in the contract even when it is not a document to you.
  • Per-user pricing wants a seat for everyone whose click produces a document, not just the handful of people who build flows.
  • It is a dependency you do not control: a connector version deprecation, a breaking API change, a vendor acquisition, a price rise at renewal when four hundred flows already depend on it.
  • Premium Power Platform licensing is required to call a premium connector. That is a Microsoft cost rather than a vendor one, and it lands on VerseDocs too: Dataverse custom APIs and plug-ins sit in the same premium tier. So it cancels out of this comparison. It does not cancel against doing it by hand, which needs no Power Platform licence at all.

What VerseDocs does not fix

  • Templates still have to be authored, validated and maintained. That cost is in the table above for every option, including ours, and it does not go away.
  • Generation runs in the Dataverse plug-in sandbox, so the two-minute ceiling applies and there is no asynchronous mode. It is roomier than it sounds — 20,000 rows converted to a 938-page PDF measured at about 59 seconds — but a run that has always taken 40 seconds can still fail on an unlucky day, so split anything near the ceiling across calls.
  • Dataverse custom APIs are a premium capability, so the users who call it need premium Power Platform licensing. If your users hold Dynamics 365 or Power Apps licences you already have it, but it is worth checking before you promise a date.
  • Bad data still produces a bad document. Generation makes the output consistent, not correct — which is why the error input above only ever removes a share of your errors, never all of them.
  • At thirty documents a month, the table above will tell you not to buy it. That answer is correct, and we would rather you saw it here than six months into a renewal.

What per-document pricing does at scale

At $0.35 a document, the metered connector stays cheaper than the fixed platform cost you entered up to about 691 documents a month on a three-year view. Above that, every extra document you automate makes the metered option the expensive one — which is a strange property for a system whose entire purpose is to produce more documents with less effort.

The trap is not the rate. It is that the rate is charged against the metric you are trying to grow, so the saving shrinks exactly as the project succeeds. Before you sign, ask what a retry costs, what a preview costs, what happens in the month somebody loops a flow by accident, and whether the price is capped.

Where these numbers come from

There is almost no Microsoft price in this calculator. Every figure above is one you supplied about your own operation, which is the only way a build-versus-buy model is worth anything. What we have added is the arithmetic and a few assumptions, stated here so you can disagree with them.

Maintenance is charged from year two as a percentage of whatever you built, so a build shows its true run rate in the year-three column rather than the year-one one. Template authoring is charged once to all three automated options, because all three need the same templates. Rework on a generated document is charged at the manual handling time, not the automated one, because somebody has to work out why it came out wrong before regenerating it.

Break-even is the documents-per-month figure at which an option overtakes manual across a three-year window, one-off build included. Payback is measured against a steady year with maintenance already in it, so it reads a little slower than a year-one comparison would. A full-time equivalent is 1,800 productive hours a year.

Premium Power Platform licensing is excluded. A premium connector needs it, and so do Dataverse custom APIs and plug-ins — Microsoft puts them in the same tier — so it cancels between the automated options rather than favouring one of them. Two things it does not cancel against: doing the work by hand, which needs no Power Platform licence at all, and a custom build that runs unattended as an application user, which can sidestep per-user premium entirely. That is one of the few honest cost arguments for building.

Rates checked August 2026. Microsoft changes prices and entitlements; treat this as an estimate and confirm against your own agreement before you commit budget.

Common questions

Is a custom Azure Function cheaper than buying?
On day one, almost always. Over three years, rarely. A build is a one-off cost plus a permanent liability: maintenance at fifteen to twenty percent a year, hosting, a rendering library licence, and a handover cost every time the person who wrote it moves on. Put your real day rate and a realistic number of build days into the table above and watch the three-year column, not the year-one one. The honest case for building is not cost — it is that you need something no product does, and you are prepared to fund it forever.
What does per-document pricing really cost at scale?
It costs you exactly as much as the project succeeds. A thousand documents a month at fifty cents is six thousand dollars a year; at five thousand documents it is thirty thousand, for the same code doing the same thing better. Before you sign, get three answers in writing: does a retry count as a document, does a regeneration count, and is there a cap. The failure mode is not the invoice — it is the meeting where someone proposes turning off automation for low-value documents to control the bill.
Why does document generation inside Dataverse matter for compliance?
Because the alternative is that the data leaves. A third-party generation service receives your customer records, your pricing and your contract terms in order to merge them, which makes it a processor you have to assess, document and re-assess. Generating in-process means the merge happens inside the plug-in sandbox in your own environment, under Dataverse security, running as the calling user — so the answer to “who could have read this contract” is the same answer you already give for the record itself. That is a shorter conversation with legal, and it is free.
How many documents a month justify automating at all?
On typical inputs, somewhere between thirty and a hundred and fifty a month, and the calculator above gives you the number for your own figures. Which end of that band you land on is decided by the gap between your handling time before and after, not by volume. Below the band, the template authoring alone outweighs the hours saved and you should do nothing. The exceptions are compliance and key-person risk: if you have to prove which template version produced a given document, or one person is the only one who knows where the templates live, volume is not the deciding factor and you should not pretend it is.
How do I count hours saved in a business case?
Carefully, and out loud. Hours returned are only a cash saving if you remove a role or stop backfilling one; otherwise they are capacity, and a finance team that discovers this after approval will discount every subsequent number you bring them. The figures that survive scrutiny are the ones with a cheque attached: the connector fee you no longer pay, the reissued invoices, the credit notes, the overtime in the last week of the month. Present hours as a full-time equivalent, then say plainly whether it is cash or headroom.

No per-document fee, no data leaving your tenant

VerseDocs generates Word, Excel, PowerPoint and PDF from your Dataverse data inside your own environment. One managed solution, 69 actions in Power Automate, and one key that covers every environment in the tenant. Import it and generate a real document before you pay anything: the output carries a trial watermark and the utility actions stay locked, and nothing expires.