---
title: "Compares total cost of ownership between a fuel generator and a solar+battery system over a configurable time horizon. Calculates yearly and cumulative costs for generator-only, solar-only (amortized), and hybrid scenarios. Accounts for fuel cost, generator consumption rate, maintenance intervals, solar system amortization, and battery coverage. Outputs yearly costs, total savings, breakeven year, solar coverage percentage, and generator hours saved. Essential for off-grid site planning, remote telecom towers, construction sites, and rural electrification proposals."
method: POST
path: "/api/generator_offset"
tags: ["power"]
---

# Compares total cost of ownership between a fuel generator and a solar+battery system over a configurable time horizon. Calculates yearly and cumulative costs for generator-only, solar-only (amortized), and hybrid scenarios. Accounts for fuel cost, generator consumption rate, maintenance intervals, solar system amortization, and battery coverage. Outputs yearly costs, total savings, breakeven year, solar coverage percentage, and generator hours saved. Essential for off-grid site planning, remote telecom towers, construction sites, and rural electrification proposals.

`POST /api/generator_offset`

## Request

- Base URL: `https://calc.engineer`
- URL: `https://calc.engineer/api/generator_offset`
- Auth: none declared

## Request body

- object
  - `generator_fuel_cost_per_gallon` number: Fuel cost per gallon in USD, default $3.50
  - `generator_consumption_gph` number: Generator fuel consumption in gallons per hour at load, default 1.0
  - `generator_hours_per_day` number: Generator runtime hours per day, default 8
  - `generator_maintenance_per_1000hrs` number: Generator maintenance cost per 1000 running hours in USD, default $200
  - `solar_system_cost_usd` number, required: Total solar+battery system cost in USD
  - `solar_daily_kwh_produced` number, required: Daily solar energy production in kWh
  - `battery_kwh` number: Battery storage capacity in kWh (0 means no battery, generator needed at night), default 0
  - `daily_kwh_needed` number, required: Total daily energy requirement in kWh
  - `years_to_compare` number: Number of years to compare, default 10

## Response `200`

Computed result for generator_offset

- object
  - `result` object, required
    - `generator_yearly_cost_usd` number, required: Annual generator cost (fuel + maintenance) in USD
    - `generator_total_cost_usd` number, required: Total generator cost over comparison period in USD
    - `solar_yearly_cost_usd` number, required: Annualized solar system cost (amortized + maintenance) in USD
    - `solar_total_cost_usd` number, required: Total solar cost over comparison period in USD
    - `savings_usd` number, required: Total savings of solar over generator in USD (negative means generator is cheaper)
    - `savings_pct` number, required: Percentage savings of solar vs generator
    - `breakeven_year` number, required: Year when solar cumulative cost becomes cheaper than generator (0 if never)
    - `solar_coverage_pct` number, required: Percentage of daily energy needs covered by solar+battery
    - `generator_hours_saved_per_year` number, required: Generator hours eliminated per year by solar
  - `tool` string, required
  - `version` string, required
  - `computed_at` string, date-time, required
  - `chain` object, required
    - `feeds` unknown[]
      - unknown
    - `accepts_from` unknown[]
      - unknown

## Other responses

- `400`: Validation error or invalid JSON
- `404`: Tool not found

---

[API](https://skmtc.dev/calc/apis/calc-engineer-api.md) · [All operations](https://skmtc.dev/calc/apis/calc-engineer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/calc/apis/calc-engineer-api/revisions/8830480ec488?raw)
