diff --git a/containers/backupchecks/src/templates/documentation/customers-jobs/approved-jobs.html b/containers/backupchecks/src/templates/documentation/customers-jobs/approved-jobs.html
index 93fffd7..cb78a4c 100644
--- a/containers/backupchecks/src/templates/documentation/customers-jobs/approved-jobs.html
+++ b/containers/backupchecks/src/templates/documentation/customers-jobs/approved-jobs.html
@@ -4,16 +4,327 @@
Approved Jobs
- View and manage approved backup jobs.
+ View and manage all approved backup jobs across all customers.
+Overview
+
+The Jobs page provides a comprehensive view of all approved backup jobs in BackupChecks. Once a job has been approved from the Inbox, it appears here and begins receiving backup reports automatically.
+
+This page allows you to:
+
+
+ - View all approved jobs organized by customer
+ - See job configuration and status at a glance
+ - Access job details and run history
+ - Archive or delete jobs
+ - Export and import job data
+
+
+Accessing the Jobs Page
+
+To view approved jobs:
+
+
+ - Navigate to Jobs in the main navigation menu
+ - This page is available to Admin, Operator, and Viewer roles
+ - Reporters do not have access to operational features like the Jobs page
+
+
+Jobs List
+
+The Jobs page displays a table with the following columns:
+
+
+
+
+ | Column |
+ Description |
+
+
+
+
+ | Customer |
+ Customer name (jobs are grouped by customer) |
+
+
+ | Job Name |
+ Backup job name (clickable to view details) |
+
+
+ | Backup Software |
+ Detected backup software (e.g., Veeam, Acronis, Windows Server Backup) |
+
+
+ | Backup Type |
+ Type of backup (e.g., Full, Incremental, Differential) |
+
+
+ | Last Run |
+ Date and time of the most recent backup run |
+
+
+ | Status |
+ Status of the most recent run (Success, Failed, Warning) |
+
+
+ | Schedule |
+ Learned schedule (e.g., "Daily", "Weekly: Mon, Wed, Fri", "Monthly: 1st") |
+
+
+ | Actions |
+ Edit, Archive, Delete buttons |
+
+
+
+
- 📝 Coming Soon:
- This page is under construction. Full content will be added in a future update.
+ 💡 Filtering:
+ By default, only active jobs for active customers are shown. Archived jobs and jobs belonging to inactive customers are hidden. Use the "Show archived jobs" toggle to view archived jobs.
-Content
+Viewing Job Details
-Detailed content will be added here in a future update.
+To view detailed information about a specific job:
+
+
+ - Navigate to the Jobs page
+ - Find the job in the list
+ - Click on the job name
+
+
+The job detail page shows:
+
+
+ - Job Information:
+
+ - Customer name
+ - Job name
+ - Backup software and type
+ - Active/archived status
+
+
+ - Email Matching Patterns:
+
+ - Sender email pattern (used to match incoming emails)
+ - Subject pattern (used to match incoming emails)
+
+
+ - Schedule Information:
+
+ - Learned schedule (if available)
+ - Expected run days/times
+
+
+ - Recent Backup Runs:
+
+ - List of recent backup runs with dates and statuses
+ - Clickable to view run details
+
+
+
+
+Editing Job Information
+
+While you cannot manually change parser-determined fields (sender pattern, subject pattern, backup software), you can edit certain job properties:
+
+
+ - Navigate to the Jobs page
+ - Find the job you want to edit
+ - Click the Edit button
+ - Modify editable fields:
+
+ - Customer: Change which customer the job belongs to
+ - Job Name: Rename the job for clarity
+ - Notes: Add internal notes about the job
+
+
+ - Click Save to apply changes
+
+
+
+ ⚠️ Parser Fields Are Read-Only:
+ Fields determined by Mail Parsers (backup software, backup type, sender pattern, subject pattern) cannot be manually edited. If these are incorrect, the Mail Parser configuration must be updated by an administrator.
+
+
+Job Status Indicators
+
+Jobs display different status indicators based on their most recent backup run:
+
+
+
+
+ | Status |
+ Color |
+ Meaning |
+
+
+
+
+ | Success |
+ Green |
+ Most recent backup completed successfully |
+
+
+ | Failed |
+ Red |
+ Most recent backup failed |
+
+
+ | Warning |
+ Yellow/Orange |
+ Backup completed with warnings |
+
+
+ | No Runs |
+ Gray |
+ Job approved but no backup runs received yet |
+
+
+
+
+Archiving Jobs
+
+When a backup job is no longer active (e.g., server decommissioned, backup solution changed), you can archive it to declutter operational views.
+
+How to Archive a Job
+
+
+ - Navigate to the Jobs page
+ - Find the job you want to archive
+ - Click the Archive button
+ - Confirm the archival
+
+
+Effects of Archiving
+
+When a job is archived:
+
+
+ - It is hidden from the default Jobs list
+ - It does not appear in Daily Jobs
+ - Existing runs do not appear in Run Checks
+ - All historical data is preserved (runs, tickets, remarks)
+ - The job can be unarchived later if needed
+
+
+
+
💡 When to Archive:
+ Archive jobs when:
+
+ - A server has been decommissioned
+ - A backup solution has been replaced
+ - A customer no longer uses a particular backup job
+ - You want to declutter operational views without losing historical data
+
+
+
+Viewing Archived Jobs
+
+To view archived jobs:
+
+
+ - Navigate to the Jobs page
+ - Enable the Show archived jobs toggle at the top of the page
+ - Archived jobs will appear in the list with an "Archived" label
+
+
+Unarchiving a Job
+
+To unarchive a job:
+
+
+ - Enable Show archived jobs
+ - Find the archived job
+ - Click the Unarchive button
+
+
+The job will immediately reappear in operational views (Daily Jobs, Run Checks).
+
+Deleting Jobs
+
+If you need to permanently remove a job and all its data:
+
+
+ - Navigate to the Jobs page
+ - Find the job you want to delete
+ - Click the Delete button
+ - Confirm the deletion in the dialog
+
+
+
+
⚠️ Warning - Permanent Deletion:
+ Deleting a job is
permanent and will delete:
+
+ - The job configuration
+ - All backup runs
+ - All tickets linked to this job
+ - All remarks linked to this job
+ - All historical data
+
+ This action
cannot be undone. Consider archiving the job instead if you might need the data later.
+
+
+Exporting Job Data
+
+You can export all job data to a JSON file for backup, reporting, or migration purposes.
+
+
+ - Navigate to Settings → Maintenance
+ - In the "Export/Import" section, click Export Jobs
+ - A JSON file will be downloaded containing:
+
+ - Customer information (including Autotask mappings)
+ - All approved jobs with their configurations
+ - Email matching patterns
+ - Learned schedules
+
+
+
+
+
+ 💡 Export Format:
+ The export uses JSON format (schema version: approved_jobs_export_v1). This format is designed for system migration and backup purposes.
+
+
+Importing Job Data
+
+You can import job data from a previously exported JSON file.
+
+
+ - Navigate to Settings → Maintenance
+ - In the "Export/Import" section, click Import Jobs
+ - Select your JSON file (must match the export format)
+ - Click Upload
+ - The system will:
+
+ - Create or update customers
+ - Apply Autotask company mappings (if applicable)
+ - Create jobs with their configurations
+ - Apply learned schedules
+
+
+ - Review the import summary showing created and updated counts
+
+
+
+
⚠️ Import Behavior:
+ The import process will:
+
+ - Create new customers and jobs if they don't exist
+ - Update existing customers if they already exist (matched by name)
+ - Preserve existing job data and merge with imported data
+
+ Ensure your JSON data is correct before importing.
+
+
+Next Steps
+
+
{% endblock %}
diff --git a/containers/backupchecks/src/templates/documentation/customers-jobs/configuring-jobs.html b/containers/backupchecks/src/templates/documentation/customers-jobs/configuring-jobs.html
index b58f72c..a0498ea 100644
--- a/containers/backupchecks/src/templates/documentation/customers-jobs/configuring-jobs.html
+++ b/containers/backupchecks/src/templates/documentation/customers-jobs/configuring-jobs.html
@@ -4,16 +4,297 @@
Configuring Jobs
- Learn how to configure backup jobs.
+ Understand how backup jobs are created and configured in BackupChecks through the Inbox approval workflow.
+Overview
+
+Unlike traditional systems where you manually configure backup jobs, BackupChecks uses an Inbox-based approval workflow. Jobs are created by approving backup report emails, and all job configuration is automatically determined by Mail Parsers.
+
- 📝 Coming Soon:
- This page is under construction. Full content will be added in a future update.
+ 💡 Key Concept:
+ You cannot manually create or configure backup jobs in BackupChecks. Instead, jobs are created by approving emails from the Inbox. This ensures consistency and prevents configuration errors.
-Content
+How Jobs Are Created
-Detailed content will be added here in a future update.
+The job creation process follows these steps:
+
+
+
+
+ | Step |
+ What Happens |
+ Where |
+
+
+
+
+ | 1 |
+ Backup report email arrives in monitored mailbox |
+ Email system |
+
+
+ | 2 |
+ Mail import fetches the email via Microsoft Graph API |
+ Background process |
+
+
+ | 3 |
+ Email appears in Inbox (no matching job exists yet) |
+ Inbox page |
+
+
+ | 4 |
+ Operator selects customer and clicks "Approve job" |
+ Inbox page |
+
+
+ | 5 |
+ Mail Parser extracts job configuration from email |
+ Background process |
+
+
+ | 6 |
+ Job is created with parser-determined configuration |
+ Jobs page |
+
+
+ | 7 |
+ Email is linked to job and removed from Inbox |
+ Run Checks page |
+
+
+
+
+Approving a Job from the Inbox
+
+To create a new backup job:
+
+
+ - Navigate to Inbox in the main menu
+ - Find a backup report email in the inbox list
+ - Click on the email to view its details
+ - In the Customer field, select or enter the customer name
+
+ - If the customer exists, select it from the dropdown
+ - If the customer is new, type the name and it will be created automatically
+
+
+ - Click the Approve job button (enabled once a customer is selected)
+
+
+The system will:
+
+ - Create a new backup job linked to the selected customer
+ - Apply the Mail Parser's configuration automatically
+ - Link the email to the job as the first backup run
+ - Remove the email from the Inbox
+ - Make the run available in Run Checks for review
+
+
+
+ 💡 Customer Selection:
+ The Approve job button is only enabled when a customer is selected. If you type a new customer name, it will be created automatically when you approve the job.
+
+
+What Mail Parsers Configure
+
+When you approve a job, the Mail Parser automatically determines the following job configuration:
+
+
+
+
+ | Configuration |
+ How It's Determined |
+
+
+
+
+ | Backup Software |
+ Detected from email subject, sender, or body patterns (e.g., Veeam, Acronis, Windows Server Backup) |
+
+
+ | Backup Type |
+ Extracted from email content (e.g., Full, Incremental, Differential) |
+
+
+ | Job Name |
+ Parsed from email subject or body |
+
+
+ | Sender Email Pattern |
+ Email sender address (used to match future emails) |
+
+
+ | Subject Pattern |
+ Email subject pattern (used to match future emails) |
+
+
+ | Success/Failure Detection |
+ Parser rules for identifying successful vs. failed backups |
+
+
+
+
+
+ ⚠️ No Manual Configuration:
+ You cannot manually edit these job settings. All configuration is determined by the Mail Parser to ensure consistency. If a parser incorrectly identifies a field, the parser itself must be updated (Admin only).
+
+
+Processing Similar Emails (Reparse All)
+
+After approving your first job for a customer, you can automatically process other emails that match the same pattern:
+
+
+ - At the top of the Inbox page, click Reparse all
+ - The system will scan all inbox emails and:
+
+ - Match emails to existing approved jobs based on sender and subject patterns
+ - Link matched emails to the corresponding jobs
+ - Remove matched emails from the inbox
+ - Create backup runs in Run Checks for review
+
+
+
+
+
+ 💡 Workflow Tip:
+ After approving a few jobs from the Inbox, click Reparse all to automatically process any historical emails that match those jobs. This saves time when onboarding a new customer with many existing backup reports.
+
+
+Viewing Job Configuration
+
+To view a job's configuration after it has been created:
+
+
+ - Navigate to Jobs in the main menu
+ - Find the job in the list (organized by customer)
+ - Click on the job name to view details
+
+
+The job detail page shows:
+
+ - Customer name
+ - Job name
+ - Backup software
+ - Backup type
+ - Email matching patterns (sender, subject)
+ - Recent backup runs
+ - Learned schedule (if available)
+ - Active/archived status
+
+
+Archiving Jobs
+
+If a backup job is no longer active, you can archive it:
+
+
+ - Navigate to Jobs
+ - Find the job you want to archive
+ - Click the Archive button
+
+
+Archived jobs:
+
+ - Are hidden from Daily Jobs, Run Checks, and the default Jobs list
+ - Do not appear in operational views
+ - Can be viewed by clicking "Show archived jobs" on the Jobs page
+ - Can be unarchived if needed
+
+
+
+ 💡 Archive vs. Delete:
+ Archiving a job hides it from operational views but preserves all historical data. This is useful for jobs that are no longer running but whose history you want to retain. Deleting a job is permanent and removes all associated data.
+
+
+Deleting Jobs
+
+To permanently delete a backup job:
+
+
+ - Navigate to Jobs
+ - Find the job you want to delete
+ - Click the Delete button
+ - Confirm the deletion
+
+
+
+ ⚠️ Warning - Permanent Deletion:
+ Deleting a job is permanent and will delete all associated backup runs, tickets, remarks, and historical data. This action cannot be undone. Consider archiving the job instead if you might need the data later.
+
+
+Job Lifecycle
+
+A typical backup job goes through the following lifecycle:
+
+
+
+
+ | Stage |
+ Description |
+ Visibility |
+
+
+
+
+ | 1. Email in Inbox |
+ Backup report arrives, no job exists yet |
+ Inbox page |
+
+
+ | 2. Job Approved |
+ Operator approves job from Inbox |
+ Jobs page, Run Checks |
+
+
+ | 3. Active Job |
+ Job receives regular backup reports |
+ Daily Jobs, Run Checks, Jobs page |
+
+
+ | 4. Schedule Learned |
+ System learns backup schedule after several runs |
+ Daily Jobs (appears on expected days) |
+
+
+ | 5. Job Archived |
+ Backup no longer runs, job archived for history |
+ Hidden from operational views |
+
+
+ | 6. Job Deleted |
+ Job and all data permanently removed |
+ Completely removed |
+
+
+
+
+Common Questions
+
+Can I manually create a job without an email?
+
+No. Jobs can only be created by approving emails from the Inbox. This ensures that every job has a valid Mail Parser configuration and prevents misconfiguration.
+
+Can I edit a job's sender or subject pattern?
+
+No. Job configuration is determined by Mail Parsers and cannot be manually edited. If a parser is incorrectly identifying fields, contact an administrator to review the parser configuration.
+
+What if multiple jobs match the same email?
+
+BackupChecks uses sender and subject patterns to uniquely identify jobs. If multiple jobs could match the same email pattern, the system will match to the first job created. Ensure each backup job sends reports with unique sender or subject patterns.
+
+Can I change the customer a job is linked to?
+
+Yes, you can edit a job to change its linked customer. Navigate to the job detail page and use the "Edit" function to select a different customer.
+
+Next Steps
+
+
{% endblock %}
diff --git a/containers/backupchecks/src/templates/documentation/customers-jobs/job-schedules.html b/containers/backupchecks/src/templates/documentation/customers-jobs/job-schedules.html
index aeeff19..a700bf5 100644
--- a/containers/backupchecks/src/templates/documentation/customers-jobs/job-schedules.html
+++ b/containers/backupchecks/src/templates/documentation/customers-jobs/job-schedules.html
@@ -4,16 +4,283 @@
Job Schedules
- Understand how job schedules work.
+ Understand how BackupChecks automatically learns backup job schedules and uses them to predict expected runs.
+Overview
+
+BackupChecks does not require you to manually configure backup schedules. Instead, the system automatically learns when backups are expected to run by analyzing historical backup run patterns.
+
+This learned schedule information is used to:
+
+
+ - Display jobs in Daily Jobs on days they are expected to run
+ - Identify missing backups (job expected today but hasn't run)
+ - Provide schedule visibility on the Jobs page
+ - Help operators focus on jobs that should have run
+
+
- 📝 Coming Soon:
- This page is under construction. Full content will be added in a future update.
+ 💡 Key Concept:
+ Schedules are learned automatically by analyzing backup run history. You do not configure schedules manually. After a few backup runs, BackupChecks will infer the schedule pattern.
-Content
+How Schedule Learning Works
-Detailed content will be added here in a future update.
+BackupChecks uses historical backup run data to infer schedules through the following process:
+
+
+ - Data Collection: As backup reports arrive and create runs, the system records the date and time of each backup
+ - Pattern Analysis: After several runs, the system analyzes the dates to identify patterns (e.g., daily, specific weekdays, monthly)
+ - Schedule Inference: Once a pattern is detected, a schedule is assigned to the job
+ - Continuous Learning: The schedule is updated as more runs are received to maintain accuracy
+
+
+Minimum Data Required
+
+To learn a schedule, BackupChecks needs:
+
+
+ - At least 3-5 successful backup runs to establish a pattern
+ - Runs should be spread across multiple days (not all on the same day)
+ - Runs should follow a consistent pattern (e.g., always on Mondays and Thursdays)
+
+
+
+ 💡 Learning Time:
+ For a daily backup, the system can learn the schedule after 3-5 days of successful runs. For weekly backups, it may take 2-3 weeks to establish a reliable pattern.
+
+
+Schedule Types
+
+BackupChecks can learn and display the following schedule types:
+
+
+
+
+ | Schedule Type |
+ Pattern |
+ Display Example |
+
+
+
+
+ | Daily |
+ Runs every day |
+ "Daily" |
+
+
+ | Weekly |
+ Runs on specific days of the week |
+ "Weekly: Mon, Wed, Fri" |
+
+
+ | Monthly |
+ Runs on specific day(s) of the month |
+ "Monthly: 1st, 15th" |
+
+
+ | Irregular |
+ No consistent pattern detected |
+ "Irregular" or no schedule shown |
+
+
+
+
+Viewing Job Schedules
+
+You can view a job's learned schedule in several places:
+
+1. Jobs Page
+
+The Jobs page displays the learned schedule in the "Schedule" column for each job.
+
+
+ - Navigate to Jobs
+ - Locate the job in the list
+ - The "Schedule" column shows the learned pattern (e.g., "Daily", "Weekly: Mon, Wed, Fri")
+
+
+2. Job Detail Page
+
+The job detail page shows more detailed schedule information:
+
+
+ - Navigate to Jobs
+ - Click on a job name to open the detail page
+ - The "Schedule Information" section shows:
+
+ - Learned schedule type and pattern
+ - Expected run days/times
+ - Last run date
+ - Next expected run (if predictable)
+
+
+
+
+3. Daily Jobs Page
+
+Jobs with learned schedules appear on the Daily Jobs page on days they are expected to run.
+
+
+ - Navigate to Daily Jobs
+ - Jobs expected to run today are listed here
+ - The schedule determines which jobs appear on this page
+
+
+
+
💡 Daily Jobs Behavior:
+ A job will
only appear on the Daily Jobs page if:
+
+ - The system has learned a schedule for the job
+ - Today matches the learned schedule pattern
+ - The job is active (not archived)
+ - The customer is active
+
+ New jobs without learned schedules will not appear on Daily Jobs until a pattern is established.
+
+
+Schedule Accuracy
+
+Schedule learning is based on pattern recognition and may not be 100% accurate in all cases:
+
+High Accuracy Scenarios
+
+
+ - Daily backups: Run every day at approximately the same time
+ - Weekly backups: Run on the same weekdays every week (e.g., Monday, Wednesday, Friday)
+ - Monthly backups: Run on the same day(s) of the month (e.g., 1st and 15th)
+
+
+Lower Accuracy Scenarios
+
+
+ - Irregular backups: Manual backups with no consistent schedule
+ - Variable schedules: Backup days change frequently (e.g., "first weekday of the month")
+ - Recent changes: Backup schedule was recently changed and the system is still learning the new pattern
+
+
+
+ ⚠️ Schedule Changes:
+ If a backup schedule changes (e.g., from daily to weekly), the learned schedule will gradually update as new runs are received. During this transition period, the displayed schedule may be inaccurate. Allow a few weeks for the system to relearn the new pattern.
+
+
+No Schedule Displayed
+
+If a job shows no schedule or "No schedule learned", it means:
+
+
+ - The job was recently approved and doesn't have enough run history yet
+ - The job has an irregular pattern that the system cannot predict
+ - The job hasn't received enough consistent backup runs to establish a pattern
+
+
+In these cases:
+
+ - The job will not appear on the Daily Jobs page (since we don't know when it's expected)
+ - Individual runs will still appear in Run Checks as they arrive
+ - You can still view the job on the Jobs page
+
+
+Schedule Override and Customization
+
+BackupChecks does not currently support manual schedule configuration or overrides. All schedules are automatically learned from historical data.
+
+
+ 📝 Future Feature:
+ Manual schedule configuration and schedule overrides may be added in a future version. For now, rely on the automatic learning system.
+
+
+Using Schedules in Daily Jobs
+
+The Daily Jobs page uses learned schedules to show which jobs are expected to run today:
+
+
+
+
+ | Job Status |
+ Meaning |
+ Action Needed |
+
+
+
+
+ | Ran successfully (green) |
+ Job ran today and completed successfully |
+ No action needed |
+
+
+ | Ran with failure (red) |
+ Job ran today but failed |
+ Investigate failure, create ticket if needed |
+
+
+ | Expected but not run (yellow/gray) |
+ Job is expected to run today based on schedule, but hasn't run yet |
+ Wait if still early in the day, investigate if overdue |
+
+
+
+
+
+ 💡 Workflow Tip:
+ Use the Daily Jobs page as your primary monitoring dashboard. Check it daily to ensure all expected backups have run successfully. Any job showing as "expected but not run" late in the day should be investigated.
+
+
+Schedule Learning Best Practices
+
+To help BackupChecks learn accurate schedules:
+
+
+ - Maintain Consistent Backup Schedules: Configure your backup software to run on consistent days/times
+ - Allow Learning Time: Give the system at least a week or two to learn new job patterns
+ - Monitor Daily Jobs: Use the Daily Jobs page to verify schedule accuracy
+ - Keep Jobs Active: Regular backup runs help maintain schedule accuracy
+ - Archive Inactive Jobs: Archive jobs that no longer run to avoid false "missing backup" alerts
+
+
+Troubleshooting Schedule Issues
+
+Schedule Not Appearing
+
+Possible causes:
+
+ - Not enough backup runs yet (need 3-5 successful runs)
+ - Runs are too irregular to establish a pattern
+ - All runs occurred on the same day (need runs spread across multiple days)
+
+
+Solution: Wait for more backup runs to accumulate. Ensure the backup software is running on a consistent schedule.
+
+Schedule Is Inaccurate
+
+Possible causes:
+
+ - Backup schedule was recently changed
+ - Backup runs have been irregular or skipped
+ - Manual backups are interfering with schedule pattern
+
+
+Solution: Allow time for the system to relearn the pattern based on recent runs. Ensure backups run consistently going forward.
+
+Job Not Appearing on Daily Jobs
+
+Possible causes:
+
+ - No learned schedule exists for the job
+ - Today doesn't match the learned schedule pattern
+ - Job or customer is archived/inactive
+
+
+Solution: Check the Jobs page to see if a schedule is learned. If not, wait for more runs to establish a pattern.
+
+Next Steps
+
+
{% endblock %}
diff --git a/containers/backupchecks/src/templates/documentation/customers-jobs/managing-customers.html b/containers/backupchecks/src/templates/documentation/customers-jobs/managing-customers.html
index 80f3943..b32477c 100644
--- a/containers/backupchecks/src/templates/documentation/customers-jobs/managing-customers.html
+++ b/containers/backupchecks/src/templates/documentation/customers-jobs/managing-customers.html
@@ -4,16 +4,283 @@
Managing Customers
- Learn how to manage customer accounts.
+ Learn how to create, edit, and manage customer accounts in BackupChecks.
+Overview
+
+Customers are the organizations or clients whose backup jobs you monitor in BackupChecks. Each customer can have multiple backup jobs associated with them.
+
+The Customers page provides a central location to:
+
+
+ - View all customers and their backup job counts
+ - Create new customer accounts
+ - Edit customer information
+ - Map customers to Autotask companies (if Autotask integration is enabled)
+ - Activate or deactivate customer accounts
+ - Export and import customer data
+
+
+Accessing the Customers Page
+
+To access customer management:
+
+
+ - Navigate to Customers in the main navigation menu
+ - This page is available to Admin and Operator roles
+ - Viewers can see customers but cannot make changes
+
+
+Customer List
+
+The Customers page displays a table with the following columns:
+
+
+
+
+ | Column |
+ Description |
+
+
+
+
+ | Name |
+ Customer name (clickable to view/edit details) |
+
+
+ | Jobs |
+ Number of backup jobs configured for this customer. Displays in red and bold if zero jobs are configured. |
+
+
+ | Autotask Company |
+ Linked Autotask company name (if Autotask integration is enabled and mapping exists) |
+
+
+ | Active |
+ Checkbox indicating whether the customer account is active |
+
+
+ | Actions |
+ Edit, Delete, and Autotask mapping buttons |
+
+
+
+
- 📝 Coming Soon:
- This page is under construction. Full content will be added in a future update.
+ 💡 Job Count Indicator:
+ If a customer shows 0 jobs in red and bold, it means no backup jobs have been approved for this customer yet. Jobs are created by approving emails from the Inbox.
-Content
+Creating a New Customer
-Detailed content will be added here in a future update.
+To create a new customer account:
+
+
+ - Navigate to the Customers page
+ - Scroll down to the New Customer section
+ - Fill in the following fields:
+
+ - Customer Name: (Required) The name of the organization or client
+ - Contact Person: (Optional) Primary contact name
+ - Contact Email: (Optional) Contact email address
+ - Contact Phone: (Optional) Contact phone number
+ - Notes: (Optional) Additional information or notes about the customer
+
+
+ - Click Create Customer
+
+
+The customer will be created and appear in the customer list immediately.
+
+
+ 💡 Best Practice:
+ Create customer accounts before approving backup jobs from the Inbox. This allows you to immediately assign incoming backup reports to the correct customer.
+
+
+Editing Customer Information
+
+To edit an existing customer:
+
+
+ - Navigate to the Customers page
+ - Find the customer in the list
+ - Click the Edit button (pencil icon) in the Actions column
+ - Modify the customer details in the edit form
+ - Click Save to apply changes
+
+
+All customer fields (name, contact person, email, phone, notes) can be updated at any time.
+
+Activating and Deactivating Customers
+
+Customers can be marked as active or inactive using the checkbox in the Active column.
+
+Active Customers
+
+Active customers:
+
+ - Their jobs appear in Daily Jobs, Run Checks, and Jobs list pages
+ - New backup reports can be linked to their jobs
+ - Normal operational status
+
+
+Inactive Customers
+
+Inactive customers:
+
+ - Their jobs are hidden from Daily Jobs, Run Checks, and Jobs list pages
+ - Jobs still exist in the database but are not displayed in operational views
+ - Useful for customers who no longer use your backup services
+
+
+
+ ⚠️ Impact of Deactivating:
+ When you deactivate a customer, all their backup jobs immediately disappear from operational views (Daily Jobs, Run Checks, Jobs list). This is useful for decluttering the interface when a customer is no longer active. Jobs are not deleted and can be reactivated by marking the customer as active again.
+
+
+Deleting Customers
+
+To delete a customer:
+
+
+ - Navigate to the Customers page
+ - Find the customer you want to delete
+ - Click the Delete button (trash icon)
+ - Confirm the deletion in the dialog
+
+
+
+ ⚠️ Warning - Permanent Deletion:
+ Deleting a customer is permanent and will also delete all associated backup jobs, runs, tickets, and remarks. This action cannot be undone. Consider deactivating the customer instead if you might need the data later.
+
+
+Autotask Company Mapping
+
+If Autotask integration is enabled, you can map customers to Autotask companies. This allows BackupChecks to create tickets in the correct Autotask company.
+
+Mapping a Customer to Autotask
+
+
+ - Navigate to the Customers page
+ - Find the customer you want to map
+ - Click the Link Autotask Company button
+ - A modal dialog will open with a search box pre-filled with the customer name
+ - Review the search results and select the matching Autotask company
+ - Click Save Mapping
+
+
+Once mapped, the Autotask company name will appear in the "Autotask Company" column, and any tickets created for this customer's backup jobs will be created in the linked Autotask company.
+
+
+ 💡 Auto-Search Feature:
+ When you open the Autotask mapping dialog, BackupChecks automatically searches for companies matching the customer name. This speeds up the mapping process for most customers.
+
+
+Unmapping a Customer from Autotask
+
+To remove an Autotask company mapping:
+
+
+ - Click the Unlink button next to the Autotask company name
+ - Confirm the unmapping
+
+
+Existing tickets remain linked to the Autotask company, but new tickets will not be created until the customer is mapped again.
+
+Exporting Customer Data
+
+You can export all customer data to a CSV file for backup, reporting, or migration purposes.
+
+
+ - Navigate to the Customers page
+ - Click the Export Customers button at the top of the page
+ - A CSV file will be downloaded containing:
+
+ - Customer name, contact person, email, phone, notes
+ - Active status
+ - Autotask company mapping (if applicable)
+
+
+
+
+
+ 💡 Use Case:
+ Export customer data regularly as a backup, or before performing system maintenance. The exported CSV can be imported later to restore customer data.
+
+
+Importing Customer Data
+
+You can import customer data from a CSV file.
+
+
+ - Navigate to the Customers page
+ - Click the Import Customers button
+ - Select your CSV file (must match the export format)
+ - Click Upload
+ - The system will:
+
+ - Create new customers if they don't exist
+ - Update existing customers if they already exist (matched by name)
+ - Apply Autotask company mappings (if Autotask is enabled)
+
+
+ - Review the import summary showing created, updated, and skipped customers
+
+
+
+ ⚠️ Import Behavior:
+ The import process matches customers by name. If a customer with the same name already exists, their information will be updated with the CSV data. Ensure your CSV data is correct before importing.
+
+
+Customer Workflow Summary
+
+Here's the typical workflow for managing customers in BackupChecks:
+
+
+
+
+ | Step |
+ Action |
+ Result |
+
+
+
+
+ | 1 |
+ Create customer account |
+ Customer appears in list with 0 jobs |
+
+
+ | 2 |
+ Approve backup job from Inbox |
+ Job is linked to customer, job count increases |
+
+
+ | 3 |
+ (Optional) Map to Autotask company |
+ Tickets can be created in Autotask for failed backups |
+
+
+ | 4 |
+ Monitor backup jobs |
+ Jobs appear in Daily Jobs and Run Checks |
+
+
+ | 5 |
+ (If needed) Deactivate customer |
+ Jobs hidden from operational views |
+
+
+
+
+Next Steps
+
+
{% endblock %}
diff --git a/docs/changelog-claude.md b/docs/changelog-claude.md
index bb27986..a0486eb 100644
--- a/docs/changelog-claude.md
+++ b/docs/changelog-claude.md
@@ -28,8 +28,8 @@ This file documents all changes made to this project via Claude Code.
- Code blocks, tables, and image support
- Responsive design for mobile and desktop
- **Access Control**: Login required (@login_required) - accessible to all user roles
- - **Current Status**: Core infrastructure complete, getting-started section (3 pages) and users section (3 pages) completed with comprehensive content
- - **Placeholder Pages**: Remaining 27 pages created with basic structure for future content
+ - **Current Status**: Core infrastructure complete, getting-started (3 pages), users (3 pages), and customers-jobs (4 pages) sections completed with comprehensive content
+ - **Placeholder Pages**: Remaining 23 pages created with basic structure for future content
- Full content for remaining sections will be added incrementally in future updates
### Changed
@@ -45,6 +45,15 @@ This file documents all changes made to this project via Claude Code.
- Session Information section (not displayed in User Settings)
- Redundant theme/role configuration sections (these are in navbar, not settings page)
+### Added
+- Completed Customers & Jobs documentation section (4 pages):
+ - **Managing Customers**: Customer creation, editing, activation/deactivation, Autotask company mapping, CSV export/import, delete operations
+ - **Configuring Jobs**: Inbox-based job approval workflow, Mail Parser automatic configuration, Reparse All functionality, job archiving and deletion
+ - **Approved Jobs**: Jobs list overview, job details, status indicators, archive/unarchive workflow, JSON export/import for migration
+ - **Job Schedules**: Automatic schedule learning, schedule types (daily/weekly/monthly), Daily Jobs integration, schedule accuracy and troubleshooting
+- Added user-settings.png screenshot showing password change form
+- Enhanced documentation CSS: centered all images horizontally (display: block, margin: 20px auto)
+
## [2026-02-07]
### Changed