Frequently Asked Questions

An answer exists for every question

Licenses & Pricing

What is the free version of S-Docs?

The free version of S-Docs allows you to create two templates and generate an unlimited number of documents without any restrictions on the number of Salesforce users. They are production ready and do not have an expiration date. The online resources are available for all support related questions.

How do the Starter Packs work?

Starter Packs are for Orgs with between 1 - 24 Salesforce users and are broken down as follows:

Starter Pack A = 1 - 10 Salesforce users, priced at $1,500 per year and includes unlimited templates and documents

Starter Pack B = 11 - 24 Salesforce users, priced at $3,000 per year and includes unlimited templates and documents

Support is restricted to the online resources and available to all. View a full breakdown of the differences between all plans here.

What is S-Docs Unlimited Edition?

S-Docs Unlimited Edition is for Orgs with more than 24 Salesforce users and priced at $20 per user per month billed annually. Discounts start with a purchase of 50 S-Docs licenses. It allows you to create an unlimited number of templates. S-Docs Unlimited Edition includes the following features:

  • Access to our pre-built template library
  • Batch processing (fees may apply)
  • Automation and workflow (fees may apply)
  • Dynamic content rendering
  • Run-time prompts
  • Integrations with Google Drive, Amazon S3, Box, and SharePoint
  • Upgradable to the S-Docs & S-Sign bundle for e-signature functionality.

View a full breakdown of the differences between all plans here.

What is the S-Docs & S-Sign Bundle?

The S-Docs & S-Sign bundle package includes S-Docs Unlimited Edition bundled with S-Sign, our 100% native e-signature solution. This package is for mid to large organizations looking for a comprehensive, all-in-one solution that pairs the power of native document generation with native e-signature. With the S-Docs and S-Sign bundle package, users can take advantage of the features of S-Docs Unlimited Edition alongside those of S-Sign, including:

  • Send unlimited S-Sign e-signature requests
  • Send multiple documents to multiple signers
  • Create dynamic signer profiles
  • Add text, checkbox, and picklist fields to your e-signature documents
  • Write signer data directly back to Salesforce
  • Automate your e-signature workflow

View a full breakdown of the differences between all plans here.

Can I purchase S-Sign without S-Docs?

No, currently S-Sign can only be purchased through the S-Docs & S-Sign bundle.

I have more than 10 salesforce users; can I still purchase Starter Pack A for $1500?

Yes. As long as you have 24 or fewer Salesforce users in your org, you can purchase either Starter Pack. Starter Pack A will allow S-Docs access for up to 10 of your Salesforce users.

Can I purchase a Starter Pack if I have more than 24 Salesforce users?

No, orgs with more than 24 Salesforce users need to purchase S-Docs Unlimited Edition.

Is it possible to purchase S-Docs Unlimited Edition if I have less than 24 Salesforce users?

Yes, anyone can upgrade to S-Docs Unlimited edition for a starting price of $6,000 per year

Does everyone in our Org need to be licensed?

No, S-Docs licenses are needed for everyone in the org who creates a document or needs to use or send a document within Salesforce. This could mean all users in the org, or just a subset of users. However, if you have more than 24 Salesforce users in your Org, you are required to purchase a minimum of 25 S-Docs licenses for access to S-Docs Unlimited Edition.

What edition of Salesforce do I need to use S-Docs?

S-Docs requires the Unlimited Edition (UE), Enterprise Edition (EE), Performance Edition or Developer Edition (DE). It is not compatible with Professional Edition (PE) or Salesforce Essentials.

Can some users be on the free version and some on the paid version?

No, all users need to be on the same version.

Do you offer discounts for nonprofits?

Yes! Nonprofits are eligible for a discount. Please contact for a quote.

Do you offer volume discounts?

Yes! If you have 50 or more Salesforce users, please contact for a quote.

Do S-Docs admins and users have different license types?

No. There is only one S-Docs license type and it covers admins and users alike.


