Carbone Reports

Reports from Word and Excel templates, filled with data from your databases

Templates are edited right in the browser, data comes from PostgreSQL, and the finished document comes out as PDF, DOCX or XLSX, with an electronic signature, including GOST.

Install Source code on GitHub

Invoice No. СЧ-001

dated 30 Sep 2026

Customer: ООО «Ромашка», TIN 7701234567

Item Qty Price Amount
Бумага А4 10 350.00 3,500.00
Картридж 2 4,500.00 9,000.00
Ручки шариковые 50 25.50 1,275.00
Total 13,775.00
Signed with an electronic signature GOST · CryptoPro
The demo “Invoice” template: Carbone tags are filled with data from the demo database.

An author prepares the template

A template is an ordinary Word or Excel document with tags like {d.company.name}. It opens in the built-in OnlyOffice editor — no Word or Excel needed.

Data comes from SQL queries to connected databases. Queries run read-only, and report parameters are passed into them by name.

Template document in the OnlyOffice editor
Templates in the browser. The document opens in the built-in OnlyOffice.
Template editor: SQL queries
Queries and parameters. SQL to your databases, read-only.
select c.name, c.inn, c.address
from company c
join invoices i on i.company_id = c.id
where i.id = :invoiceId

A user generates the report

Reports are grouped into categories; everyone sees only what they have access to.

The run form is built from the template's parameters: dates, numbers and lists, including dependent lists from SQL queries. Generated reports stay in the history: open them again, download them in another format or sign them later.

Report parameter form
Running with parameters. Default values and dependent lists.
Report catalog by category
Report catalog by category.
History of generated reports
History of generated reports.

Signing and control

A PDF is signed with the user's certificate (.p12) or with a GOST key via CryptoPro — the GOST key never leaves the user's computer. PDFs can get a watermark, page numbering and standing attachments; PDF/A and password protection are available too.

Access is granted by groups and categories; roles separate users, template authors and access managers. Sign-in uses local accounts, LDAP/Active Directory or Keycloak (OpenID Connect).

PDF and electronic signature settings
PDF and signature settings of a template.
Template access settings
Report access by groups and categories.
User list
Users: roles and blocking.
Data sources
Data sources with a connection test; passwords are stored encrypted.
Sign-in page
Sign-in. The interface language can be chosen before signing in.

Installation

The stack: web interface, API, OnlyOffice Document Server, PostgreSQL, Redis and S3 storage. On Kubernetes it is installed from the Helm chart:

helm install cr oci://ghcr.io/samrozhkov/charts/carbone-reports --version 2.18.0 -n reports -f my-values.yaml

Install on Kubernetes (Helm) · Running in Docker