Rivoli PDF / Generate invoices PDF C#

Generate invoice PDFs in C#, from data to document

An invoice is a header, an address block, a line-item table, and totals that had better add up. Rivoli PDF renders all of it from your domain objects, with per-cell styling and computed totals, in a library that deploys anywhere your code does.

Install and generate

No system libraries, no headless browser, no per-platform setup. Rivoli.Pdf 0.1.0 targets .NET 8 and .NET 10.

Terminal
dotnet add package Rivoli.Pdf
Invoice.cs
using Rivoli.Pdf;
using Rivoli.Pdf.Builders;

var doc = Document.Create("Invoice INV-2026-0420", "Northwind Studios");
doc.AddSection()
    .H1("Invoice INV-2026-0420")
    .AddTable(t => t
        .Header("Description", "Qty", "Amount")
        .Row("Senior engineering consulting", "42", "$7,770.00")
        .Row("Cloud infrastructure setup", "1", "$2,400.00"));
doc.SavePdf("invoice.pdf");

The full invoice showcase in the repository adds brand colors, right-aligned money columns, computed subtotal, tax, and total rows, and payment terms. Amounts are computed in code, so the document is a real template, not hard-coded strings.

The output

Real output from the runnable samples in the Rivoli PDF repository.

Invoice PDF generated by Rivoli PDF: company header, line-item table with computed totals, payment terms
Generated by the invoice showcase sample in the Rivoli PDF repository. One managed library, no native dependencies.

How we compare

The libraries teams usually shortlist for invoice generation.

Capability Rivoli PDF QuestPDF IronPDF
Free for small companies
Entry price (per developer) $299 ~$999/yr $999
Royalty-free redistribution included Add-on
Fully managed (no native deps)
Deterministic output
PDF/A-first
JSON document model + change tracking
Round-trip fidelity harness
Cross-language roadmap 5 planned Multi

Competitor prices are researched approximations (June 2026); several vendors are now quote-gated, so some figures are historical or third-party. Rivoli PDF is pre-1.0: document creation is feature-complete, while full parsing of arbitrary PDFs and rasterized rendering are partial and on the near-term roadmap.

Pricing

Free for individuals and for organisations under US$1M in annual gross revenue. One perpetual per-developer license for everyone else.

Free
$0 forever

Full library, no watermark, no page limits. For individuals and organisations under US$1M in annual gross revenue.

Founder license
$299 per developer · perpetual

Buy once, use forever. Royalty-free redistribution included, and the early-access rate locks in for life.

Full details on the product page and in the license terms.

Moving your invoice pipeline

Invoice generators are usually HTML templates plus a converter, or coordinate-drawn layouts. Both port cleanly.

  1. 01 Model the invoice as data (line items, tax rate) and map it to a Table with Header and Row helpers; compute totals in code so they are always consistent.
  2. 02 Right-align money columns and highlight total rows with per-cell Style overrides; styles cascade so the defaults stay in one place.
  3. 03 Serialize the document tree to JSON if you need to store or audit exactly what was sent to a customer.
  4. 04 Render twice in CI and compare hashes: deterministic output means an invoice regression test is two lines.
  5. 05 Before migrating reading-heavy workflows (filling existing forms, rendering pages to images), check current support in the docs gallery: Rivoli PDF is pre-1.0 and strongest at authoring.

The full migration guide, with concept mappings and before/after code, lives in the documentation.

Start free. Pay only when you're big.

Install the package today. When your company crosses the US$1M line, the Founder rate locks in for life.