Collect Electronic Signatures on Frappe Documents via Web Forms.
- Capture legally-binding electronic signatures on any Frappe DocType
- Support for multiple signature fields per document
- Touch-optimized signature pad for mobile devices
- Share documents for signing via secure, expiring links
- Guest users can sign without logging in using document share keys
- Rate-limited endpoints to prevent abuse
- Automatically generates and attaches signed PDFs to documents
- SHA-256 hash verification for document integrity
- Download signed documents directly from the signing page or document timeline
- Full audit trail recorded for each signature event
- Captures signer name, email, IP address, and user agent
- Records timestamp and which fields were signed
- Displays signature history in the document timeline
- Optionally update a field value when document is signed (e.g., set status to "Signed")
- Optionally submit the document automatically after signing
- Background PDF generation for faster response times
- Responsive layout works on desktop and mobile
- Optional "Force Mobile" mode with QR code for touch screen signing
- Clean, distraction-free signing experience
- Create a Web Form for your DocType
- Enable "eSign Enabled" in the Web Form settings
- Add Signature field(s) to the Web Form
- Optionally configure:
- Print Format - The format used for the signed PDF
- Update Field / Value - Automatically set a field when signed
- Submit on Response - Submit the document after signing
- Force Mobile - Require touch screen for signing
- Generate a document share link and send to the signer
You can install this app using the bench CLI:
cd $PATH_TO_YOUR_BENCH
bench get-app Avunu/esign
bench install-app esignThis app uses pre-commit for code formatting and linting. Please install pre-commit and enable it for this repository:
cd apps/esign
pre-commit installPre-commit is configured to use the following tools for checking and formatting your code:
- ruff
- eslint
- prettier
- pyupgrade
MIT