How do I upgrade to the latest version of S-Docs?

To upgrade S-Docs to the latest version, simply follow the instructions in Upgrading S-Docs to the Latest Version.

How do I install and configure S-Docs?

To install and configure S-Docs, simply follow the instructions in the S-Docs Quick Install & Config Guide.


Where are documents generated by S-Docs stored?

Since S-Docs is 100% native to the Salesforce platform, your documents are stored as records in your Salesforce organization. We call these documents "S-Docs". For any standard or custom object, you can create a related list of S-Docs that displays all the documents that have been generated for a given record. In addition to S-Docs being saved as records in Salesforce, you also have the option to save your S-Docs as Attachments or files on your records. S-Docs is also integrated with Amazon S3, Box and Google Drive in case you require off-platform document storage options.

Where are my templates stored?

By default, all of your Templates and their data are created and stored as data records in Salesforce (object name: S-Docs Templates). S-Docs does not store any data on external servers. For most templates, you create your template directly within the Salesforce UI and save the template content to a S-Docs Template record. If you have existing templates, such as complex DOCX or PDF files, you have the option to upload your existing templates and then map Salesforce merge fields. In this case, your templates are saved as an attachment on the S-Docs Template record.

Does S-Docs work with Salesforce Mobile?

Yes! To learn how to set up S-Docs for Salesforce mobile, please visit:

Does S-Docs work with Salesforce communities?

Yes! To learn how to set up S-Docs for use with communities, please visit:

Does S-Docs work with Custom Objects?

Yes! S-Docs works great with custom objects including those in other third party apps. To use custom objects with S-Docs, a bit of configuration is required. Documentation on this matter is provided through the following links:

Does S-Docs work with batch processing and workflow automation?

Yes, S-Docs works with batch processing and workflow automation. Documentation on these use cases can be found here.

S-Docs document automation is accomplished through the S-Docs Job object in conjunction with Process Builder, Apex code, or Salesforce flows; with this method, we recommend you use the Salesforce Process Builder instead of workflows, as it is easier to implement.

S-Docs Jobs are also used behind the scenes in the batch document feature. For information on setting up and configuring this feature, please visit:

Does S-Docs support aggregate functions in SOQL queries?

S-Docs supports aggregate functions in SOQL queries. To use this feature, you would need to specify an alias and use that in the column mapping. For example:
<soql>SELECT sum(amount) myAlias FROM opportunity</soql>

For more information on this feature, please visit:

Does S-Docs support the Salesforce Translation Workbench?

Yes! S-Docs and S-Sign allow you to translate the UI as well as merge fields and field labels.

For more information on translating S-Docs and S-Sign, please visit the following links:

Can S-Docs generate PDFs with fillable fields?

S-Docs does not support the collection of data via PDF files. However, this can be accomplished with the S-Sign add-on product. We strongly recommend that data collection happen in a web form whenever possible. Collecting information via a PDF requires reconciliation and does not allow for data validation or data enrichment. These are better handled by leveraging Salesforce sites/communities and then automatically generating the PDF on submission.

Can S-Docs import pre-existing PDFs into the template editor?

Yes, S-Docs supports uploading existing PDFs into the template editor with the PDF-Upload feature. This feature allows you to import any existing PDF document, and then drag and drop merge fields onto your PDF. You can also use the PDF-Upload feature with S-Sign.

If the PDF-Upload feature does not satisfy your use case, you can also convert your PDF to HTML, since S-Doc templates are written in HTML. Here are some resources for converting PDF to HTML:
These conversion services may yield inaccurate results, especially for complex PDFs, so some fine-tuning may be necessary.

Template Design

How can I format my related list columns to display numbers as currency?

To display a piece of numeric data in your related list as currency, you would set the format-number attribute to "#,###.##" and the prefix attribute to the relevant currency symbol.

For example, consider the following:
<column format-number="#,###.##" prefix="$" >totalprice</column>

