Veridor
14/14 Duke-calculated bills matched to the cent

Duke Energy Ohio commercial bills, itemized to the cent.

One API call turns kWh and kW into a Rate DS bill with every rider broken out, for every month Duke has published. The engine is verified against bills computed by Duke's own calculator, so your EV, solar or energy software can show a number it can defend.

Rate DS · October 202610,000 kWh · 30 kW
Rider RE (Retail Energy)$756.94
Rider RC (Retail Capacity)$236.68
Distribution Demand Charge$209.03
Rider BTR (Base Transmission)$99.33
Rider SCR (Supplier Cost Reconciliation, credit)-$98.08
13 more riders$139.81
Total$1,343.71
Same engine reproduces 14/14 Duke-calculated bills
14/14Duke calculator bills matched
26line items, every rider
Jan – Oct 2026billing months covered
0months extrapolated

Try it

No key needed. The sandbox allows 25 bills a day.

The API

Send a billing period and usage. Get back every line item, subtotals by bucket, and what isn't modeled. Bills ending in a month without published rates return 422 no_rates_for_period.

Request

curl https://veridor.ai/v1/bills/duke-oh-ds \
  -H "Authorization: Bearer $VERIDOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"billing_period": {"start": "2026-10-01", "end": "2026-10-31"}, "inputs": {"kwh": 10000, "kw": 30, "rate_code": "DS01", "phase": 1}}'

Response (trimmed)

{
  "object": "bill",
  "tariff": {
    "version_id": "duke_oh_ds@2026-01-01",
    "utility": "Duke Energy Ohio",
    "rate_schedule": "DS"
  },
  "billing_period": {
    "start": "2026-10-01",
    "end": "2026-10-31"
  },
  "total": 1343.71,
  "subtotals_by_bucket": {
    "delivery": 306.94,
    "other": 42.82,
    "transmission": 96.4,
    "generation": 897.55
  },
  "line_items": [
    {
      "id": "customer_charge",
      "name": "Distribution Customer Charge",
      "category": "fixed_charge",
      "bucket": "delivery",
      "amount": 23.0
    },
    {
      "id": "distribution_demand_charge",
      "name": "Distribution Demand Charge",
      "category": "demand_charge",
      "bucket": "delivery",
      "amount": 209.03
    },
    "… 23 more"
  ]
}
POST /v1/bills/duke-oh-dsItemized bill. Omit Authorization to use the sandbox.
GET /v1/tariffs/duke-oh-dsInputs, allowed values, coverage, line items, sources.
GET /v1/evidence/duke-oh-dsEvery verification check, re-run live on request.

How every number is verified

Rate data is only useful if it's right. Nothing ships until it reproduces bills the utility itself computed.

Encode the filed tariff

Rates and rider logic come from Duke's PUCO-filed tariff sheets and its published bill calculator, with every source archived.

Replay Duke's own bills

The engine recomputes bills that Duke's calculator produced, line by line. All 14 must match to the cent.

Show the evidence

The checks re-run on every request to /v1/evidence. Months Duke hasn't published are refused, never guessed.

What isn't modeled

Read these before you rely on a number. Most match the limits of Duke's own calculator.

Pricing

One plan while Rate DS is the only tariff. Self-serve: no sales call, no contract.

$199 / month
  • Unlimited bill calculations for one company
  • Every published 2026 billing month, updated as Duke files
  • Live verification evidence
  • Email support
  • Cancel anytime

Renews automatically every month at $199 until you cancel. Cancel anytime by emailing support@veridor.ai; access continues through the period you've paid for.

Questions

Who is this for?

Software that has to show a Duke Ohio commercial customer a bill or savings number: EV-charging, solar and storage, and energy-management tools.

Will you add other utilities?

Yes, using the same verification. Email support@veridor.ai with the utility and rate you need; requests decide what's next.

What happens when Duke changes rates?

We add each newly published month after it passes verification. Until then, bills for that month return 422 instead of a guess.

How do I cancel?

Email support@veridor.ai from your billing address. Access continues to the end of the period you paid for.

Terms & privacy

What you get

Calculated bills based on Duke Energy Ohio's published tariffs and bill calculator, with the limits listed above. They are estimates, not Duke invoices, and exclude taxes, franchise fees and proration.

No warranty

The service is provided as is. Veridor is not liable for decisions made using its output; liability is limited to the fees you paid in the prior three months.

Billing

$199/month, billed in advance through Stripe and renewed automatically each month until you cancel. Cancel anytime; access runs to the end of the paid period. No partial-month refunds.

Data we keep

A hash of your API key, a salted hash of the calling IP (for sandbox limits), a hash of each request's inputs (to count usage), and your Stripe customer and email. We don't store your usage values. Payments are handled by Stripe. Data questions or deletion requests: privacy@veridor.ai.

Governing law

These terms are governed by the laws of the State of California.