Batch reporting
QV2QS generates both per-project and aggregate reports after a batch run, providing detailed conversion results at every level.
Per-project reports
Each project in the batch receives an individual Excel conversion report and an executive summary JSON file, identical to single-project mode. These files are written to the reports/ subfolder within each project output directory.
Aggregate reports
QV2QS writes the following aggregate files to the output root directory:
batch_summary.json— Machine-readable summary with project counts, success/failure status, timing, and aggregated KPIs (total sheets, objects, automation percentage).batch_summary.html— Self-contained HTML report for quick review.batch_conversion_report_<timestamp>.xlsx— Consolidated Excel workbook with a summary sheet, per-project breakdown, and combined object detail across all projects.
batch_summary.json structure
The batch_summary.json file contains the following top-level fields for CI/CD integration and programmatic parsing.
| Field | Description |
|---|---|
schema
|
Schema version (currently 1). |
kind
|
Always qv2qs_batch_summary. |
version
|
QV2QS version string. |
timestamp_utc
|
ISO 8601 timestamp of the batch run. |
batch.total_projects
|
Total number of projects discovered. |
batch.succeeded
|
Number of projects that completed successfully. |
batch.failed
|
Number of projects that failed. |
batch.wall_clock_sec
|
Total elapsed time in seconds. |
batch.cumulative_sec
|
Sum of all individual project durations. |
aggregated_kpis
|
Totals across all successful projects: sheets, objects_in_scope, auto, follow_up, errors, images_unique, auto_pct, follow_up_pct. |
projects
|
Array of per-project entries. Each entry includes name, ok (boolean), duration_sec, and output_dir. Successful projects include a summary object with sheet/object counts. Failed projects include an error string. |
exec_summaries
|
Array of full executive summary objects for all successful projects. |
The executive_summary.json file for each individual project uses the same schema (kind: qv2qs_exec_summary) and contains project metadata, kpis (sheets, objects, automation scores, overflow counts), breakdowns (per-type outcomes, overflow actions), and object_details (placeholders, errors, adjustments grouped by type). In single-project mode, the file also contains a data_model section with field and table counts, byte sizes, and application properties. Application properties include last reload time, window title, section access status, and data lineage connection types. The data_model section is not included in batch-mode per-project files.
The kpis object includes the following timing fields:
| Field | Description |
|---|---|
kpis.duration_sec
|
Local conversion duration in seconds (PRJ parsing and JSON generation only). |
kpis.app_build_sec
|
Cloud app build duration in seconds (qlik app build). Present only when cloud deployment was performed. |
kpis.app_build_included_reload
|
Boolean. true if the app build time includes a reload, false otherwise. Present only when cloud deployment was performed. |
kpis.total_duration_sec
|
End-to-end wall-clock time in seconds (conversion + cloud deployment). Present only when cloud deployment was performed. For local-only runs, use duration_sec. |
Console output
After all projects complete, the console displays a summary table with the total number of projects, how many succeeded, how many failed, wall-clock time, and cumulative processing time. Failed projects are listed individually with error messages.
Batch CLI reference
The following arguments are specific to batch mode. For general conversion arguments that also apply in batch mode, see Argument reference.
| Argument | Description | Default |
|---|---|---|
--batchDir PATH
|
Root directory (or semicolon-separated paths) to scan for QVW/QVF projects. | Required |
--batchWorkers N
|
Maximum number of projects to convert concurrently (0 = auto: CPU cores minus 1). |
0
|
--batchFlatOutput
|
Flatten the output directory structure instead of mirroring the source hierarchy. | Off |
--generatePrj
|
Automatically generate PRJ folders for source files that do not have one. | Off |
--qsAppName TEMPLATE
|
App naming template for Qlik Cloud deployment. Supports {name}, {rel}, and {index} placeholders. |
Project name |