Does your business require your customers or other partners to sign agreements with you? If so, you can use SCP to collect and manage them. Here are just a few examples of use cases:

  • Work for Hire/Freelance contractor or employee agreements

  • Waivers/indemnification agreements for clients using your services

  • Rental agreements outlining obligations and late fees for rental businesses

  • Non-disclosure agreements, terms of use agreements, and more

We'll cover the following topics in this document:

Overview

Here is a quick overview of the agreements feature:

  • In a nutshell, the feature allows you to create a form and send it to an individual for them to fill out. You may optionally require them to sign the agreement or type their name to confirm their identity.

  • A permanent URL is created for the agreement, which represents the electronic document.

  • The system stores the agreement for you, making it searchable, filterable, and reportable; and sends a PDF copy to both you and the respondent.

  • If you use SCP's e-commerce functionality, you may associate an agreement with a product. Each customer who buys the product must fill out the agreement during checkout before they can complete their order.

  • All agreements are verified with a checksum to demonstrate they are consistent from the moment they are submitted by the respondent. The system keeps track of additional audit trail information for each agreement to assist with UETA and E-SIGN compliance.

  • You can manage the forms used for each agreement, including adding and editing the terms that are being agreed to, and adding any number of fields, such as name, signature, phone number, etc.

  • The fields for each agreement form are completely flexible. You can choose to ask for a signature, or not. You can choose to ask the person to verify their name by typing it in, or not. You can add any number of checkboxes or other fields to the agreement form.

Creating Agreement Forms

Agreement forms leverage the existing feature of Dynamic Forms described in this document.

In the SCP system, each "agreement" represents a single document that is or was submitted by a single person. However, mulitple agreements can be associated with the same "form", which represents the text of the agreement, and each of the fields that each respondent is prompted to fill out.

For example, you might need people to sign a Non-Disclosure Agreement before doing business with them. You can create a form that holds the text of the agreement, and a few fields that each person needs to fill out, such as their name, or a checkbox confirming they have read and understand the agreement. You can then reuse this form for other people who also have to fill out the same form.

So, the first step in creating an agreement is to create a form that holds the text of the agreement and the fields they submit.

Keep the following tips in mind:

  • An "agreement" is specific to an individual person you wish to agree to something but the form can be reused. So when possible, keep information specific to an individual person out of the form.

  • An example form is provided that is intended to help you get started. Under the Forms area of the administrator, look for the "Contract Agreement Example". One way to get started quickly is to simply rename this form and add your text to the Description field. By default the form is inactive so you do have to activate it to use it. Under the form, are a few common form fields, such as name, signature, and email.

  • For the form's Notification field, we highly recommend selecting the "Agreement Notification". This will send a PDF copy of the agreement to both you and the person filling out the form, as soon as they submit it.

  • Put the text of the agreement in the form's "Description" field. This is all the legal language of the agreement. You may also use the "Instructions" field to add instructions to the form - these will appear at the bottom of the form, below all the fields and the submit button.

  • Here is an example of how a typical form used for agreements could be configured:

    image-20230905130101277

  • Next, you should add at least one required form field under the form. If you don't do this, the user is not really required to do anything to fill it out, and they are not necessary forced to agree to anything. The most basic form field would be a Checkbox field with the Prompt "I agree to the above terms" or something like that. Make sure you make it required! As a reference, here is a typical set of form fields for a form that is to be used for agreements:

image-20230904090722842

  • There are three special types of form fields you can add that are useful for agreements (all are shown above):

    • Signature field: Add a form field with a Display Type of Signature to ask the user to sign the agreement. Make it required if you are requiring a signature. This will display a signature pad and the user can use a mouse (on a desktop) or their finger (on touchscreen devices) to make their signature. The signature is encoded and stored with the agreement, and it is rendered on the PDF that is generated after the agreement is submitted.

    • Validated name field: You can add a field that requires the user to type his or her name as a way to verify their identity. Create a textbox form field, make it required, and set the Validation Type to "ValidName". This will tell the system to compare what they enter for this field, to the "Send to First Name" and "Send to Last Name" fields on the parent agreement.

      Alternatively, if this agreement is being shown during checkout, the delivery address's first and last name are required to be entered.

    • Email address field: You can ask the user to provide their email address, and if they do, the Agreement Notification will send them a PDF copy of the agreement after they submit it. To do this, create a form field with the Display Type of "Email", Validation Type of "Email" and a code of "YourEmail".

      Alternatively, if no email is provided as the user fills out the form, the system will use the "Send to Email" field on the agreement, or, if the form is being filled out during checkout, the delivery or billing email address.

