Agent skills › manifold-cin7-migration
Download the skill · SKILL.md ·
over MCP, the prompt manifold-cin7-migration
Migrating a merchant from Cin7 to Manifold
You do the heavy lifting of a Cin7 migration:
- create the Cin7 API application Manifold reads through;
- open the right Manifold screen;
- follow the migration while it reads Cin7;
- explain the preview;
- apply it on the merchant's word;
- check the opening stock.
The merchant does one thing: copy two values from Cin7 into Manifold. That moment is theirs because the values are a credential. A credential must never pass through this conversation.
What comes across: locations, products and variants, kits (as composites), price tiers (as catalogs), each customer's tier (as the company's catalog) and Cin7 Core customer discount (as a catalog derived from the tier less that discount), each SKU's average cost (as its cost basis), each supplier's prices, on-hand stock per location with serials, batches and unit cost, suppliers and customers, open purchase orders and, if the merchant asks, their order history (includeOrderHistory). Customer-specific prices, product discount rules and deals are not read: tell the merchant to recreate contract prices as a catalog attached to the company, quantity discounts as quantity breaks, and deals in their storefront.
What you need
- The Manifold connector, connected to the merchant's organization. If they have no Manifold account yet, use the manifold-onboarding skill first.
- The merchant's Cin7 login, as an administrator (Omni) or a user who can reach Integrations (Core).
- Browser control (Claude in Chrome or similar) lets you click through Cin7 and Manifold for them. Without it, give them each step and link.
Rules
- Never read, repeat, store or type the Cin7 key or account id. Once Cin7 is showing them, do not take a screenshot or read that page. Tell the merchant where they are, and wait until they say they are done. If a screen you need is also showing the key, ask the merchant to do that screen.
- Change nothing in Cin7 except creating the one API application (and, on Omni, limiting it to read). Make that change only after the merchant agrees. Do not touch any other Cin7 setting, integration, product or order. Manifold itself only ever reads from Cin7.
- Ask before applying. The preview changes nothing; the apply writes into Manifold.
- One migration per organization. A second migration into the same organization brings the opening stock in again. If the first one went wrong, cancel it before it is applied, or talk to Manifold support. Never start another.
1. Which Cin7?
Ask, or look at the address they sign in at:
- Cin7 Core (formerly DEAR Inventory):
inventory.dearsystems.com. - Cin7 Omni:
go.cin7.com.
2. Create the API application (with the merchant's go-ahead)
Tell the merchant you are about to add an API application named "Manifold migration" to their Cin7 account, which Manifold will read through. They can delete it when the migration is done.
Cin7 Core:
- Open
https://inventory.dearsystems.com/ExternalAPI(Integrations › API). - Click the + at the top right, name it
Manifold migration, and click Create. - Stop here. Cin7 now shows the Account ID and Key on the application's Setup tab. Do not look at that tab. Tell the merchant both values are there.
Cin7 Core cannot make a key read-only, which is why it gets an application of its own: deleting it afterwards ends Manifold's access completely.
Cin7 Omni:
- Open Settings (from the user menu) › Integrations & API › API v1.
- Choose Add New API Connection and name it
Manifold migration. - Stop looking at the page. Omni shows the API username and the connection's API key here. Ask the merchant to copy the key now (Omni will not show it again) and tell you when they have.
- Then open the connection's Permissions and allow Read only on Branches, Products, Stock, Contacts, Purchase Orders, Sales Orders and BOM. Grant no create, update or write. If the permissions screen also shows the key, ask the merchant to set these themselves.
3. The paste
- Open
https://admin.getmanifold.io/settings/setup?step=products(the setup checklist's products step), or the same step in the welcome checklist if they are still in it. - Choose Migrate from Cin7. Select Cin7 Core or Cin7 Omni in "Which Cin7".
- Ask the merchant what to bring across, and set the checkboxes to match:
- On-hand stock: on, unless they only want the catalog.
- Suppliers and customers: on.
- Open purchase orders: on.
- Order history (
includeOrderHistory): every sale Cin7 lists comes across as history, for the customer's record and the reports. Open ones are mirrored: Cin7 keeps working them, Manifold holds no stock for them, and each sync re-reads the ones that changed. The newest orders come in first and the history fills back from there. When the merchant goes live, the ones still open become orders in Manifold. Off by default, because Cin7 Core needs one call per order and a long history takes hours to read. - Leave Apply without a preview stop off. You will review the preview together.
- Ask the merchant to paste the two values (Account ID and Application key for Core; API username and API key for Omni) and press Preview the migration. Do not fill those fields yourself.
With Keep following this account until I go live ticked (the default), Manifold keeps the credentials sealed after the import and re-reads Cin7 on a schedule: new products, parties and orders arrive and stock on hand is corrected to Cin7's figures, and what Cin7 feeds is read-only in Manifold until the merchant goes live (Settings › General shows the link and how its recent syncs went, with Sync now, Cancel sync while one is running, and Stop following). A record Manifold refuses three times unchanged is set aside rather than retried for ever — the sync names it; fix it in Cin7 (the change is picked up by itself) or fix what blocks it in Manifold and press Sync now. If Cin7 refuses three syncs in a row — a revoked key, usually — the organization's owners and admins are emailed. The credentials are destroyed when the merchant goes live or stops following. Unticked, the import is one-shot and the credentials are destroyed when it ends.
4. Follow the preview
migration_listand take the newest migration.manifold_waitonmigration_getuntil its status ispreviewed, orfailed.- Reading a large account takes a while: Cin7 Core allows about one request a second.
- A
failedwith a refusal from Cin7 almost always means the values were pasted wrong, or the Omni permissions are missing a resource. Have the merchant start the migration again with corrected values. That is the one case where a second migration is right: the first one wrote nothing.
5. Explain the preview
Show the counts per kind: locations, items, products and variants, composite components, companies, people, purchase-order lines, sales-order lines, and the stock value. Then go through every warning and say what it means for them:
- SKU not importable: Manifold SKUs are letters, digits,
-and_. Those products are left behind; the merchant fixes the SKU in Cin7 or recreates them in Manifold afterwards. - Deprecated products or locations left behind: deliberate. Retired things stay in Cin7.
- Assembly products carried as plain stocked SKUs: Manifold has no production orders yet. Finished goods come across as stock; the assembly recipe does not.
- Average costing: Manifold values stock FIFO, so valuations will differ slightly from Cin7's average cost.
- Stock lines with no unit cost: received unvalued. The merchant can fix the cost in Cin7 before applying, or accept it.
- Tracked stock without serial or batch numbers: units Cin7 itself cannot name are not received. They need a count once the migration is in.
- Kits without a bill of materials: left behind, because a kit with no components is not a kit.
- No currency reported: price lists are assumed to be USD. Check this with the merchant.
Also flag anything that looks wrong for this merchant, such as no stock at a location they named or far fewer products than they expect.
6. Before applying: Shopify
If the merchant sells through Cin7's Shopify integration, both systems must not drive the store at once:
- Do not connect Shopify to Manifold until they are ready to stop using Cin7 for that store.
- When they cut over, the merchant pauses or disconnects Cin7's Shopify integration in Cin7 first, then connects Shopify in Manifold at Settings › Sales channels. Otherwise both push stock levels and orders arrive in both. Neither step is yours to do.
The migration is a snapshot. Stock keeps moving in Cin7 after it. So the best time to apply is close to the day they switch, ideally at a quiet moment.
7. Apply
On the merchant's explicit go-ahead:
migration_applyfor the migration.manifold_waitonmigration_getuntilapplied(orfailed).- Read the reconciliation it reports: per SKU and location, what Cin7 said against what Manifold now holds, and the stock value against Cin7's. Explain every mismatch.
The products, locations and parties steps of the setup checklist are now done by themselves. Check with onboarding_get_status.
8. After
- The opening stocktake step is next: the merchant counts the stock and gives every SKU its cost — the books begin there. Use the reconciliation to show them where to look first. While the tenant is read-only and following Cin7, counts and costs can be entered on the opening stocktake (it moves nothing until it completes), and going live completes it — anything uncounted at the last sync's figure — so the books begin at go-live; going live is refused while a SKU has no cost.
- If the import is not following Cin7, tell the merchant they can delete the "Manifold migration" application in Cin7 now: Manifold has already destroyed its copy of the key. If it is following, the application must stay until they go live (or stop following in Settings › General) — deleting it early makes every sync fail and the link shows as refused.
- Hand back to the manifold-onboarding skill for the rest of the checklist (order pipeline, Shopify when they are ready, billing, team).