Everything the site assistant knows, in full. Use the "Ask a question" button for a short answer, read the sections below for the whole picture, or write to us.
What Power Migrate does
Power Migrate turns a business-critical Excel workbook into readable, tested code and proves that the code gives the same answers as the workbook. The proof is a reconciliation report: every formula cell is recalculated by the generated code and compared with the value the workbook itself holds. Translation alone is easy to get wrong quietly; the report is what makes the result safe to rely on.
Targets
Python: one readable function per logic block, no dependencies beyond the standard library.
pandas: copied-down formulas become DataFrame column operations; the rest runs cell by cell over the same frames.
SQL: one typed table per sheet and one SQL step per block, run on DuckDB. Readable by anyone who reads SQL.
How a conversion runs
Parse the workbook: sheets, cells, formulas, names, formats, macros (inventoried, never run).
Build the dependency graph between cells.
Group copied-down formulas into logic blocks and mark inputs and outputs.
Generate code, rules first; an optional AI stage only improves names and readability.
Reconcile: run the generated code and compare every checkable cell with the workbook's stored values. Mismatches are listed with the reason, never hidden.
What you get
A workbook map, an interactive dependency graph, the generated code package with tests, the reconciliation report, a lineage file, a feature-gap report naming anything that could not be converted, and a run log of inputs and versions.
Where it stands
Power Migrate is in beta. Two public synthetic workbooks (a month-end FP&A pack and an asset-finance pricing calculator) are published with full evidence packs on the Samples page. The hosted converter at /app/ runs the same pipeline on an uploaded workbook. A command-line tool runs the identical pipeline inside your own environment, for workbooks that must not leave it.
We say "tested equivalence" or "reconciled", never "guaranteed identical": the report certifies exactly the checks it ran.
Privacy and data handling
The hosted converter (power-migrate.com/app)
Your workbook is uploaded over HTTPS to our service, which runs on Microsoft Azure Container Apps in the UK South region (London). It is processed there and nowhere else.
Each upload lives in its own folder on the service and is deleted, together with everything generated from it, within six hours of the conversion finishing. The results page shows the exact deletion time.
The hosted conversion runs no AI step and no Excel. It is the deterministic pipeline only.
A results link contains a random job id and nothing else. Anyone with the link can open the results until the job is deleted, so share it as you would share the workbook.
We record how the converter is used so we can shape the product and its pricing: file size, target, counts of sheets, formula cells and blocks, timings, outcome, downloads, and an anonymous random id held in your browser's local storage. We never record the workbook's name, sheet names, labels, formulas or values. If a conversion fails we record the type of error only, not its message. The service keeps no access log of IP addresses.
The contact form sends your message to our mailbox by email; nothing from it is stored on the server.
The static site is served from a UK hosting provider (Krystal). Page analytics run on GoatCounter, which is cookieless and uses no personal identifiers.
The command-line tool
For a sensitive or regulated workbook, run the command-line tool inside your own environment. Nothing leaves it: there is no upload, no telemetry and no dependency on our servers. The AI stage is optional and, when used, calls only the model endpoint you choose and sees formulas and structure, never cell values. Ask for the tool through the contact page.
Who processes data
Our code runs on Azure (UK South) for the converter API and on Krystal (UK) for the website and mailbox. Source code is held on GitHub. We do not sell or share uploaded data, and we have no advertising partners.
Questions and requests
Write to hello@power-migrate.com or use the contact page for any question about data handling, to ask for deletion of a job before its time, or to request the command-line tool. Certifications such as Cyber Essentials Plus are on the roadmap and not yet held; we will say so plainly when that changes.
Governance, AI and auditability
Power Migrate is built for governed environments: banks, insurers, FP&A and actuarial teams. These are design constraints, not preferences.
Client data never leaves the client environment
The command-line tool and the generated code run entirely inside your environment. There is no upload, no telemetry and no call home. The hosted converter is a separate, optional convenience for workbooks you are free to upload; see the privacy page for how it treats them.
The AI model is your choice, and optional
The AI stage only improves names and readability. You run it against your own approved endpoint (Azure OpenAI, Amazon Bedrock, Google Vertex AI, Databricks model serving, or Anthropic under your own contract), or you run with no AI at all. The no-AI mode produces working, reconciled code; the public samples and the hosted converter run that way.
AI sees formulas and structure, never cell values
Before any model call, literal values and sheet text are redacted. Every call is logged with exactly what was sent, so a reviewer can confirm what the model saw.
Correctness never depends on the AI
Parsing, the dependency graph, code generation rules and reconciliation are deterministic code. Whatever the AI stage suggests is checked by the reconciliation run, cell by cell, against the workbook's own values.
Nothing is silently guessed
Features the tool cannot convert faithfully (macros, Power Query, INDIRECT with unstable targets, circular references, external links, functions without a closed form in the target such as IRR in SQL) are detected, reported in the feature-gap report, and left as clearly marked stubs. The reconciliation report counts them as "not converted", never as matches.
Every run is auditable
Each run writes a log of its inputs, the tool and library versions, every AI call with its redacted prompt, and every output. The reconciliation report states which checks ran and what they found. The language is "tested equivalence" and "reconciled", never "guaranteed identical".
Deployment path
The Python package and command-line tool come first; then a Databricks or Microsoft Fabric notebook or app; then a container image you run yourself; and only later a hosted service with UK or EU data residency. Pilots inside a client's own environment are available now by arrangement.
The beta programme
Who it is for
Analytics, finance, FP&A, actuarial and operations teams who own business-critical workbooks and want them in code they can test, review and run on a schedule. The tool is most useful where a workbook has copied-down formula logic, lookups and calculations that several people depend on.
What testers get
The hosted converter at /app/ for workbooks you are free to upload: the full evidence pack in the browser within seconds, and a results link that works for six hours.
The command-line tool, on request, for workbooks that must stay inside your environment. It runs the same pipeline with the same reports.
A look at your feature-gap report with us, if you choose to share it, so the next release covers what your workbooks need. The feature-gap report names functions and features, never your data.
What we ask
Tell us what reconciled, what did not, and what you would need before trusting the generated code. The reconciliation and feature-gap reports are the most useful things to send; you decide whether to share anything else.
Cost during the beta
The beta is free. Pricing will follow the measured cost of running conversions and how teams actually use the tool; see the pricing page for what is known today.
How to join
Use the contact page and say a little about the workbooks you have in mind (what they do, roughly how many sheets and formulas, whether they contain macros). We reply from hello@power-migrate.com, usually within a working day.
Pricing
Pricing is not set yet. The beta is free, including the hosted converter and the command-line tool for beta testers.
Prices will follow two measured things: what a conversion costs to run (compute, and the optional AI stage, whose cost per workbook the tool estimates before any call is made) and how teams actually use the tool (how many workbooks, how large, how often, and which targets). The hosted converter records exactly those usage figures, and nothing about workbook contents, for that purpose.
What we can say now:
The deterministic pipeline is cheap to run; a typical workbook converts in seconds.
The optional AI stage sees only formulas and structure, so its token cost is small and is estimated in advance in the run's AI cost report.
Corporate pilots inside a client's own environment are arranged individually.
If pricing matters to a decision you are making now, say so on the contact page and we will talk it through.
Help and support
Getting help
Use the contact page, or email hello@power-migrate.com. We reply from that address, usually within a working day. The most useful things to include are the reconciliation report and the feature-gap report from your run; you decide whether to share anything else. A results link from the hosted converter works for six hours after the conversion, so send it promptly if you want us to look at the run itself.
Limits of the hosted converter
Workbooks must be .xlsx or .xlsm and at most 25 MB. Save a .xls as .xlsx first.
Macros are inventoried in a VBA report and never run. A small subset of VBA functions can be translated; others are reported as not converted.
Volatile functions such as TODAY() and NOW() are frozen to the workbook's last-saved time so results can be reconciled; RAND() stays a stub.
Some functions have no closed form in a target. For example IRR and RATE need an iterative solver that SQL does not express, so those cells are reported as not converted in the SQL target while the Python and pandas targets handle them.
External links to other workbooks cannot be followed; the cells that depend on them are reported.
A conversion that fails outright shows the error on the results page. Nothing about a failed upload is kept beyond the type of error.
Reading the results
Reconciled counts the formula cells whose recalculated value matches the workbook's stored value.
Mismatch lists cells that differ, each with a reason. In the SQL target, Excel errors and empty text are NULL by a declared policy, and cells that match only under that policy are counted separately.
Not converted names cells the rules could not express, with the reason, so nothing is guessed.
The workbook map explains each logic block in plain words; the graph shows how sheets and blocks depend on each other; the code tab shows the generated package.
Reporting a problem
Say which target you chose, what the reconciliation report shows, and what you expected. If you can share the workbook, do so by arrangement over the contact page rather than by email. If you cannot, the feature-gap report and the workbook map are usually enough for us to reproduce the shape of the problem on a synthetic workbook.
Questions this page does not answer: hello@power-migrate.com or the contact page.