Plumsail DocumentsMigrating from Plumsail Documents to VerseDocs
Plumsail Documents is priced per document per month, with a quota that resets and a custom tier above it, and the rendering happens in Plumsail's cloud in the region you chose at signup. For a steady, modest volume with no residency requirement it is priced fairly. The moment volume spikes or a security review asks where the invoice PDF was made, it becomes a harder conversation.
VerseDocs covers Plumsail's document-generation and conversion actions as Dataverse plug-ins in your own environment, for one flat price per tenant, plus the record-bound generation Plumsail cannot do at all: a button on the form, bulk from a view, related rows resolved by FetchXML. This page maps the actions honestly and shows one flow converted end to end.
Where the document quota crosses $2,400
Plumsail's list price for roughly 3,000 to 3,500 documents a month is about $2,988 a year (the Cabinet plan), already above VerseDocs. Its entry plan is about $25 a month for around 200 documents. Between the two, the price rises with the quota you pick, and the quota you pick is decided by your busiest month, because a quarter-end run that exceeds it fails or bills a custom tier.
A generation that also converts to PDF is one Plumsail document, so the quota maths is simpler than credit maths: count documents. Under a few hundred a month, Plumsail is cheaper if the documents may leave the tenant. Above roughly 2,000 a month on any plan, or at any volume where the documents must stay in the tenant, VerseDocs is the cheaper and simpler answer.
The compare page carries the dated, linked prices for both.
18 of 21 Plumsail actions have a VerseDocs equivalent
Plumsail action names read from the connector reference on Microsoft Learn on 16 September 2026. VerseDocs names are the Custom API names you search for in the Dataverse connector’s Perform an unbound action step.
| Plumsail | VerseDocs | Fit | Notes |
|---|---|---|---|
| Create document from DOCX template | vdocs_TemplateDocx (Populate a Word Template with Data) | one for one | Or bind the template to the record and use vdocs_TemplateFromRow / vdocs_GenerateAndAttach. outputFormat: "pdf" replaces the separate conversion. |
| Create document from XLSX template | vdocs_TemplateXlsx (Populate an Excel Template with Data) | one for one | Row repetition through a rows named range; formulas shift with the inserted rows. |
| Create document from PPTX template | vdocs_TemplatePptx (Populate a PowerPoint Template with Data) | one for one | Table-row loops on a slide and slide-range repetition per item. |
| Create HTML from template | Not offered; generate Word and convert, or use vdocs_MarkdownToHtml | not covered | VerseDocs templates are Office files, not HTML. |
| Start document generation process (with json) | vdocs_TemplateFromRow / vdocs_TemplateBatch | two steps | Plumsail's process is a server-side pipeline (template, delivery, optional e-sign). In VerseDocs the pipeline is your flow: generate, then the Outlook, SharePoint or e-signature step of your choice. |
| Convert DOCX to PDF / Convert to PDF | vdocs_ConvertToPdf (Convert a Document to PDF) | one for one | Word to PDF, PDF/A via pdfConformance on a licensed environment. |
| Convert XLSX to PDF / Convert PPTX to PDF | vdocs_TemplateXlsx / vdocs_TemplatePptx with outputFormat: "pdf" | one for one | A file with no tokens passes through and returns as PDF. |
| Convert HTML to PDF / Convert HTML to DOCX | vdocs_HtmlToDocx, then vdocs_ConvertToPdf for PDF | two steps | Two steps for PDF. Lower CSS fidelity than a browser renderer; fine for generated HTML. |
| Convert Email to PDF | vdocs_EmailToPdf (.eml) | one for one | |
| Merge any files into PDF / Merge DOCX files / Merge XLSX files | vdocs_PdfMerge / vdocs_DocxMerge | two steps | Convert non-PDF inputs first with the actions above. XLSX merge is not offered. |
| Split PDF | vdocs_PdfSplit | one for one | |
| Add a watermark to PDF | vdocs_PdfWatermark | one for one | Text or image, nine anchors, opacity, rotation. |
| Protect PDF document / Get information about PDF protection | vdocs_PdfSecure / vdocs_PdfUnlock | one for one | |
| Fill in PDF Form / Get Form from PDF | vdocs_PdfFormFill / vdocs_PdfFormExtract | one for one | |
| Fill merge fields in DOCX document | vdocs_DocxFindReplace, or tokens in a template | two steps | Legacy MERGEFIELD documents convert to {{tokens}} in a few minutes. |
| Extract text from PDF document | vdocs_ExtractText | one for one | |
| Regular Expression Match / Replace / Test | vdocs_RegexMatch / vdocs_RegexReplace / vdocs_RegexExtract | one for one | |
| Convert JSON to CSV / Parse CSV / Convert CSV to Excel / Convert JSON to Excel | vdocs_JsonToCsv / vdocs_CsvToJson / vdocs_CsvToXlsx | one for one | JSON to Excel with formatting is better done through vdocs_TemplateXlsx. |
| Create Archive / Extract Archive | vdocs_ZipCreate / vdocs_ZipExtract | one for one | |
| Convert Images to PDF / Convert PDF to Image | Not offered | not covered | Image actions cover resize, crop, rotate, convert format, compress, watermark, but not image-to-PDF or PDF-to-image. |
| Compress PDF document | Not offered | not covered |
Keep Plumsail, or something else, for:
- HTML templates and HTML output (templates are Word, Excel and PowerPoint)
- Image-to-PDF and PDF-to-image conversion
- PDF compression
- Plumsail's built-in delivery and e-signature steps: those become ordinary Outlook, SharePoint and e-signature connector actions in your flow
- Plumsail Forms integration: a VerseDocs flow takes its data from Dataverse or from any JSON you build
If a flow depends on one of these, convert the generation steps and leave that step on the connector; a smaller plan usually covers it.
The invoice flow, before and after
Before · Plumsail Documents
Trigger: When a row is modified (Invoice, status = Billed)
1. List rows: Invoice products (filter by invoice) Dataverse
2. Select: shape line items built in
3. Compose: build the JSON document built in
4. Create document from DOCX template Plumsail, 1 document
(Convert to PDF: yes)
5. Create file in SharePoint SharePoint
6. Send an email (V2) OutlookAfter · VerseDocs
Trigger: When a row is modified (Invoice, status = Billed)
1. Perform an unbound action: vdocs_GenerateAndAttach Dataverse connector
item/TemplateId = <invoice template>
item/RowId = invoiceid
item/Options = {"outputFormat":"pdf"}
2. Create file in SharePoint
content = base64ToBinary(outputs('...')?['body/OutFileContent'])
3. Send an email (V2)The line-item query moves into the template's binding manifest, the JSON assembly disappears, the PDF is also on the invoice's timeline, and the document counter is gone.
Five steps, one pattern at a time
Install VerseDocs next to the connector
AppSource → your dev or sandbox environment. Nothing changes for existing flows; the vdocs_ actions simply appear in the Dataverse connector's Perform an unbound action picker (search "vdocs").
Inventory the flows
Search your flows for the connector's actions (Power Automate's flow search, or the Export-PowerPlatformInventory script on this site). For each, note the actions used and the monthly run count. Most estates have five or six distinct patterns, not fifty.
Convert templates
Open each Word template, replace the connector's placeholders with {{tokens}} and load it in Template Studio, or bind it to the record so the flow no longer builds JSON at all. The starter templates show the token syntax on real Dynamics 365 tables.
Rebuild the pattern once, then repeat
Convert one flow of each pattern, run both side by side for a week, compare outputs, then convert the rest. The watermark on trial output makes side-by-side runs safe to leave in production.
Buy, then cancel
Buy the VerseDocs licence from the admin app when the last flow is converted, and let the connector subscription lapse at its renewal date. Do the sums on the renewal date rather than today; it is the one day the switch costs nothing.
- Do my Plumsail templates convert?
- The Word layout converts unchanged. Plumsail's tokens, repeating rows and conditional blocks use their own syntax, so each token is retyped as a {{table.field}} token, each repeating table row becomes {{#each}} … {{/each}} in the first and last cells, and each conditional becomes {{#if}} … {{/if}}. The template playground validates the result against sample data before you upload it.
- We use Plumsail's delivery step to email and file the document. What replaces it?
- Ordinary connector actions in the same flow: Send an email (V2), Create file (SharePoint), or your e-signature connector, fed with base64ToBinary of the VerseDocs output. The sample flows in the docs show both.
- Can both run at the same time?
- Yes. VerseDocs is a managed solution with its own actions; installing it changes nothing about the Plumsail connector or its flows. Run the converted flow alongside the original and compare outputs before switching.
- Is anything sent to VerseBlocks?
- Not during generation. Documents, templates and field values stay in your Dataverse environment. The security page lists the three optional actions that can send anything at all, and how to switch them off.