Guides

Migrating meal plan customers into new software

Names and emails move in an afternoon. What takes real time is the two fields that matter most operationally, because in most kitchens they are prose.

The hard part is cleaning, not copying

Allergens in a spreadsheet are usually written as sentences — "no shellfish, mild dairy issue, hates coriander". That single cell contains a safety-critical fact, a preference and a joke, and no import can separate them reliably.

Addresses are the same. "Marina, the tower near the bridge, ask for Ahmed" is enough for a driver who already knows, and useless to a system that needs a coordinate.

A sequence that works

  1. Export and read it

    Actually read the allergen and address columns. Budget hours, not minutes; this is where the surprises are.

  2. Separate safety from preference

    Allergies into structured fields, dislikes somewhere they cannot trigger a false alarm. Conflating them trains staff to ignore warnings.

  3. Re-collect what you cannot infer

    For addresses, ask customers to share a pin. A short message explaining why gets a high response rate.

  4. Migrate plans and terms

    Including the correct end date, or the new system will cheerfully cook past a term that already expired.

  5. Reconcile one week in parallel, then stop

    Compare a single week against the old sheet, fix what differs, and switch. Do not run both for a month.

The thing people forget

Term end dates. Spreadsheets frequently do not record them precisely, because nobody enforced them. Migrating without them means the new system either expires everyone incorrectly or nobody at all.

It is worth reconstructing them properly before cut-over, even where that means a conversation with a handful of customers about when their plan actually ends.

Common questions

What is hardest to migrate?
Allergens and addresses. Both are usually free text in a spreadsheet, and both need structure to be operationally useful, so migration is a cleaning exercise rather than a copy.
Should preferences and allergies be migrated together?
No. Conflating a genuine allergy with a dislike trains staff to treat warnings as noise, which is exactly the habit you cannot afford in this one area.
How long should a parallel run last?
One week of reconciliation, then switch. Longer means two versions of the same day, and staff will trust whichever was right most recently rather than the system.

See how this works in practice

The home page walks through the same mechanics against a real admin loaded with a demonstration kitchen: production, packing, routes and the customer side.