Skip to main content
UAE WPS Payroll & SIF File Generator — A build-to-order ERPNext app that turns every payroll run into a validated, MOHRE-comp — 1/1Illustrative preview

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.

What is UAE WPS Payroll & SIF File Generator?

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

Key Features

`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
Whitelisted server methods (`@frappe.whitelist()`) exposing generation and validation over the Frappe REST API for automation and integrations
Optional scheduler event (`scheduler_events` in `hooks.py`) to auto-generate the SIF on a fixed monthly cadence and notify the payroll officer
Immutable WPS audit log capturing file hash, pay period, employee count, generated-by user, and timestamp for MOHRE inspection readiness
Byte-identical re-export of any historical SIF from the audit log without rerunning payroll
Salary-component to WPS field mapping layer so basic, allowances, deductions, and total pay land in the correct EDR columns for your chart of accounts
`WPS Officer` role profile and DocType permissions restricting who can generate, download, and re-export salary files
Client script on Salary Slip / Payroll Entry surfacing gratuity accrual and a one-click Generate WPS File action from the ERPNext desk
Configurable pay-period and file-naming convention (Molid + period) matching your bank's upload portal requirements
Built and tested for Frappe/ERPNext v15 and v16, packaged as an installable Frappe app via `bench get-app` / `bench install-app`

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your ERPNext.

  3. 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 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.

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 one working week 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.

What you get

  • Installable source code for your version of the `ecosire_uae_wps` Frappe app, delivered as a proper `bench get-app`-installable module
  • Installation and configuration on your ERPNext environment, including WPS Agent setup, salary-component mapping, and role-profile assignment
  • Technical documentation covering DocType schema, hooks.py doc events, whitelisted API methods, and the SIF field mapping
  • End-user guide plus a live training session for your finance/HR team on generating, validating, and submitting the WPS file
  • UAT on a staging copy of your ERPNext site against real payroll data, with a documented rollback plan before production install
  • Post-go-live support window covering bug fixes and format adjustments through your first live WPS submission cycles
  • Git repository handover with full commit history so you own and can extend the code
  • Configuration workbook recording your confirmed bank agents, contract types, and pay-period conventions

Who this is for

UAE SME Finance Manager on ERPNext

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.

HR / Payroll Officer

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.

Multi-Entity Group Controller

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.

ERPNext Implementation Partner / IT Lead

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.

How UAE WPS Payroll & SIF File Generator Compares

CriterionECOSIRECustom BuildCompetitorERPNext Native
WPS SIF file generationOne-click compliant SCR/EDR/footer from Payroll EntryPossible but you build and maintain the format logicOften generic or single-bank; format drift riskNone — export to spreadsheet and rekey by hand
Pre-submission validationIBAN mod-97, Molid, control-total checks via hooks.pyOnly what you scope and code yourselfVaries; frequently minimal or absentNo WPS-specific validation at all
UAE gratuity / end-of-serviceBuilt to limited/unlimited contract and accrual rulesBespoke effort each timeRarely includedNot modeled for UAE labour law
Multi-bank routing codes`WPS Agent` registry, per-company/per-employee mappingYou design the mapping modelOften one hard-coded bankNot applicable
Audit log & re-exportImmutable log, byte-identical re-export by periodOnly if explicitly builtSeldom offeredNone
Fit to your ERPNext setupScoped to your components, agents, v15/v16Fully bespoke but slow and costlyFixed assumptions, limited tailoringGeneric payroll only
Code ownershipFull source + git repo handoverYou own it (you wrote it)Usually closed / licensedCore code, not WPS-specific
Support & format updatesPost-go-live window + scoped updates on your codebaseYour team maintains itVendor roadmap, not your prioritiesNo WPS support

Frequently Asked Questions about UAE WPS Payroll & SIF File Generator

How long does delivery take?

This is a build-to-order app, not an off-the-shelf download. Typical delivery is one working week 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.

Which Frappe and ERPNext versions are supported?

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.

Is this a Frappe Cloud Marketplace app I can just install?

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.

Will the generated SIF actually pass MOHRE and my bank's upload portal?

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.

What support and updates are included after go-live?

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.

How does it handle multiple banks or exchange houses?

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.

Can WPS generation be automated?

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.

Request a quote

UAE WPS Payroll & SIF File Generator

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.

  • `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

Request a Quotation

Tell us about your UAE WPS Payroll & SIF File Generator requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.