From your legacy system to ERPNext without stopping the business
A cutover is not a date, it is an order of operations. What moves first decides how expensive a mistake gets.

What has to be settled before the cutover
Before a single record moves, someone has to decide which stock counts as reliable. Without that line, legacy problems travel into the new system and become visible for the first time when they get in the way.
In practice that means: items with no price, customers with no VAT ID, stock levels that have been wrong for two inventories. Every one of those gaps is tolerable in the old system, because somebody corrects for it in their head. In the new one it is an error that stops a process.
The order that has proven itself
Items and partners first, then open items, history last. That way the system is in a workable state after every step. Start with the history and two weeks later you have a full system in which not one transaction runs.
Where legacy data is deliberately left behind
Not everything has to come along. Whatever has to be retained for legal reasons can stay in the old system or in an archive, as long as it stays readable. That decision saves more migration effort than any amount of tuning on the mapping.
Switchover day
A cutover is not a date, it is an order of operations with a way back. Once it is clear which area goes live first and what happens if it does not, the day loses its edge.
Not sure what should move first? The setup check puts the order straight before you commit.
Setup check