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 $249.00 USD; request a quote for a scoped proposal.

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.
अभी कोई भुगतान नहीं। यह हमारी टीम को एक कोटेशन अनुरोध भेजता है — हम कीमत और अगले चरणों के साथ ईमेल द्वारा संपर्क करेंगे।
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.
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
Tenure and date math computed server-side (years/months of service) so experience letters never carry manual errors
E-signature workflow modelled as a Frappe Workflow (Draft → Pending Signature → Signed → Issued) with signature-pad client script
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 2-4 weeks 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.
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.
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.
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.
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.
Buy the license on ecosire.com and download the HR Letters & Document Generator app ZIP from your account dashboard.
Extract the ZIP into your bench's apps folder, or run `bench get-app` with the path to the extracted app.
Run `bench --site SITE_NAME install-app APP_NAME` followed by `bench migrate` to install HR Letters & Document Generator and apply its schema.
Open the ECOSIRE License settings on your site and activate your license key. Requires the free ecosire_connect and ecosire_license_client apps.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo 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 | |
| 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 | |
| E-signature | Frappe Workflow + signature pad + full audit trail | Build it or bolt on a third-party service | Often absent or external add-on | |
| Bilingual English/Arabic | Paired templates with RTL-aware print formats | Extra scope and cost each time | Rarely supported | |
| Expiry & renewal tracking | Daily `scheduler_events` reminders + renewals report | Must be designed and built | Usually not included | |
| 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 | |
| Support & delivery | Scoped build, UAT, training, post-go-live support window | You manage devs and timelines | Forum/ticket support, no scoping |
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.
Typically 2-4 weeks 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.
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.
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.
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.
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.
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.
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.