- Home
- Apps
- SaaS Tools
- HR Letters & Document Generator
Illustrative previewA build-to-order Frappe app that turns ERPNext employee data into offer letters,
contracts, salary certificates, experience letters and NOCs, complete with an e-signature workflow, bilingual English/Arabic templates and document expiry tracking.
ECOSIRE scopes, builds, installs and supports it on your bench.
What is HR Letters & Document Generator?
A build-to-order Frappe app that turns ERPNext employee data into offer letters, contracts, salary certificates, experience letters and NOCs, complete with an e-signature workflow, bilingual English/Arabic templates and document expiry tracking. ECOSIRE scopes, builds, installs and supports it on your bench. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.
Key Features
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your ERPNext.
- 3
Go live + support
You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.
Technical Specifications
- ERPNext Compatibility
- —
- License
- Licence confirmation required
- Python Requirement
- Python 3.10+
- Database
- MariaDB 10.6+
About this Product
Every HR team on ERPNext eventually hits the same wall: HR Settings ships a single Offer Letter print format and a basic Appointment Letter, but the moment you need salary certificates for a bank, experience letters with tenure math, NOCs for travel, or Arabic-language contracts for a GCC labour office, you fall back to Word templates, manual copy-paste of employee data, and PDFs emailed around for wet signatures. Native ERPNext has no template library keyed to letter type, no merge engine beyond Jinja on a handful of DocTypes, no e-signature capture, and no way to track when a letter or its underlying document (visa, Emirates ID, contract) expires. The result is inconsistent documents, transcription errors in salaries and dates, and zero audit trail of who issued what.
We build a proper Frappe app — installed on your own bench as an app alongside erpnext and hrms — that adds a dedicated HR Letter Template DocType and an HR Letter transactional DocType. The template library ships pre-seeded with offer letter, employment contract, salary certificate, experience/service letter and NOC types, each holding a rich-text Jinja body so authorised users edit wording without touching code. When an HR admin creates an HR Letter, a whitelisted server method resolves the linked Employee and pulls the merge context — name, designation, department, date of joining, Salary Structure Assignment components, cost center, company details — and renders the template through Frappe's frappe.render_template, then generates a PDF via the standard print pipeline. Tenure and salary-in-words are computed server-side so the numbers are always correct and consistent.
The e-signature workflow is implemented as a Frappe Workflow on the HR Letter DocType (Draft → Pending Signature → Signed → Issued), with a client script rendering a signature-capture pad and storing the signed image plus signer identity, IP and timestamp in a child table for audit. A hooks.py on_submit doc event freezes the rendered PDF as an immutable attachment and, optionally, emails it to the employee. Bilingual output is handled by paired English/Arabic template bodies with RTL-aware print formats, so the same HR Letter can emit a bilingual document for GCC compliance. Document expiry and renewal are driven by a scheduler_events daily hook that scans expiry dates on letters and linked documents, raises ToDo/notification reminders at configurable lead times, and surfaces a renewals report. Everything respects ERPNext permissions — a dedicated HR Letters Manager role profile and DocType permissions ensure only entitled users issue letters, and the whitelisted methods are exposed on the Frappe REST API so an onboarding portal or third-party HR tool can request a letter programmatically.
Because this is build-to-order, nothing ships until we agree on scope. We start with a short scoping call to confirm your letter types, branding, bilingual requirements and approval chain, then build against Frappe/ERPNext v15 (with v16 compatibility), validate on a staging bench through UAT, and hand over installable source, a git repository and documentation. Typical delivery is one working week from confirmed scope — no marketplace download, no fabricated "one-click" promise, just a maintained app installed on your bench with a post-go-live support window.
What you get
- Installable source code for your version of the app, ready to `bench get-app` / `bench install-app` on your ERPNext v15/v16 bench
- Installation and configuration on your staging bench, including template seeding, role profile setup and workflow activation
- Technical documentation: DocType schema, `hooks.py` events, scheduler jobs, whitelisted API endpoints and permission model
- User guide plus a live training session for your HR team on creating templates and issuing letters
- UAT on a staging bench with a documented rollback plan before any production install
- Post-go-live support window for bug fixes and adjustments after production deployment
- Private git repository handover with full commit history and branching for your team
- Bilingual (English/Arabic) print formats configured and validated for your document set
Who this is for
HR administrator on ERPNext
Owns employee paperwork day to day and needs offer letters, salary certificates and experience letters generated from ERPNext data in minutes instead of hand-editing Word files. Wants the numbers and dates to be correct automatically and a clear record of what was issued.
HR manager / people-ops lead
Responsible for consistency and compliance across the letter set. Needs an approval and e-signature chain, an audit trail of who signed what, and role-based control over who can issue sensitive documents like salary certificates.
GCC / bilingual employer
Operates in a jurisdiction (UAE, KSA, Qatar) where labour offices and banks expect Arabic or bilingual contracts and certificates. Needs RTL-aware, dual-language documents and expiry tracking for visas and Emirates IDs tied to each employee.
ERP administrator / IT lead
Maintains the ERPNext bench and cares about a cleanly packaged Frappe app, respecting the permission model, upgradeable across v15/v16, with source in a git repo they can maintain rather than an opaque marketplace binary.
How HR Letters & Document Generator Compares
| Criterion | ECOSIRE | Custom Build | Competitor | ERPNext Native |
|---|---|---|---|---|
| Letter template library | Pre-seeded offer/contract/salary-cert/experience/NOC types, HR-editable | Whatever you scope and pay to build from zero | Fixed set of templates, hard to extend | Single offer letter + basic appointment letter only |
| Employee data merge | Auto-merge via `frappe.render_template` with server-side salary and tenure math | Depends on developer; error-prone if rushed | Basic field merge, limited salary logic | Jinja on a few DocTypes; manual for most letters |
| E-signature | Frappe Workflow + signature pad + full audit trail | Build it or bolt on a third-party service | Often absent or external add-on | None |
| Bilingual English/Arabic | Paired templates with RTL-aware print formats | Extra scope and cost each time | Rarely supported | Not provided |
| Expiry & renewal tracking | Daily `scheduler_events` reminders + renewals report | Must be designed and built | Usually not included | No document-expiry concept |
| Fit & maintainability | Proper Frappe app, git repo, v15/v16, your permission model | Yours, but you own all the risk and time | Opaque binary, upgrade at vendor's pace | In-core but limited; customisation drifts |
| Support & delivery | Scoped build, UAT, training, post-go-live support window | You manage devs and timelines | Forum/ticket support, no scoping | Community support only |
Frequently Asked Questions about HR Letters & Document Generator
Is this an instant download from the Frappe marketplace?
No. This is a build-to-order Frappe app. ECOSIRE scopes, builds, installs and supports it for you — there is no one-click marketplace download. You receive installable source, a git repository, and it is deployed onto your own bench.
How long does delivery take?
Typically one working week from confirmed scope. Timing depends on how many letter types you need, whether bilingual/Arabic templates are required, and the complexity of your approval and e-signature chain. We agree the scope on the initial call before any build starts.
Which ERPNext and Frappe versions do you support?
We build against Frappe/ERPNext v15 with v16 compatibility. The app installs alongside `erpnext` and `hrms` on your bench and follows standard Frappe app packaging so it upgrades cleanly with your instance.
How does the e-signature actually work, and is it auditable?
Signing is modelled as a Frappe Workflow on the `HR Letter` DocType. A client script renders a signature-capture pad, and each signature is stored with the signer's identity, image, IP address and UTC timestamp in an audit child table. On submit, a `hooks.py` doc event freezes the signed PDF as an immutable attachment.
Can it produce Arabic and bilingual documents?
Yes. Templates support paired English/Arabic bodies with RTL-aware print formats, so a single `HR Letter` can emit a bilingual document suitable for GCC labour offices and banks. We validate the layout with your actual document set during UAT.
What about ongoing support and updates?
Every engagement includes a post-go-live support window for bug fixes and adjustments. Because you receive the full source in a git repository, your team can maintain it independently, and we offer ongoing support or feature-extension retainers if you prefer we continue to maintain it.
Can other systems request letters automatically?
Yes. The app exposes whitelisted methods on the Frappe REST API, so an onboarding portal or an external HR tool can request a letter for an employee and fetch the generated PDF programmatically, subject to the same permission and role checks as the ERPNext UI.
Related Modules

