Skip to content

Invoices and billing documents

Finance teams have exact expectations for an invoice: where the totals sit, how tax is broken out, which logo appears. CxReports is built for documents where the layout is the requirement, not an afterthought.

What it produces

A PDF that matches a specified layout every time — the same margins, the same table geometry, the same rounding — driven by your billing data.

How you build it

  1. Connect your billing data with a data source — SQL, an API, or a file
  2. Lay the document out in the Report Editor
  3. Put line items in a Data Table, with totals in its footer
  4. Move fixed parts — letterhead, payment terms, footer — into a template so every invoice shares them
  5. Drive per-customer variation with parameters
  6. Deliver on a schedule with Report Generation Jobs

The invoice tutorial walks the whole thing end to end.

What makes it tricky

  • Totals must be computed, not transcribed. Use the Data Table's aggregate footer rather than a separate query, so the figures cannot drift from the lines above them.
  • Tax breakdowns are usually grouped. Grouping levels in the Data Table produce per-rate subtotals without a second data source.
  • Currency formatting is per-report, not per-cell. Set the default in Formatting and override only where a column genuinely differs — see Text Formats.
  • Branding belongs in a theme, not in each component. One theme swap then re-brands every invoice.

Custom Table · Document Merge · Export Formats