How can I replicate a Different software solution in apsona that aggregates and displays grouped totals (such as totals by Class) using Apsona reports and Document Merge?

**
Yes, Apsona can fully replace a solution that merges data, lists detailed records, and summarizes totals by a grouping field. The key is to break the template data into multiple reports instead of trying to drive everything from one source.

What the user needed to produce

A single merge document containing:

  • Top-level summary fields

  • A detailed list of donation or transaction items

  • A table summarizing counts and totals

  • A second table grouping items by a category (e.g., Class)

How we achieved this using Apsona

To support both detailed listings and grouped summaries, we advised building multiple data sources instead of a single multi-step report:

  1. Create a Multi-Step Report for parent-level data
  • Used only to pull high-level header information (e.g., batch name, date, owner).
  1. Build a report to return individual donation/line items
  • Used to populate the detailed sublist showing every record.
  1. Create a second report grouping those same items
  • Grouped and aggregated totals by the required field (such as Class).

  • Mimicked the Conga query behavior.

  1. Map each report as its own merge sublist
  • One for detailed rows

  • One for grouped totals

  • One for top-level fields

Apsona’s merge engine can include multiple reports in one template, allowing different sublists to use different data sets.
Trying to force all detail and grouping logic into a single MSR generally won’t work, because:

  • Aggregated group output and raw detail rows require different shapes of data

  • MSRs can feed a single sublist, so multiple listings require multiple sources

Outcome

After building separate reports and reconnecting them in the merge template:

  • Detailed items displayed correctly

  • Grouped totals calculated properly

  • The customer was able to fully replace their different software process

All output was generated using Apsona alone, no queries, or extra logic required
**