Switching a ten-person office between Google Workspace and Microsoft 365: the migration weekend, the tools and what breaks
A step-by-step plan for moving ten people either way: the free tools (Exchange batch migration, Migration Manager, Google's data migration service) against MigrationWiz at $14 a user, the MX and SPF cutover timeline, a table of what does not move, a 46.5-hour budget and the overlap bill, from $147 to $1,827 depending on months left on the old annual plan.

Moving a ten-person office from Google Workspace to Microsoft 365, or the other way, is a weekend job. It is not a hard one. It gets ugly when nobody wrote down what the tools leave behind.
This is the plan for both directions. It has the free tools, what the paid one adds, the DNS timeline, the list of things that do not move, a time budget and the bill for paying two suites at once.
One honest note first. We have not run this on a client's office for this article. Every limit below comes from the vendors' own migration pages, read on 13 November 2026. The hours table is a budget with the assumptions written out, not a stopwatch result. Swap in the numbers from your pilot user.
The short version
- Mail, calendar and contacts move well with the free tool each vendor ships. Cost: $0 plus your time.
- Files move fine, but Google Docs become Word files on the way to Microsoft. That is a conversion, not a copy.
- What breaks: auto-replies, shared calendars, Apps Script, sharing links, Teams file attachments, Gmail tags and anything an app does through the old login.
- Paid tool: MigrationWiz is $14 a user for mail. Ten people is $140. Worth it only if the free route stalls on you.
- The hidden cost is the overlap. An annual plan keeps billing for seats you no longer use. At ten seats and $14 a seat that is $140 for every month left on the old plan.
Step 0: pick the weekend by the renewal date, not by the calendar
Both suites list at $7, $14 and $22 a user on an annual plan (prices in our price comparison, checked 27 October 2026). So the move itself does not save you money. Timing is where the money goes.
Say you are on Google Business Standard ($14) for ten people and moving to Microsoft 365 Business Standard ($14). The old plan is annual. Google does not let you cut seats before renewal. Here is what the months left on the old plan cost you for nothing:
| Months left on old annual plan | Old seats paid after cutover (10 x $14 x months) | Plus one month of new suite before cutover | Total overlap |
|---|---|---|---|
| 0 (cut over on renewal day) | $0 | $147 | $147 |
| 1 | $140 | $147 | $287 |
| 3 | $420 | $147 | $567 |
| 6 | $840 | $147 | $987 |
| 9 | $1,260 | $147 | $1,407 |
| 12 | $1,680 | $147 | $1,827 |
The $147 is ten Microsoft Business Standard seats for one month on an annual plan billed monthly: 10 x $14.70. Paid up front it is $140. Going the other way, ten Google seats on the flexible plan are 10 x $16.80 = $168 for the month.
- Rule: if there are 3 months or fewer left, wait for the renewal weekend. If there are 9, the overlap costs more than most reasons to move early.
- Do not cancel the old plan on the cutover day. Keep it one full month as a safety net. Plan the move so that month is the last month of the term.
- Set the renewal reminder now. Both vendors renew on their own if you say nothing.
What each side's free tool actually moves
Google Workspace to Microsoft 365 uses the batch migration tool in the Exchange admin center for mail, and Migration Manager in the SharePoint admin center for files. Both are free.
| What | Moves | Does not move |
|---|---|---|
| Mail | Mail, rules, folders as labels | Vacation and auto-reply settings |
| Calendar | Calendars and events | Shared calendars, event colors, room bookings |
| Contacts | Contacts (up to 3 email addresses each) | Gmail tags, contact URLs, custom tags |
| Message size | 35 MB by default, can be raised to 150 MB | Anything bigger |
| Drive files | Docs, Sheets, Slides to .docx, .xlsx, .pptx; Drawings to PNG; Forms (needs a Forms destination) | Google Sites, Google Maps, orphaned files nobody can see in a folder |
| Sharing | Folder permissions | File-level permissions are off by default; external sharing links are not recreated; external collaborators are not re-shared |
| Versions | Latest version | Older versions, unless you switch it on |
| Paths | Up to 400 characters | Files whose destination path is longer |
Microsoft 365 to Google Workspace uses Google's data migration service for Exchange Online mail, calendar and contacts, and Google's file migration for OneDrive and SharePoint. Both are free in the Admin console.
| What | Moves | Does not move |
|---|---|---|
| Mail | All folders as labels, read/unread, drafts and sent. Nested folders get underscores: A/B/C becomes A_B_C | Messages over 150 MB, categories, anything in Notes, flagged or pinned status, shared folders |
| Calendar | Calendars, events, attendees, reminders. Recurring events with no end get an end date of 31 December 2099 | Events before your start date, ICS files, draft events, calendar settings. Calendar permissions only with the advanced method |
| Contacts | Up to 27,000 per organization | The Global Address List, mail contacts, profile pictures, extra phone numbers |
| Rules | Many become Gmail filters (advanced method) | Rules that forward, redirect, use categories or flags |
| Tasks | To Do tasks into Google Tasks (up to 100 lists) | Recurrence, due times, Planner tasks |
| OneDrive files | Files as they are, up to 180 versions per file if you ask | Personal Vault, folder shortcuts, expiry dates, external-owned files |
| Teams chats | Channels become spaces; every chat becomes a group chat | File attachments, reactions, chats with former employees, thread replies over 500 |
Limits that matter at ten people: Google's default method handles up to 1,000 users at once and the advanced method up to 5,000 per batch. You are nowhere near either. The speed limit you hit is how fast your biggest mailbox copies, not any user count.
The paid option: MigrationWiz
BitTitan's MigrationWiz lists three license levels (bittitan.com/pricing, read 13 November 2026):
| License | Per user | Ten users | Covers |
|---|---|---|---|
| Mailbox | $14 | $140 | Mail, calendar, contacts, up to 50 GB |
| User Migration Bundle | $17.50 | $175 | Mailbox, archives, documents, unlimited data |
| Tenant Migration Bundle | $60 | $600 | Exchange, OneDrive, SharePoint, Teams (Teams and shared documents capped at 100 GB) |
- Free route: $0, but you set up a service account and routing subdomain yourself (Google to Microsoft) or a migration project (Microsoft to Google).
- MigrationWiz: you get one hosted console with per-item reports and retries. That is the thing you pay $140 to $175 for.
- Our rule of thumb: start with the free tool and one pilot mailbox. If the pilot stalls for a day on something you cannot fix, buy the $14 licenses for the remaining nine. $126 is cheaper than a lost Saturday.
The timeline: two weeks out to the Monday after
This is the Google-to-Microsoft order. For the reverse, swap the vendor names and the DNS records in the next section.
| When | Do this | Time |
|---|---|---|
| 14 days out | Inventory users, shared mailboxes, groups, aliases, who owns which shared drive. Buy the new licenses. Add the domain to the new suite but do not switch mail | 3 h |
| 10 days out | Do the vendor prerequisites: mail-routing subdomain on both sides (for example m365.yourcompany.com), create the new users, check the Google admin has the Project creator and Service account creator roles | 4 h |
| 7 days out | Migrate one pilot user (you). Check mail, calendar, contacts, a shared doc. Note how long the mailbox took | 2 h |
| 3 days out (Wednesday) | Lower the MX record TTL to 300 seconds. If today's TTL is 86400, you needed to do this 24 hours earlier. Start the batch for all ten users: this is the long copy | 1 h |
| Friday evening | Tell the team: new mail starts landing in the new inbox from Saturday morning. Freeze big file moves | 0.5 h |
| Saturday 09:00 | Change the MX records. Add the new SPF, DKIM and autodiscover records. Run the final delta sync, complete the batch | 3 h |
| Saturday afternoon | Send a test from an outside address to all ten. Check each person's mail flows | 1 h |
| Sunday | Optional: set up Outlook and phones for anyone who wants help | 2 h |
| Monday | Help-desk morning. Keep the old suite up, read-only in practice, for a full month | 3 h |
The long copy goes first on purpose. Starting it on Wednesday gives the initial sync at least three days, so Saturday's job is only the changes since then.
Speed: neither vendor publishes a per-mailbox speed. Plan from your pilot. If the pilot mailbox (say 12 GB) took 5 hours, ten similar mailboxes copy in parallel but the vendor throttles you, so plan on the slowest mailbox alone taking at least that long. Do not assume the batch finishes overnight.
The DNS cutover: exact records
This is the step people fear. It is five records. Your current MX, SPF and DMARC records are in your DNS host. If you are not sure who controls it, read who owns the domain first.
| Record | Google Workspace to Microsoft 365 | Microsoft 365 to Google Workspace |
|---|---|---|
| MX | Remove Google's. Add yourcompany-com.mail.protection.outlook.com, priority 0 (the exact value is shown in the Microsoft 365 admin center) | Remove Microsoft's. Add smtp.google.com, priority 1 (the older five-record ASPMX set still works) |
| SPF (TXT) | v=spf1 include:spf.protection.outlook.com -all | v=spf1 include:_spf.google.com -all |
| DKIM | Two CNAMEs the Microsoft admin center gives you (selector1 and selector2), then switch signing on | A TXT key from Admin console, Apps, Gmail, Authenticate email, then Start authentication |
| Autodiscover | CNAME autodiscover to autodiscover.outlook.com | Not needed, delete the old one |
| DMARC | Keep it as it is | Keep it as it is |
If you send invoices from the domain, send yourself a test to an outside Gmail address and open the headers. SPF and DKIM should both say pass. If they do not, our SPF, DKIM and DMARC guide walks through the fix.
What does not move, and what to do about it
- Auto-replies: Microsoft's tool skips Gmail vacation settings, so re-set them by hand on Monday. Anyone on holiday this weekend: set the reply on the new side before cutover.
- Shared calendars: Microsoft's tool skips them from Google. Going the other way, Google copies a shared calendar to its owner only, and permissions come across only with the advanced method. Re-share them either way.
- Sharing links: neither tool re-creates external links. Every link you sent a client to a Drive folder will die. Make a list of the five or ten you remember and re-send them.
- Comments in documents: neither vendor's page says whether comment threads survive the Docs-to-Word conversion. Test one document that has comments before you trust it.
- Apps Script: it is not on Microsoft's list of converted Google files. Treat every script as a manual rebuild in Power Automate or Office Scripts. The reverse is the same story for Excel macros.
- Forms and Sheets formulas: Forms migrate now but need a destination set. Sheets formulas that use Google-only functions (like QUERY or IMPORTRANGE) will not work in Excel.
- Teams chats to Google: every chat becomes a group chat, and file attachments do not come. If an attachment matters, save it first.
- Google Chat to Teams: we found no Microsoft tool for it. Plan to export what you need and let the rest go.
- Phones: everyone must remove the old account and add the new one. This is the largest block of Sunday and Monday time.
- Apps that log in with Google or Microsoft: the accounting tool, the CRM, the password manager. Make a list now. Each one needs a login check on Monday.
The hours budget for ten people
A budget, not a measurement. The assumptions: 10 users, about 12 GB of mail each, 150 GB of Drive, one shared mailbox, no Apps Script, one person doing the admin work who has done a DNS change before.
| Task | Hours | Who |
|---|---|---|
| Inventory and licenses | 3 | Admin |
| Prerequisites, routing subdomain, users and groups | 4 | Admin |
| Pilot user, test, notes | 2 | Admin |
| Shared mailbox and shared drives set up | 2 | Admin |
| Start batch, watch it, fix failed items | 4 | Admin |
| Drive migration setup, scan, run, check | 4 | Admin |
| TTL change, cutover, DNS records, final sync | 4 | Admin |
| Outside test and header check | 1 | Admin |
| Phones and Outlook help, 45 min each | 7.5 | Admin |
| Week-one questions, 30 min each | 5 | Admin |
| Admin total | 36.5 | |
| Each person checking their own mail, calendar and files, 1 h each | 10 | Staff |
| All-in | 46.5 | |
That is about 4.7 hours per user, or 3.7 hours per user if you count only the admin's time. At $60 an hour (use your own rate) the admin time is $2,190. The tool license is $0 on the free route and $140 to $175 on MigrationWiz, so the tool is the small number in the whole bill.
Putting the whole bill together
The all-in cost of the move, taking the 6-months-left case from earlier and the $60 an hour example:
| Item | Free route | MigrationWiz mailbox |
|---|---|---|
| Overlap (6 months left) | $987 | $987 |
| Migration tool | $0 | $140 |
| Admin time, 36.5 h at $60 | $2,190 | $2,190 |
| Total | $3,177 | $3,317 |
| Same move at renewal (0 months left) | $2,337 | $2,477 |
The line that moves the total is not the tool. It is the six months of seats you pay for twice. Pick the weekend by the renewal date and the move costs $840 less.
A checklist for the Monday after
- Send a test from an outside address to every user. Everyone replies once.
- Check that each person's phone is on the new account and the old one is removed.
- Re-set auto-replies and shared calendar sharing.
- Check the shared mailboxes (info@, support@) receive mail. See shared mailboxes without a paid seat.
- Check each app that logs in with the old account.
- Turn on backup in the new suite. Neither suite keeps everything forever. See what they don't keep.
- Set a calendar reminder for 30 days: export what you need from the old suite, then cancel it before the next renewal.
- Departed staff: their old accounts do not need to be moved at all. See the last-day checklist.
Sources
- Microsoft Learn: Google Workspace automated batch mail migration overview (limits, what is not migrated, prerequisites), updated October 2026
- Microsoft Learn: Migration Manager Google FAQs (September 2026) and unsupported files (June 2026)
- Microsoft Learn: prerequisite step 1, mail routing subdomain
- Google Workspace Admin help: What's imported from Exchange Online, What's migrated in a file migration and What's migrated in a chat migration
- BitTitan: MigrationWiz license pricing, read 13 November 2026
- Suite prices: our price comparison (sources there, checked 27 October 2026)
- The hours budget and the overlap table are our own arithmetic from the stated assumptions
- Cover photo: MoveON moving, Wikimedia Commons, CC BY-SA 4.0
Planning the move and want the DNS, sharing and app-login checks on one list? Our free business tools cover the domain and email checks you will need on the weekend.
Explore free business tools