
ERPNext Digital Signature Integration
Digitally sign Sales Orders, Sales Invoices, Purchase Orders and Purchase Invoices using a visible PFX certificate signature.
⚠️ Problem Statement
In many ERPNext implementations, signing documents like Sales Orders, Sales Invoices, Purchase Orders and Purchase Invoices digitally is a manual, multi-step process:
- Download PDF from ERPNext manually
- Open the document in a third-party tool like Adobe Acrobat, eSigner, or DSC software
- Apply digital signature using USB token or PFX file
- Save and re-upload the signed PDF back into ERPNext
This process is:
- Time-consuming and inefficient
- Prone to human error
- Not auditable or tracked within the ERP system
- Not scalable for organizations with high document volume
✅ Our Solution
This app eliminates that problem by enabling automated and visible digital signatures inside ERPNext:
- One-click digital signing using `.pfx` file
- Signature placement via coordinate selection
- Signed PDF automatically replaces the original and is attached to the document
- Full signing process is tracked inside ERPNext
What is a PFX File?
A PFX file (also called PKCS#12 file) is a binary file format used to store a certificate (public key) along with its private key and optionally a chain of trusted certificates. It's commonly used to import and export certificates and private keys securely. Full form: Personal Information Exchange Purpose: Securely bundle private key and certificate(s) in one file Use cases: SSL/TLS certificates, code signing, email encryption, and digital signatures.
How to Obtain a PFX File?
- From a Certificate Authority (CA):
When you purchase an SSL certificate or a digital signing certificate, the CA usually provides a .pfx file after you complete the validation process.
Intended usage PFX: Sign transaction, Sign document, Client Authentication, 1.3.6.1.4.1.311.10.3.12, 1.3.6.1.4.1.311.20.2.2, Acrobat Authentic Documents.
🔧 Features
- Digitally sign submitted Sales Order, Sales Invoices, Purchase Order, and Purchase Invoice using your `.pfx` certificate
- Choose the exact signature position by clicking on a PDF preview
- Automatically attaches the signed PDF to the respective Sales Order, Sales Invoices, Purchase Order, and Purchase Invoice.
- Supports visible signatures on any page
- Secure password input for PFX files
- Intended usage PFX: Sign transaction, Sign document, Client Authentication, 1.3.6.1.4.1.311.10.3.12, 1.3.6.1.4.1.311.20.2.2, Acrobat Authentic Documents etc.
✅ Version Compatibility
ERPNext Version | Frappe Version | Compatibility |
---|---|---|
v14.x | v14.x | ✅ Fully Compatible |
v15.x | v15.x | ✅ Fully Compatible |
⚙️ Setup Instructions
🔧 Document Sign Setting Configuration
To use digital signing, configure the Document Sign Setting in ERPNext:
- Go to "Document Sign Setting" via the awesome bar
- Fill in the following fields:
Field | Description |
---|---|
✅ PFX File Use | Enable this if you're using a `.pfx` file for signing |
PFX File | Upload your `.pfx` certificate file (stored in `private/files/`) |
DSC Password | Password for your `.pfx` file |
Sign Address | Your signing location (e.g., Pune Maharashtra, India) |
URL | The server URL that signs the PDF (e.g., `https://your-site.frappe.cloud/app`) |
Location | Coordinates for signature in format `(x1, y1, x2, y2)` Example: `(345, 50, 545, 100)` |
🔍 Signature Placement Preview

Sample Signature on Sales Invoice

Sample Signature validity on Sales Invoice
Digital Signature: How It Works - Demo

Shift Allocation From Excel
To provide HR managers a convenient way to assign employee shifts in bulk through an Excel template with validations, upload capability, holiday list integration, and employee limits.
⚠️ Problem Statement
Managing shift allocations for a large number of employees in ERPNext is time-consuming and error-prone when done manually. HR teams face challenges such as:
- Bulk Assignment Difficulty – No built-in feature to assign shifts to multiple employees across date ranges efficiently.
- Missing Holiday Lists – Errors occur if employees do not have an assigned holiday list, leading to incorrect scheduling.
- Manual Data Entry – Daily shift entries in the system require repetitive manual effort.
- Limited Upload Interface – No user-friendly interface to upload pre-defined shift schedules via Excel.
This process is:
- Time-consuming and inefficient
- Prone to human error
- Not scalable for organizations with high document volume
✅ Our Solution
To address the limitations in ERPNext’s standard shift assignment workflow, we developed a custom Shift Allocation Tool with the following capabilities:
- HR users can download a pre-formatted Excel template with employee and date columns.
- Shifts can be selected from drop-downs per day using data validation.
- Dynamically fetches active employees based on filters (department, designation, etc.). using Get Employee Button
- Supports up to 50 employees per upload to ensure optimal performance.
- All shift assignments are stored with timestamps and can be tracked per employee for audit purposes.
🔧 Features
1. Excel Template Generation Automated
- Dynamic creation based on selected date range
- Includes Employee ID, Name, and daily shift columns
- Drop-downs using data validation for valid shifts
- Weekday names displayed above dates
2. Get Employees Button Interactive
- Fetches active employees with optional filters (Department, Branch, etc.)
- Auto-populates employee list in the tool
- Max 50 employees per batch for performance optimization
3. Excel Upload & Shift Assignment Bulk Upload
- Upload Excel with predefined structure
- Parses shift data per employee and date
- Performs validation before saving
4. Weekly Off & Holiday List Integration Smart
- Checks for missing holiday list per employee
- Adds default weekly offs if required (e.g., Sundays)
- Prevents shift allocation on holiday dates
✅ Version Compatibility
ERPNext Version | Frappe Version | Compatibility |
---|---|---|
v15.x | v15.x | ✅ Fully Compatible |
🔍 Excel Preview


Professional Tax Calculation State Wise
This app enables automated Professional Tax calculation in Salary Slip based on custom formulas defined at the state level.
⚠️ Problem Statement
- Manual Setup: ERPNext’s default payroll requires Professional Tax to be added manually in each Salary Structure. There is no built-in calculation logic tied to state-specific rules.
- Error-Prone: Hand-entering tax slabs or amounts is very error-prone. A misplaced figure or outdated slab can lead to incorrect deductions. Even small payroll errors can have significant financial consequences.
- Compliance Risk: Every state has its own PT schedule (e.g., Maharashtra’s monthly slabs), and these rates change periodically. Failing to update a slab table or formula can result in non-compliance and penalties. Keeping multiple rate tables in sync manually is difficult and risky.
- State Variability: ERPNext’s standard payroll does not easily support multiple state-level rules. Out-of-the-box, each state or region would need separate salary structures or custom scripting to account for its PT calculations, making maintenance cumbersome.
✅ Our Solution
- Introduce a custom “State” doctype with a child table to define per-state, slab-based PT formulas.
- Add a “State (PT)” link field on Employee so each employee is tied to their state’s formula table.
- On Salary Slip validation, automatically evaluate the appropriate PT formula (using safe_eval) and insert the “Professional Tax” deduction.
- Maintain all PT rules in the ERPNext UI—no code changes needed when state rates change.
🔧 Features
- State-wise PT Configuration: Define dynamic tax slabs per state using Python-style formulas in a custom “State” doctype.
- Employee-State Linking: Automatically associate each employee with their state’s PT rules via a custom State field on the Employee doctype.
- Auto Tax Deduction: On Salary Slip creation (manual or via Payroll Entry), the app calculates and injects the correct “Professional Tax” deduction line.
- Safe Formula Evaluation: Uses Frappe’s safe_eval to securely evaluate any valid slab or conditional expression.
- Fully Configurable from UI: Update or add new PT formulas through the ERPNext interface—no code changes required.
- Standalone & Lightweight: No dependency on India Compliance or other external apps—simply install and configure.
✅ Version Compatibility
ERPNext Version | Frappe Version | Compatibility |
---|---|---|
v14.x | v14.x | ✅ Fully Compatible |
v15.x | v15.x | ✅ Fully Compatible |
⚙️ Setup Instructions
To use Professional Tax, configure the State, Formula Component wise, Employe master have field State in ERPNext:
- Define State & Formula Go to State and create a new record (e.g., “Maharashtra”).
- In the Formula child table, add a row for each PT slab: Component: “Professional Tax”
- Formula:
0 if gross_pay <= 7500 else (175 if gross_pay <= 10000 else (200 if getdate(start_date).month != 2 else 300))
- Submit the State record (only submitted states appear for employees).
- Assign State to Employee Open an Employee record.
- In the State (PT) link field, select a submitted State (e.g., “Maharashtra”).
- Automatic PT Calculation on Salary-Slip via Payroll or Manually.

Sample Salary slip

Sample Employee

Sample State