A Berlin startup wires 1,800 euros to a Moroccan developer for a month of contract work. The money lands in his Wise account three days later, and everyone involved assumes the transaction is simply done. It isn't quite. In Morocco, receiving foreign currency from abroad triggers specific obligations under the Office des Changes, Morocco's exchange control authority, obligations that most foreign companies paying Moroccan contractors have never heard of, and that most contractors only discover once their bank starts asking questions.
Morocco's Office des Changes requires freelancers and online service providers to repatriate foreign currency earnings within 90 days under Circular 3/2020, versus 150 days under the general export regime for goods and traditional services. Up to 70% of repatriated funds can then be held in a dedicated foreign currency account rather than converted to dirhams.
What the Office des Changes is, and why it affects your payments
The Office des Changes (oc.gov.ma) is the Moroccan administration that controls exchange operations, meaning any movement of foreign currency into or out of the country. For a company paying a Moroccan freelancer, or for a remote worker based in Morocco invoicing a foreign client, this is not an abstract regulation. Every payment received in euros, dollars or pounds from a non-resident client counts as an exchange operation, even when it passes through Payoneer or Wise before reaching a Moroccan bank account.
In January 2022, the Office des Changes publicly reminded people running "online activities generating foreign currency" (developers, consultants, content creators) that they must repatriate their earnings and refrain from opening foreign bank accounts or building up unauthorized assets abroad, including real estate or crypto, with that money. The reminder still applies in 2026: Moroccan banks enforce these rules on every incoming transfer, which is why a contractor's payment terms sometimes look stricter than a client expects.
90 days or 150 days: which repatriation deadline applies
This is the point that confuses even some accountants, so it is worth getting precise. Two regimes exist side by side.
The general export regime for goods and services sets a repatriation deadline of 150 days from the date the service was delivered or the goods shipped, under the General Instruction on Exchange Operations (IGOC 2026). That is the default regime for a company exporting physical goods or conventional services.
Online activity, as defined by Circular 3/2020, falls under a shorter window: 90 days from the date the currency is actually received, not from the invoice date. This circular was written specifically for freelancers, developers and consultants invoicing digital services to foreign clients, which describes most Moroccan contractors a foreign company is likely to hire remotely.
| Regime | Who it covers | Repatriation deadline | Foreign currency account |
|---|---|---|---|
| Circular 3/2020 (online activity) | Freelancers, developers, consultants billing digital services | 90 days from receipt | Up to 70% of proceeds |
| General export regime (IGOC 2026) | Companies exporting goods or conventional services | 150 days from delivery | Subject to authorization, variable |
Either way, the clock starts the moment the money reaches an account the contractor controls, including a Payoneer or Wise balance denominated in foreign currency. If you are a foreign company negotiating payment terms with a Moroccan contractor, build this 90-day window into your expectations rather than assuming funds can simply sit untouched. Our comparison of Payoneer, Wise and wire transfers breaks down how each tool timestamps receipt, which matters for calculating that deadline correctly.
Self-employed, umbrella company or EOR: who actually handles this compliance
Who is responsible shifts depending on how the contractor is engaged. A self-employed contractor (auto-entrepreneur) carries the compliance burden alone: their name, their account, their 90-day clock to watch. Under an umbrella company arrangement, the umbrella entity collects the foreign currency from the client, handles the conversion, and pays the contractor a net salary in dirhams, which is exactly why contractors crossing the self-employed earnings cap often switch to this setup once payments become larger and more regular.
For a foreign company with no legal entity in Morocco, an Employer of Record removes this problem entirely by taking on payroll and local compliance, exchange regulations included, so the company never has to track repatriation deadlines itself. Our umbrella company versus EOR comparison walks through the cost and liability differences between these two routes for a business that would rather not own this paperwork.
The foreign currency account: keeping up to 70% out of forced conversion
Many contractors assume every dollar or euro received must be converted to dirhams immediately. That is not the case, and treating it that way wastes money on unnecessary conversion fees. Circular 3/2020 allows Moroccan banks to open a foreign currency account that can hold up to 70% of repatriated proceeds, with the remaining 30% sold on the exchange market and converted into dirhams.
This account comes with a chequebook and international cards usable for legitimate business expenses abroad (a SaaS subscription billed in dollars, a client trip, equipment purchases). It cannot, however, be used to build wealth outside Morocco: no foreign property purchase, no financial investment abroad, no cryptocurrency funded from these balances. The regulator was explicit about this in its 2022 reminder, and nothing suggests that line has moved since.
Take a contractor billing 1,800 euros a month who opens a foreign currency account. He can keep roughly 1,260 euros for tools and expenses billed abroad, while 540 euros must be converted and sold for dirhams. On months where his only clients are Moroccan, the question simply does not arise, since those earnings are already in MAD.
Invoicing, tax filing and VAT: what Morocco's tax authority expects
Receiving a payment in foreign currency adds obligations rather than replacing the usual ones. Three things are worth getting right from the start.
First, the invoice itself: it should state the billing currency, the conversion rate or reference used, and, when billing a client established outside Morocco for a service consumed abroad, the applicable VAT export exemption (a 0% rate under Morocco's General Tax Code) with its legal reference. Our guide to invoicing as a self-employed freelancer in Morocco covers the exact wording required.
Second, the quarterly revenue declaration: the amount to report is the dirham equivalent at the exchange rate on the date funds were actually received, not the rate on the invoice date. Keep a record of that rate (bank statement, Bank Al-Maghrib history) in case it is ever questioned during an audit. Our overview of self-employed tax in Morocco covers how that converted revenue then feeds into the flat income tax calculation.
Third, bank domiciliation: some banks require a written contract with the non-resident client, stating the nature of the service, the amount and the payment terms, before they will even accept the incoming transfer. It is worth preparing this before signing a first contract rather than scrambling for a signature while a payment sits frozen.
What happens if a contractor ignores these rules
The regulation describes penalties ranging from fines to a frozen foreign currency account, with criminal proceedings reserved for the most serious cases, such as building undeclared assets abroad. Exact fine amounts are not published consistently and appear to depend on how the authority assesses the severity of the breach, so this is not a line worth testing.
In practice, the more common scenario is less dramatic. A bank notices a repeated incoming transfer with no domiciliation file on record, freezes the account temporarily, and requests retroactive documentation. That is not a formal penalty, but it can tie up a contractor's cash for weeks at exactly the moment they need to pay their own bills, which is also a real operational risk for the company that was counting on them to deliver.
But an administrative hiccup rarely becomes a dead end. Most frozen files get resolved once invoices and proof of service are brought to the bank, which is exactly why the documentation habits described above are not a theoretical exercise.
Practical safeguards for companies and contractors alike
A handful of habits remove most of the risk. Keep a copy of every invoice alongside its matching payment proof (Payoneer, Wise or SWIFT statement). Open a foreign currency account as soon as foreign clients become a recurring source of income, rather than waiting for a problem to force the issue. Log the exact date each payment is received, since that date, not the invoice date, starts the 90-day clock.
And if you are the foreign company in this relationship, ask your contractor directly how they plan to handle repatriation and domiciliation before the first invoice goes out. A contractor who already has a foreign currency account and a documentation habit in place is simply a lower-risk partner to build a long-term working relationship with.
One last habit worth adopting: when a specific situation is unclear, a written confirmation from a Moroccan bank, or a check through the Office des Changes' own SMART portal, beats guessing.
Photo by Vitaly Gariev via Pexels
