A migration produces hundreds of files: extracts, load files, rejected rows, mapping versions, exception lists. Losing track of which sheet is current costs an hour and, worse, it costs your confidence in your own numbers. This is the structure I use and the three rules that matter most.
The short version. One folder per stage, dates at the front of file names, never overwrite an extract, and keep every rejected rows file.
The folder structure
client-name/
00-admin/ contract dates, plan, contacts, meeting notes






