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.
Sin pago ahora. Esto envía una solicitud de presupuesto a nuestro equipo; te responderemos por correo con precios y próximos pasos.
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.
Compre la licencia en ecosire.com y descargue la aplicación ZIP de UAE WPS Payroll & SIF File Generator desde el panel de su cuenta.
Extraiga el ZIP en la carpeta de aplicaciones de su banco o ejecute `bench get-app` con la ruta a la aplicación extraída.
Ejecute `bench --site SITE_NAME install-app APP_NAME` seguido de `bench migrar` para instalar UAE WPS Payroll & SIF File Generator y aplicar su esquema.
Abra la configuración de licencia de ECOSIRE en su sitio y active su clave de licencia. Requiere las aplicaciones gratuitas ecosire_connect y ecosire_license_client.
| Criterio | ECOSIRE | Construcción personalizada | Competidor | Odoo Nativo |
|---|---|---|---|---|
| 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.