Add Report — Developer Index

Entry point for the Enezaframework reporting engine developer guides. Start here, then follow the links to the topic you need.

Table of Contents

  1. What the Reporting Engine Is
  2. The Two Features
  3. Documentation Map
  4. Suggested Reading Paths
  5. A Note on Testing

What the Reporting Engine Is

enezareporting is the reporting layer of the Enezaframework. It lets a developer declare a report declaratively — as a class that names a Django model, the columns to show, and the filters the user may apply — and let the framework build the filter form, run the query, assemble the data, and render it through a shared template.

The engine is built for Django developers and coding agents who need to add ERP-style reports (sales summaries, ledgers, pivots, time series, invoices, drill-downs) without hand-writing a view, form, and template for each one.

Expected outcome: a report class plus a URL entry produces a working, printable, exportable report page driven by a parameter form.


The Two Features

The Add Report documentation covers two related but distinct features.

Feature What it does Entry doc
Reporting Engine Unified single-parent report bases (TabularReportView, CrosstabReportView, TimeSeriesReportView, DocumentReportView, DrillDownReportView, and their subclasses). Filter inputs come from a parameter_spec form. Reporting Engine Architecture
Document Report Page View A pk-driven, form-free document report (DocumentReportView / BaseDocumentReport) that renders directly from a detail view's Print dropdown. URL is auto-registered with <str:pk>. Document Report Page View
flowchart LR
    RE[Reporting Engine]
    RE --> TYPES[Unified Report Bases]
    RE --> PARAMS[Parameters]
    RE --> GENS[Generators]
    RE --> VIEW[*ReportView]

    DPV[Document Report Page View]
    DPV --> BASE[DocumentReportView]
    DPV --> PRINT[Print dropdown]
    DPV --> URLS[pk URL auto-registration]
    DPV --> DESIGN[Designer integration]

    TYPES -. DocumentReportView .-> BASE

Documentation Map

Pos Guide What it covers
1 Add Report — Developer Index This page — feature map and navigation.
2 Reporting Engine Architecture The four layers and the end-to-end request flow.
3 Reporting Quick Start A minimal tabular report and its URL.
4 Report Types Overview The unified base hierarchy and how to choose a type.
5 Tabular, Summary & Detailed Reports TabularReportView, SummaryReportView, DetailedReportView.
6 Crosstab Reports 2D pivot reports.
7 Time Series Reports Daily/weekly/monthly bucket reports.
8 Document Reports (Header & Lines) The DocumentReportView base used with a parameter form.
9 Drill-Down Reports Hierarchical multi-level reports.
10 Report Parameters Built-in and custom filter parameters.
11 Report Generators The generator classes and direct use.
12 Report Views Unified report bases, legacy views, and view attributes.
13 Report Templates Layout, blocks, partials, and template tags.
14 Reporting Settings ENEZA_REPORTING_SETTINGS and its defaults.
15 Migrating to Unified Report Views Moving from legacy views to the single-parent API.
16 Reporting API Reference Condensed API reference for the package.
17 Complete Report Examples Full invoice, drill-down, and computation examples.
18 Document Report Page View The pk-driven document report feature.
19 BaseDocumentReport DocumentReportView and the compatibility document base.
20 Print Dropdown on Detail Views Adding print actions to detail pages.
21 Document Report URLs, Designer & Rendering URL registration, designer layouts, rendering paths.

The original, unsplit references remain available at eneza-reporting-developer-guide.md and document-report-page-view-developer-guide.md.


Suggested Reading Paths

New to report types 1. Reporting Engine Architecture 2. Reporting Quick Start 3. Report Types Overview 4. Tabular, Summary & Detailed Reports

Adding filters to a report 1. Report Parameters 2. Report Types Overview 3. Report Generators

Building an invoice / purchase order print view 1. Document Report Page View 2. BaseDocumentReport 3. Print Dropdown on Detail Views 4. Document Report URLs, Designer & Rendering

Porting existing reports 1. Migrating to Unified Report Views 2. Report Views 3. Reporting API Reference


A Note on Testing

Per project rules, the developer or agent does not run or claim test results. The user is solely responsible for all testing and validation of the output described in these guides.