REFRACT Platform for Dynamics 365 Business Central

Troubleshooting - VaultPDF Business Central

Diagnose and resolve common VaultPDF issues. Permission errors, authentication failures, SharePoint connectivity, template problems, and batch operation failures.

Quick Diagnostics

Use this flowchart to identify common issues quickly:

  1. Can you access VaultPDF System Settings?

  2. Does System Status Check succeed?

  3. Can you generate a document?

  4. Is the document routed for workflow/signature?

  5. Is the document appearing in SharePoint?


Permission Errors

Symptom: "You do not have permission to view this page"

When opening any VaultPDF page (System Settings, Templates, etc.), users receive a permission error.

Verify Permission Set Assignment

  1. Open Users in Business Central
  2. Find the affected user
  3. Check the User Permission Sets section for one of:
    • VPDF-USER (minimum for any VaultPDF access)
    • VPDF-REVIEWER (for workflow status actions)
    • VPDF-ADMIN (for configuration and settings)

If none are present, add the appropriate permission set.

Clear Browser Cache and Restart

  1. Close the Business Central browser tab
  2. Clear your browser's cookies and cached files
  3. Open Business Central in a new tab
  4. Search for VaultPDF System Settings again

Permission changes can take a few minutes to propagate in the client cache.

Verify Permission Set Exists

If the permission set does not appear in the User Permission Sets lookup:

  • Search for Permission Sets in the Tell Me bar (Alt+Q)
  • Confirm VPDF-USER, VPDF-REVIEWER, and VPDF-ADMIN are listed with VaultPDF as the source extension
  • If missing, the extension may not have installed correctly. Uninstall and reinstall the VaultPDF extension

Dispatcher Connection Failures

Symptom: "System Status Check failed with HTTP 401"

The status check cannot authenticate with the Dispatcher.

Root causes:

  • VAULTPDF_DISPATCHER_CLIENT_SECRET is missing or expired
  • VAULTPDF_DISPATCHER_TENANT_ID or VAULTPDF_DISPATCHER_CLIENT_ID is incorrect
  • Azure AD app registration is misconfigured

Verify Dispatcher Credentials

  1. Open VaultPDF System Settings
  2. Check these keys are populated:
    • VAULTPDF_DISPATCHER_TENANT_ID
    • VAULTPDF_DISPATCHER_CLIENT_ID
    • VAULTPDF_DISPATCHER_CLIENT_SECRET

All three must have values, otherwise the Dispatcher cannot issue an OAuth token.

Rotate the Client Secret

  1. In Azure Portal, open App Registrations → your app registration
  2. Click Certificates & Secrets
  3. Check if the secret in use has an Expires date in the past
  4. If expired, create a new secret:
    • Click New client secret
    • Copy the Value (not the ID)
    • Set expiry to 24 months or longer

Update Business Central Settings

  1. Return to Business Central and open VaultPDF System Settings
  2. Click the VAULTPDF_DISPATCHER_CLIENT_SECRET row
  3. Replace the old secret with the new value from Azure
  4. Click OK

Rerun System Status Check

Click System Status Check again. If the PDF downloads, the connection is restored.

Symptom: "System Status Check failed with HTTP 404"

The Dispatcher URL is unreachable or incorrect.

Verify Dispatcher Base URL

  1. Verify the URL with your deployment team or contact enterprise@vaultpdf.io
  2. Open VaultPDF System Settings
  3. Click VAULTPDF_DISPATCHER_BASE_URL
  4. Verify the URL matches exactly, e.g. https://func-vaultpdf.azurewebsites.net/api
  5. Confirm no typos, trailing slashes, or extra spaces

Verify Host Key (Function Code)

  1. Check VAULTPDF_DISPATCHER_CODE is populated
  2. This is the Azure Function host key, provided by Refract Logic
  3. If missing, contact the customer's deployment team or reach out to enterprise@vaultpdf.io

Test Connectivity from Business Central

  1. Use System Status Check to verify the URL is reachable
  2. If still failing, contact your network team to confirm:
    • Outbound HTTPS connections to the Dispatcher domain are allowed
    • No firewall rules block Microsoft Dynamics 365 to Azure Function calls

Symptom: "System Status Check failed with HTTP 403 Forbidden"

