---
title: "Sign a Document"
space: "Digital Signing"
url: "https://www.prilk.com/docs/digital-signing/sign-a-document"
updated: "2026-05-15"
---

## Sign a Document

The day-to-day signing flow — for internal users (Frappe desk) and external signers (portal).

### Prerequisites
- You have an **active Signing Certificate** ([Signers & Certificates](/docs/digital-signing/signers-certificates))
- 2FA is set up on your account
- The document type is registered in **Signable DocTypes**
- The document is **submitted** (signing happens after submit)

### From the Frappe Desk

1. Open a **submitted** document (e.g., a Sales Order)
2. Click **Digital Signing → Sign Document**
3. Enter your **2FA code** from your authenticator app
4. Click **Sign**

After signing, the document shows:
- Green indicator: "Signed by [Your Name] on [date]"
- Signed PDF attached
- Download link on the form

### From the Portal (external signers)

External signers often access via the portal — no Frappe desk login required.

1. Log in at your site URL
2. Open **Orders** in the sidebar
3. Open the document needing signature
4. Orange alert: "This document requires your digital signature"
5. Click **Sign Document**
6. Enter **2FA code**
7. Click **Sign**

The page refreshes with a green "Signed" status and a download link.

### Sign on Submit

If **Prompt Sign on Submit** is enabled for a DocType, the signing dialog appears automatically right after submission. The signer doesn't need to find a button — it's presented immediately.

### Sign an Attached PDF

Instead of generating a new PDF from the print format, you can sign an existing PDF attachment:

1. Click **Digital Signing → Sign Attached PDF**
2. Select the PDF from the attachments list
3. Enter 2FA code and click Sign

Useful for: pre-prepared documents, third-party PDFs, scanned originals.

### Signature placement — anchor tags

Place a `{{DIGITAL_SIGNATURE}}` token in your Print Format HTML where you want the visible signature stamp:

```html
<div style="margin-top: 30px;">
    <p>Prescribing Veterinarian:</p>
    <p>{{DIGITAL_SIGNATURE}}</p>
</div>
```

At signing time, the app:
1. Scans the PDF for the `{{DIGITAL_SIGNATURE}}` text
2. Locates its coordinates and page
3. Covers the placeholder with a white rectangle
4. Places the visible signature at that exact location

**Fallback**: if no anchor tag is found, the signature uses the position configured on the Signable DocType (Bottom Left / Bottom Right / Bottom Center on first or last page).

The visible signature shows:
```
Digitally signed by
Dr. Jan de Vries
Date: 2026-03-22 10:30:00 CET
```

### Multiple signatures

Currently, each document supports **one signature**. After the first signature, the document's status becomes "Signed" and additional signing is disabled.

### What if signing fails?

| Error | Cause |
|---|---|
| "Invalid 2FA code" | Re-check authenticator app; clock drift may be an issue |
| "Certificate not active" | Cert expired or revoked — see [Signers & Certificates](/docs/digital-signing/signers-certificates) |
| "TSA unavailable" | Timestamp Authority unreachable — wait and retry |
| "PDF generation failed" | Print Format error — check the Print Format renders |

Every attempt (success or failure) is recorded in **Signature Log** — see [Security & Audit](/docs/digital-signing/security-audit).
