Migration guidePlumsail Documents

Migrating 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.

The money

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.

Action map

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.

PlumsailVerseDocsFitNotes
Create document from DOCX templatevdocs_TemplateDocx (Populate a Word Template with Data) one for oneOr bind the template to the record and use vdocs_TemplateFromRow / vdocs_GenerateAndAttach. outputFormat: "pdf" replaces the separate conversion.
Create document from XLSX templatevdocs_TemplateXlsx (Populate an Excel Template with Data) one for oneRow repetition through a rows named range; formulas shift with the inserted rows.
Create document from PPTX templatevdocs_TemplatePptx (Populate a PowerPoint Template with Data) one for oneTable-row loops on a slide and slide-range repetition per item.
Create HTML from templateNot offered; generate Word and convert, or use vdocs_MarkdownToHtml not coveredVerseDocs templates are Office files, not HTML.
Start document generation process (with json)vdocs_TemplateFromRow / vdocs_TemplateBatch two stepsPlumsail'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 PDFvdocs_ConvertToPdf (Convert a Document to PDF) one for oneWord to PDF, PDF/A via pdfConformance on a licensed environment.
Convert XLSX to PDF / Convert PPTX to PDFvdocs_TemplateXlsx / vdocs_TemplatePptx with outputFormat: "pdf" one for oneA file with no tokens passes through and returns as PDF.
Convert HTML to PDF / Convert HTML to DOCXvdocs_HtmlToDocx, then vdocs_ConvertToPdf for PDF two stepsTwo steps for PDF. Lower CSS fidelity than a browser renderer; fine for generated HTML.
Convert Email to PDFvdocs_EmailToPdf (.eml) one for one
Merge any files into PDF / Merge DOCX files / Merge XLSX filesvdocs_PdfMerge / vdocs_DocxMerge two stepsConvert non-PDF inputs first with the actions above. XLSX merge is not offered.
Split PDFvdocs_PdfSplit one for one
Add a watermark to PDFvdocs_PdfWatermark one for oneText or image, nine anchors, opacity, rotation.
Protect PDF document / Get information about PDF protectionvdocs_PdfSecure / vdocs_PdfUnlock one for one
Fill in PDF Form / Get Form from PDFvdocs_PdfFormFill / vdocs_PdfFormExtract one for one
Fill merge fields in DOCX documentvdocs_DocxFindReplace, or tokens in a template two stepsLegacy MERGEFIELD documents convert to {{tokens}} in a few minutes.
Extract text from PDF documentvdocs_ExtractText one for one
Regular Expression Match / Replace / Testvdocs_RegexMatch / vdocs_RegexReplace / vdocs_RegexExtract one for one
Convert JSON to CSV / Parse CSV / Convert CSV to Excel / Convert JSON to Excelvdocs_JsonToCsv / vdocs_CsvToJson / vdocs_CsvToXlsx one for oneJSON to Excel with formatting is better done through vdocs_TemplateXlsx.
Create Archive / Extract Archivevdocs_ZipCreate / vdocs_ZipExtract one for one
Convert Images to PDF / Convert PDF to ImageNot offered not coveredImage actions cover resize, crop, rotate, convert format, compress, watermark, but not image-to-PDF or PDF-to-image.
Compress PDF documentNot 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.

Flow by flow

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)                                    Outlook

After · 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.

The migration

Five steps, one pattern at a time

01

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").

02

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.

03

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.

04

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.

05

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.

Questions
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.