In this example, if “totalprice” is 45200.40, the column might look like the following:
$ 45,200.40

Note that your output may vary, as space between “$” and “45200.40” varies depending on the width of the column. Additionally, other HTML positioning attributes that you may have set may affect how your data is displayed.

This feature and other advanced S-Docs template features are explained here:

Can I place a merge field inside of an HTML tag?

Yes, S-Docs supports the placement of merge fields inside of an HTML tags. In order to do this, you need to make the following replacements in the HTML tags containing merge fields:

Replace < with lt#
Replace > with gt#
Replace " with quot#

For example, if you wanted to generate a document for an account and include a link to that account record's page, you would not use:

<a href="{{!}}">Your link text goes here</a>

Rather, you should use:

lt#a href=quot#{{!}}quot#gt#Your link text goes herelt#/agt#

Note that you do not need to make these replacements for every HTML tag in the document; these replacements only need to be made for HTML tags containing merge fields.

I'm totally new to template development in S-Docs. What is the best resource for getting started?

The S-Docs Template Editor documentation article contains a basic introduction to the S-Docs template editor, and breaks down all of it parts in detail. Later, if you'd like to explore a wide array of solutions, such as including dynamic images, SOQL queries, or conditionally rendered statements in your templates, you may refer to the Advanced Template Features article.

You can also visit our documentation homepage and search for specific information.

Where can I find resources for advanced template development?

For descriptions of advanced template features and Apex parameters, you may refer to the Advanced Template Features documentation article.

Certain characters display correctly in the template editor, but display incorrectly or disappear in the output document.

If this occurs, it is likely that the problematic characters require Unicode enforcement. This is the case for many characters in non-English languages, as well as other special characters.

To resolve this, open your template in the S-Docs template editor and click the “Document Options” tab. Open the “Other Options” dropdown box if it is not already open. Check the box next to “Template contains international characters (Unicode fonts)”, and then select “Strict” from the dropdown menu next to “Unicode Enforcement Level”. Click “Save” to save these edits to your template; the characters should display correctly when you re-generate the documents produced with this template.

Alternatively, you can select the problematic characters in the S-Docs template editor and change their fonts to one of the Unicode fonts found in the Font drop-down menu at the top of the template editor. However, we recommend attempting the first solution if possible, as it is the simplest, cleanest way to include Unicode characters in your documents.

How can I display the date of document generation in my S-Doc?

To display the date that a S-Doc was generated on, insert {{!DocumentDateTime MM/dd/yyyy}} in the desired location in the template editor for the relevant S-Doc. Save the template and regenerate the S-Doc to see your changes. Note: many date formats are supported, but they are case sensitive; for months, the M’s must be capitalized, and for days and years, the d’s and y’s must be lowercase.

Visit the Special Merge Fields documentation article for a list of all special merge fields that S-Docs provides.

How do I insert images into my S-Doc template?

It depends on whether that image is going to be static or dynamic.

Would you like to insert an image into your template that will be the same across all documents generated with that template? Or would you like to insert an image that might change from document to document, since this image might vary from record to record?

If you answered “yes” to the first question, then you’re looking to embed a static image. Instructions for this are provided through the following link:

An example of a static image is a company logo. It would be the same image across all generated documents, regardless of the data in each record, and can therefore be be referenced through a single, static source.

If you answered “yes” to the second question, then you’re looking to embed a dynamic image. Instructions for this are provided through the following link:

An example of a dynamic image is a signature image that varies from record to record. Depending on the person that each record corresponds to, the image will need to be handled generically in your template. This would allow each unique signature image to display in each document generated with that template.

If your image is externally hosted, then you need to add the domain to the remote site settings through Setup > Administer > Security Controls > Remote Site Settings.

How can I format the numbers in my related list columns or merged fields?

To format the numbers in your related list columns or merged fields, you would use the “format-number” attribute. Format number supports these four exact options:
For example, consider the following:

<column format-number="#,###" >quantity</column>
<column format-number="#,###.##">totalprice</column>

In this example, if “quantity” is 32400905 and “totalprice” is 45200.40, the numbers will be displayed as 32,400,905 and 45,200.40, respectively.

We use a similar method for merged fields; for example: {{!opportunity.amount #,###.##}} will display an opportunity amount of 1000 as 1,000.

Please visit this article for a comprehensive list of related list column formatting options.


How does S-Docs handle undelivered emails?

By default, S-Docs send emails via the Salesforce email system (meaning they are sent from an email server with a delivery path, just like regular emails sent using Salesforce).

This also means that Salesforce manages email security and email bounces. To configure this, you'll need to go to Setup > Email Administration > Deliverability. Note that any changes here are org-wide and would affect more than just S-Docs.

There are other options affecting how emails are handled (such as using Salesforce's email relay feature or routing S-Doc emails via services like SendGrid) that can enhance email delivery and management.

Visit our email troubleshooting guide for more information.

My email failed to send. What went wrong?

By default, S-Docs links outbound emails to the contact record with a matching email address; Salesforce requires this linkage. If you try to send an email to an email address that is not listed under any Contact record in your org, S-Docs will attempt to link it to a single dummy contact record called "No Contact Record." This contact record is created automatically by the S-Docs package to handle this linkage, and is immediately deleted once the email is sent.

If your org has implemented validation rules that require additional contact fields to be completed, then the S-Docs package will not be able to create this contact record. In this case, there are two main options.

Option 1 (Recommended)

Create a before insert, before update Apex trigger on the Contact object that automatically changes the fields on the No Contact Record that S-Docs creates so that your validation rules are not triggered. For example, the trigger might look like this if your validation rules prevent the contact field "This_Cannot_Be_Null__c" from being null:

trigger ContactFirstName on Contact (before insert, before update) {
    for (Contact c : {
        if (c.LastName == 'No Contact Record') {
            c.This_Cannot_Be_Null__c = 'some non-null value';

With this option, S-Docs will be able to create and delete the No Contact Record, and the email will be sent and logged in Activity History on the base object record.

If you require test coverage for your No Contact trigger, you can use the following test class:

Class Name: NoContactTestClass

private class NoContactTestClass {    @isTest
    public static void noContactTest() {
        Contact testContact = new Contact();
        testContact.LastName = 'No Contact Record';
        insert testContact;

Option 2

Create the S-Docs No Contact Record manually with all of the fields filled in that are required by your validation rules. The fields that S-Docs requires should be filled in as follows:
First Name: Not Required. We recommend writing S-Docs to avoid confusion.
Last Name: No Contact Record
Email Address:
You then need to add the following parameter to the end of your S-Docs button: &useExistingNoContactRecord=true
Note: This option is not recommended, as the email will not be logged in Activity History on the base object record.

Sandbox Deliverability

If you are testing S-Docs in a sandbox org and emails are not being delivered, you should check Setup > Email Administration > Deliverability, and check that "Access to Send Email" is set to "All email." By default, Salesforce turns off outbound email access when a sandbox is created to reduce the risk of inadvertently sending emails to contacts during development and testing. Be aware that this change effects the entire sandbox and not just S-Docs.

For more on S-Docs email templates and deliverability, please visit this documentation article.

Can I use a previously defined email template to send an S-Doc that I have just generated?

Yes! In fact, the S-Docs email functionality is far superior to Salesforce’s built-in email service. It allows you to include images, custom queries, related lists, and render statements, which are not possible with standard Salesforce email templates. For this reason, we use S-Docs to generate the outbound email content, rather than using Salesforce’s standard email service. Thus, if you have existing Salesforce email templates, you can simply copy and paste them into the S-Docs editor and then update the field mappings as needed.

For more on S-Docs email templates, please visit this documentation article.

Troubleshoot Common Errors

For a list of common errors and their resolutions, please visit our troubleshooting guide.