Creating a Master-Detail Customer Orders Report with Informa Designer

Published: June 10, 2025
Reading Time: 10 minutes
Author: The Informa Designer Team

Creating professional reports doesn’t have to involve complex coding or expensive software. In this tutorial, we’ll walk through building a master-detail customer orders report using Informa Designer’s visual report builder. This type of report is perfect for businesses that need to group orders by customer, showing customer details followed by their order history.

What We’ll Build

By the end of this tutorial, you’ll have created a professional customer orders report that: - Groups orders by customer - Shows customer information in a styled header - Lists all orders for each customer - Includes order totals and counts - Automatically handles page breaks - Looks polished and print-ready

Customer Orders report

Prerequisites

  • An Informa Designer account (free tier works perfectly)
  • A MongoDB database with customer and order data
  • Basic understanding of report concepts (headers, details, footers)

Step 1: Create a New Report Template

First, log into your Informa Designer dashboard and create a new report template.

Customer Orders new report

  1. Click the “New Report” button
  2. Give your report a meaningful name: “Customer Orders Report”
  3. Add a description: “Master-detail report with customer grouping”
  4. Click “Save Changes”

Report details new

Step 2: Set Up Your Data Source

Before designing the layout, we need to connect to our data source.

Report data source

  1. In the left toolbar, find the Data Sources section
  2. Click “Add Data Source”
  3. Configure your MongoDB connection:
    • Name: “CustomerOrders”
    • Collection: “orders”
    • Query: {} (to fetch all orders)

CustomerOrders data source

  1. Click “Save” to add the data source
  2. Click the refresh button (🔄) to discover available fields

DataSource fields

Step 3: Design the Report Header

Let’s start with a professional header for our report.

Report Tools

  1. In the Tools section, click on Text (📝)
  2. Click and drag on the canvas to create a text element
  3. Set the properties:
    • Content: “Customer Orders Report”
    • Width: 300
    • Height: 40
    • Font Size: 24px
    • Font Weight: Bold
    • Text Align: Center

Report Title

Step 4: Create the Group Header Section

This is where the magic happens. We’ll create a section that repeats for each customer.

Report Sections

  1. In the Sections panel, click “Group Header”
  2. A modal will appear asking for grouping configuration

Group Section Modal

  1. Select “customer_id” as the grouping field
  2. Click “Create”

Group Section complete

Note - you may need to remove the Detail and Footer sections so that things look correctly.

  1. Adjust the “Height” to 165
  2. Adjust the “Visible” to Yes

Report withGroup Header

Now let’s design the customer information section:

Add Background Rectangle

  1. Select the Rectangle tool (⬜)
  2. Draw a rectangle that spans the width of the group header
  3. Set properties:
    • Background Color: #ecf0f1
    • Border Color: #bdc3c7
    • Border Width: 1px
    • Width: 714
    • Height: 80

Report withGroup Header

Add Customer Name

  1. From the Data Sources panel, drag “customer_name” field onto the group header
  2. Position it at the top left of the rectangle
  3. Set properties:
    • X: 20
    • Y: 20
    • Width: 300
    • Height: 30
    • Font Size: 18px
    • Font Weight: Bold
    • Change the binding to: {{ first_record.customer_name }}

Report header with customer name

Add Customer group value

  1. Click the Text element and draw a rectangle under the “customer_name” field
  2. Set properties:
    • X: 20
    • Y: 50
    • Width: 200
    • Height: 25
    • Font Size: 12px
    • Color: #7f8c8d
    • Binding: Customer: {{ group.value }}

Report header with customer email

Add Customer Email

  1. Drag “customer_email” field below the customer name
  2. Set properties:
    • X: 250
    • Y: 50
    • Width: 450
    • Height: 25
    • Font Size: 12px
    • Color: #7f8c8d
    • Binding: {{ first_record.customer_email }}

Report header with customer email

Create Detail Section

Click on the Detail button under the Sections to add a Detail to the canvas

Report detail

Note: We are going to create the Detail fields and then come back and add the column headers afterwards.

Step 5: Design the Detail Section