Stand-Alone Agreements

There are three major types of agreements in SCP:

  • Stand-alone agreements created by an employee for an individual;

  • Agreements required during checkout that are generated as a customer places an order;

  • Agreements that are generated each time a person fills out a public form.

This section focuses on stand-alone agreements. These are agreements you can create in the administrator and send out to anyone at any time, independently of the system's ecommerce functionality.

Creating a Stand-Alone Agreement For an Individual to Sign

Once you follow the above steps to create a form to base your agreements on, you can create one more agreements that refer to it. Remember that each "agreement" represents a single document that is sent to and submitted by a single person.

To create a new agreement based on the form you created, under the form details, click the three-dots menu and select "Agreements":

image-20230901173330082

On the following screen, click the plus icon to add an agreement associated with the form.

image-20230901173444217

(Note: you can also start from the main Agreements screen, click the plus icon, and then select the form.)

Here is the Add Agreement screen:

image-20230902104453857

On this screen, as you add a new agreement, take note of the following features:

  • Status: For status, we recommend using Created when the agreement is first being added. Note that once the agreement has a status of Submitted, or any status after that, the respondant can no longer fill it out. (You can simply create a new agreement if a mistake was made and you need to start over.) Use Hidden afterwards if you don't want the agreement page to be visible at all.

  • Form: The form property is the only other required field. It should point to the form you created above with the terms of the agreement and the fields the user submits.

  • Order: The order field can be used to associate the agreement with an order in the system. For example, if an order is placed that requires the customer or others in their party to sign a waiver, you can create a form for a waiver, and an agreement for each member of the party. You can then use the order field to associate the agreement with the order, so they can all be found easily in the system. (Under the three-dots menu for the order, you can select Agreements to see them all.)

  • Send To First Name and Send To Last Name: These fields can be filled out with the name of the person who has to fill out the agreement. You also have the option of displaying a field in the agreement's form that the person must fill in with their name (use the form field ValidName validation type - see above). To enforce this, the system compares what the user enters with the Send to First Name and Send to Last Name fields.

  • Send To Email: If this field is filled out, a PDF copy of the agreement will be sent to the email address after it's submitted. This lets the respondent get an immediate copy of the agreement for their records. Otherwise, the agreement is available for the user to print immediately after they submit it (see below).

  • As an alternate to the Send To Email field, you can ask the user to submit their email address, and the system can send the PDF to that address. To do this, create a form field under the agreement with a code of "YourEmail":

    image-20230902110236988

    If that field exists and is populated, the system will send the PDF of the agreement to the submitted email address. Note: it helps to set the Validation Type field to "Email" to make sure they submit a valid email address. Also note, you don't have to make the field required. It will only try to send the PDF if the field is filled out.

Sharing the URL For a Stand-Alone Agreement

Creating the agreement creates a unique URL in the system, which you should then share with the person you want to fill it out. To visit the URL, click "Edit the new record" after creating the agreement (or find the agreement you created from the main Agreements grid screen):

image-20230901173708882

From the agreement details screen, to view the user's agreement page, click the three-dots menu and select "View in Customer Interface":

image-20230901173817937

You can now share the URL of that page with the person who needs to fill out the form.

Important: the URL is unique and cannot be guessed, but if it is forwarded or shared, anyone can view it if they have the link. So when you send the URL, we suggest you add a warning like the following: "Warning: This link is unique to you and your document. Do not forward this email to anyone else you do not wish to see it."

User's Stand-Alone Agreement Page

The user-facing agreement page will look something like this before they submit it:

image-20230901173919305

 

On this screen, note the following features:

  • Remember that the text of the agreement comes from the form's Description property.

  • Fields under the form that were marked required have a red asterisk next to them and must be filled out. For example, the first field in this form, "I agree to the above terms and conditions" is a required checkbox field, so the user must check the box to submit the form.

  • The "My Name" field in this example is set to be validated with the name that was entered above under the "Respondent" section of the agreement (ie, the Send To First Name and Send To Last Name fields). To review, you can require this extra piece of verification by selecting "ValidName" as the Validation Type for the field, under the form fields for the form associated with the agreement:

    image-20230902084634506

    This means if the user does not enter the name exactly as it is shown - matching the Send To First Name and Send To Last Name fields with a space in between - they will not be able to submit the form.

  • The "My Signature" field is set to require a written signature. The user can enter their signature by dragging their mouse (on desktop computers), or using their finger (on touch-screen devices). In this case, the field is required, so they must make one or more marks in the signature area, or they will not be able to submit the form.

