COD Orders in Google Sheets: Get Real Tracking Without Leaving Your Sheet
Many COD sellers in Morocco start the same way: an ad, a sales page with a form, and every order dropping into a Google Sheet. It's free, quick to set up, and the whole team can open it.
Then orders grow. Two agents work on the same sheet, colours replace statuses, rows disappear, and nobody knows any more which order has been called.
This guide explains how to organise a clean order sheet, where it hits its limits, and how to keep it as your entry point while adding real tracking: confirmation, shipping, delivery.
Why Google Sheets is a good starting point
Most forms and sales pages can send each order to a sheet.
It's free and shared: the whole team sees the same orders.
There's nothing to learn.
For your first orders, it's often the right choice. The problem isn't the tool, it's what you ask of it once volume grows.
The limits that come with volume
Several people on the same row: two agents call the same customer, or one overwrites the other's change.
Statuses as colours: green, orange, red… Everyone has their own convention, and one sort mixes everything up.
No history: who called, when, what did the customer say? The sheet doesn't keep it.
Duplicates: the same customer orders twice, the same row gets copied twice.
Re-typing at the carrier: every confirmed order has to be copied into its portal.
No view of deliveries: the sheet doesn't know which parcels were delivered or returned.
A well-structured order sheet
Whether you keep the sheet on its own or connect it to a tool, the rule is the same: one row per order, one column per piece of information, and a header row at the top.
Column | Example | Tip |
|---|---|---|
Order number | CMD-1042 | Unique, never reused |
Date | 06/10/2026 | The same format everywhere |
Name | Salma B. | First and last name |
Phone | 0600000000 | One number per cell, no spaces |
City | Casablanca | Always spelled the same way |
Address | Rue 12, Maârif | Neighbourhood and a landmark if possible |
Product | Classic watch, black | Variant included |
Quantity | 1 | A number |
Total to pay | 349 | The amount collected on delivery, in figures |
Three habits prevent most problems: no merged rows in the middle of orders, no cell with two phone numbers, and no renamed or moved columns once the team is used to them.
Keep the sheet, add tracking
You don't need to give up your sheet or change your form. With Sendocki, the sheet stays the entry point, and each new row becomes an order you can confirm, ship and track.
How the connection works
In Sendocki, open Connectors and choose Google Sheets.
Sign in to your Google account, choose the sheet that holds your orders, then the tab.
Sendocki finds the header row and recognises your columns, in French, Arabic or English. You check the mapping: the customer (name, phone, city) and the order (number, product, quantity, total).
You choose to import only new rows, or also the most recent existing ones.
What Sendocki does, and doesn't do, with your sheet
It only reads the sheet you chose, nothing else in your Google Drive.
It never changes it: access is read-only.
It reads it again automatically, every few minutes. The "Sync now" button forces an update.
Each row is imported only once, even if you sync several times.
An incomplete row (missing phone, invalid total…) isn't imported: it's flagged "to fix", with the reason. You complete it in the sheet, and it comes in at the next sync, without duplicates.
Just one precaution: if you rename or move a mapped column, syncing pauses so it doesn't create wrong orders. You check the column mapping in the connector, and it starts again. Orders already created don't change.
What changes once the sheet is connected
Every order has a clear stage in your pipeline, for example new, confirmed, shipped, delivered. No more colours to decode.
Confirmation goes out on its own on WhatsApp, with "Confirm" and "Cancel" buttons. See our guide to WhatsApp order confirmation.
Conversations stay attached to the customer: your team sees their orders and messages in one place.
Confirmed orders go to the carrier, Sendit, Ameex, Cathedis or Livo, without re-typing, with label and tracking.
The details are on the Google Sheets integration page.
And the day you open a store?
Nothing forces you to leave Google Sheets. If you launch a Shopify or YouCan store, you connect it too: orders from both sources arrive in the same place, each with its origin. See how to connect Shopify or YouCan to your carrier.
Frequently asked questions
Can Sendocki change or delete my rows?
No. Access is read-only: Sendocki reads your rows, it never writes to your sheet.
My column headers are in Arabic. Is that a problem?
No. Columns are recognised in French, Arabic and English, and you can fix the mapping by hand.
How long between a new row and the order in Sendocki?
A few minutes: the sheet is read again automatically. To go faster, "Sync now" imports new rows straight away.
My sheet has no order number. What should I do?
Add a column with a unique number per order. That's what lets each order be recognised without duplicates, even if you sort or edit the sheet.
Can I connect several sheets?
Yes, several sheets or several tabs. Give each connection a name to tell them apart.
Does it cost extra?
The Google Sheets connector is included in Sendocki, at no extra cost.
Key takeaways
Google Sheets is a very good starting point for selling with COD. What outgrows it isn't the number of rows, it's everything that happens next: confirmation, shipping, returns. Keep the sheet as your entry point, structure it properly, and leave tracking to a tool built for it.
Related Articles
WhatsApp Order Confirmation: How to Automate It for COD (Templates Included)
Connect Shopify or YouCan to Your Carrier in Morocco: A COD Guide
COD Team Management: How to Measure and Improve Agent Performance
COD Team Management: How to Measure and Improve Agent PerformanceIn a Cash on Delivery ecommerce operation, agent performance has a direct i