Opening a Shopify store takes an afternoon. Opening one that works for cash on delivery in Morocco takes a few more decisions, because Shopify’s defaults were written for shoppers who pay by card and receive an email receipt. A Moroccan COD buyer pays the courier in dirhams, is reached by phone rather than by email, and describes the address with a neighbourhood and a landmark. This guide goes through the settings in the order you meet them in the Shopify admin, using Shopify’s own help center for each step: currency and market, the cash on delivery payment method, shipping rates, the checkout form, notifications, taxes, and the policy pages that Moroccan consumer law expects. It ends with the questions to ask before installing a COD order form app and with a test you can run in ten minutes.
Start with the currency and the market
The store currency is the first setting to get right, because every price, shipping rate and report depends on it. If you sell only in Morocco, set it to the Moroccan dirham (MAD) before you add products. Shopify’s help center is explicit that only the store owner can change store currency, so a staff account or an agency login will not be enough. If the store was opened in another currency and you switch later, read the warnings first. Shopify explains that the currency of your product prices updates automatically, but not the amount, and that shipping rates are not converted either. Its advice is to review and update your product pricing: a price typed in euros or dollars does not become a sensible dirham price on its own.
The second setting is the market. Shopify only lets people order from countries that belong to an active market, and its shipping documentation warns that customers in inactive markets can’t place orders even when their country has a shipping rate. Check that Morocco is in an active market and, if you sell nowhere else, keep things simple with a single market.
Selling in several currencies is a different project. For manual payment methods, Shopify says that to accept manual payments in multiple currencies, you need to use Shopify Payments and its international sales tools. A store that sells only to Moroccan buyers in dirhams does not need that layer at all.
Turn on cash on delivery
Shopify treats cash on delivery as a manual payment method, alongside bank transfers and money orders: its help center lists cash on delivery (COD), money orders, and bank transfers as the common types. To turn it on, open Settings, then Payments, and choose cash on delivery in the manual payment methods. Two text fields matter more than they look:
- Additional details are shown next to the payment method at checkout. Use them to say, in one line, that the customer pays the courier in cash when the parcel arrives.
- Payment instructions are shown after the order: Shopify notes that these instructions display on the order confirmation page. This is the place to tell the buyer what happens next, for example that someone will call to confirm the order before it ships, and that the exact amount should be ready in cash.
Two consequences are worth knowing before the first order arrives. Shopify states that you aren’t charged third-party transaction fees for manual payments, so the plan’s card-processing rates do not apply to a cash order. And orders that accept manual payments are marked as unpaid, which is what they are until the courier collects the money. Mark an order as paid only when the cash has actually reached you; marking it on delivery day, before the carrier has paid out, makes the unpaid list useless as a record of what you are still owed.
If the store also offers card payment, keep cash on delivery visible and clearly named. A buyer who does not see the option they expected tends to leave the checkout rather than ask.
Shipping zones and rates when carriers price by city
Shopify organises shipping by zone, and a shipping zone is a group of countries or regions. Moroccan COD carriers, on the other hand, usually publish a price per destination city. The two models do not line up, so decide how you want the price to look at checkout before you enter anything.
Inside a zone, Shopify offers three families of rate: a flat rate, price-based rates with conditions on order value, and weight-based rates. It also lets you offer free shipping for any of the shipping rates. For a COD store selling across Morocco, the common choices are:
- One national rate, set close to what your carriers charge for most of your orders, and absorbed into the product price where it matters.
- Free shipping above an order value, which also pushes buyers toward a second item and makes each parcel worth more.
- Weight-based rates if you sell heavy and light products together; every product then needs an accurate weight.
Two details trip up new stores. Shopify reminds merchants that by default, flat rates apply one time per order, so a customer buying three items pays shipping once unless you set it up otherwise. And within a shipping profile a country or region can exist in only one shipping zone, so a second zone for Morocco will not appear until you remove it from the first. To compare what carriers really charge city by city before choosing your rate, see our comparison of COD delivery prices by city.
Make the checkout form fit a COD buyer
A COD order is only as good as the phone number and address attached to it. Shopify lets you change several checkout fields in Settings, under Checkout, and the defaults deserve a second look:
- Contact method. Shopify notes that email is selected by default on new stores. Many Moroccan buyers will be easier to reach by phone, so offer the phone number as a contact option. Shopify also says there is no option to require both an email address and a phone number, so do not count on getting both.
- Shipping address phone number. It is optional by default. Shopify’s guidance is to set it to Required when your payment provider or shipping carrier needs a customer phone number. For COD, the carrier always needs one, and so does whoever confirms the order: make it required. Shopify itself points out that this is how to also require a phone number when the contact method is email.
- Name. Keep first and last name. The single-field option exists, but couriers and confirmation agents both use the full name.
- Address line 2. Leave it optional and use its label for the neighbourhood or a landmark. Shopify warns that if this field is required or removed, some customers might not be able to proceed with their purchase.
- Company name. Most COD buyers are individuals. Remove the field unless you sell to businesses.
Every field you remove is one less reason to abandon the form; every field you keep should be one the courier or the confirmation call actually uses.
Notifications for buyers and for your team
Shopify sends notifications from the Notifications page, and its help center lists customer emails, staff alerts and text messages. The SMS option sends text message order confirmations for customers who provide phone numbers at checkout, in the countries where Shopify supports it, so check whether it is offered for your store before you rely on it.
For a COD store, rewrite the order confirmation so it says the same thing as your payment instructions: the order is received, it will be confirmed by phone, and payment is made in cash to the courier. Shopify notes that you can customize email templates using Liquid variables to add order details, so the message can repeat the products and the total. On the team side, turn on alerts for your team when orders are placed: a COD order cools quickly, and whoever confirms orders should hear about new ones at once.
Taxes: what Shopify does and does not do
Shopify’s automatic tax services cover a handful of regions. For most other countries, Morocco included, the help center says you can use Manual Tax to set and manage tax rates yourself. Shopify is also clear that tax is your responsibility: it calculates what you configure but does not decide your status for you.
So the order is: settle your legal status first, then configure taxes to match it. Whether your prices include tax, and at which rate, depends on that status, which is a question for an accountant or the tax administration rather than for the store settings. Shopify’s own advice is that you should always check with a local tax authority or a tax accountant. Whatever you choose, show prices to consumers as the total they will hand to the courier.
Policy pages and Moroccan consumer law
Under Settings, then Policies, Shopify lets you publish a return policy, a privacy policy, terms of service, a shipping policy, a legal notice and contact information. It can fill them from templates, but it warns that its automated policies aren’t legal advice, and don’t guarantee compliance with applicable laws. Moroccan law sets what these pages must contain.
The reference text is law 31-08 on consumer protection, which devotes its second chapter to contracts concluded at a distance. Its article 3 requires every supplier to let the consumer know the essential characteristics of the product. For online sales, a summary of the law by the legal publisher Captain Legal points out that article 30 requires the contract terms to be accessible from the home page and expressly accepted before the order is confirmed, that articles 25 to 44 set the content of the offer (article 29) and the seller’s liability including for the carriers it uses (article 26), and that the consumer has seven days to withdraw, with only the return costs left to them. If the seller does not send a written confirmation, the same summary notes that the withdrawal period goes from seven to thirty days (article 36).
In practice, for a Shopify COD store:
- link the terms of sale, the return policy and the contact page from the home page and the footer; Shopify’s documentation covers how to add policies to your store menus;
- state the seven-day withdrawal right and who pays for the return in the return policy, in the language your buyers read;
- let the order confirmation email serve as the written confirmation: products, total price, delivery terms and how to withdraw;
- follow Shopify’s own warning: don’t promise delivery or shipping times that you can’t provide.
Customer data falls under another text: customer data comes under law 09-08, supervised by the CNDP. Name, phone number and address collected for delivery are personal data; say in the privacy policy what you do with them and who receives them, including your carrier.
One-page COD form apps: what to check first
Many COD sellers do not send buyers through the standard checkout at all. They install an app from the Shopify App Store that shows a short order form on the product page: name, phone, city, address, and an order button. The idea is to cut the number of steps between the advert and the order. These apps differ a great deal, so judge any of them on the same questions:
- Where does the order land? As a normal Shopify order, with stock updated, or as a draft or a record outside Shopify?
- Which fields can you require? Phone number and city should be mandatory, with a check on the phone format.
- Are shipping rates, discounts and taxes applied the way you configured them, or recalculated by the app?
- Which notifications fire? The buyer should still receive your confirmation message.
- How does it handle fake or duplicate orders, and what does it cost per month or per order?
Read the app’s own documentation for each answer, and install it on a test basis before the first advert goes live.
Test the whole path before you launch
Place an order yourself, on a phone, through the same link your adverts will use. Check that cash on delivery is offered and clearly worded, that the phone number is required, that the shipping rate is the one you expect, that the confirmation page shows your payment instructions, that the email or message arrives, that your team receives its alert, and that the order appears as unpaid in the admin. Then cancel it. Repeat the test after any change to the theme, the checkout settings or an app.
After the order: running COD with Cashod
Shopify takes the order; the COD work starts after it. Cashod includes a call center where agents confirm COD orders by phone, and it can confirm orders over WhatsApp, including with an AI agent. One Cashod account can manage several stores, which helps when a seller runs more than one Shopify shop. Cashod also tracks returned parcels, and each carrier’s delivery and return fees are set per city, so the city-by-city costs that a Shopify shipping zone cannot show are kept in one place. See also how order management works.