Submitting a Stand-Alone Agreement

Once the form is submitted the user receives a thank you message and they can immediately see the submitted form in their browser, which they can then print. Note: the URL for the agreement is intended to be permanent and represents the electronic document:

image-20230902090558475

Additionally, if you defined the agreement's "Send To Email" field, a PDF copy of the agreement gets sent to that address. Alternatively (see above) you can ask the user to submit their email address, and a PDF copy can be sent to that address. By default, the store's main email address is blind-copied on the email.

If the system does not have an email address for the user, it will display a warning encouraging them to print or save the agreement immediately after they submit it, or save or bookmark the URL for the page:

image-20230908170210898

Please note, after the form is submitted there is no way to go backwards and re-submit it. This would break the consistency of the agreement. If the user made some mistake, you can easily use the above steps to create a new agreement for them to fill out and send that one to them (ie, start over).

Requiring Agreements During Checkout

The above examples are focused on "stand-alone" agreements, ie, agreements you can send out to anyone at any time.

SCP also features the ability to require customers to fill out agreements during checkout, before they can complete an order. In this case, you do not have to send the agreement to the user. Instead the system automatically displays the agreement during the checkout process, and requires the user to submit it:

image-20230905135406224

For each product or product variant in your store, you can define one or more agreement forms that customers are required to fill out before they can place an order for that product or variant. If there is more than one product that requires the same form to be filled out, the checkout process detects this and only asks for the form to be completed once. If different forms are required, however, the system prompts the customer to fill out each one in turn before allowing the order to be placed.

Additionally, you can define one global agreement that everyone placing an order has to fill out regardless of what they are ordering.

As an example, if you operate a store that sells a outfitting service, you might require the customer to sign a liability waiver. At the same time, they might choose to rent equipment from you, and you might need them to sign an agreement related to the rental terms (specfying late fees, etc.). During checkout, the system looks up which agreements are required for the items the customer is ordering and displays each of them, requiring them to be filled out in turn. The submitted agreements are stored with the order for easy retrieval later (see the Reviewing Agreements in the Administrator section below).

Requiring Agreements When Specific Products Or Product Variants Are Ordered

To require a form to be filled out when a specific product is ordered, create a "Product Agreement Form". Each product agreement form associates a single product with a single form. It tells the system that the form must be filled out by any customers who place an order for the product during checkout.

From the product details screen, select "Product Agreement Forms" from the three-dots menu:

image-20230904083159249

Similarly, if you wish to require an agreement when a specific product variant is ordered, under the variant's three-dots menu, select "Product Variant Agreement Forms."

(Alternatively you may start from the main "Product Agreement Forms" or "Product Variant Agreement Forms" menu items under the Forms and Agreements section of the administrator menu. You can also start from a specific form, and choose "Product Agreement Forms" or "Product Variant Agreement Forms" from its three-dots menu.)

On the subsequent screen, click the plus icon to add a new product agreement form or product variant agreement form. If it is not preselected for you, select the product you wish to require an agreement for in the Product field, and select the form that needs to be filled out for the Form field:

image-20230904093336614

Again, this tells the system that when a customer orders the product, the given form must be filled out during checkout.

To be specific, the system will show an "Enter Agreement Info" step during checkout, which is positioned after the "Enter Contact Info" step. (See the above screenshot.)

Requiring an Agreement Regardless of What Is Ordered

Independently of any agreements that have to be filled out based on products or product variants, you can define a single form in the system that has to be filled out by all customers during checkout, regardless of what is ordered. This could be useful for a blanket terms of use agreement, or if you sell very similar products that all require the same agreement.

Simply create the form you wish to use following the steps in the Creating Agreement Forms section above. Then set the "Global Agreement Form Code" setting to the code of the form. The "Global Agreement Form Code" setting can be found on the Checkout Settings screen:

image-20230905143607102

The value must match the "code" of the form exactly. With that setting defined, ALL customers will be required to fill out the form during checkout. If there are other forms that are required for specific products or product variants, the checkout will show each one in turn and require the customer to fill them all out.

