# ApproveMe Importer

> Import signed WP E-Signature / ApproveMe documents into WPsigner as completed, hashed PDFs with background WP-Cron migration.

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/approveme-importer/
Markdown: https://docs.wpsigner.com/md/addons/approveme-importer.md
Source file: addons/approveme-importer.md

---

**ApproveMe Importer** is an official WPsigner addon that archives **signed** WP E-Signature / ApproveMe documents into WPsigner. Each import becomes a completed WPsigner document with a secure PDF, file hash, signers, audit trail, and the tag **Imported from ApproveMe**.

> **note**
Addon version **1.2.1**. Requires **WPsigner** active, ApproveMe / WP E-Signature tables on the **same** WordPress site, and the ApproveMe **Save as PDF** add-on enabled during import.

---

## What this addon does

| Capability | Detail |
|------------|--------|
| Detection | Finds ApproveMe database tables and counts signed / awaiting / draft documents |
| Signed-only import | Imports documents with ApproveMe status `signed` (archive mode) |
| Native PDF | Uses ApproveMe **Save as PDF** (mPDF) so archived files match the original download |
| Secure storage | Stores each PDF once in WPsigner SecureStorage with a SHA-256 file hash |
| Completed docs | Creates WPsigner documents marked **completed** with signed signers |
| Tagging | Attaches the tag **Imported from ApproveMe** |
| Background jobs | WP-Cron queue with pause, resume, retry failed, and live ETA |

This is a **migration / archive** tool — not a live sync of pending workflows.

---

## Installation

1. Install and activate **WPsigner**
2. Keep **WP E-Signature / ApproveMe** and **Save as PDF** enabled on the same site
3. Download the addon ZIP from the [Account Portal → Addons](https://app.wpsigner.com/account/?portal_tab=addons) tab (or your distribution channel)
4. **Plugins → Add New → Upload Plugin** → install the ZIP
5. **WPsigner → Addons → Activate** (or activate via **Plugins**)
6. Open **WPsigner → ApproveMe Import** (button: **Open Importer**)

See [Addons Overview](/addons/overview/) for the general install flow.

### Requirements

| Component | Minimum / notes |
|-----------|-----------------|
| WPsigner | Active (`WPS_VERSION` present) |
| WordPress | 5.8+ |
| PHP | 7.4+ |
| ApproveMe / WP E-Signature | Installed on the same site (tables detectable) |
| Save as PDF | ApproveMe add-on with `ESIG_PDF_Admin` available |
| Capability | `manage_options` or WPsigner `Permissions::can_use_signatures()` |

---

## Before you start

1. **Backup** the WordPress database and files
2. Confirm signed documents appear under ApproveMe
3. Enable **E-Signature → Add-ons → Save as PDF**, then refresh the importer page
4. Plan for large volumes: ~800 documents may take roughly **30–90 minutes** depending on server load
5. Keep ApproveMe + Save as PDF **active until the job finishes**

> **important**
Import is **blocked** until Save as PDF is available. Without it, the Start button stays disabled.

---

## Detection screen

Open **WPsigner → ApproveMe Import**.

When ApproveMe tables are found, the **Detection** card shows:

| Counter | Meaning |
|---------|---------|
| **Signed** | Documents eligible for import |
| **Awaiting** | Not imported (re-send from WPsigner if still needed) |
| **Drafts** | Not imported |
| **Already imported** | Previously migrated (skipped automatically) |
| **Remaining** | Signed minus already imported |

Only **signed** documents are imported. Pending or draft documents should be completed or re-sent from WPsigner.

---

## Background import

### Batch size

| Documents per batch | When to use |
|---------------------|-------------|
| 3 | Safer on shared / limited hosts |
| **5** | Recommended default |
| 8–10 | Faster hosts with more resources |

### Controls

| Action | Behavior |
|--------|----------|
| **Start background import** | Builds a pending-only queue and runs via WP-Cron |
| **Pause** | Stops scheduling new batches |
| **Resume** | Continues the remaining queue |
| **Retry failed** | Re-queues documents that failed |
| **Refresh** | Reloads detection and job status |

### While the job runs

- Progress bar, imported / skipped / failed counters, and ETA update live
- **Safe to close the tab** — WP-Cron continues in the background
- Keeping the tab open **accelerates** processing (browser-assisted ticks)

Each document is:

1. Rendered to PDF once (ApproveMe Save as PDF)
2. Stored in SecureStorage
3. Hashed (WPsigner file hash)
4. Marked **completed** in WPsigner
5. Tagged **Imported from ApproveMe**

---

## What gets imported vs what does not

### Imported

- ApproveMe documents with status **signed**
- PDF archive (native Save as PDF when available)
- Signers with a valid email (status **signed** in WPsigner)
- Signature metadata and a migration audit entry
- Tag **Imported from ApproveMe**

### Not imported

| Item | Notes |
|------|-------|
| Awaiting / draft documents | Not part of archive mode |
| Templates | ApproveMe templates are not migrated |
| Workflows & settings | Not copied |
| Trash | Not imported |
| Cross-site data | Same WordPress install only |
| Signers without email | Omitted (cannot create a WPsigner signer) |

There is **no dry-run** and **no global rollback**. Already imported IDs are skipped, so re-running is safe for remaining documents.

---

## PDF design

| Mode | When | Result |
|------|------|--------|
| **Native (preferred)** | Save as PDF / `ESIG_PDF_Admin` available | Same PDF ApproveMe would download (mPDF) |
| **Fallback** | Native render fails for a document | TCPDF-based archive PDF (layout may differ) |

> **tip**
For the best visual match, leave WP E-Signature and Save as PDF active for the entire migration.

---

## Finding imported documents

After import:

1. Open **WPsigner → Documents**
2. Filter or search by the tag **Imported from ApproveMe**
3. Open a document to review the PDF, signers, and audit trail

---

## Permissions and security

- Admin UI and AJAX actions require a logged-in user with **`manage_options`** or WPsigner signature capability
- The importer **reads** ApproveMe data; it does not modify ApproveMe documents
- PDFs are written through WPsigner **SecureStorage** with integrity hashing
- ApproveMe remains the source of truth until you decommission it after verifying the archive

---

## Troubleshooting

| Symptom | Likely cause | Fix |
|---------|--------------|-----|
| Detection error / not installed | ApproveMe tables missing | Install ApproveMe on the same site, or confirm table prefix |
| Start button disabled | Save as PDF unavailable | **E-Signature → Add-ons → Save as PDF** → refresh importer |
| Job very slow | Low traffic / WP-Cron delayed | Leave the importer tab open; ensure a real cron hit if you disabled WP-Cron |
| Some documents failed | PDF render or storage error | Use **Retry failed**; check `wp-content/debug.log` |
| Signer missing | No email on ApproveMe signer | Add email in ApproveMe or accept omission |
| Duplicate worry | Re-run after partial success | Already imported IDs are skipped automatically |

Enable WordPress debug logging if needed:

```php
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
```

Then review `wp-content/debug.log` for ApproveMe Importer / WPsigner entries.

---

## Next Steps

- [Addons Overview](/addons/overview/) — Install and manage official addons
- [Account Portal](/addons/account-portal/) — Download addon ZIPs
- [Creating Documents](/core-features/creating-documents/) — Work with documents after import
- [Audit Trails](/digital-identity/audit-trails/) — Understand WPsigner audit records
- [Troubleshooting](/support/troubleshooting/) — General WPsigner diagnostics
