A build-to-order ERPNext app that automates end-of-service benefit accrual and final-settlement (FNF) generation using country-specific gratuity formulas across the GCC and Asia. ECOSIRE scopes, builds, installs, and supports it on your Frappe/ERPNext v15/v16 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 ERPNext app that automates end-of-service benefit accrual and final-settlement (FNF) generation using country-specific gratuity formulas across the GCC and Asia. ECOSIRE scopes, builds, installs, and supports it on your Frappe/ERPNext v15/v16 bench.
今すぐのお支払いはありません。これはチームへの見積もり依頼を送信します。価格と次のステップをメールでご案内します。
Finance teams running payroll on ERPNext hit a wall the moment they need a defensible end-of-service liability. ERPNext HR handles salary structures, payroll entries, and leave, but it has no native concept of a country-specific gratuity formula, no periodic accrual of the growing EOSB liability, and no final-settlement statement that reconciles gratuity, unpaid leave, notice-period adjustments, and outstanding dues into a single signed document. Most teams end up maintaining fragile spreadsheets that auditors distrust and that break the moment an employee resigns before completing a year, is terminated, or is paid in a different currency from the ledger.
`Gratuity Rule` DocType encoding country-specific slabs (UAE 21/30-day tiers, KSA half/full-month split, Qatar, Oman, Bahrain, Kuwait) with configurable caps and daily-wage basis
Resignation vs. termination multipliers and minimum-service eligibility thresholds enforced in server-side validation
Scheduled EOSB accrual job via `scheduler_events` hook that posts periodic provision Journal Entries to a configurable liability account
`Final Settlement` (FNF) DocType assembling gratuity, leave encashment, notice pay-in-lieu, allowances, and deductions into one submittable document
`hooks.py` doc events (`validate`, `on_submit`, `on_cancel`) that keep GL postings and reversals consistent with the settlement lifecycle
Unpaid-leave and loss-of-pay adjustments that reduce accrued service days and recompute the daily wage base
ECOSIRE builds a proper Frappe app for this — a self-contained module you own outright, not a customization bolted onto core. At its heart is a Gratuity Rule DocType that encodes each jurisdiction's math as configurable slabs (for example UAE's 21-days-per-year for the first five years then 30 days thereafter, KSA's half-month/full-month split, Qatar's three-weeks minimum), including caps, eligibility thresholds, resignation-versus-termination multipliers, and the daily-wage basis. A scheduled End of Service Accrual job runs on a scheduler_events hook and posts periodic provision entries against a configurable liability account, so your balance sheet always reflects the true EOSB exposure rather than a year-end scramble. When an employee is separated, a Final Settlement DocType assembles the full FNF: earned gratuity, encashed or clawed-back leave, notice-period pay-in-lieu, pro-rated allowances, and deductions — all recomputed server-side.
Technically, the app ships as a versioned Frappe app installed with bench get-app and bench install-app. Calculation logic lives in whitelisted Python methods (@frappe.whitelist()) so it is callable from the Frappe REST API for downstream integrations and from client scripts on the form. hooks.py document events (on_submit, validate) keep GL postings and the linked Journal Entry in lockstep, while permission rules and a dedicated Role Profile keep gratuity provisioning visible only to HR and finance. Multi-currency settlement uses ERPNext's exchange-rate framework so an expatriate paid in USD but ledgered in AED settles at the correct booked rate. Print Formats produce an audit-ready settlement statement, and the whole thing is built and tested against Frappe/ERPNext v15 and v16.
Because this is build-to-order, nothing is a black box. We start with a short scoping call to confirm which countries, wage bases, and liability accounts you need, then build against your exact requirements. Typical delivery is 2–4 weeks from confirmed scope. You receive the full source code, a UAT deployment on staging with a rollback plan, installation on your bench, technical and user documentation, a training session, and a post-go-live support window — plus the git repository so your team can extend it independently.
Runs payroll and separations for a UAE/KSA/Qatar workforce and needs gratuity computed exactly to local labour law, with a clean FNF statement employees and auditors accept without dispute.
Wants the end-of-service liability accrued and posted to the balance sheet every period, not discovered at year-end, and needs it reconciled against a real GL account inside ERPNext.
Manages staff across several GCC and Asian entities on one ERPNext instance and needs a single app that applies the right formula, wage basis, and currency per jurisdiction.
Maintains the bench and wants a clean, versioned Frappe app with documented hooks and whitelisted methods that upgrades safely across v15/v16 rather than tangled core customizations.
ecosire.com でライセンスを購入し、アカウント ダッシュボードから End-of-Service & Gratuity Calculator アプリの ZIP をダウンロードします。
ZIP をベンチのアプリ フォルダーに抽出するか、抽出されたアプリへのパスを指定して「bench get-app」を実行します。
`bench --site SITE_NAME install-app APP_NAME` を実行し、続いて `bench maigrate` を実行して、End-of-Service & Gratuity Calculator をインストールし、そのスキーマを適用します。
サイトの ECOSIRE ライセンス設定を開き、ライセンス キーをアクティブ化します。無料の ecosire_connect アプリと ecosire_license_client アプリが必要です。
| 基準 | エコシエール | カスタムビルド | 競合他社 | オドゥー ネイティブ |
|---|---|---|---|---|
| EOSB liability accrual | Scheduled job posts periodic provisions to a GL liability account | Possible but you build and maintain the scheduler yourself | Rarely handles balance-sheet accrual, mostly final payout | |
| Country-specific formulas | Configurable slabs per GCC/Asia jurisdiction with caps and multipliers | Hard-coded to whatever you specify, costly to extend | Often single-country or generic, limited configurability | |
| Final settlement (FNF) statement | Dedicated DocType with audit-ready Print Format | Build the DocType and format from scratch | Basic statement if offered, limited adjustments | |
| Multi-currency settlement | Uses ERPNext exchange-rate framework at booked rates | Depends on your developer's implementation | Frequently single-currency | |
| Ownership & source code | Full source and git repo handed over, yours to extend | You own it but carry all build cost and risk | Licensed app, source typically closed | |
| Delivery & fit | Build-to-order in 2–4 weeks, scoped to your entities | Longer timelines, requirements churn common | Instant install but generic, may not fit your law | |
| Support & upgrades | Post-go-live window plus v15/v16 upgrade path | Whatever your in-house team can sustain | Vendor support quality and roadmap varies |
This is a build-to-order app, not an instant download. After a short scoping call to confirm countries, wage bases, and liability accounts, typical delivery is 2–4 weeks from confirmed scope. Complex multi-country or heavily customized settlements may take longer, and we agree the timeline in writing before starting.
Every build includes a post-go-live support window for defect fixes and configuration tweaks. Because you receive the full source and git repository, your team can extend it independently, and we offer ongoing support or v15→v16 upgrade work as a separate engagement whenever you need it.
The `Gratuity Rule` DocType encodes country-specific slabs — UAE, KSA, Qatar, Oman, Bahrain, and Kuwait are common — with configurable caps, eligibility, resignation vs. termination multipliers, and wage basis. We build the exact jurisdictions you operate in; additional countries can be added as configuration rather than code changes.
No. It ships as a self-contained Frappe app installed via `bench get-app` and `bench install-app`, using its own DocTypes, `hooks.py` doc events, whitelisted methods, and scheduler events. Core stays untouched, so your ERPNext upgrades stay clean.
It is built and tested against Frappe/ERPNext v15 and v16. Tell us your current version at the scoping call and we target that; if you are mid-migration we can plan the build against your destination version.
A scheduled job runs on a `scheduler_events` hook and posts periodic provision entries to a liability account you configure, so your balance sheet reflects the growing EOSB exposure. On final settlement, `on_submit` doc events reconcile the accrued provision against the actual payout via linked Journal Entries.
Yes. The calculation runs in whitelisted Python methods exposed over the Frappe REST API, so external HR portals, dashboards, or offboarding workflows can request a gratuity or FNF computation programmatically and receive structured results.
A build-to-order ERPNext app that automates end-of-service benefit accrual and final-settlement (FNF) generation using country-specific gratuity formulas across the GCC and Asia. ECOSIRE scopes, builds, installs, and supports it on your Frappe/ERPNext v15/v16 bench.