Submitting an Agreement During Checkout

After a customer fills out an agreement during checkout, they will simply move to the next step of the checkout flow. If there are no other steps, they will be shown the Thank You page for their order.

image-20230905150437916

If the agreement's form is associated with a notification such as the Agreement Notification (which we recommend), at this moment the user will be sent an email with a PDF copy of the agreement. Note that this happens immediately, not later when the order is completed. The agreement is considered submitted as soon as the form is submitted. The notification goes out before the order's confirmation email goes out, in other words. The logic is, the agreement has been filled out, and that part of the deal is done, so the PDF copy should go out immediately.

At this point, if the customer navigates back to the "Enter Agreement Info" section of the checkout, they'll see a message explaining that they have already submitted the agreement:

image-20230905150357568

There is no way for them to change their responses to the agreement after they fill it out. This is to maintain the consistency and integrity of the agreement. As soon as it is submitted, it should not be touched again. If the customer made some mistake, we suggest that afterwards you can create a stand-alone agreement using the same form, and send it to them to fill out again, and then associate that new agreement with the order. See above under Stand-Alone Agreements.

Creating Agreements As the Form Is Submitted

In the above sections we have seen that every agreement in the system is tied to a single individual, and that each agreement record can be created either by an employee, to send to the individual, or automatically, as a customer goes through checkout.

There is one other scenario, which is the ability for the agreement to be generated automatically, not as a customer goes through checkout, but simply when they fill out the form that the agreement is based on.

For example, you may commonly need partners, employees, or others to fill out a non-disclosure agreement in order to do business with you. One approach is to create a stand-alone agreement record in the adminstrator and share the URL for it every time someone needs to fill out the form (as described above under Stand-Alone Agreements). But this involves a bit of work with every new person who needs to sign the agreement.

Instead you can make the form public, and have the agreement record generated automatically whenever the form is submitted. To enable this function, set the form's "Is Public" flag and its "Create Agreement With Each Response" flag to true:

image-20240113095440133

Now you can share the public URL for the form to anyone who needs to fill it out. After the form is created, click "Edit the new record", and then navigate to the three-dots menu, and select "View In Customer Interface" to go to the form's public page.

image-20240113100454102

Note: this approach can save a lot of administrative time, but it should be used with caution. Since the form is public, it may not make sense for agreements that have sensitive terms that you don't want to be open to the public. One option to work around this is to make the "Code" for the form very long and obscure. Please be aware, when you share the form's URL with someone, there is nothing to prevent them from sharing it with others, even if you don't advertise the URL yourself.

With this configuration, when someone submits the form, the system will automatically generate an agreement record that corresponds to their response. The agreement record means there is a permanent URL associated with the agreement, and a PDF of the agreement will be generated.

In addition, if you have configured the form with the Agreeement Notification, the PDF and URL will be sent to you.

Reviewing Agreements in the Administrator

Agreements Grid Screen

The main "Agreements" grid screen in the administrator lists all the agreements in the system, and lets you filter and search for them:

image-20230904110910282

It's helpful to remember that agreement records are created one of two different ways:

  • Stand-Alone agreements are created by employees and then sent to the person who is being asked to submit them (see above under Stand-Alone Agreements).

  • Checkout agreements are created automatically by the system, whenever a customer adds a product or product variant to their cart that is associated with a "Product Agreement Form" or "Product Variant Form". In addition, the system creates an agreement for each order if the Global Agreement Form Code setting is defined. (Note that these agreement records are all generated when items are added or edited in the cart, before the customer reaches checkout.)

For checkout agreements, the status "ToBePromptedOnCheckout" indicates that the customer will be required to fill it out during the 'Enter Agreement Info' step of checkout. You might see a number of these in the system. If they are older, they are likely associated with abandoned carts and can safely be removed.

The "Submitted" status is used after the customer submits the form. The other statuses can be used by employees to track each agreement in their workflows.

The Order field associates the agreement with a specific order being placed. For checkout agreements, the system automatically sets the order field to the customer's current order. It is possible for an employee to define the order field for a stand-alone agreement too, to keep things organized, for example, if a waiver must be signed after an order is received.

Listing the Agreements For A Specific Order

Employees may look up all the agreements associated with an order by clicking the "Agreements" link under the order's three-dots menu:

image-20230905153012331

This will display same Agreements grid screen, but the records will be limited to just those that are associated with the order.

Reviewing the Form Reponse For An Agreement

