happytails.ai

Fuel economy log

Open Fuel economy log on Happytails.ai. This view has the same page content and links, with explicit tool capabilities. Read the processing notes before using a tool.

Tool capabilities

{
  "id": "fuel-economy-log",
  "category": "calculators",
  "built": true,
  "requirements": "The first full tank establishes the baseline. Its purchase and earlier records are exported but excluded from consumption. Every later full tank closes an interval that includes all intervening partial fills and the closing fill. Trailing partials remain pending. Full-tank levels must be comparable; missing fills and odometer rollover/replacement invalidate the model. Reports normalize to km and litres and calculate weighted complete-interval consumption. Costs are purchases, not the value of fuel consumed. Download to keep your log: this tool does not automatically save data between sessions or store receipts. Processing stays on your device in a cancellable worker with a 10-second timeout. Maximum 500000 combined input characters and 2000 records, with 30 tariffs or grades, 30 tiers per tariff and 100 depreciation years. Guided decimals allow up to six places without thousands separators. Full JSON and JSON Pointer CSV include all source inputs, units, assumptions and results; each file is capped at 2000000 characters and CSV at 200000 leaf records. All tariff totals precede the first 200 detail rows in the parking preview; other tables preview 200 rows. Software bounds are not vehicle capability claims. Results use floating-point arithmetic.",
  "implementation": {
    "fields": [
      {
        "key": "distanceUnit",
        "label": "Odometer distance unit",
        "value": "km",
        "type": "select",
        "values": [
          "km",
          "mi"
        ],
        "labels": {
          "km": "Kilometres",
          "mi": "Miles"
        }
      },
      {
        "key": "fuelUnit",
        "label": "Fuel volume unit",
        "value": "L",
        "type": "select",
        "values": [
          "L",
          "US gal",
          "Imp gal"
        ],
        "labels": {
          "L": "Litres",
          "US gal": "US gallons",
          "Imp gal": "Imperial gallons"
        }
      },
      {
        "key": "currency",
        "label": "Currency label",
        "value": "EUR",
        "type": "text",
        "maxLength": 3,
        "help": "Three uppercase letters. All entered prices use this currency."
      },
      {
        "key": "recordsCsv",
        "label": "Fill-up records CSV",
        "value": "date,odometer,fuel,cost,fullTank,note\n2026-01-01,100,40,60,true,Baseline full tank\n2026-01-03,300,15,24,false,Partial fill\n2026-01-04,600,25,40,true,Closes interval\n2026-01-05,700,10,17,false,Pending partial fill",
        "type": "textarea",
        "maxLength": 500000,
        "help": "Headers: date,odometer,fuel,cost,fullTank,note. Dates: YYYY-MM-DD in nondecreasing order. Odometer values cannot decrease. fullTank is exactly true or false. Fuel must be greater than zero. Leave note empty if unused. Quote cells with commas or newlines; escape a quote as two quotes."
      }
    ],
    "input": false,
    "presentation": "metrics",
    "note": "The first full tank establishes the baseline. Its purchase and earlier records are exported but excluded from consumption. Every later full tank closes an interval that includes all intervening partial fills and the closing fill. Trailing partials remain pending. Full-tank levels must be comparable; missing fills and odometer rollover/replacement invalidate the model. Reports normalize to km and litres and calculate weighted complete-interval consumption. Costs are purchases, not the value of fuel consumed. Download to keep your log: this tool does not automatically save data between sessions or store receipts. Runs locally without uploads. Limit: 500000 combined input characters, 2000 records, 30 tariffs or grades, 30 tiers per tariff and 100 depreciation years. Complete JSON and JSON Pointer CSV exports are each capped at 2000000 characters and CSV at 200000 leaf records. Preview shows 200 report rows. Calculations stop after 10 seconds. Copy result copies the report text; downloads include source inputs, units, assumptions and complete results.",
    "inputMaxLength": 500000,
    "inputErrorCode": "VEHICLE_INPUT",
    "example": {
      "input": "",
      "options": {
        "distanceUnit": "km",
        "fuelUnit": "L",
        "currency": "EUR",
        "recordsCsv": "date,odometer,fuel,cost,fullTank,note\n2026-01-01,100,40,60,true,Baseline full tank\n2026-01-03,300,15,24,false,Partial fill\n2026-01-04,600,25,40,true,Closes interval\n2026-01-05,700,10,17,false,Pending partial fill"
      }
    },
    "experience": {
      "automatic": false,
      "single": false,
      "inputMaxLength": 500000,
      "inputMode": "text",
      "label": "Your text",
      "placeholder": "Type or paste your input…",
      "help": "Up to 500,000 characters. Review the settings before running.",
      "helpParts": [
        "Up to 500,000 characters.",
        "Review the settings before running."
      ],
      "action": null
    },
    "mode": "explicit",
    "interactive": false
  },
  "execution": "Browser interface",
  "api": null,
  "browser_agent": {
    "supported": true,
    "name": "run_current_tool",
    "discovery": "WebMCP on the human page in a supporting browser",
    "verification": "See audit/API-AUDIT.md; availability is not verification"
  }
}

Page guide

Calculate consumption across full and partial fill-ups, with complete intervals and pending fills kept separate.

How to use Fuel economy log
  1. Choose odometer and fuel units, then enter fill-up CSV with dates, fuel amounts, cost and fullTank true or false.
  2. Mark comparable full tanks accurately and keep all partial fills in date and odometer order.
  3. Review completed-interval consumption and pending fills. Download the full log to keep your records.

Useful next steps

Handle partial tanks without guessing consumption

The first full tank establishes a baseline. Every later full tank closes an interval that includes all intervening partial fills and the closing fill. Earlier purchases and the baseline fill remain in the export but are excluded from interval fuel totals. Trailing partials remain pending.

Keep a complete, consistent log

Full tanks need comparable fill levels. Missing fill-ups, odometer rollover or inconsistent tank levels invalidate the model. Overall L/100 km uses total completed-interval litres divided by total completed distance, multiplied by 100. Download your data to keep it: this tool does not automatically persist records or store receipts.