Costs above the price in Makkah and Madinah

On top of the price, a buyer from abroad pays the 5% transaction tax, the 2% non-Saudi fee and the broker’s 2.5%, 9.5% in all. No developer selling inside the designated zones publishes a price list, so a new unit there has no published price.

We’ll ask the developer for you

Tick what you need. We ask the developer for it and send you their answer, or tell you if they will not give one.

What should we ask for?
We reply on whichever you give. For WhatsApp, include your country code, such as +44.

Type the price you were given, in any currency, for the total and each charge.

An offer to check

Send us the offer you were given, and a person at Zullfa goes through it with you.

Send us the offer
What sits on top of the priceThe top bar is to scale; the second row zooms in on the charges.
To scalePrice of the home100%Zoomed in: the 9.5% on top of the price+5%Transaction taxZATCA+2%Non-Saudi feeREGA+2.5%Brokerstandard rate
To scalePrice100%Zoom: the 9.5% on top+5%Transaction taxZATCA+2%Non-Saudi feeREGA+2.5%Brokerstandard rate

Sources: ZATCA, Gulf Business, REGA

The transaction tax, the non-Saudi ownership fee and the broker's standard 2.5% add 9.5% to any price.

Sources

  1. ZATCA — RETT · 10 Apr 2025
    Real Estate Transaction Tax is 5% of the transaction value (RETT Law M/84 of 1446H, effective 10 April 2025).

  2. Gulf Business — REGA clarification · 8 Jul 2026
    The non-Saudi ownership fee is set at 2% in Riyadh, Jeddah, Makkah and Madinah under Executive Regulations Art. 9; the law caps it at 5%.

  3. REGA — Real Estate Brokerage Law · 9 Sep 2026
    Broker commission defaults to 2.5% of the transaction value unless agreed otherwise in writing, paid by the party who engaged the broker (Brokerage Law Art. 14).

Where each fact above comes from, with the source’s own date where it gives one.

Ask a question

Our assistant answers from the sources on this site, and passes you to a person at Zullfa when a question needs one.

The quarterly report

Search the site

Try