Open source · Reporting as Code

Reporting as Code. Strictly IBCS®.

Stop building reports by hand. Define them in YAML, query with SQL, and generate pixel-perfect, IBCS-compliant PDFs — version-controlled and reproducible.

bino-bi/bino-cli5$ brew install bino-bi/tap/bino-cli

Products

One workflow, three tools

Open source at the core — build, try, and share IBCS reports as code.

bino cliOpen source

IBCS reports from YAML + SQL

$ brew install bino-bi/tap/bino-cli

Report-as-code runtime in the browser

Share report definitions with the community

$ bino registry add @acme/base-layout

From YAML to PDF

Define. Build. Ship.

A data source, a query, a table — and a pixel-perfect, IBCS-compliant result. Both halves below are real: the file is a live sandbox, the render is what it produced. The same pipeline runs on your laptop and in CI.

report.yamlyaml
apiVersion: bino.bi/v1alpha1
kind: DataSource
metadata:
  name: new_cities
spec:
  type: csv
  path: https://sandbox.bino.bi/api/data/new_cities.csv
  delimiter: ";"
---
apiVersion: bino.bi/v1alpha1
kind: DataSet
metadata:
  name: new_cities_ds
spec:
  query: |-
    SELECT *
    FROM new_cities
    WHERE year(date) = 2025
    OR year(date) = 2024
  dependencies:
    - new_cities
---
apiVersion: bino.bi/v1alpha1
kind: Table
metadata:
  name: cities_table
spec:
  dataset: new_cities_ds
  type: sum
  sumTitle: Revenue by city
  scenarios:
   - ac1
   - pp1
  variances: ["dpp1_ac1_pos"]
  barColumns:
   - "dpp1_ac1_pos"
  interval: year
  unitScaling: 20
A rendered IBCS table: revenue by city for 2024 and 2025, with prior-year and actual columns and a variance bar per row.
A real sandbox, in full — and what it rendered.Open this sandbox
Quick install:$ brew install bino-bi/tap/bino-cli

Ready for reporting as code?

Talk to us about coaching, enterprise support, or getting started with bino.