By clicking into the details of each Submitted agreement, you can drill down into the form response for the agreement and review all the values the customer entered.

image-20230904111254291You should note that the form response under each agreement has a copy of the terms of the agreement at the time the agreement was created. In other words, it is a copy of the parent form's description field. This means you can change the terms of the form for new agreements at any time without affecting prior agreements. The form response is intended to be a permanent record of what was agreed to. It is strongly recommended you to do not alter the form response after it's submitted by the user. The checksums described below under Agreement Certificate and Auditing Information demonstrate the integrity of the form response to each user, so you will lose that verification checkmark if anything is touched.

To see all the form field responses from the user, click the "Form Response Fields" link from the form response's three-dots menu:

image-20230905153609875

Again we recommend you make no changes to the form response fields since it will break the integrity checks.

Viewing the Email Notification For an Agreeement

If you need to find a copy of the email message that went out when the agreement was submitted, you need to drill down first into the agreement's form response, and from there, click the "Email Messages" link under the form response's three-dots menu:

image-20230905153429624

You can see the body of the email from the email message details screen, and if you drill down further, into the email message's three-dots menu, you can view a copy of the PDF that was attached to the email.

Downloading the PDF For an Agreement

Back on the agreement details screen, under the "File Fields" section there is a link next to the "File Path" field that allows you to download the PDF file that was generated when the agreement was filled out. (This file is stored in a private area, inaccessible except by this link):

image-20230904111445556

Regenerating the PDF For an Agreement

You can regenerate the PDF for the agreement. Under the three-dots menu for the agreement, select "Create And Upload PDF From Agreement". This will regenerate the PDF, overwriting the existing one.

image-20230904111741516

UETA and E-SIGN Considerations

The E-SIGN and UETA laws govern e-signatures in the United States. Depending on your business and legal needs, you might find it necessary to require customers to agree to use electronic signatures in the first place, and disclose how they work. To assist with this, we provide an example of a form under the main Forms area of the administrator menu called "E-SIGN Disclosure and Consent Sample." This form is provided only as an example and is inactive by default.

Please note SoftSlate does not provide legal advice. Ask a lawyer if requiring your customers or other users to agree to a disclosure like the example is necessary, and if the one provided suits your purposes.

A disclosure form like the one provided might make sense as an additional "Product Agreement Form" or "Product Variant Agreement Form" or as the site's "Global Agreement Form" (see above). Remember, you can require more than one agreement be filled out when a customer places an order. Another approach would be to include its clauses in another agreement's form, and possibly to add a Checkbox form field for that agreement related to them.

The E-SIGN disclosure might typcially be presented first, before your main agreements are signed. This can be manipulated with the "Product Agreement Form Order" field or "Product Variant Agreement Form Order". Setting a lower value to that field will show the agreement before others that are required.

Agreement Certificate and Auditing Information

Below the copy of each agreement itself, and printed on a separate page, you and your respondents can see an "Agreement Certificate and Auditing Information" section:

image-20230902090712920

Agreement Checksums

This section demonstrates that the agreement's essential components, such as the text of the terms and the user's responses, do not change once they are submitted.

To demonstrate this, the system creates a "checksum" for the agreement. The checksum is a condensed way to represent all of the most important elements of the agreement, namely:

  • The agreement description and instructions (ie the text of what the person agreed to)

  • The form field prompts and descriptions (ie for each of the fields the person filled out, the exact prompts and instructions that were shown for each)

  • The IP address, user agent, and session ID of the user had when they submitted the agreement

  • The actual responses submitted for each form field

The system generates the checksum mathematically from all of these elements; if any of them change, the checksum itself will also change.

By comparing the current checksum of the agreement with the checksum at the time it was submitted, the certificate verifies that the current information being shown is exactly what the user submitted. It's an extra level of assurance that whenever the URL is viewed in the future, it is a valid representation of what was agreed to.

Each agreement has a unique URL that is linked to in the Auditing information, next to the "Agreement Record ID". This is intended to be where each party can retrieve the signed electronic permanently. The same URL is used when the agreement has yet to be filled out. After it's submitted it displays the responses and the auditing information, and cannot be changed.

Additional Audit Logs for Agreements

In addition to the Agreement Certificate and Auditing Information, the system creates a log whenever the status or other key fields in the agreement record change. You can review these audit logs in the administrator under the Audit Logs section:

image-20230907191617083