The Dispatcher received the request but rejected it due to missing or invalid permissions.

  1. In Azure Portal, open App Registrations → your app
  2. Click API permissions
  3. Look for Sites.ReadWrite.All (or your equivalent scope)
  4. Confirm the status is Granted for your tenant (not "Needs admin consent")

If admin consent is needed, click Grant admin consent for your tenant and confirm.

Verify App Role Assignment

If your organization uses managed identities or role-based access control on the Dispatcher:

  1. Contact your deployment team or enterprise@vaultpdf.io to confirm the app registration has the required roles assigned
  2. Check that the app's object ID is registered in the Dispatcher's authentication policy

Document Generation Failures

No templates appear to choose from.

Root causes:

  • No templates created yet
  • Templates created in wrong Business Central environment
  • VAULTPDF_SOURCE_SYSTEM setting does not match the root folder in the templates SharePoint drive

Confirm Templates Exist

  1. Open VaultPDF Templates
  2. If the list is empty, you must create at least one template first

See the main setup guide for steps to create a template.

Verify Source System Setting

  1. Open VaultPDF System Settings
  2. Check the value of VAULTPDF_SOURCE_SYSTEM, e.g. RefractLogic or BusinessCentral
  3. In SharePoint, navigate to the templates document library
  4. Confirm a folder exists at the root level with the same name

Example: If VAULTPDF_SOURCE_SYSTEM = "RefractLogic", SharePoint must have a folder named RefractLogic at the root of the templates drive.

Verify Template Drive Settings

  1. Confirm VAULTPDF_GRAPH_TEMPLATES_DRIVE_ID is set to the Drive ID of the templates document library (not the output library)
  2. Verify this is different from VAULTPDF_GRAPH_DRIVE_ID (the output library)

Symptom: "Document generation fails with 'template not found'"

A template was selected but the Dispatcher cannot locate it in SharePoint.

Verify Template Path in SharePoint

  1. In SharePoint, navigate to the templates document library
  2. Open the folder path: {SourceSystem}/{Module}/{TemplateId}
  3. Confirm the template JSON file exists, e.g. MyTemplate.json

Check Graph Permissions on Template Library

  1. The app registration must have read access to the templates drive
  2. In Azure Portal, open App Registrations → your app → API permissions
  3. Confirm Sites.ReadWrite.All is granted (this includes read access)

Symptom: "Dispatcher returns 'Invalid payload' error"

The payload sent to the Dispatcher is malformed or missing required fields.

Check Template Field Mapping

  1. Open the template in VaultPDF Templates
  2. Verify all field references in the template match actual Business Central field names
  3. Use the AL Lookup feature or Business Central's table inspector to confirm field names

Review Token Usage

If the template uses field tokens (field names in braces):

  1. Ensure the token field exists in the source Business Central table
  2. Token names are case-sensitive
  3. Field references must match the exact field caption in Business Central

SharePoint Upload Issues

Symptom: "SharePoint upload fails with 403 Forbidden"

Business Central cannot upload the generated PDF to SharePoint.

Root causes:

  • Azure AD app registration lacks admin consent for Sites.ReadWrite.All
  • The app is not granted write access to the output document library
  • The output library URL in settings is incorrect
  1. In Azure Portal, open App Registrations → your app
  2. Click API permissions
  3. Find Sites.ReadWrite.All → check status is Granted for your tenant

If status is "Needs admin consent":

  1. Click the permission
  2. Click Grant admin consent for your tenant
  3. Confirm in the modal

