Ledger
Set up
Menu

Open-source cloud cost accounting

Ledger

Know what your software costs. Keep the evidence.

Turn cloud billing exports into exact, reconciled service costs today, then build explainable customer and product economics on top.

FOCUS 1.2 financial core AWS, Azure, GCP native imports Exact decimal costs billing precision preserved Self-hosted with Kamal

The question

What did this customer, product, or feature actually cost us?

Cloud invoices can tell you what a provider charged. They rarely give engineering, finance, and product one trustworthy path from that charge to a business decision. Ledger builds that path without hiding the calculation.

Why Ledger

A cost dashboard gives you a total. A ledger gives you a result you can defend.

Every number is materialized from declared inputs, reconciled across boundaries, and kept close to its raw billing evidence.

01

No magic numbers

Cost basis, authority mode, formula, versions, adjustments, and reconciliation outcome travel with the result.

02

Provider detail without provider lock-in

A FOCUS-aligned core keeps financial semantics stable while namespaced extensions retain useful AWS, Azure, and GCP detail.

03

Corrections without rewritten history

Superseding bills create new immutable datasets and publications. Earlier evidence and calculations remain inspectable.

04

Attribution comes after calculation

Provider billing logic produces Cost Pools. Business rules decide where those already-calculated costs should flow.

One accountable pipeline

From a billing export to an explainable Cost Pool.

Ledger keeps ingestion, provider calculation, and business attribution as distinct responsibilities, joined by versioned contracts.

  1. 01
    Evidence

    Accept immutable billing files with checksums, source metadata, and organization ownership.

  2. 02
    Normalize

    Convert provider rows into a readable FOCUS-aligned financial core without losing origin.

  3. 03
    Calculate

    Materialize exact service and resource costs from a declared authority and cost basis.

  4. 04
    Reconcile

    Prove source, normalized, calculated, and published totals agree before release.

  5. 05
    Explain

    Expose formulas, versions, evidence links, corrections, and assumptions with every result.

See the result

Service costs that stay connected to the bill.

Scan current costs, separate gross usage from credits, drill into resources, and follow every published amount back through calculation and normalization.

Ledger
Jul 2026 EffectiveCost
Service cost explorer USD 25.00
Current publication
Gross costUSD 26.00
Credits-USD 1.00
Resources4
DifferenceUSD 0.00
ServiceResourceEffective costEvidence
Amazon EC2i-demo-1USD 8.002 rows
Amazon RDSdb-demo-1USD 7.501 row
Amazon S3bucket-demo-logsUSD 6.001 row
AWS SupportUnassignedUSD 3.501 row
Source total Normalized total Published pools
Exact service totalsGrouped by provider, account, service, region, resource, SKU, currency, and billing period.
Visible adjustmentsCredits, refunds, and unassigned charges remain explicit instead of disappearing into a net total.
Evidence on demandOpen the formula, authority, reconciliation, versions, and contributing normalized rows.

Explainability is a data model

A result should answer where it came from before anyone has to ask.

Ledger does not generate prose around an opaque total. It persists the lineage required to reproduce the number: immutable evidence, normalized fields, calculation contracts, reconciliation outcomes, and publication identity.

Review the auditability model
Cost explanationledger.cost-explanation/v1
Published amount
USD 8.000000000000000000
Gross usage
USD 9.000000000000000000
Adjustments
-USD 1.000000000000000000
Cost basis
EffectiveCost
Authority
provider_adopted
Formula
gross + signed adjustments
Input records
2 normalized charges
Reconciliation
Matched
Source object SHA-256 · adapter 1.2.0 · calculator 1.2.0

Bring the bill you have

FOCUS first, provider-native where detail matters.

Every supported adapter emits the same Normalized Charge contract and publishes a capability report, so unsupported semantics cannot hide behind a successful upload.

F

FOCUS 1.2 CSV

The preferred provider-neutral path with preserved standard columns, origins, validation findings, and extensions.

AWS

AWS CUR 2.0

Service and resource detail with Savings Plan usage, fees, and unused commitment kept explainable.

AZ

Azure Cost Management

Actual-cost exports normalized with subscription, meter, resource, region, and adjustment context.

GCP

Google Cloud detailed billing

Projects, services, SKUs, resources, locations, credits, and corrections in the shared financial model.

Useful now, designed for what follows

Service costs are the foundation, not the finish line.

Ledger currently establishes trustworthy provider costs and publishes immutable Cost Pools. The next domain adds business entities, measurements, and allocation rules without teaching provider calculators about customers or products.

Explore the attribution roadmap
Available

Calculated cloud cost

Imports, normalized charges, exact money, credits, corrections, service and resource costs, Savings Plans, reconciliation, and evidence.

Designed next

Business attribution

Products, services, teams, customers, measurements, allocation rules, unallocated cost, and full paths back to Cost Pools.

Product outcome

Unit economics

Cost per customer, transaction, API request, and AI feature, with gross technology margin and every assumption visible.

ledger / production
$ bin/kamal deploy
INFO building ledger:3f28a9
INFO running release health checks
  PASS  https://ledger.example.com/up

$ bin/kamal app details
Role    Host            Status
web     10.0.0.12      running

Operate it without a platform team

Rails, PostgreSQL, and Kamal. Intentionally.

Agent Mode runs locally with SQLite and minimal infrastructure. Production uses PostgreSQL, horizontally scalable Rails processes, background jobs, and an optional open observability stack. No Kubernetes assumptions are baked into the product.

Docker imageAutomatic migrationsOpenTelemetryGrafana stack
Read the security and deployment posture

Straight answers

Before you put a cloud bill into Ledger.

Is Ledger another cloud dashboard?

No. It is an accounting substrate for producing and explaining service costs, then attributing those costs through a separate business model.

Does AI calculate financial results?

No. Financial calculations are deterministic. AI may suggest mappings, summarize reports, or recommend investigations, but it does not produce the numbers.

Is there a hosted service?

Not currently. Ledger is open source and self-hosted. The repository includes local development and Kamal production deployment paths.

Can I inspect a corrected bill?

Yes. Corrections create a new immutable import and publication while previous evidence, normalized data, calculations, and explanations remain available.

What is not built yet?

The business attribution and unit-economics layer is designed but not yet implemented. Parquet import and automated provider connectors also remain roadmap work.

Start with evidence

Make the next cloud cost conversation reproducible.

Run Ledger locally, upload the sample billing dataset, and inspect a reconciled service-cost report in minutes.