The detail section shows individual order rows.

[SCREENSHOT: Detail section with data fields being arranged]

  1. Make sure you’re working in the Detail section
  2. Drag these fields from the data source:
    • order_id
      • X: 20
      • Y: 0
      • Width: 100
      • Height: 25
    • order_date
      • X: 140
      • Y: 0
      • Width: 120
      • Height: 25
    • product_name
      • X: 280
      • Y: 0
      • Width: 140
      • Height: 25
    • quantity
      • X: 440
      • Y: 0
      • Width: 120
      • Height: 25
      • Align: Right
    • total
      • X: 580
      • Y: 0
      • Width: 120
      • Height: 25
      • Align: Right
  3. For the total field, update the binding to: ${{ record.total|floatformat:2 }}
  4. Set all detail fields to:
    • Font Size: 11px
    • Color: #2c3e50

Report detail section

Step 6: Update Group Header

Create Column Headers

Under the Sections toolbar, click on the Generate Headers button.

  1. While holding down the ctrl/cmd key, left click each of the columns added and set the following:
    • Align Bottom?: Yes
    • Font Weight: Bold
    • Font Size: 12px

Report group-header-columns

The group footer summarizes information for each customer.

Report section group footer

  1. Click “Group Footer” in the Sections panel
  2. Select the same grouping field (customer_id)
  3. Add a line element at the top for visual separation
    • Width: 650
    • Height: 2
    • Centered (by selecting the element and pressing the key “c”)
  4. Add a text element with:
    • Text: Customer Total: {{ group.count }} orders
    • Font Weight: Bold
    • Align: Right

Report footer customer total

Report footer

  1. Click “Footer” in the Sections panel
  2. Add a text element with:
    • Width: 240
    • Height: 25
    • Text: Page {{ page_num }} of {{ total_pages }}
    • Font Size: 12px
    • Align: Center
    • Centered (by selecting the element and pressing the key “c”)

Report footer page numbers

Step 9: Generating your Report

Now for the exciting part - seeing your report in action!

Report generate button

  1. Click the “Generate” button (📄)
  2. The generate window will show your report with the date from the data source

Report customer orders final output

Step 10: Previewing your Report

Another feature is the ability to look at the layout of the report, prior to it being rendered with live data.

Report preview button

  1. Click the “Preview” button (👁️)
  2. The preview window will show your report with all the sections and placeholders where the data will be displayed.

Report preview

Step 11: Fine-Tuning

Based on the preview, you might want to adjust: - Spacing between elements - Column widths for better data fit - Colors and fonts for better readability - Section heights to optimize page usage

[SCREENSHOT: Using the snap-to-grid feature to align elements perfectly]

Pro Tips: - Use the grid toggle (⊞) and snap-to-grid (🧲) for perfect alignment - Hold Shift while dragging to maintain aspect ratios - Use the properties panel to fine-tune exact positions

Step 12: Save

Report save button

  1. Click “Save” (💾) to save your template

Note: You will want to save often so as not to lose anything!

Advanced Features to Explore

Once you’re comfortable with the basics, try these advanced features:

Conditional Formatting

Highlight orders over a certain amount:

{{ record.total > 100 ? 'high-value' : '' }}

Calculated Fields

Add running totals or percentages in your group footers

Multiple Grouping Levels

Group by customer, then by order date for more complex reports

Custom Styling

Use the Custom CSS section to add your brand colors and fonts

Conclusion

Congratulations! You’ve created a professional master-detail report without writing a single line of code. The visual designer makes it easy to create complex layouts while the template engine handles all the data processing and grouping logic.

This same approach can be used for: - Invoice generation - Inventory reports
- Sales summaries - Employee timesheets - And much more!

Next Steps

  • Explore Templates: Check out our template library for more examples
  • Learn Data Sources: Connect to different databases and APIs
  • Master Expressions: Learn about advanced template expressions
  • Share Your Reports: Set up automated report generation and distribution

Happy reporting! If you have questions or want to share your creations, join our community forum or reach out to support.


Ready to create your own reports? Start your free trial and build beautiful reports in minutes, not hours.