A build-to-order ERPNext app that turns every payroll run into a validated, MOHRE-compliant WPS SIF file in one click. ECOSIRE builds, installs, and supports it on your Frappe v15/v16 site — no more hand-editing bank templates each pay cycle. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $499.00 USD; request a quote for a scoped proposal.

A build-to-order ERPNext app that turns every payroll run into a validated, MOHRE-compliant WPS SIF file in one click. ECOSIRE builds, installs, and supports it on your Frappe v15/v16 site — no more hand-editing bank templates each pay cycle.
现在无需付款。此操作会向我们的团队发送报价请求——我们会通过邮件跟进价格和后续步骤。
Every UAE employer on the Wage Protection System must submit a Salary Information File (SIF) to their bank or exchange house each pay cycle, in the exact fixed-width, agent-coded format MOHRE and the Central Bank mandate. ERPNext ships a solid Payroll Entry and Salary Slip engine, but it stops at the ledger: there is no native DocType that emits a compliant .SIF, no Employer/Agent routing-code registry, and no pre-submission validator for IBAN, Molid, or Labour Card fields. Finance teams end up exporting slips to a spreadsheet, pasting them into a bank-supplied WPS template by hand, and discovering formatting rejections only after the file bounces — which risks late-wage penalties and MOHRE flags.
`WPS SIF Export` DocType that reads a submitted `Payroll Entry` and emits the fixed-width SIF as SCR header, one EDR detail row per employee, and footer with record counts and control totals
MOHRE/Central Bank pre-submission validator wired to `hooks.py` `validate` and `on_submit` doc events — blocks generation when any field fails compliance rules
IBAN validation with length and mod-97 checksum verification, plus configurable per-agent IBAN prefix enforcement
`WPS Agent` DocType registry mapping each bank/exchange-house routing code, Employer ID, and IBAN rules for multi-bank and multi-company employers
UAE Labour Law gratuity and end-of-service benefit calculation honoring limited vs. unlimited contracts, 21/30-day accrual bands, and service-cap ceilings
Control-total reconciliation between the SCR header total salaries and the summed EDR rows, rejecting any file that does not balance
ECOSIRE builds a proper Frappe app — ecosire_uae_wps — installed onto your existing ERPNext site as a first-class module, not a fragile export macro. At its core is a WPS SIF Export DocType that reads a submitted Payroll Entry, walks its linked Salary Slip records, and assembles the SIF in the correct three-part structure: the Salary Control Record (SCR) header carrying employer routing code and total-salaries control totals, one Employee Detail Record (EDR) per worker, and the trailing footer with record counts and value checksums. A companion WPS Agent DocType holds each bank/exchange-house routing code and its IBAN prefix rules, so multi-bank employers map the correct agent per company or per employee. Generation runs through whitelisted server methods (@frappe.whitelist()) callable from the Frappe REST API or a scheduler event, so a monthly run can be automated end to end.
The compliance logic lives where it belongs — in the app's Python. hooks.py doc events (on_submit, validate) fire a pre-submission validator that checks every EDR field before a file is ever produced: IBAN length and checksum (mod-97), Molid/Labour Card presence, pay-period date bounds, and control-total reconciliation between the header and the sum of detail rows. UAE Labour Law gratuity and end-of-service benefit are computed with a dedicated calculation that respects limited vs. unlimited contract rules, 21-day vs. 30-day accrual bands, and capped-service ceilings, and can be surfaced on the Salary Slip via a client script. Role-based permissions (a WPS Officer role profile) gate who can generate and download files, and every export writes an immutable audit-log row — file hash, period, record count, generated-by, and timestamp — so any SIF can be re-exported byte-identically or traced during an inspection.
Because this is build-to-order, nothing is a black box. After a short scoping call we confirm your exact bank agents, contract types, and salary-component mapping, then build against your Frappe/ERPNext v15 or v16 site. You receive the full app source in a git repository, a staging UAT pass against a copy of your real payroll data, installation and configuration on your environment, and a post-go-live support window. Typical delivery is 2–4 weeks from confirmed scope. You own the code and can extend it — ECOSIRE simply gets you to a first correct, audited SIF submission without the spreadsheet gymnastics.
Runs monthly payroll in ERPNext and is personally accountable for on-time WPS submission. Needs a one-click, validated SIF that the bank accepts on the first upload so wages clear before the MOHRE deadline and no penalties accrue.
Prepares Salary Slips and Payroll Entries every cycle and currently rekeys them into a bank spreadsheet template. Wants the file generated straight from the submitted Payroll Entry, with gratuity and end-of-service figures computed automatically and errors flagged before submission, not after rejection.
Oversees several UAE companies, each banking with a different agent or exchange house. Needs per-company routing-code mapping, consistent audit trails across entities, and the ability to re-export any historical SIF on demand during an inspection.
Maintains the Frappe site and vets anything installed on it. Wants a clean, version-pinned app for v15/v16 with documented DocTypes, hooks, and whitelisted methods, plus a git repo they can review, extend, and support in-house.
在 ecosire.com 上购买许可证并从您的帐户仪表板下载 UAE WPS Payroll & SIF File Generator 应用程序 ZIP。
将 ZIP 解压到您的 bench 的 apps 文件夹中,或者使用解压缩的应用程序的路径运行“bench get-app”。
运行 `bench --site SITE_NAME install-app APP_NAME`,然后运行 `bench migrate` 以安装 UAE WPS Payroll & SIF File Generator 并应用其架构。
打开您站点上的 ECOSIRE 许可证设置并激活您的许可证密钥。需要免费的 ecosire_connect 和 ecosire_license_client 应用程序。
| 标准 | 伊科西尔 | 定制建造 | 竞争对手 | 奥杜本机 |
|---|---|---|---|---|
| WPS SIF file generation | One-click compliant SCR/EDR/footer from Payroll Entry | Possible but you build and maintain the format logic | Often generic or single-bank; format drift risk | |
| Pre-submission validation | IBAN mod-97, Molid, control-total checks via hooks.py | Only what you scope and code yourself | Varies; frequently minimal or absent | |
| UAE gratuity / end-of-service | Built to limited/unlimited contract and accrual rules | Bespoke effort each time | Rarely included | |
| Multi-bank routing codes | `WPS Agent` registry, per-company/per-employee mapping | You design the mapping model | Often one hard-coded bank | |
| Audit log & re-export | Immutable log, byte-identical re-export by period | Only if explicitly built | Seldom offered | |
| Fit to your ERPNext setup | Scoped to your components, agents, v15/v16 | Fully bespoke but slow and costly | Fixed assumptions, limited tailoring | |
| Code ownership | Full source + git repo handover | You own it (you wrote it) | Usually closed / licensed | |
| Support & format updates | Post-go-live window + scoped updates on your codebase | Your team maintains it | Vendor roadmap, not your priorities |
This is a build-to-order app, not an off-the-shelf download. Typical delivery is 2–4 weeks from confirmed scope — the clock starts once we finalize your bank agents, contract types, salary-component mapping, and target Frappe version on the scoping call. Simpler single-company setups land toward the shorter end; multi-entity, multi-bank builds toward the longer end.
We build and test against Frappe/ERPNext v15 and v16, packaged as a standard Frappe app installed via `bench get-app` and `bench install-app`. If you are on an older version we will confirm compatibility or scope an upgrade path during the call before committing to delivery.
No. There is no instant download. ECOSIRE builds the app to your bank's SIF specification and your ERPNext configuration, then installs and configures it on your site. You receive the full source in a git repository and own the code.
The app emits the fixed-width SCR/EDR/footer structure with your agent routing codes and runs a pre-submission validator (IBAN mod-97, Molid/Labour Card presence, control-total reconciliation) before any file is produced. During UAT we test against your real payroll data on staging and, where possible, a trial upload, so the first live submission is a clean pass rather than a formatting bounce.
Every build includes a post-go-live support window covering bug fixes and SIF format adjustments through your first live submission cycles. Because you receive the git repository and full source, your team or ECOSIRE can extend it later — and if MOHRE or the Central Bank revises the SIF format, we can quote a scoped update against your existing codebase rather than a rebuild.
A `WPS Agent` DocType holds each bank/exchange-house routing code, Employer ID, and IBAN rules. You map the correct agent per company or per employee, so a group running several entities on one ERPNext site generates the right file for each — with a shared, consistent audit log across all of them.
Yes. Generation runs through whitelisted server methods callable from the Frappe REST API, and an optional scheduler event can auto-generate the SIF on a fixed monthly cadence and notify your payroll officer. You can also keep it fully manual with a one-click desk button — your choice at scoping.
A build-to-order ERPNext app that turns every payroll run into a validated, MOHRE-compliant WPS SIF file in one click. ECOSIRE builds, installs, and supports it on your Frappe v15/v16 site — no more hand-editing bank templates each pay cycle.