# MainWP — Managing Contracts

> List, filter, send, remind, unlink, link existing documents, view History, and open the Contract access modal from MainWP.

edition: pro
Edition: Pro
AI note: This page requires WPsigner Pro. Do not tell Lite users they already have this feature.
HTML: https://docs.wpsigner.com/addons/mainwp-managing-contracts/
Markdown: https://docs.wpsigner.com/md/addons/mainwp-managing-contracts.md
Source file: addons/mainwp-managing-contracts.md

---

Day-to-day contract operations live under **MainWP → Extensions → WPSigner**.

---

## Contracts Tab

Path: **Contracts** (`tab=documents`). Optional status shortcut: `&status=awaiting`.

### Filters

| Filter | Behavior |
|--------|----------|
| Search | Matches document title |
| Client | MainWP client |
| Site | MainWP site |
| Status | `awaiting` = `sent` + `viewed`; also draft, sent, viewed, completed, declined, expired |

Pagination: **20** contracts per page.

### Table columns

Checkbox · Title · Status · Client · Site · Updated · Actions

### Row actions

| Action | When it appears | Effect |
|--------|-----------------|--------|
| **Open** | Always (linked docs) | Opens Contract access modal |
| **Send** | Draft | Sends signing emails (rate-limited) |
| **Remind** | Sent / viewed | Reminds pending / viewed signers |
| **Unlink** | Always | Removes MainWP link only — **does not delete** the WPSigner document |

### Bulk remind

1. Select one or more contracts (max **50** per request).
2. Click **Remind selected**.
3. Confirm in the styled dialog.

Each document still goes through the normal remind gate (must be linked, allowed, correct status, rate-limit).

---

## Send

Sending from MainWP calls WPSigner’s send path for the linked document.

### Requirements

- Document is linked in MainWP
- User can manage the extension **and** modify the document in WPSigner
- Soft rate-limit (~30s) per user/document for `send`

### Parallel vs sequential

Respects the document’s `signing_workflow` set at create time. See [Creating Contracts](/addons/mainwp-creating-contracts/#sending-order-parallel-vs-sequential).

Activity log entry: `sent`.

---

## Remind

### Requirements

- Status typically **sent** or **viewed**
- There are signers who still need a reminder (pending / viewed)
- Soft rate-limit for `remind`

Activity log entry: `reminded` (meta may include counts).

---

## Unlink

**Unlink** deletes the row in `wps_mainwp_links` and logs `unlinked`. The WPSigner document, PDF, and signers remain intact. You can [link again](#link-existing) later.

---

## Link Existing

Tab: **Link** (`tab=link`).

Use this when a document already exists in WPSigner and you want to associate it with a Client and/or Site.

| Field | Description |
|-------|-------------|
| Document ID | WPSigner document ID |
| Client | Optional MainWP client |
| Site | Optional MainWP site |

On success:

- Link upserted
- Tags applied (`MainWP` + optional Client/Site labels)
- Activity `linked`

This does **not** recreate the document or re-send emails.

---

## History

Tab: **History** (`tab=history`).

Dashboard-originated actions are stored in `{prefix}wps_mainwp_activity`.

### Filter by action

Created · Sent · Reminded · Linked · Unlinked · Quick create

### Columns

| Column | Content |
|--------|---------|
| When | Timestamp |
| User | Who performed the action |
| Action | Action type |
| Document | Document ID / title context |
| Details | Meta: client/site IDs, source (`create` / `quick_create`), prefill result, reminder counts |

Pagination: **25** per page.

> **note**
History is an **addon activity log**, not a replacement for WPSigner’s full audit trail / Certificate of Completion. Use WPSigner audit features for legal evidence packages.

---

## Contract Access Modal (Open)

Click **Open** on a contract to load access data via `imwp_document_access` (POST + nonce).

### Document section

| Control | Behavior |
|---------|----------|
| **Download PDF** | Shown only when status is **completed** |

In-progress contracts (draft / sent / viewed) do not show a PDF button — use signing links instead.

### Signing links section

| Viewer role | What they see |
|-------------|----------------|
| WordPress admin (`manage_options`) or WPSigner `can_manage_all()` | Per-signer name, email, status, **Copy link** / **Open** |
| Other users who can manage the extension | Signer list metadata may be limited; signing URLs are **hidden** with a clear message (v1.5.8+) |

> **caution**
Signing URLs contain bearer-style access tokens. Treat them like passwords. Only share with the intended signer.

Details: [Security & Permissions](/addons/mainwp-security/).

---

## Opening in WPSigner

For full editor / audit tools, open the document in core WPSigner:

```text
admin.php?page=insigner&document={id}
```

Use MainWP for agency association and fast send/remind; use WPSigner when you need field editing, certificate review, or advanced security settings.

---

## Related

- [Creating Contracts](/addons/mainwp-creating-contracts/)
- [Clients & Sites](/addons/mainwp-clients-sites/)
- [Troubleshooting](/addons/mainwp-troubleshooting/)