Test SharePoint Connectivity

  1. Use Microsoft Graph Explorer (https://developer.microsoft.com/graph/graph-explorer)
  2. Authenticate with your Azure AD account
  3. Run: GET /me/drive
  4. Confirm you can access SharePoint drives
  5. Run: GET /sites/{yourSiteId}/drives to list available drives

If these calls fail, SharePoint permissions are not correctly configured.

Verify Output Drive ID

  1. In Microsoft Graph Explorer, run: GET /sites/{siteId}/drives
  2. Identify the drive for your output document library
  3. Copy its id field
  4. In Business Central, update VAULTPDF_GRAPH_DRIVE_ID with this ID

Symptom: "PDF generates but does not appear in SharePoint"

The document generation succeeds, but the PDF is not in the SharePoint folder.

Verify Folder Path in SharePoint

  1. In SharePoint, navigate to the output document library
  2. Check that the folder path exists: {SourceSystem}/{TableName}/{DocumentId}.pdf
  3. If the folder does not exist, it was not created during upload

This suggests a permissions issue on the parent drive. Retry the upload and check the detailed error in the Upload Log.

Check Upload Log

  1. Open VaultPDF System Settings
  2. Click View Upload Log
  3. Find the most recent entry for your document
  4. Check the Status and Error Details columns

Workflow and Routing Issues

Symptom: "Workflow message shows literal token text as a literal string"

Tokens in workflow messages are not being replaced with actual values.

Root causes:

  • Token field name does not exist in the Business Central table
  • Field name has incorrect casing
  • Token syntax is wrong

Verify Token Syntax

Token format is: double braces around the field name with no spaces, e.g. FieldName → token becomes FieldName in braces.

Correct formats: No., Sell-to Customer Name Incorrect formats: No. (spaces), No. (single braces), or backslash escapes

Confirm Field Exists

  1. Open the source document table in Business Central
  2. Use the AL table inspector or Development Tools
  3. Verify the exact field name matches your token

Example: If your token references approverEmail, verify that a field named approverEmail exists on the header table.

Test the Template

  1. Generate a test document using the template
  2. Open the Upload Log and view the JSON payload that was sent to the Dispatcher
  3. Confirm the workflow.message field shows the correct values, not literal tokens

Symptom: "Workflow does not trigger or approval workflow status stays 'Pending'"

The document was generated but the workflow engine did not receive it or process it.

Verify Workflow Settings

On the template's Template Settings page:

  1. Confirm Workflow Enabled is toggled ON
  2. Confirm Workflow Recipients table has at least one row with an email address
  3. Confirm the email addresses are valid and reachable

Check Dispatcher Logs

Contact your deployment team or enterprise@vaultpdf.io to review the Dispatcher logs for your tenant. Provide:

  • Document ID
  • Timestamp of document generation
  • Template ID

Logs reveal whether the Dispatcher received the workflow request and what happened during processing.

Sync Workflow Status

On the generated document:

  1. Click the VaultPDF action group
  2. Click Sync Workflow Status
  3. Check if the workflow status updates to "In Progress" or "Completed"

If the status does not update, the Dispatcher does not have a record of the workflow. Regenerate the document and confirm settings are correct.


E-Signature Issues

Symptom: "Signers do not receive signing invitations"

E-signature is configured but signers report not receiving the signing link.

Verify eSign Configuration

On the template's Template Settings page:

  1. Confirm eSign Enabled is toggled ON
  2. Confirm Signers table has at least one row
  3. Confirm each signer has a valid email address

Check Email Delivery

  1. Ask the signer to check their spam and junk email folders
  2. Verify the signer's email address is spelled correctly in the template
  3. Confirm the email address is active and monitored

Review Dispatcher eSign Logs

Contact your deployment team or enterprise@vaultpdf.io for dispatcher logs. Include:

  • Document ID
  • Signer email address
  • Timestamp of document generation

Logs reveal whether the Dispatcher attempted to send invitations and what email service returned.

Symptom: "Signing portal is unreachable (404 error)"

The signer clicks the signing link but receives a 404 error or blank page.

Verify Portal URL

  1. Open VaultPDF System Settings
  2. Check VAULTPDF_PORTAL_URL is set correctly, e.g. https://portal.vaultpdf.com
  3. Confirm the URL is reachable from the signer's network
  1. On the template, verify eSign Expiry (minutes)
  2. If set to 0, the default is 10,080 minutes (7 days)
  3. If the signer received the link more than 7 days ago, it has expired
  4. Regenerate the document and send a new signing link

Batch Operation Issues

Symptom: "Per Group dispatch fails with cryptic error"

You selected Dispatch Mode = Per Group but document generation fails.

Root cause:

  • The Group By Field ID is not set or is incorrect.

Verify Group By Field

On the template's Template Settings page:

  1. Confirm Dispatch Mode is set to Per Group
  2. Confirm Group By Field ID is populated with a valid field ID
  3. The field ID should be a Business Central field number from the source table

Example: To group sales invoices by customer, set Group By Field ID to the field ID for the customer field (e.g., 3 for Bill-to Customer No.).

Test the Field

  1. Open the source Business Central table
  2. Confirm the field exists and contains values
  3. If unsure of the field ID, click the field lookup in template settings

Symptom: "Batch operation shows success but some PDFs are missing"

The batch operation notification says success, but not all expected PDFs generated.

Check Upload Log

  1. Open VaultPDF System Settings
  2. Click View Upload Log
  3. Filter by timestamp to find entries from your batch operation
  4. Look for entries with Status = Failed and review Error Details

Review Common Batch Failures

Common reasons for partial batch failures:

  • Some records have missing or invalid data that does not map to template fields
  • Some records have token fields that are empty (tokens remain literal)
  • SharePoint upload rate-limiting caused some uploads to timeout

For each failed record, check the error details and correct the data before retrying.

Symptom: "Large batch runs synchronously without a background prompt"

The batch executes immediately in the browser session instead of offering to run in the background.

Root causes:

  • VAULTPDF_BATCH_ASYNC_THRESHOLD is set higher than the current record count
  • The key value is non-numeric or empty

Check the Threshold Key

  1. Open VaultPDF System Settings
  2. Locate VAULTPDF_BATCH_ASYNC_THRESHOLD
  3. Confirm the value is a positive integer (e.g. 500)
  4. If the value is blank, non-numeric, or larger than your typical batch size, update it to a suitable number

The background prompt only appears when the record count is greater than or equal to this value.

Symptom: "Batch job is stuck on Queued status"

A background batch job was created but never transitions to Running.

Root causes:

  • No free Job Queue worker is available
  • The Job Queue is paused or the worker entry is on hold

Check Job Queue Entries

  1. Search for Job Queue Entries in the Tell Me bar
  2. Find the entry for VaultPDF Batch Job Runner
  3. Confirm the entry status is Ready and not On Hold
  4. If on hold, open the entry and click Set Status to Ready

Confirm a Worker Is Scheduled

  1. In Job Queue Entries, verify at least one entry is scheduled to run and not blocked
  2. If no workers are active, contact your Business Central administrator to restart the Job Queue

Symptom: "Batch job shows Failed status"

A background batch job completed with Failed status and no PDFs were generated.

Root cause:

  • An unhandled runtime error occurred during processing

Read the Status Message

  1. Search for VaultPDF Batch Jobs in the Tell Me bar
  2. Locate the failed entry by job number or timestamp
  3. Open the entry and read the Status Message field - it contains the full error detail

Resolve the Error and Retry

Common causes include missing template fields, invalid Group By Field configuration, or Dispatcher connectivity issues. Resolve the reported error, then re-trigger the batch from the Template Gallery.

Symptom: "Batch job shows Partial status and some PDFs are missing"

The job completed but one or more per-record errors occurred.

Review Record-Level Errors

  1. Search for VaultPDF Batch Jobs and open the Partial job entry
  2. Open the Record Details sub-list to see which records failed and the error message for each
  3. Common per-record errors: missing required field values, invalid document numbers, SharePoint rate limiting

Fix the Data and Retry

Correct the data issue on the failing source records. Then use Retry Failed Records in the action bar - it reprocesses only the failed detail lines without re-running successful records.

Retry Failed Records is available for Per Record and Per Group dispatch modes only. For Single Array or Grouped Array, re-run the full batch from the Template Gallery after fixing the data.

Symptom: "Retry Failed Records action is greyed out"

The action is disabled on the Batch Jobs page.

Root cause: Retry Failed Records is only enabled when the selected job's status is exactly Partial. Failed and Completed jobs cannot be retried - for Failed, re-trigger the batch from the Template Gallery; for Completed, all records already succeeded.

Symptom: "Webhook notification is not being received"

An async batch job completed but the configured webhook endpoint did not receive a POST.

Verify the Webhook URL Setting

  1. Open VaultPDF System Settings
  2. Confirm VAULTPDF_BATCH_NOTIFY_WEBHOOK_URL is set to a valid HTTPS URL with no trailing spaces
  3. Test the URL independently (e.g. use a service like webhook.site to verify the endpoint is reachable from Business Central's outbound network)

Check the Notification Filter

  1. Open VaultPDF System Settings
  2. Check VAULTPDF_BATCH_NOTIFY_ON - if it is FailureOnly (the default), the webhook only fires for Partial and Failed jobs
  3. If you expect notifications for every completed job, set the value to Always

Check for Silent Webhook Errors

Webhook HTTP errors are silently ignored by design - a failed webhook delivery never surfaces as a BC error. If the endpoint is temporarily unavailable or returns a non-2xx response, the notification is lost for that run. Verify the endpoint's own logs to confirm whether the request arrived.

Symptom: "Vault Lifecycle Workspace column is blank on all Batch Log rows"

Every row in the VaultPDF Batch Log Entries page shows an empty Vault Lifecycle Workspace column.

Root cause:

  • VAULTPDF_PORTAL_URL is not configured in VaultPDF System Settings.

Add the Portal URL Setting

  1. Open VaultPDF System Settings in Business Central
  2. Locate the VAULTPDF_PORTAL_URL key (or click Initialize Default Keys if it is missing)
  3. Enter your REFRACT Platform portal base URL, e.g. https://portal.vaultpdf.com
  4. Click OK

New batch renders will immediately show the Vault Lifecycle Workspace link. Existing rows without a stored Batch ID will remain blank.

Symptom: "Vault Lifecycle Workspace column is blank on some Batch Log rows"

Some entries in the VaultPDF Batch Log Entries page have a working Vault Lifecycle Workspace link while others show a blank.

Root cause:

  • The dispatcher did not return an x-vaultpdf-batchid response header for those renders. Older dispatcher versions may not emit this header. Rows without a stored Batch ID always show a blank link regardless of portal URL configuration.

Check Dispatcher Version

Contact your deployment team or enterprise@vaultpdf.io to confirm the deployed Dispatcher version supports the x-vaultpdf-batchid response header. Provide the timestamps of the affected batch renders so the team can correlate with Dispatcher logs.

Verify Portal URL Is Configured

  1. Open VaultPDF System Settings
  2. Confirm VAULTPDF_PORTAL_URL has a value, e.g. https://portal.vaultpdf.com

If the portal URL is missing, no rows will show the link - regardless of whether a Batch ID was stored.


Performance and Timeout Issues

Symptom: "Document generation takes longer than 5 minutes"

Large batch operations or complex template rendering can exceed the Business Central request timeout.

Use Background Execution

For batches at or above the async threshold (default: 500 records), VaultPDF automatically offers to run the batch as a background Job Queue entry. Accept the prompt to offload processing from your browser session entirely.

If the prompt does not appear, check that VAULTPDF_BATCH_ASYNC_THRESHOLD in VaultPDF System Settings is set to a value at or below your batch size. See Batch job stuck on Queued if the job does not start after queuing.

Optimize Batch Size

If background execution is not available or you must run synchronously:

  1. Split the batch into smaller operations (e.g., 25 documents each)
  2. Run each batch separately with a few minutes between them
  3. This avoids hitting Business Central's request timeout

Simplify Template

  1. Review the template schema for unnecessary fields or complex conditional logic
  2. Contact your deployment team or enterprise@vaultpdf.io to optimize template rendering performance

Monitor Dispatcher Queue

Contact your deployment team or enterprise@vaultpdf.io if batch operations consistently time out. The Dispatcher may be experiencing high load and processing your request slower than expected.


Three-Way Match Issues

The PURCH-3WAY template uses a built-in subscriber (VaultPDF 3WayMatch Subscriber, codeunit 77122) that builds the entire payload from Purchase Header, Purchase Lines, Receipt Lines, and Posted Invoice Lines. It bypasses normal template field-mapping entirely.

Symptom: "Three-way match report shows all lines as Unmatched"

Every line shows matchStatus: Unmatched even though receipts and invoices exist.

Root causes:

  • The Purchase Order has not been received or invoiced yet (expected behaviour)
  • The receipt or invoice was posted against a different Purchase Order number
  • The Purchase Header record used is a posted header rather than an open order

Confirm the Source Record Is an Open Purchase Order

The PURCH-3WAY subscriber only processes records from Database::"Purchase Header" (table 38 - open orders). It does not process Posted Purchase Orders (table 122).

Verify the template is triggered from an open Purchase Order page, not a Posted Purchase Order or Archive.

The subscriber links receipt lines via Order No. + Order Line No. on Purch. Rcpt. Line and Purch. Inv. Line.

Run these queries in a BC query tool or AL debugger to confirm data exists:

  • Purch. Rcpt. Line where Order No. = <your PO number> and Order Line No. = <line no.>
  • Purch. Inv. Line where Order No. = <your PO number> and Order Line No. = <line no.>

If these return no rows but receipts/invoices were posted, the posting may have originated from a different order number or via a manual invoice not linked to the order.

Symptom: "Three-way match report is missing the buyer address"

The buyer section in the payload is empty.

Root cause: Company Information has no address fields populated.

Open Company Information in Business Central and fill in the Address, City, Post Code, and Country/Region Code fields. Re-generate the document.

Symptom: "Three-way match enforcement is unexpectedly blocking a document"

A document operation (posting, unblocking a vendor, etc.) is blocked with a VaultPDF workflow enforcement error even when no explicit 3-way match template is active.

Root cause: This is workflow enforcement from VaultPDF Workflow Subscribers (77131), not 3-way match. The enforcement fires on:

  • Sales-Post.OnBeforePostSalesDoc - before posting any Sales document
  • Purch.-Post.OnBeforePostPurchaseDoc - before posting any Purchase document
  • Service-Post.OnBeforePostDocument - before posting a Service Order
  • TransferOrder-Post Shipment.OnBeforeTransferOrderPost - before posting a Transfer Shipment
  • Vendor.OnBeforeModify - when removing a Blocked status from a vendor
  • Customer.OnBeforeModify - when removing a Blocked status from a customer
  • Item.OnBeforeModify - when removing a Blocked flag from an item

See Workflow and Routing Issues for diagnosis steps. To conditionally exempt specific records or operations, subscribe to OnBeforeWorkflowEnforcement on VaultPDF Workflow Enforcer and set IsHandled := true. See Workflow Enforcement - Conditionally Exempting Records in the Developer Guide for a worked example.


Common Questions (FAQ)

Q: Can I use VaultPDF on custom Business Central pages?

A: Yes. Create a page extension that adds VaultPDF actions using the Custom Page Registry pattern. The page extension is always required (Business Central cannot inject UI dynamically at runtime), but the registry controls whether the action group is visible - so an administrator can enable or disable buttons per page without redeployment.

See the Developer Guide for the full boilerplate page extension and registry setup steps.

Q: I added a record to the Custom Page Registry but VaultPDF buttons don't appear on my custom page.

A: The Custom Page Registry only controls visibility - it cannot add buttons to pages that don't already have a compiled pageextension targeting them. The steps are:

  1. Write a page extension for your custom page (see Developer Guide → Adding VaultPDF Actions to Custom Pages)
  2. Compile and deploy the extension containing the page extension
  3. Add a registry entry with the page ID and Enabled = true
  4. Open the page - buttons appear when IsPageRegistered(PageId) returns true

If you have the extension deployed but buttons still don't appear, confirm the Page ID in the registry entry matches the BC page ID of the page your extension extends (not the object ID of the extension itself).

Q: How do I verify my batch filters are correct before running the batch?

A: Use the Preview Batch action on the Template Card (enabled when Dispatch Mode ≠ Standard). It counts the records matching your Batch Filter Lines and lets you download a sample JSON payload for the first matching record or group - without uploading to SharePoint or dispatching anything. See Previewing Batch Configuration for details.

Q: How long are batch job records kept in Business Central?

A: By default, completed and failed batch job entries are automatically purged after 90 days. Configure this with VAULTPDF_LOG_RETENTION_DAYS in VaultPDF System Settings - set it to 0 to disable auto-purge. The purge runs at the start of each batch job runner execution and only removes entries with status Completed or Failed. Active (Queued, Running, Partial) entries are never purged automatically.

Q: What Business Central versions are supported?

A: VaultPDF requires Business Central 2024 Wave 1 (v27) or later. Check with Refract Logic for support of earlier versions.

Q: Can I generate PDFs from multiple companies?

A: Yes, but each company must have its own VaultPDF templates and settings configuration in Business Central. The VAULTPDF_SOURCE_SYSTEM and SharePoint paths can be per-company.

Q: How long are generated PDFs stored in SharePoint?

A: PDFs remain in SharePoint as long as they are not manually deleted. Implement your organization's document retention policy using SharePoint retention policies or archive strategies.

Q: Can I customize the PDF layout beyond what templates allow?

A: Template layout and styling are defined by the template schema. For advanced customization, contact enterprise@vaultpdf.io to discuss template design and rendering options.

Q: How do I migrate templates between environments (dev to prod)?

A: Export the template JSON from SharePoint dev, then upload to SharePoint prod. Recreate the template record in Business Central prod with the same template ID, or use the template import feature if available.

Q: What happens if I delete a template that is in use?

A: The template record is deleted from Business Central, but PDFs already generated remain in SharePoint. In-progress workflows associated with that template may fail. Recreate the template if needed.

Q: Can multiple users work on the same document simultaneously?

A: No. Business Central enforces record-level locking on document headers. If a user opens a document, other users cannot edit it until it is released.

On this page

Quick DiagnosticsPermission ErrorsSymptom: "You do not have permission to view this page"Verify Permission Set AssignmentClear Browser Cache and RestartVerify Permission Set ExistsDispatcher Connection FailuresSymptom: "System Status Check failed with HTTP 401"Verify Dispatcher CredentialsRotate the Client SecretUpdate Business Central SettingsRerun System Status CheckSymptom: "System Status Check failed with HTTP 404"Verify Dispatcher Base URLVerify Host Key (Function Code)Test Connectivity from Business CentralSymptom: "System Status Check failed with HTTP 403 Forbidden"Check Azure AD App Registration ConsentVerify App Role AssignmentDocument Generation FailuresSymptom: "Template Gallery is empty when I click Process Document"Confirm Templates ExistVerify Source System SettingVerify Template Drive SettingsSymptom: "Document generation fails with 'template not found'"Verify Template Path in SharePointCheck Graph Permissions on Template LibrarySymptom: "Dispatcher returns 'Invalid payload' error"Check Template Field MappingReview Token UsageSharePoint Upload IssuesSymptom: "SharePoint upload fails with 403 Forbidden"Verify Admin ConsentTest SharePoint ConnectivityVerify Output Drive IDSymptom: "PDF generates but does not appear in SharePoint"Verify Folder Path in SharePointCheck Upload LogWorkflow and Routing IssuesSymptom: "Workflow message shows literal token text as a literal string"Verify Token SyntaxConfirm Field ExistsTest the TemplateSymptom: "Workflow does not trigger or approval workflow status stays 'Pending'"Verify Workflow SettingsCheck Dispatcher LogsSync Workflow StatusE-Signature IssuesSymptom: "Signers do not receive signing invitations"Verify eSign ConfigurationCheck Email DeliveryReview Dispatcher eSign LogsSymptom: "Signing portal is unreachable (404 error)"Verify Portal URLCheck Link ExpiryBatch Operation IssuesSymptom: "Per Group dispatch fails with cryptic error"Verify Group By FieldTest the FieldSymptom: "Batch operation shows success but some PDFs are missing"Check Upload LogReview Common Batch FailuresSymptom: "Large batch runs synchronously without a background prompt"Check the Threshold KeySymptom: "Batch job is stuck on Queued status"Check Job Queue EntriesConfirm a Worker Is ScheduledSymptom: "Batch job shows Failed status"Read the Status MessageResolve the Error and RetrySymptom: "Batch job shows Partial status and some PDFs are missing"Review Record-Level ErrorsFix the Data and RetrySymptom: "Retry Failed Records action is greyed out"Symptom: "Webhook notification is not being received"Verify the Webhook URL SettingCheck the Notification FilterCheck for Silent Webhook ErrorsSymptom: "Vault Lifecycle Workspace column is blank on all Batch Log rows"Add the Portal URL SettingSymptom: "Vault Lifecycle Workspace column is blank on some Batch Log rows"Check Dispatcher VersionVerify Portal URL Is ConfiguredPerformance and Timeout IssuesSymptom: "Document generation takes longer than 5 minutes"Use Background ExecutionOptimize Batch SizeSimplify TemplateMonitor Dispatcher QueueThree-Way Match IssuesSymptom: "Three-way match report shows all lines as Unmatched"Confirm the Source Record Is an Open Purchase OrderVerify Receipt and Invoice LinksSymptom: "Three-way match report is missing the buyer address"Symptom: "Three-way match enforcement is unexpectedly blocking a document"Common Questions (FAQ)Q: Can I use VaultPDF on custom Business Central pages?Q: I added a record to the Custom Page Registry but VaultPDF buttons don't appear on my custom page.Q: How do I verify my batch filters are correct before running the batch?Q: How long are batch job records kept in Business Central?Q: What Business Central versions are supported?Q: Can I generate PDFs from multiple companies?Q: How long are generated PDFs stored in SharePoint?Q: Can I customize the PDF layout beyond what templates allow?Q: How do I migrate templates between environments (dev to prod)?Q: What happens if I delete a template that is in use?Q: Can multiple users work on the same document simultaneously?