> ## Documentation Index
> Fetch the complete documentation index at: https://www.carstoragesoftware.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Attach contracts to customer workflows

> Require the right agreements during customer onboarding or customer setup.

## What you will accomplish

You will connect contract templates and required uploads to **customer onboarding** so new portal customers finish paperwork during their first sign-in—not only when staff sends a one-off email.

When this works, customers complete profile, vehicles, uploads, and signing in a sensible order, and your team can confirm the signed PDF on the customer record.

## When to use this guide

Use this guide when:

* Every new storage customer must sign the same storage agreement.
* Customers should sign before they finish portal setup.
* Your agreement uses vehicle fields and customers may need to add a car first.
* Customers must also upload insurance or registration during onboarding.
* You have already created and tested a contract template.

<Tip>
  **Not sure yet?**

  If you are still testing wording or fields, send contracts manually first with [Send a contract for signature](/docs/contracts/send-a-contract-for-signature). Turn on onboarding after one successful test.
</Tip>

## Before you start

* Complete [Create a contract template](/docs/contracts/create-a-contract-template).
* Place required signature, initials, customer, and car fields on the template.
* If uploads are required, complete [Configure document requirements](/docs/contracts/configure-document-requirements).
* Sign in as a team member who can open [Settings](https://www.carstoragesoftware.com/dashboard/settings).

## Manual send vs onboarding

<Info>
  **Customer onboarding** is best when **every** new customer should sign the same agreement during portal setup.

  **Manual send from a customer record** is best when only some customers need the agreement or staff must review each case first.
</Info>

| Situation | Use |
| - | - |
| Every new portal customer signs the same agreement | This guide — **Customer app onboarding** |
| One customer needs a agreement today | [Send a contract for signature](/docs/contracts/send-a-contract-for-signature) |
| Same agreement for several vehicles, one email | [Send multiple contracts in one signing link](/docs/contracts/send-multiple-contracts-in-one-signing-link) |

## Step 1: Confirm the template is ready

<Steps>
  <Step title="Open Contracts & Documents">
    Go to [Settings > Contracts & Documents](https://www.carstoragesoftware.com/dashboard/settings/contracts-and-documents).
  </Step>

  <Step title="Check the template list">
    Confirm your agreement appears and is **Active**. Only ready templates should be connected to onboarding.
  </Step>
</Steps>

<Frame>
  <img src="https://mintcdn.com/carstoragesoftware/Y2uxZmzRWHSqQdJO/images/contracts/contracts-settings-overview.webp?fit=max&auto=format&n=Y2uxZmzRWHSqQdJO&q=85&s=4c14c6c0e0181c94ecdfbae8d4140bb2" alt="Contracts and Documents settings showing active contract templates" width="1440" height="900" data-path="images/contracts/contracts-settings-overview.webp" />
</Frame>

*Use a template that is fully configured and active before you attach it to onboarding.*

**Expected result:** Your team has at least one active template to select in onboarding settings.

## Step 2: Open Customer onboarding

1. In the sidebar, click **Settings**.
2. Open [Settings > Customer onboarding](https://www.carstoragesoftware.com/dashboard/settings/customer-onboarding).

The page title is **Customer onboarding**. The subtitle explains registration and what customers complete after they sign in.

For a broader settings walkthrough (registration form vs portal onboarding), see [Configure customer onboarding](/docs/settings/configure-customer-onboarding).

## Step 3: Turn on Customer app onboarding

<Steps>
  <Step title="Find Customer app onboarding">
    Scroll to the **Customer app onboarding** section.
  </Step>

  <Step title="Turn the main switch on">
    Turn **Customer app onboarding** **on**.

    Until this switch is on, the step list stays hidden.

    **Why this matters:** This is the master switch for first-time portal setup after a customer signs in.
  </Step>

  <Step title="Review the Onboarding steps list">
    Below the switch, find **Onboarding steps**. Your facility may show steps such as:

    * **Welcome** — welcome screen with your branding
    * **Accessibility** — text size preference
    * **Profile** — review contact details
    * **Cars** — add vehicles to the account
    * **Payment** — card on file or product checkout (if billing is set up)
    * **Contract Signing** — sign required agreements
    * **Document Upload** — upload insurance, registration, or other files

    **Expected result:** You can drag rows to reorder steps and turn each step on or off.
  </Step>
</Steps>

<Frame>
  <img src="https://mintcdn.com/carstoragesoftware/Y2uxZmzRWHSqQdJO/images/contracts/contracts-onboarding-steps-enabled.webp?fit=max&auto=format&n=Y2uxZmzRWHSqQdJO&q=85&s=4bb48bde6432bbadc95744270ccb77bc" alt="Customer onboarding settings with Customer app onboarding on and Contract Signing and Document Upload steps enabled" width="1440" height="900" data-path="images/contracts/contracts-onboarding-steps-enabled.webp" />
</Frame>

*Turn on **Customer app onboarding** first, then enable **Contract Signing** and **Document Upload** when your process requires them.*

## Step 4: Configure Contract Signing

<Steps>
  <Step title="Enable Contract Signing">
    Find **Contract Signing** in the step list. Turn its switch **on**.

    The row description reads **Require contract signature during onboarding**. A **Configure** link appears when the step is on.
  </Step>

  <Step title="Click Configure">
    Click **Configure** next to **Contract Signing**.

    **Expected result:** A window titled **Contract Step Configuration** opens.
  </Step>

  <Step title="Select required templates">
    Under **Required contracts**, turn on each template customers must sign. Example: **Car Storage Agreement**.

    Templates with a **Car-linked** badge need vehicle details on the customer record before signing.

    **Expected result:** At least one template is selected.
  </Step>

  <Step title="Close and save">
    Close the configuration window. Onboarding settings save as you make changes—confirm the **Contract Signing** step stays on.
  </Step>
</Steps>

<Frame>
  <img src="https://mintcdn.com/carstoragesoftware/Y2uxZmzRWHSqQdJO/images/contracts/contracts-onboarding-contract-config.webp?fit=max&auto=format&n=Y2uxZmzRWHSqQdJO&q=85&s=34d7d8c6c16e561fae9596a452f4cb6a" alt="Contract Step Configuration modal showing Required contracts with Car Storage Agreement enabled" width="1440" height="900" data-path="images/contracts/contracts-onboarding-contract-config.webp" />
</Frame>

*In **Contract Step Configuration**, choose which templates are required during first-time portal setup.*

## Step 5: Put vehicle steps before vehicle contracts

If the contract uses car fields (year, make, model, VIN, license plate), the customer needs a car on their account before the agreement can fill in correctly.

<Steps>
  <Step title="Drag Cars above Contract Signing">
    In **Onboarding steps**, drag the **Cars** row **above** **Contract Signing**.

    **Why this matters:** Customers who sign before adding a vehicle may see blank vehicle lines on the PDF.
  </Step>
</Steps>

<Tip>
  **The app can help with order**

  If a selected contract needs car information, the app may adjust the flow so the **Cars** step comes before **Contract Signing** even if the list order was different.
</Tip>

**Expected result:** Customers add vehicle details before they are asked to sign a vehicle-specific agreement.

## Step 6: Configure Document Upload (if needed)

If customers must upload insurance, registration, or other files during onboarding:

<Steps>
  <Step title="Create document types">
    Add types in [Settings > Contracts & Documents](https://www.carstoragesoftware.com/dashboard/settings/contracts-and-documents) if you have not already.
  </Step>

  <Step title="Turn on Customer Access">
    For each type customers should upload themselves, edit the type and turn **Customer Access** **on**.

    **Why this matters:** Types without **Customer Access** are for staff-only uploads—even if the onboarding step is on.
  </Step>

  <Step title="Enable Document Upload">
    In **Onboarding steps**, turn **Document Upload** **on** and click **Configure**.
  </Step>

  <Step title="Choose required types">
    In **Document Upload Step Configuration**, turn on each type customers must provide—for example **Insurance** and **Vehicle Registration**.

    **Expected result:** Only types with **Customer Access** appear in this list.
  </Step>
</Steps>

<Frame>
  <img src="https://mintcdn.com/carstoragesoftware/Y2uxZmzRWHSqQdJO/images/contracts/contracts-onboarding-document-upload-config.webp?fit=max&auto=format&n=Y2uxZmzRWHSqQdJO&q=85&s=3b595221104c2e0384908c9d0e407233" alt="Document Upload Step Configuration modal listing required document types for onboarding" width="1440" height="900" data-path="images/contracts/contracts-onboarding-document-upload-config.webp" />
</Frame>

*Only document types with **Customer Access** enabled can appear in **Document Upload Step Configuration**.*

<Tip>
  **Suggested step order**

  Many facilities use: **Welcome** → **Profile** → **Cars** → **Document Upload** → **Contract Signing** → **Payment** (if used). Put paperwork before payment when storage cannot start until documents are on file.
</Tip>

## Step 7: Test with a test customer

Before using this with real customers:

<Steps>
  <Step title="Pick a safe test customer">
    Use a customer record your team can experiment with—for example a test account from your seed data or a staff member’s personal vehicle.
  </Step>

  <Step title="Invite them to the portal">
    Follow your normal invite process from [Invite a customer to the portal](/docs/contacts/invite-a-customer-to-the-portal).
  </Step>

  <Step title="Walk through onboarding">
    Sign in as the test customer (or open their portal link) and complete each enabled step: profile, cars, uploads, and contract signing.
  </Step>

  <Step title="Sign the test contract">
    Confirm the agreement opens, vehicle details look correct, and signing finishes without errors.
  </Step>
</Steps>

<Frame>
  <img src="https://mintcdn.com/carstoragesoftware/Y2uxZmzRWHSqQdJO/images/contracts/customer-contract-signing-page.webp?fit=max&auto=format&n=Y2uxZmzRWHSqQdJO&q=85&s=f419c942d34c356543b8af8602af3893" alt="Customer signing page during onboarding with agreement details and signature area" width="1440" height="900" data-path="images/contracts/customer-contract-signing-page.webp" />
</Frame>

*During onboarding, customers sign in the same browser page they would use from an email link.*

**Expected result:** The test customer can finish onboarding without staff help.

## Step 8: Confirm on the customer record (staff view)

<Steps>
  <Step title="Open the test customer in Contacts">
    Go to [Contacts](https://www.carstoragesoftware.com/dashboard/contacts) and open the test customer.
  </Step>

  <Step title="Review Documents & Contracts">
    Scroll to **Documents & Contracts** and confirm:

    * Uploaded files appear with the correct document type.
    * Contracts appear with status **Signed** or **Completed** after signing.
    * The signed PDF can be viewed or downloaded.
  </Step>
</Steps>

<Frame>
  <img src="https://mintcdn.com/carstoragesoftware/Y2uxZmzRWHSqQdJO/images/contracts/customer-documents-contract-list.webp?fit=max&auto=format&n=Y2uxZmzRWHSqQdJO&q=85&s=43400d565b72739be6f21ae3d43fa50e" alt="Customer record showing uploaded document in Documents and Contracts" width="1440" height="900" data-path="images/contracts/customer-documents-contract-list.webp" />
</Frame>

*Staff confirm onboarding worked from the customer record—uploads and contracts appear together under **Documents & Contracts**.*

## What success looks like

* **Customer app onboarding** is turned on.
* The correct template is selected in **Contract Step Configuration**.
* **Cars** comes before **Contract Signing** when the contract needs vehicle details.
* Required document uploads appear only when **Customer Access** and **Document Upload** are configured.
* A test customer completes the full flow without getting stuck.
* Staff can find signed agreements and uploads on the customer record.

## Troubleshooting

<Warning>
  **No contract templates appear in onboarding settings**

  Create at least one active template in [Settings > Contracts & Documents](https://www.carstoragesoftware.com/dashboard/settings/contracts-and-documents).
</Warning>

<Warning>
  **Contract Signing does not appear in the step list**

  Turn **Customer app onboarding** on first. The step list only appears when that main switch is enabled.
</Warning>

<Tip>
  **The customer is asked to add a car before signing**

  This usually means the contract uses car fields. The customer must add the vehicle so the agreement can include correct car details.
</Tip>

<Warning>
  **Document types missing from upload configuration**

  Edit each type in [Settings > Contracts & Documents](https://www.carstoragesoftware.com/dashboard/settings/contracts-and-documents) and turn **Customer Access** on. Staff-only types never appear in **Document Upload Step Configuration**.
</Warning>

<Warning>
  **The agreement shows the wrong vehicle**

  Check the customer record and confirm the correct car is linked before the customer reaches the signing step. Fix the car, then have the customer refresh or restart the signing step if needed.
</Warning>

<Warning>
  **Customers are blocked during onboarding**

  Review each required step: missing vehicle, missing upload, location permission, incomplete payment setup, or incomplete signature fields on the template. See [Help customers complete onboarding paperwork](/docs/contracts/help-customers-complete-onboarding-paperwork) for front-desk coaching language.
</Warning>

## What to do next

After onboarding is tested:

* Share portal invites or registration links with real customers.
* Train front desk staff with [Upload a document for a customer](/docs/contracts/upload-a-document-for-a-customer) for email attachments that arrive outside onboarding.
* For a single customer outside onboarding, use [Send a contract for signature](/docs/contracts/send-a-contract-for-signature).
* When customers need help during first login, share [Help customers complete onboarding paperwork](/docs/contracts/help-customers-complete-onboarding-paperwork).


## Related topics

- [Contracts overview](/docs/contracts/overview.md)
- [Create a contract template](/docs/contracts/create-a-contract-template.md)
- [Send multiple contracts in one signing link](/docs/contracts/send-multiple-contracts-in-one-signing-link.md)
- [Upload a document for a customer](/docs/contracts/upload-a-document-for-a-customer.md)
- [Help customers complete onboarding paperwork](/docs/contracts/help-customers-complete-onboarding-paperwork.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.