QB-Flow Nerdio setup.
Automate QuickBooks updates in Nerdio Manager for MSP by adding QB-Flow as a scripted action.
Create a script in Nerdio
- Open Nerdio Manager for MSP (NMM).
- Go to Scripted Actions → Windows Scripts → Add New.
- Create a new script, naming it something memorable like
QB-Flow, add a short description, and tag it withFlowdevs. - Set the Mode to Combined for reliable execution.
Add the PowerShell script
Paste the script into the Script Body and replace Your_Customer_ID with the unique Customer ID from your welcome email. Be sure QuickBooks is completely closed before executing to avoid file lock conflicts.
# Enter your Customer ID, which can be found in your Welcome Email after subscribing to QB-Flow
$customerid = "Your_Customer_ID"
# URL to download the QB-Flow executable
$QBUpdateURL = "https://flowdevsblob.blob.core.windows.net/qbflow/QB-flow.exe"
# Destination path for the QB-Flow executable
$QBdestination = "C:\Windows\Temp\qb-flow.exe"
# Create a WebClient object to download the file
$webclient = New-Object System.Net.WebClient
$webclient.DownloadFile($QBUpdateURL, $QBdestination)
# Execute the QB-Flow application with the Customer ID as an argument
Start-Process $QBdestination -ArgumentList "/customerid $($customerid)" -NoNewWindow -WaitRemoving public desktop icons
Add the /deletepublicdesktop switch to clear public QuickBooks desktop icons on the host.
# Enter your Customer ID, which can be found in your Welcome Email after subscribing to QB-Flow
$customerid = "Your_Customer_ID"
# URL to download the QB-Flow executable
$QBUpdateURL = "https://flowdevsblob.blob.core.windows.net/qbflow/QB-flow.exe"
# Destination path for the QB-Flow executable
$QBdestination = "C:\Windows\Temp\qb-flow.exe"
# Create a WebClient object to download the file
$webclient = New-Object System.Net.WebClient
$webclient.DownloadFile($QBUpdateURL, $QBdestination)
# Execute the QB-Flow application with the Customer ID as an argument
Start-Process $QBdestination -ArgumentList "/customerid $($customerid) /deletepublicdesktop" -NoNewWindow -WaitRun it outside Nerdio when you need to
For one-off updates or testing, the standalone guide explains how to download and run QB-Flow.exe directly with PowerShell, with or without logging.
Verifying a successful run
QB-Flow doesn't pop a "success" dialog when it finishes. There are two reliable signals you can check on the endpoint:
- The log file exists. QB-Flow writes a log to
C:\Windows\Temp\qbflow_<yyyyMMdd_HHmmss>.logon every run. If a recent log is there, it ran. - The QuickBooks installer folder is empty (or no longer contains the latest .msi / .cab files). This is intentional. The QuickBooks updater uses the presence of those files as its trigger to apply an update. QB-Flow removes them after applying the release so Intuit can't re-trigger the same update outside your scheduled window.
Do not open the QuickBooks Update window to verify a run
The QuickBooks Update window inside QuickBooks Desktop is not a passive status screen. Simply opening it can re-enable Intuit's automatic update service in the background, even if you never click "Update Now." That's the exact behavior QB-Flow is built to prevent. If you want to confirm QB-Flow ran, check the log file. That is the source of truth, not the in-app Update window.
Quick verification checklist
- Recent log present at
C:\Windows\Temp\qbflow_*.log - QuickBooks installer folder empty or pruned of latest installers
- Nobody opened the QuickBooks Update window during or after the run
If the log is missing entirely, the script never executed. The usual culprits are AV blocking the signed executable, or a firewall blocking the download URL.

