Microsoft Money reconciliation balances WAY OFF.

Dale Webb 520 Reputation points
2025-11-04T22:01:59.73+00:00

Please don't just chastise me for using an "old" app. Not sure the problem is in the app.

Been using Money for years. Reconcile bank statements every month. Money data files are stored on a network drive (SSD) attached to my router. Money is installed on my C: drive. The program is called from a batch file, viz:

@echo off

setlocal

:: Path to your Microsoft Money shortcut or executable

set "MoneyPath=C:\Program Files (x86)\Microsoft Money Plus\MNYCoreFiles\msmoney.exe"

set "MoneyData=H:\Money\d^&KWebb.mny"

:: Launch Microsoft Money with the data file

start "" /wait "%MoneyPath%" "%MoneyData%"

:: After Money closes, run PowerShell cleanup

powershell -NoProfile -ExecutionPolicy Bypass -File "H:\Money\CleanupBackups.ps1"

echo Cleanup script finished.

pause

endlocal

Because I need the "cleanup" part to delete extra backup files or they continue to pile up, even though I have Money set to save only 3.

My problem is, lately, after I reconcile the bank statement, my reconciliation is WAY OFF; thousands of dollars sometimes.

MY QUESTION IS: Is it possible that the way I call and use the program is introducing the errors? I'm sure there are safeguards in place in Windows for verifying copies to an from the drive, so I can't figure out how, but . . ..

Windows for home | Windows 11 | Apps
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. Q&A Assist
    2025-11-04T22:02:27.8733333+00:00
    AI generated content. This question contains an answer created with AI from Q&A Assist. Learn more

    Using Microsoft Money from a network drive can potentially introduce issues that affect the accuracy of your reconciliations. Here are a few considerations:

    1. Network Drive Stability: If the network drive experiences latency or connectivity issues, it could lead to data corruption or incomplete transactions being recorded. This might cause discrepancies in your reconciliation.
    2. File Access Conflicts: If multiple instances of Microsoft Money are accessing the same data file simultaneously (even if not intended), it could lead to conflicts and data integrity issues.
    3. Batch File Execution: The way you are launching Microsoft Money through a batch file should not inherently cause errors, but ensure that the cleanup script does not interfere with the data file while Microsoft Money is still running. If the cleanup occurs while the application is accessing the file, it could lead to unexpected behavior.
    4. Backup and Restore Issues: If your cleanup script deletes backups that are still in use or if there are issues with how backups are managed, it could lead to problems when restoring or accessing previous data states.
    5. Data File Size and Performance: If your data file has grown significantly over time, performance issues could arise, leading to potential errors during reconciliation.

    To troubleshoot:

    • Consider running Microsoft Money directly from the local drive instead of the network drive to see if the issue persists.
    • Ensure that no other processes are accessing the Money data file while you are reconciling.
    • Review the cleanup script to ensure it only runs after Microsoft Money has completely closed.

    If the problem continues, you may want to explore the possibility of migrating to a more modern financial management application that offers better support and stability.

    0 comments No comments

  2. Francisco Montilla 20,665 Reputation points Independent Advisor
    2025-11-05T01:18:04.08+00:00

    Hi Dale,

    What you are seeing is trouble when the working file lives on a network share handled by a consumer router. Money writes a lot of tiny changes and relies on strict file locking. SMB caching and hiccups on a router-attached SSD can drop or reorder some of those writes. The batch wrapper itself is not the problem. Running the .mny file across the network is.

    Try to run Money only on a local working copy, then copy the finished file back to H: after Money closes.

    Replace your batch with the one below. It keeps your file name with the caret before the ampersand, pulls the latest file down if needed, launches Money against the local copy, then makes a timestamped backup on H:, pushes the updated file back, and finally runs your cleanup PowerShell. Create H:\Money\Backups once before you try this.

    @echo off
    setlocal enableextensions enabledelayedexpansion
    
    rem Paths and names
    set "MoneyExe=C:\Program Files (x86)\Microsoft Money Plus\MNYCoreFiles\msmoney.exe"
    set "NetDir=H:\Money"
    set "FileName=d^&KWebb.mny"
    
    rem Working folder on local disk
    set "LocalDir=%USERPROFILE%\Documents\MoneyWork"
    if not exist "%LocalDir%" mkdir "%LocalDir%"
    
    set "LocalFile=%LocalDir%\%FileName%"
    set "NetFile=%NetDir%\%FileName%"
    
    rem Pull latest from network to local if needed
    if exist "%NetFile%" (
      if not exist "%LocalFile%" (
        copy /y "%NetFile%" "%LocalFile%" >nul
      ) else (
        rem Use robocopy to copy only if the network file is newer
        robocopy "%NetDir%" "%LocalDir%" "%FileName%" /XO /R:1 /W:1 >nul
      )
    )
    
    rem Run Money on the local working copy
    start "" /wait "%MoneyExe%" "%LocalFile%"
    
    rem Brief pause to ensure handles are released
    timeout /t 2 /nobreak >nul
    
    rem Ensure backup folder exists on H:
    if not exist "%NetDir%\Backups" mkdir "%NetDir%\Backups"
    
    rem Make a timestamped backup on H: before overwriting the main file
    for /f "tokens=1-3 delims=/- " %%a in ("%date%") do set "DT=%%a-%%b-%%c"
    for /f "tokens=1-2 delims=:." %%h in ("%time%") do set "TM=%%h-%%i"
    set "BackupName=%FileName%.%DT%_%TM%.bak"
    copy /y "%LocalFile%" "%NetDir%\Backups\%BackupName%" >nul
    
    rem Push the updated working file back to H:
    robocopy "%LocalDir%" "%NetDir%" "%FileName%" /R:2 /W:1 >nul
    
    rem Run your existing cleanup on H:
    powershell -NoProfile -ExecutionPolicy Bypass -File "H:\Money\CleanupBackups.ps1"
    
    echo All done. Money ran locally and your file is backed up and synced to H:.
    pause
    endlocal
    

    If reconciliation stops going haywire when you work this way, you have your answer.If you want, I can also help tighten the cleanup to keep exactly three backups by date while keeping one weekly long-term, but first test the local-then-sync flow for a few sessions to confirm stability.


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.