All document types
Dataverseany table

Generate documents in bulk from a Dataverse view

Bulk is where per-document pricing hurts. A renewal run for two thousand members is two thousand credits on a metered connector, and a monthly statement run repeats that every month. It is also where the Word template built into Dynamics 365 stops: one record at a time, by hand.

VerseDocs has two answers. The Generate document button on a view takes up to 100 selected rows, renders each document in the sandbox a few at a time and attaches it to its own record, then reports how many succeeded and which failed and why. For larger or scheduled runs, the vdocs_TemplateBatch action takes a template and a set of row ids or a FetchXML query and returns the documents as one zip, or merged into one PDF, per call; a flow loops over as many chunks as the run needs, each inside the Dataverse plug-in time limit.

Unlimited watermarked use, no time limit. $2,400 a year per tenant removes the watermark.

How it works

From record to documents in bulk in 3 steps

01

Enable the table and load a template

Any of the starter templates, or your own. The bulk button lists the same templates as the form button.

02

Select rows in a view

Tick up to 100 records, click Generate document, choose the template. Records are processed a few at a time; the summary lists every failure by record and reason.

03

Schedule it

A recurring flow calls vdocs_TemplateBatch with RowIds from a List rows step, or with fetchXml in Options so the action selects the rows itself. Set batchOutput to zip for one file per row or pdf for a single merged print run. Chunk by month, owner or alphabet for large runs; to put each document on its own record instead, loop vdocs_GenerateAndAttach.

The template

Start from a starter

Any row-bound template works in bulk unchanged. The letter, certificate and statement pages describe the templates most often run this way.

Tokens in the template

vdocs_TemplateBatch
  TemplateId: <template guid>
  RowIds: ["<row 1>", "<row 2>", …]        ← or "fetchXml" in Options
  Options: { "batchOutput": "zip" }        ← or "pdf" to merge into one file

Result: OutFileContent = one zip with a document per row (or one merged PDF)

Paste any of this into the template playground with the sample data to see it render in your browser.

Questions
How many rows per call?
The view button takes 100 selected rows per run. The batch action is capped so a call finishes inside the Dataverse plug-in timeout; the current limit is on the Limits page, and a larger batch is refused immediately rather than timing out. Loop chunks from the flow.
Does a failure on one row stop the others?
From the view button, no: the summary reports how many succeeded and, for each failure, which record and why. From a flow, a failed batch call reports its error and the flow retries or narrows the chunk.
Is there a per-document cost?
No. The licence is flat per tenant. Two thousand renewal letters cost the same as one.

Rendered in your tenant. Priced per tenant.

VerseDocs is a managed solution of Dataverse plug-ins. Templates, field values and generated files stay in your environment. Try every feature free with a watermark; one licence key removes it for every environment, user and document in the tenant.