# Fuel Tracking Track fuel economy, fill-ups, and fuel costs to understand your vehicle's efficiency and operating expenses. --- ## Why Track Fuel? - **Monitor Fuel Economy** - Identify trends and detect issues early - **Budget Fuel Costs** - Track monthly/annual fuel expenses - **Detect Problems** - Sudden MPG drops indicate mechanical issues - **Compare Vehicles** - See which vehicle is most economical - **Tax Deductions** - Track business mileage and fuel costs - **Optimize Driving** - Identify behaviors that improve efficiency --- ## Adding Fuel Entries ### Quick Add 1. Open the vehicle and click **"Add Fuel"** (or open its **Fuel** tab), then **"Add Fill-up"** 2. Fill in required fields: - **Date** - When you filled up (defaults to today) - **Mileage** - The odometer reading **(always required)**, in the vehicle's own **Odometer unit** if it has one - **Volume** - Gallons or liters, matching your unit preference **(required unless "Missed Fill-up" is checked)** - **Full Tank Fill-up** - Check if filled to full (needed for a fuel-economy figure) 3. Add optional details: - **Price per gal** (or **Price per L**) - Auto-calculates the total - **Rebate** - Points, discounts, or cash back applied to this fill-up - **Total Cost** - Amount actually paid, net of any rebate (auto-calculated, or enter manually) 4. Click **"Create"** MyGarage automatically calculates: - **Fuel economy** - MPG, L/100km or km/L, whichever you have set under [Units](Units) - **Cost per distance** - Fuel cost divided by distance driven Both follow your account units, even on a vehicle with its own odometer unit. ### Detailed Fuel Entry The same form has more optional fields, most of them under **More details**: - **Fill-up time** - Enables "Auto-fill from last drive" - **Payment method** - Cash, Credit card, Debit card, Fleet card, Mobile pay / app, Other - **Fueling station** - Autocomplete from the gas stations in your address book (the Gas Station category, or a station saved from Find POI); a new station is saved under Gas Station unless you check **One-time visit** - **Driver** - A typed name - **Trip type** - Private, Business, Commute, Other - **Outside temperature** - **Trip computer (OBC)** - Reported consumption, average speed, and trip duration. **Auto-fill from last drive** pulls these from your most recent LiveLink drive session (within 24h) when a fill-up time is set. - **Notes** - Free-form On a vehicle with a second fuel type (from the VIN decode), a **Fuel used (this fill-up)** dropdown records which fuel was used. ### Receipt Drafting (Optional) If you enable it under **Settings → Integrations**, MyGarage can read a pump receipt and pre-fill the form. Paste the text, or upload a photo or PDF. It is **off by default** and needs an LLM you point it at - a local Ollama instance, or any OpenAI-compatible endpoint. Nothing is sent anywhere unless you turn this on and configure a destination. The result is always a **draft**. It populates the form and waits for you to check the numbers before saving; it never writes a record on its own. The odometer, volume and price are read with the units printed on the receipt (miles or km, US gallons or litres, per gallon or per litre), and MyGarage converts them itself. A value whose unit the receipt doesn't make clear is left blank rather than guessed, and so is a price per kWh, a zero or negative odometer, volume or price, or a negative cost or kWh. Fill those in yourself. --- ## Understanding MPG Calculations Fuel economy is shown in the unit you picked under [Units](Units): MPG, L/100km or km/L. It is stored internally as L/100km. MyGarage calculates economy using the **distance-per-volume method**: ### How MPG is Calculated At each **full tank**, MyGarage divides the distance since the previous full tank by **all fuel added since then** — the full fill-up plus any partial fills in between: ``` MPG = (Current Odometer - Previous full-tank Odometer) / (All gallons added since the previous full tank) ``` **Example** (no partials in between): - Previous full tank: 45,000 miles - Current full tank: 45,350 miles - Gallons added: 12.5 gallons **Calculation**: ``` MPG = (45,350 - 45,000) / 12.5 MPG = 350 / 12.5 MPG = 28.0 MPG ``` ### Requirements for Accurate MPG ✅ **Full tank fills** - MPG is calculated at each full tank ✅ **Accurate odometer** - Record mileage precisely ✅ **Consistent fill method** - Always fill until pump auto-stops ✅ **2+ fill-ups** - First fill-up has no MPG (needs previous baseline) ℹ️ **Partial fills are handled automatically** - Their fuel is folded into the next full tank's figure, so they no longer skew the numbers ### First Fill-Up The **first fuel entry for a vehicle has no MPG** because there's no previous fill-up to compare against. Starting with the **second fill-up**, MyGarage calculates MPG. **Example Timeline**: - **Fill-Up #1**: 45,000 miles, 12.0 gallons → **No MPG** (baseline) - **Fill-Up #2**: 45,350 miles, 12.5 gallons → **28.0 MPG** (first calculation) - **Fill-Up #3**: 45,700 miles, 13.0 gallons → **26.9 MPG** ### Averages An average is total fuel over total distance across its tanks, not a mean of each tank's figure, so a long tank counts for more than a short one. Averages leave out impossible tanks, outside roughly 5-100 MPG (2.4-47 L/100km). These are almost always a mistyped odometer or volume. The fuel list still shows each tank's own figure, so you can find and fix it. --- ## Partial Fill-Ups If you can't fill to full (e.g., budget constraints, topping off), you can still track fuel costs: 1. Add fill-up as usual 2. **Uncheck "Full Tank Fill-up"** 3. Enter gallons and cost 4. Click **"Create"** **How they're handled**: - ℹ️ A partial fill shows no economy figure of its own - ✅ Its fuel is counted toward the **next full tank's** MPG/L100km, so the figure stays accurate - ✅ Fuel costs still tracked **Best Practice**: Just uncheck "Full Tank Fill-up" for top-offs. MyGarage rolls that fuel into the next full-tank calculation automatically, so you don't need to fill to full every time for accurate trends. --- ## Towing and Hauling Check **Towing/Hauling Load** on a fill-up made while towing. A tank counts as towing if its closing full fill-up, or any partial fill within it, is marked. Towing tanks are left out of the normal figures: the vehicle card's average, the Fuel tab's **Avg Fuel Economy**, the engine-hours rates and the homepage widget. The vehicle card shows them on a **Towing** line of their own (see [Dashboard](Dashboard#fuel-economy-on-the-card)). - To include them on the Fuel tab, tick **Incl. Towing** under **Avg Fuel Economy**. The toggle stays even for a vehicle whose every tank towed. - The fuel list marks each towing fill-up with a **Towing** badge and still shows its own figure. - The Analytics chart and its average include towing tanks. --- ## Fuel Types A vehicle's fuel type is set on the vehicle (prefilled from the VIN decode). Supported values: - Gasoline - Diesel - Electric - Hybrid - Plug-in hybrid - E85 / Flex fuel - Propane / LPG - CNG - Hydrogen - Other ### Octane and diesel grade Since v3.5.0 a fill-up can also record what you actually pumped: - **Octane** - the number posted on the pump (AKI or RON), shown for gasoline and E85 fill-ups. - **Diesel grade** - **Regular (on-road)** or **Farm (off-road, dyed)**, shown for diesel fill-ups. Both are optional, and both are prefilled from your last fill-up for that vehicle, so the common case is one tap. Change the fuel type on the entry form and the matching field appears. They are included in CSV and JSON exports, and older backups without them import fine. ### Propane (Fifth Wheels & RVs) - **Propane** - For RVs, fifth wheels, and travel trailers - Tracked separately from motor fuel - Dedicated propane tab (visible for RVs, fifth wheels, and travel trailers) - Track volume, cost, price per unit, vendor - Analytics show propane spending trends and cost per unit **How to Track Propane**: 1. Add vehicle as type "RV", "Fifth Wheel", or "Travel Trailer" 2. Navigate to vehicle detail page 3. Open the **"Fuel"** tab, then **"Propane"** 4. Click **"Add Propane"** 5. Fill in: - **Date** - When filled (required) - **Tank Size** and **Number of Tanks** - Optional; they fill in the volume for you - **Propane** - Gallons or liters, matching your unit preference (required) - **Price per gal** (or **Price per L**) - Optional - **Total Cost** - Auto-calculated from volume and price, or enter it - **Vendor/Location** - Where you filled (optional) - **Notes** - Any additional details 6. Click **"Create"** **Note**: RVs can track both motor fuel (diesel/gasoline) AND propane separately. Fifth wheels and travel trailers track propane only (no motor fuel or odometer). See [Fifth Wheels & RVs](Fifth-Wheels-And-RVs). ### Electric Vehicles (EVs) MyGarage now supports **Electric** and **Hybrid** vehicles with smart charging tracking: **Supported Fuel Types**: - **Electric** - Pure electric vehicles (track kWh only) - **Hybrid** or **Plug-in hybrid** - Track both gallons AND kWh **How to Track EV Charging**: 1. Set the vehicle's **Fuel Type** to Electric, Hybrid or Plug-in hybrid 2. Navigate to vehicle detail page 3. Click **"Fuel"** tab (shows smart form based on fuel type) 4. Click **"Add Fill-up"** 5. Fill in required fields: - **Date** - When you charged - **Mileage** - The odometer reading (required) - **Energy** - kWh charged (required for electric vehicles) - **Volume** - For hybrid vehicles only 6. Add optional pricing: - **Price per kWh** - Cost per kilowatt-hour (e.g., $0.12) - **Total Cost** - Total amount paid (auto-calculated from kWh × price) 7. Click **"Create"** **Smart Form Behavior**: - **Electric vehicles**: Form shows the kWh field only (hides volume, **Full Tank Fill-up** and **Towing/Hauling Load**) - **Hybrid vehicles**: Form shows BOTH volume and kWh fields (track gas and electric usage) - **Form auto-calculates**: Total cost from kWh × price per kWh **Charge Session Details** (optional, on electric and hybrid vehicles): - **SOC start** / **SOC end** - the battery percentage at the start and end of the session - **Charge level** - L1, L2 or DCFC - **Location** - Home or Public - **Battery SOH** - state of health as a percentage, to watch degradation over time All five are optional. Fill in what you have. --- ## Fuel Analytics MyGarage provides rich analytics for fuel tracking: ### Fuel Economy Trends **Fuel Economy Trend Over Time** (line chart on the vehicle's Analytics page): - One point per full tank - Identify seasonal variations (winter MPG drops) - Detect sudden changes (may indicate issues) **Average MPG** (see [Averages](#averages)): - **Vehicle card** - Every tank not towing, plus your **Last 3 tanks** - **Fuel tab** - **Avg Fuel Economy**, towing left out unless you tick **Incl. Towing** - **Analytics** - **Average**, **Best**, **Worst** and **Latest Fill-Up**, towing included - **Homepage widget** - Your last 10 full tanks, and the last 3 of those, towing left out ### Cost Analysis **Fuel tab** cards, for the fill-ups on the page you are viewing: - **Total Spent**, with the total volume - **Avg Cost/gal** (or **Avg Cost/L**) - **Cost/1,000 mi** (or **Cost/100 km**) - Fuel cost over the distance those fill-ups span **Monthly Cost Trend** (Analytics page): - Each month's spending, split into service, fuel and (where you have them) DEF and spot rental - Budget planning --- ## Missed Fill-Ups If you forgot to log a previous fill-up, check **"Missed Fill-up"** on your next entry. This lets you save with just the odometer reading when you don't have the fuel amount. A missed fill-up produces no economy figure of its own and is excluded from the vehicle's average — MyGarage no longer stretches one tank's fuel across the gap (which understated consumption). The sequence re-anchors, so economy resumes on the next full fill-up. --- ## Exporting Fuel Data Open the vehicle's **Fuel** tab and click **Export CSV** to download every fill-up as a CSV. For a formatted PDF report with charts, use the vehicle's **Analytics** page instead — see [Analytics](Analytics). ### Exports Use Your Units **The file is written in the units you read the app in.** If you read miles, gallons and price per gallon, that is what you get; a metric reader gets kilometres, litres and price per litre. You don't have to choose, MyGarage uses the units you already have set. The odometer column follows the vehicle's own **Odometer unit** when it has one. **Each column names its own unit**, in the header: `Odometer (mi)`, `Volume (gal_us)`, `Propane Volume (gal_us)`, `Tank Size (lb)`, `Price Per Unit (gal_us)`. kWh and Tank Quantity are plain numbers. **Price Basis** says what the price is per: volume (in the Volume column's unit), weight (in the Tank Size column's unit), kWh or tank, so an EV charge or a propane exchange keeps its price on the way back in. Import takes each column's unit from the file rather than from your account, so a file exported by someone using different units still imports correctly. Older files that carried the unit system in two leading columns (`units_version` and `unit_system`) still import unchanged. Those exist so that re-importing your own export converts the values back correctly instead of guessing. Leave them in place if you edit the file in a spreadsheet. Values are stored internally in metric no matter what you export, so switching your display units never alters the underlying data. ### US or UK Gallons Pick the gallon you mean in **Quick settings** (the gear icon): choose **Custom**, then open **Custom units**. Pick the **US** gallon (3.785 L) or the **UK / imperial** gallon (4.546 L). Volume and MPG have separate controls, because MPG names a gallon even if you fill up in litres. The standalone US/UK gallon switch that used to live in **Settings → System** is gone; these controls replace it. If your instance was set to UK gallons before upgrading, nothing you read changes, but **some older prices may read about 20% high**: a price entered while the instance was already on UK gallons was stored too high by that factor. Re-entering the price you actually paid corrects it. See [Units](Units#if-you-use-uk-gallons) for the details. The two differ by about 20%, so this is worth setting before you log much. UK drivers who leave it on the US default will see MPG figures noticeably lower than the ones on their dashboard. ### Round-Tripping Exporting a CSV, editing it, and importing it again is a supported workflow — bulk-correcting old records in a spreadsheet is much faster than clicking through them one at a time. > **Fixed in v3.0.0**: earlier versions mis-read their own exports on re-import, > multiplying distances by 1.609 and volumes by 3.785 on every round trip, and > imperial imports recorded price per gallon as though it were per litre. If you > imported fuel data on an older version, upgrading repairs the affected price > records automatically. Distances and volumes inflated by repeated round trips > cannot be recovered automatically — check a few older records against your > receipts. ### Other Exports CSV export is also available for service visits, DEF and odometer records, and they follow your units the same way. Engine-hours, warranty, insurance, tax and note exports are unaffected by units, since hours and currency aren't converted. The LiveLink session export is the one exception that stays metric for everyone, writing `distance_km` and raw km/h speeds. **Report CSVs cannot be imported.** A report is a printable summary rather than a backup, and importing an all-records report used to create a service visit out of every fuel fill-up. MyGarage now refuses one with a clear error. Backups from **Export** still import, older files included. A whole-vehicle **JSON** export is available too. It always stores metric with explicitly named fields (`odometer_km`, `liters`), so it is unambiguous and round-trips safely regardless of your display preference. **Use Cases**: - Tax deductions (business mileage) - Expense reports (company vehicle reimbursement) - Personal budgeting - Bulk-editing records in a spreadsheet --- ## Importing From Another App The **Fuel** tab's **Import CSV** action reads MyGarage's own CSV plus exports from other trackers (pick the format in the list beside it): - **Fuelio** - **Drivvo** - **Tesla / ABRP** charge exports - **Auto-detect**, if you are not sure which you have Re-importing the same file is safe. Records are matched on the fill's own timestamp, so two charge sessions on the same day stay separate, and rows already imported are skipped rather than duplicated. The file must be comma-separated, with a header row. A row that cannot be read is skipped and listed in the result, and the rest of the file still imports. An import that fails outright saves nothing from that file. --- ## Fuel Tracking Best Practices ### Log Every Fill-Up - ✅ **Always log** - Even on road trips, gas station apps, etc. - ✅ **Record immediately** - Don't wait, you'll forget details - ✅ **Use Quick Entry** on your phone - Log at the pump ### Fill to Full Every Time - ✅ **Full tank** - Let pump auto-stop, don't round up - ✅ **Consistent method** - Same pump nozzle depth, same station type - ❌ **Don't top off** - Adds inconsistent amounts, skews MPG ### Record Accurate Odometer - ✅ **Check before filling** - Record mileage before pumping - ✅ **Use vehicle odometer** - Don't estimate from trip meter - ❌ **Don't round** - 45,342 miles, not "about 45,000" --- ## Troubleshooting MPG Issues ### MPG Suddenly Dropped **Possible Causes**: - Clogged air filter → Replace filter - Bad spark plugs → Replace plugs - Low tire pressure → Check/inflate tires - Dirty fuel injectors → Use fuel system cleaner - Oxygen sensor failure → Check engine light, scan codes - Driving habits changed → More city driving, aggressive acceleration **Action**: 1. Check service records - When was last tune-up? 2. Compare recent fill-ups - Sudden drop or gradual? 3. Inspect vehicle - Tire pressure, air filter, check engine light 4. Add service record if repair performed ### Inaccurate MPG Calculation **Possible Causes**: - Missed fill-up → Check "Missed Fill-up" so the gap is excluded, not bridged - Partial fill → Uncheck "Full Tank Fill-up" so its fuel rolls into the next full tank - Odometer error → Verify odometer reading accuracy - Different pump shutoff → Some pumps shut off early/late **Action**: 1. Review recent fill-ups for errors 2. Edit fill-up to correct odometer or gallons 3. Mark partial fills appropriately ### Wildly High MPG (e.g., 60 MPG on a truck) **Possible Causes**: - Missed fill-up (shows 2x distance on 1 tank) - Odometer entry error (extra digit) - Gallons entry error (half the actual amount) **Action**: 1. Review last 2 fill-ups 2. Check for missed fill-up between them 3. Verify odometer readings 4. Correct errors A tank outside roughly 5-100 MPG is already left out of every average, but it still shows its own figure in the fuel list until you fix it. --- ## Fuel Economy Tips Improve MPG with these tips: ### Driving Habits - ✅ **Accelerate gently** - Avoid jackrabbit starts - ✅ **Maintain steady speed** - Use cruise control on highway - ✅ **Coast to stops** - Don't brake aggressively - ✅ **Avoid idling** - Turn off engine if stopped > 1 minute ### Vehicle Maintenance - ✅ **Proper tire pressure** - Check monthly, inflate to spec - ✅ **Clean air filter** - Replace every 12,000-15,000 miles - ✅ **Synthetic oil** - Reduces friction, improves efficiency - ✅ **Tune-ups** - Replace spark plugs on schedule ### Reduce Weight & Drag - ✅ **Remove roof racks** - When not in use - ✅ **Clear trunk** - Remove unnecessary cargo - ✅ **Windows up at highway speeds** - Reduces drag --- ## Need Help? - **MPG Not Calculating** - See [FAQ](FAQ#mpg-not-calculating) - **Import Fuel Data** - See [Importing From Another App](#importing-from-another-app) - **Community** - [GitHub Discussions](https://github.com/homelabforge/mygarage/discussions) --- **Next**: Learn about [Document Management](Documents) or explore [Authentication](Authentication).