Coming soon · pilot
AhlanHamad × Wafeq
Payroll that lands in your Wafeq books, one clean journal per run.
Each finalized payroll run and each month's end-of-service accrual posts to Wafeq as one summarised journal, mapped to your own chart of accounts. Your accountant stops re-keying payroll.
This connection is not live yet. It is built and in testing, and it will open first to a small pilot of companies that already keep their books in Wafeq. Everything on this page describes how it will work at launch.
- Status
- Coming soon · pilot
- Category
- HR & Payroll
- What Wafeq receives
- One summarised journal per event: totals per account, never per employee
- What stays in AhlanHamad
- Names, IDs and individual salaries
- Price
- Included in every AhlanHamad subscription at no extra cost. You need your own Wafeq subscription; Wafeq's plans and terms apply to it.
How it works
- Connect. In AhlanHamad, open Integrations → Wafeq, paste a Wafeq API key and choose Connect. You create the key in Wafeq under Settings → API Keys, with your organisation selected. Where Wafeq sign-in is set up, you can sign in to Wafeq instead. You need to be a company admin in AhlanHamad and an owner or admin in Wafeq.
- Map your accounts once. Load your Wafeq accounts, check the suggested account for each payroll account, then save. Nothing is used until you save. Nine accounts are required; four more (deductions withheld, DIFC DEWS contribution and payable, bank transfer charges) are needed only if your payroll uses them.
- Run payroll as usual. Finalize a run and its accrual journal goes to Wafeq. Mark it paid and the payment journal follows. The end-of-service accrual posts each month.
- Check the run page. Each journal shows its status and an Open in Wafeq link. If an account is not mapped yet, the journal waits and lists what is missing, then posts on its own once you map it.
What gets posted
One summarised journal per event, never one per employee. Each journal carries a reference such as PAY-AE-2026-09 and a note with the month, country and employee count. Payroll runs are per country, so a company paying in two countries gets one set of journals per country.
| Journal | When | Debit / credit |
|---|---|---|
| Payroll accrual | Run finalized | Dr salaries, housing, transport, employer social insurance (and the DIFC DEWS employer contribution when used) · Cr net salaries payable, social insurance payable, deductions withheld (when any) |
| Salary payment | Run marked paid | Dr net salaries payable · Cr the bank account salaries are paid from |
| Bank transfer charges | Charges recorded on a paid run | Dr bank transfer charges · Cr bank |
| End-of-service accrual | Monthly | Dr end-of-service expense · Cr end-of-service provision |
| Reversal | Run deleted, bank charge changed, or Reverse and repost accrual | The mirror of the journal it reverses, posted as a new journal |
What it doesn't do
- No per-employee journals. No names, IDs or individual salaries are sent to Wafeq, only totals per account.
- It doesn't create or change employees, payslips, contacts or invoices in Wafeq. It only creates manual journals.
- No government filings: no WPS/SIF submission, no GOSI/PIFSS/SIO filing, no tax returns. AhlanHamad prepares wage-protection and bank files for you to upload yourself; that is separate from this connection.
- No draft journals and no approval step inside Wafeq.
- It doesn't read anything back from Wafeq except your organisation, your chart of accounts and cost centres for the mapping, and whether a journal already exists.
- Overtime doesn't have its own line. It is part of the salaries line.
- At most one cost centre per payroll country, never per department or per employee.
Corrections
- Nothing in Wafeq is ever edited. Corrections are new reversing journals, the way accountants expect.
- Delete a finalized run and its journals are reversed in Wafeq.
- Correct a run after its accrual was posted and the run page asks you to Reverse and repost accrual: the old accrual is reversed and the corrected one posted. A person presses that button; it doesn't happen on its own. The salary payment journal is never touched.
- A journal is never sent twice, even if a network call fails part-way: each one carries a fixed key and an external ID, and before posting we check whether Wafeq already has it.
Currencies
If your payroll currency differs from your Wafeq base currency, the journal is held by default and the run page says why. If you switch on Post runs in other currencies, we convert at AhlanHamad's daily exchange rate and send both the original and the base-currency amount; the journal balances in your base currency and any rounding difference goes on the largest line. Ask your accountant whether that rate suits your books.
Security and data
- What leaves AhlanHamad: per-account totals for each payroll run and each monthly end-of-service accrual, with the run's month, country, currency, reference and employee count. Nothing else.
- Least access: we ask Wafeq only for basic, chart_of_accounts.read and journals.write. No payroll, employee, contact or invoice permissions.
- The Wafeq credential is stored encrypted under a server-only key. It is never sent to the browser and never written to logs or audit records.
- Who can change it: in AhlanHamad, users with Manage integrations (company owner and HR admin by default); in Wafeq, an owner or admin of the organisation. Every connect, disconnect, mapping change and setting change is recorded in AhlanHamad's audit log.
- Disconnect at any time. New journals stop, journals already in Wafeq stay there, and we delete our stored credential. For a Wafeq sign-in we also ask Wafeq to revoke the token; an API key you delete in Wafeq yourself.
Legal: Privacy policy
Questions
Does Wafeq see each employee's salary?
No. Each journal has one line per payroll account with the total for the run. Names, IDs and individual pay stay in AhlanHamad. The note on each journal says how many employees the run covers.
What happens if I correct or delete a payroll run?
We never edit a journal in Wafeq. A deleted finalized run is reversed with new, opposite journals. A run corrected after its accrual was posted shows Reverse and repost accrual on the run page; pressing it reverses the old accrual and posts the corrected one. The salary payment journal is not changed. If a run is reversed before its journal ever reached Wafeq, nothing is sent at all.
Can a journal be posted twice?
No. Each journal has a fixed key and an external ID. Before posting we check whether Wafeq already has it and reuse it if so, and retries after a timeout use the same key.
What if an account isn't mapped?
The journal is held with the missing accounts listed. Once you map them, it posts automatically. Nothing is ever posted to a guessed account.
What happens when I disconnect?
New payroll journals stop going to Wafeq. Journals already in Wafeq stay there; we never delete them. We delete our stored Wafeq credential; for a Wafeq sign-in we also ask Wafeq to revoke the token, and an API key you can delete in Wafeq under Settings → API Keys. Your account mapping is kept, so reconnecting the same organisation needs no re-mapping. Connecting a different organisation clears the old mapping and options.
What does AhlanHamad store from Wafeq?
Your organisation's ID, name and base currency; the Wafeq account and cost-centre IDs and names you mapped; and for each journal sent, its Wafeq ID, serial number, status and any error message. The access credential is stored encrypted and is never shown again, not even to admins.
When do journals post, and what date do they carry?
Within moments of the event. The accrual carries the day the run was finalized, the payment the day it was marked paid. The end-of-service accrual is booked on the 1st of the following month and dated at the month end it covers.
A journal failed. What now?
The run page shows Wafeq's message. Brief outages are retried automatically for about 15 hours. If Wafeq refused the journal (for example, an account that was deleted), fix the cause and press Retry. If Wafeq stops accepting the connection you'll see Needs reconnecting, and held journals go on their own once you reconnect.
Does it cost extra?
No. The Wafeq connection is included in every AhlanHamad subscription. You need your own Wafeq subscription, and Wafeq's plans and terms apply to it.
Talk to us
Already keep your books in Wafeq and run payroll in the GCC? Tell us, and we'll talk you through the pilot. Questions: support@ahlanhamad.com.
Trust and security· About AhlanHamad & how we verify figures