Why Offsite Backups Are Critical
Local backups alone are insufficient for business continuity. If your server burns in a fire, floods, or gets hit by ransomware, your local backup drives are destroyed alongside your primary data. According to Intuit, proper backup procedures should include offsite storage to protect against catastrophic data loss. [1]
Cloud backup solutions like Backblaze B2, AWS S3, and Azure Blob Storage offer enterprise-grade protection at a fraction of traditional backup costs. With automated daily syncing, version history, and geographic redundancy, your QuickBooks data remains safe regardless of what happens on-premises.
What This Guide Covers
Cost-Effective Protection
The 3-2-1 Backup Rule
Professional backup strategies follow the industry-standard 3-2-1 rule—a proven methodology that ensures your data survives any disaster scenario:
Copies of Data
Maintain at least three total copies: your production data plus two backups
Different Media Types
Store backups on two different media types (e.g., local NAS + cloud storage)
Offsite Copy
Keep at least one backup copy offsite (cloud storage qualifies perfectly)
Applying 3-2-1 to QuickBooks
Here's how to implement the 3-2-1 rule for your QuickBooks environment:
Production Data
Your live QuickBooks company file on the server's local drive
Local Backup
QuickBooks .QBB backup on external USB drive or NAS (different physical device)
Offsite Cloud Backup
Automated rclone sync to Backblaze B2 / AWS S3 (what this guide configures)
Best Practice
Understanding QuickBooks File Types
Before configuring backups, you must understand which QuickBooks files need protection. A complete backup includes more than just the company file—several supporting files are critical for full data integrity. [1]
Essential QuickBooks Files
.QBW (QuickBooks Working File)
Your main company file containing all financial data
This is the primary file that houses all your financial information, transactions, customers, vendors, and configurations. Losing this file means losing your entire QuickBooks company.
Example Location:
C:\Users\Public\Documents\Intuit\QuickBooks\Company Files\MyCompany.qbwBackup Priority: Critical—must be backed up daily
.TLG (Transaction Log)
Records all changes to the company file for data recovery
The transaction log tracks every modification to your .QBW file. During QuickBooks backup or crash recovery, this file is used to restore recent transactions that may not have been written to the .QBW yet.
Example Location:
C:\Users\Public\Documents\Intuit\QuickBooks\Company Files\MyCompany.qbw.tlgBackup Priority: Critical—backup together with .QBW
.ND (Network Data)
Stores network configuration for multi-user access
This configuration file manages multi-user access settings. While not containing financial data, backing it up prevents the need to reconfigure network settings after restoration.
Example Location:
C:\Users\Public\Documents\Intuit\QuickBooks\Company Files\MyCompany.qbw.ndBackup Priority: Recommended—saves time during disaster recovery
.ADR (Auto Data Recovery)
Automatic backup used with .TLG for transaction recovery
QuickBooks creates this file automatically as a safety mechanism. Combined with the .TLG file, it can recover unsaved transactions after a crash or power failure.
Example Location:
C:\Users\Public\Documents\Intuit\QuickBooks\Company Files\MyCompany.qbw.adrBackup Priority: Recommended—aids in recovery scenarios
Additional Files to Backup
Attachments & Documents
QuickBooks .QBW backup files do NOT include attached documents, receipts, or tax forms. These are stored separately and must be backed up manually.
Attachments Folder:
C:\Users\Public\Documents\Intuit\QuickBooks\Company Files\Attach\Tax Forms:
C:\Users\Public\Documents\Intuit\QuickBooks\Tax Forms\Complete Backup File Pattern
Your rclone backup configuration should include these file patterns:
# Include these file extensions in your backup*.qbw # Main company file*.qbw.tlg # Transaction log*.qbw.nd # Network data*.qbw.adr # Auto data recovery*.qbb # QuickBooks backup files # Include these directoriesAttach/ # Document attachmentsTax Forms/ # Tax forms folder Important Note
Cloud Backup Solutions Comparison
Several enterprise-grade cloud storage providers offer excellent options for QuickBooks backups. This guide focuses on Backblaze B2 due to its cost-effectiveness and simplicity, but we'll compare all major options to help you choose the best fit.
Backblaze B2
Best value for small to medium businesses
Recommended for:
Small to medium businesses with 1-10GB QuickBooks data. Ideal first choice for most users.
AWS S3 (Standard)
Enterprise features with complex pricing
Recommended for:
Large enterprises needing compliance, SLAs, or integration with other AWS services
AWS S3 Glacier Deep Archive
Ultra-low-cost long-term archival
Recommended for:
Long-term archival of monthly QuickBooks backups; not suitable for daily backups
Microsoft Azure Blob
Best for Microsoft-integrated environments
Recommended for:
Businesses already using Microsoft 365, Azure AD, or requiring specific compliance
Google Cloud Storage
Good performance, higher costs
Recommended for:
Organizations using Google Workspace or needing Asia-Pacific edge locations
Wasabi Hot Cloud Storage
Aggressive pricing, no egress fees
Recommended for:
Businesses with frequent data retrieval needs or larger data volumes (1TB+)
Cost Comparison Example
For a typical QuickBooks deployment with 5GB company file, daily backups, 60-day retention (300GB total stored):
| Provider | Storage Cost | Monthly Total | Notes |
|---|---|---|---|
| Backblaze B2 | $1.80 | ~$1.80/mo | Best value; no egress fees for normal usage |
| Wasabi | $6.99 | ~$6.99/mo | 1TB minimum; good if you grow beyond 1TB |
| AWS S3 Standard | $6.90 | ~$7-10/mo | Plus API/egress fees |
| Azure Blob (Hot) | $5.40-$6.00 | ~$6-9/mo | Plus egress fees |
| Google Cloud | $6.00 | ~$6-10/mo | Plus egress fees |
Our Recommendation
Prerequisites & Requirements
System Requirements
Server/Workstation Requirements
| Component | Minimum | Recommended |
|---|---|---|
| Operating System | Windows 10 Pro | Windows Server 2016+ |
| RAM | 4 GB available | 8 GB available |
| Disk Space | 2x QB file size | 5x QB file size for retention |
| Network Upload | 1 Mbps | 5+ Mbps for faster backups |
| PowerShell | 5.1 | 7.0+ (cross-platform) |
Software Requirements
QuickBooks Desktop
Rclone
Administrator Access Required
Setup: Rclone + Backblaze B2
This section walks through the complete setup process for automated QuickBooks backups to Backblaze B2 using rclone. We'll configure everything from creating your B2 account to testing your first backup.
- 1Create Backblaze B2 Account
Sign up for Backblaze B2 cloud storage and create a bucket
- Go to backblaze.com/b2/sign-up.html and create an account (free for first 10GB)
- After signup, navigate to B2 Cloud Storage in the left sidebar
- Click Buckets → Create a Bucket
- Configure bucket settings:
- Bucket Name:
quickbooks-backup-yourcompany(must be globally unique) - Files in Bucket: Private
- Default Encryption: Disable (we'll encrypt with rclone)
- Object Lock: Disable (not needed for our use case)
- Bucket Name:
- Click Create a Bucket
Pro Tip
Enable lifecycle rules to automatically delete old backups. For example, keep daily backups for 30 days and monthly backups for 1 year. This controls storage costs while maintaining adequate retention. - 2Generate Backblaze B2 Application Key
Create API credentials for rclone authentication
- In the Backblaze B2 console, click App Keys in the left sidebar
- Click Add a New Application Key
- Configure the application key:
- Key Name:
rclone-quickbooks-backup - Allow access to Bucket(s): Select your bucket (
quickbooks-backup-yourcompany) - Type of Access: Read and Write
- File name prefix: Leave blank (or set to
quickbooks/for organization) - Duration: Leave as default (key doesn't expire)
- Key Name:
- Click Create New Key
- CRITICAL: Copy and save these values immediately (shown only once):
- keyID (starts with
00X...) - applicationKey (long random string)
- keyID (starts with
Security Note: The applicationKey is shown only once. Save it in a password manager immediately. If lost, you must create a new application key. - 3Download and Install Rclone
Install rclone on your QuickBooks server
Download the latest rclone version for Windows:
- Open a browser on your QuickBooks server and go to rclone.org/downloads
- Download rclone-current-windows-amd64.zip
- Extract the ZIP file to a permanent location (recommended:
C:\rclone\) - Open PowerShell as Administrator and add rclone to the system PATH:
PowerShell - Install Rclone# Add rclone to PATH permanently[Environment]::SetEnvironmentVariable("Path",[Environment]::GetEnvironmentVariable("Path", "Machine") + ";C:\rclone","Machine")# Verify installation (open new PowerShell window)rclone versionYou should see output showing the rclone version (e.g.,
rclone v1.65.0). - 4Configure Rclone for Backblaze B2
Set up rclone remote connection to your B2 bucket
Run the rclone configuration wizard: [2]
PowerShell - Start Rclone Config# Start rclone configurationrclone configFollow the interactive prompts:
e) Edit existing remoten) New remoted) Delete remoter) Rename remotec) Copy remotes) Set configuration passwordq) Quit confige/n/d/r/c/s/q> nname> b2-quickbooksType of storage to configure:[...list of providers...]Storage> b2Account ID or Application Key IDaccount> [Your keyID from Step 2]Application Keykey> [Your applicationKey from Step 2]Edit advanced config? (y/n)y/n> n[Configuration confirmed]e/n/d/r/c/s/q> qTest the connection:
PowerShell - Verify B2 Connection# List buckets to verify connectionrclone lsd b2-quickbooks:# You should see your bucket listed:# -1 2025-01-29 10:30:00 -1 quickbooks-backup-yourcompany - 5Test Your First Backup
Perform a manual backup to verify configuration
Before automating, test backing up your QuickBooks files manually:
PowerShell - Test Backup# Set your QuickBooks data path$qbPath = "C:\Users\Public\Documents\Intuit\QuickBooks\Company Files"# Perform a dry-run first (shows what would be backed up without actually copying)rclone sync "$qbPath" "b2-quickbooks:quickbooks-backup-yourcompany" `--dry-run `--progress `--transfers 16# If the dry-run looks correct, run the actual backuprclone sync "$qbPath" "b2-quickbooks:quickbooks-backup-yourcompany" `--progress `--transfers 16 `--fast-listExplanation of flags:
--dry-run- Simulates the sync without making changes (safe for testing)--progress- Shows real-time progress during transfer--transfers 16- Upload 16 files simultaneously (optimal for B2 [2])--fast-list- Reduces API calls for faster sync (recommended by Backblaze)
Success Indicator
Your first backup may take 10-30 minutes depending on file size and internet speed. Subsequent backups will be much faster as rclone only uploads changed files.
Automating Backups with Task Scheduler
Manual backups are prone to human error and forgetfulness. Automate your QuickBooks cloud backups using Windows Task Scheduler to ensure daily protection without intervention.
- 1Create Backup Script
Write a PowerShell script to handle the backup process
Create a new file at
C:\Scripts\QB-CloudBackup.ps1:C:\Scripts\QB-CloudBackup.ps11# QuickBooks Cloud Backup Script2# Created: 2025-01-2934# Configuration5$qbDataPath = "C:\Users\Public\Documents\Intuit\QuickBooks\Company Files"6$rcloneRemote = "b2-quickbooks:quickbooks-backup-yourcompany"7$logPath = "C:\Scripts\Logs\QB-Backup-$(Get-Date -Format 'yyyy-MM-dd').log"89# Create log directory if it doesn't exist10New-Item -ItemType Directory -Force -Path (Split-Path $logPath) | Out-Null1112# Log function13function Write-Log {14 param($Message)15 $timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"16 $logMessage = "[$timestamp] $Message"17 Add-Content -Path $logPath -Value $logMessage18 Write-Host $logMessage19}2021Write-Log "=== QuickBooks Cloud Backup Started ==="2223# Verify QuickBooks files exist24if (!(Test-Path $qbDataPath)) {25 Write-Log "ERROR: QuickBooks data path not found: $qbDataPath"26 exit 127}2829# Count files before backup30$fileCount = (Get-ChildItem -Path $qbDataPath -Recurse -File | Measure-Object).Count31Write-Log "Found $fileCount files to backup in $qbDataPath"3233# Run rclone sync34try {35 Write-Log "Starting rclone sync..."3637 rclone sync "$qbDataPath" "$rcloneRemote" `38 --transfers 16 `39 --fast-list `40 --log-level INFO `41 --log-file "$logPath" `42 --stats 1m `43 --stats-one-line4445 if ($LASTEXITCODE -eq 0) {46 Write-Log "SUCCESS: Backup completed successfully"47 } else {48 Write-Log "ERROR: Rclone exited with code $LASTEXITCODE"49 exit $LASTEXITCODE50 }51} catch {52 Write-Log "ERROR: Exception during backup: $_"53 exit 154}5556Write-Log "=== QuickBooks Cloud Backup Completed ==="57exit 058Test the script manually before scheduling:
Test the Backup Script# Run the script to testPowerShell.exe -ExecutionPolicy Bypass -File "C:\Scripts\QB-CloudBackup.ps1"# Check the log fileGet-Content "C:\Scripts\Logs\QB-Backup-$(Get-Date -Format 'yyyy-MM-dd').log" - 2Create Scheduled Task
Configure Windows Task Scheduler for daily automated backups
Use PowerShell to create a scheduled task (run as Administrator):
PowerShell - Create Scheduled Task (Run as Admin)# Define the action$action = New-ScheduledTaskAction `-Execute "PowerShell.exe" `-Argument '-ExecutionPolicy Bypass -NoProfile -File "C:\Scripts\QB-CloudBackup.ps1"'# Define the trigger (daily at 11:00 PM)$trigger = New-ScheduledTaskTrigger -Daily -At "11:00PM"# Define settings$settings = New-ScheduledTaskSettingsSet `-AllowStartIfOnBatteries `-DontStopIfGoingOnBatteries `-StartWhenAvailable `-RunOnlyIfNetworkAvailable `-ExecutionTimeLimit (New-TimeSpan -Hours 2)# Define the principal (run as SYSTEM or specific user)$principal = New-ScheduledTaskPrincipal `-UserID "NT AUTHORITY\SYSTEM" `-LogonType ServiceAccount `-RunLevel Highest# Register the taskRegister-ScheduledTask `-TaskName "QuickBooks Cloud Backup" `-Description "Automated daily backup of QuickBooks company files to Backblaze B2" `-Action $action `-Trigger $trigger `-Settings $settings `-Principal $principalWrite-Host "Scheduled task created successfully!"Write-Host "Next backup: 11:00 PM today/tomorrow"Schedule Recommendation
Schedule backups during off-hours when QuickBooks is not in use (11 PM - 6 AM). This prevents file locking issues and ensures minimal network impact during business hours.Verify the task was created:
Verify Scheduled Task# View task detailsGet-ScheduledTask -TaskName "QuickBooks Cloud Backup" | Format-List# Manually run the task to testStart-ScheduledTask -TaskName "QuickBooks Cloud Backup"# Check task historyGet-ScheduledTask -TaskName "QuickBooks Cloud Backup" | Get-ScheduledTaskInfo - 3Configure Email Notifications (Optional)
Get notified of backup success/failure via email
Add email notification to your backup script using PowerShell Send-MailMessage:
Add Email Notifications1# Add this to the end of QB-CloudBackup.ps123# Email Configuration4$smtpServer = "smtp.gmail.com" # Or your email provider's SMTP server5$smtpPort = 5876$emailFrom = "backup@yourcompany.com"7$emailTo = "admin@yourcompany.com"8$emailSubject = "QuickBooks Backup - $(if ($LASTEXITCODE -eq 0) {'SUCCESS'} else {'FAILED'})"910# Email credentials (use app-specific password for Gmail)11$emailPassword = ConvertTo-SecureString "your-app-password" -AsPlainText -Force12$emailCredential = New-Object System.Management.Automation.PSCredential($emailFrom, $emailPassword)1314# Get log content15$logContent = Get-Content -Path $logPath -Tail 50 | Out-String1617# Send email18try {19 Send-MailMessage `20 -From $emailFrom `21 -To $emailTo `22 -Subject $emailSubject `23 -Body "QuickBooks Cloud Backup Log:2425$logContent" `26 -SmtpServer $smtpServer `27 -Port $smtpPort `28 -UseSsl `29 -Credential $emailCredential3031 Write-Log "Email notification sent to $emailTo"32} catch {33 Write-Log "WARNING: Failed to send email notification: $_"34}35Security Note
Store email credentials securely. For Gmail, use App Passwords instead of your main password. For production environments, consider using a dedicated monitoring solution or SMTP relay service.
Encryption & Security
QuickBooks company files contain highly sensitive financial data. While cloud providers offer server-side encryption, you should implement client-side encryption before files leave your network. This ensures only you can decrypt your data—not even your cloud provider can access it.
Defense in Depth
Option 1: Rclone Crypt (Recommended)
Rclone includes a built-in crypt backend that encrypts files before upload. This is the simplest and most integrated solution.
Add encryption layer on top of your B2 remote
# Run rclone configrclone config # Follow prompts to create crypt remote# n) New remote# name> b2-encrypted# Storage> crypt# remote> b2-quickbooks:quickbooks-backup-yourcompany# filename_encryption> standard# directory_name_encryption> true# password> [Enter a strong password]# password2> [Confirm password]# y) Yes this is OK # Test the encrypted remoterclone lsd b2-encrypted: # Update your backup script to use encrypted remote$rcloneRemote = "b2-encrypted:" CRITICAL: Password Storage
C:\Users\[User]\.config\rclone\rclone.conf). While it's obscured, it's not fully encrypted. For maximum security:- Set a configuration password with
rclone config→s) Set configuration password - Restrict file permissions on
rclone.conf - Store encryption passwords in a password manager as backup
Option 2: Pre-Encrypt with 7-Zip
Alternatively, encrypt QuickBooks files with 7-Zip before syncing to cloud:
# Install 7-Zip command line# Download from: https://www.7-zip.org/download.html # Encrypt QuickBooks files before upload$qbPath = "C:\Users\Public\Documents\Intuit\QuickBooks\Company Files"$encryptedPath = "C:\Backups\QB-Encrypted"$password = "YourStrongEncryptionPassword" # Create encrypted archive& "C:\Program Files\7-Zip\7z.exe" a ` -t7z ` -mx9 ` -mhe=on ` -p"$password" ` "$encryptedPath\QB-Backup-$(Get-Date -Format 'yyyy-MM-dd').7z" ` "$qbPath\*" # Sync encrypted archives to cloudrclone sync "$encryptedPath" "b2-quickbooks:quickbooks-backup-yourcompany/encrypted" ` --transfers 16 Security Best Practices
Use Strong Encryption Passwords
Minimum 20 characters, mix of uppercase, lowercase, numbers, and symbols. Generate with password manager.
Backup Your Encryption Keys
Store encryption passwords and rclone config in secure password manager. Without them, encrypted backups are useless.
Enable 2FA on Cloud Accounts
Require multi-factor authentication for Backblaze B2 console access to prevent unauthorized account access.
Use Application-Specific API Keys
Create dedicated B2 application keys restricted to specific buckets. Never use master account credentials.
Test Decryption Regularly
Monthly, verify you can decrypt and restore from backups. Encryption is worthless if you lose the keys.
Conclusion
Congratulations! You've implemented a professional-grade offsite backup solution for your QuickBooks company files. Your financial data is now protected against hardware failures, ransomware, natural disasters, and human error.
Key Takeaways
Next Steps
Your Data Is Now Protected
References
All procedures and recommendations are verified against official documentation and industry best practices:
- Intuit QuickBooks Support - File Types and Extensions Used by QuickBooks Desktop - Official documentation of QuickBooks file structure
- Backblaze Help - Quickstart Guide for Rclone and B2 Cloud Storage - Official Backblaze rclone configuration guide
- Rclone Official Documentation - Complete rclone command reference and best practices