GSTR-2B / Purchase Reconciliation for ERPNext
A build-to-order ERPNext app that imports your monthly GSTR-2B JSON, matches it line-by-line against the purchase register, and flags mismatches, missing invoices, and ITC-ineligible entries so your Input Tax Credit claim is both maximised and defensible. ECOSIRE scopes, builds, installs, and supports it — this is not an off-the-shelf marketplace download.

Hotel PMS (Property Management) for ERPNext
A full property-management system built as a native Frappe app on ERPNext — reservations, front desk, housekeeping, guest folios and night audit, all inside the same system that runs your accounting and inventory. ECOSIRE scopes, builds, installs and supports it after you request a quotation.

HyperPay Payment Gateway for ERPNext
A build-to-order HyperPay acquiring integration for ERPNext covering mada, Visa, Mastercard, Amex, Apple Pay and STC Pay via COPYandPAY and Server-to-Server, with 3-D Secure 2 and tokenized recurring payments. ECOSIRE scopes, builds, installs and supports it on your bench.

India GST Compliance & E-Invoice Suite
A build-to-order ERPNext app that automates end-to-end Indian GST compliance: e-invoice IRN generation via the NIC IRP, e-waybills, real-time GSTIN validation, and GSTR-1 filing with GSTR-2A/2B purchase reconciliation. ECOSIRE builds, installs, and supports it for your ERPNext v15/v16 environment.
HR Letters & Document Generator
A build-to-order Frappe app that turns ERPNext employee data into offer letters, contracts, salary certificates, experience letters and NOCs, complete with an e-signature workflow, bilingual English/Arabic templates and document expiry tracking. ECOSIRE scopes, builds, installs and supports it on your bench.
- Dedicated `HR Letter Template` DocType with rich-text Jinja bodies, letter-type field, and versioning so HR edits wording without code changes
- Pre-seeded template library: offer letter, employment contract, salary certificate, experience/service letter and NOC
- Auto-merge of `Employee` master data (designation, department, date of joining, cost center, company) into the rendered document via `frappe.render_template`
- Server-side salary resolution from `Salary Structure Assignment` components, with amount-in-words and gross/net breakdown computed correctly every time