Receipts

Every number here is either measured or marked missing.

Most fleet tools compete on how much they show you. Fleconomy is built around 10 rules about what it is not allowed to show you — because a confident wrong number costs more than a blank one. Your tax write-off never becomes your car’s value. A loan payment is never charged against profit. When a figure is unknown, the field stays empty.

Anyone can write that paragraph. So each rule below names the automated assertions that enforce it in the code, and this page is generated by running them: 44 cited assertions across 9 test files, re-verified every time the page is built. If one of them is renamed, deleted or starts failing, the build stops and this page does not publish.

How to read a card

  1. The promise — what it means for your numbers, in plain language.
  2. The rule — quoted verbatim from our internal product doctrine. The build fails if the two ever disagree, so this is the same sentence our engineers work to.
  3. What the opposite costs you — every rule exists because the other way was tried, shipped, or nearly shipped. This is what it did.
  4. Enforced by — the test file, and the exact assertions inside it, that would have to pass for the version you are using to have shipped at all.

Your tax write-off is never used as your car’s value.

The rule Tax depreciation is not economic depreciation.

Bonus and §179 expense the whole car in year one. A car that wrote off $7,500 and is still worth $7,500 has lost nothing — but a tool that reaches for the tax figure reports it as a total loss. The error is worst for the hosts who took the most correct treatment, which is why it has to be structural rather than a setting.

Enforced by test/vehicle-verdict.test.js
  • tax depreciation is reported but NEVER enters economic profit
  • with no FMV, economic profit is null — the tax figure is never substituted
  • structuralBasis says whether the cost line was measured or modelled

3 of 17 passing assertions in this file are cited above.

Your loan payment is split. Only the interest is charged against profit.

The rule A loan payment is not an expense.

Principal is a balance-sheet transfer — you are moving your own money from cash into equity in the car. Charge the whole payment against profit and a financed car reads as unprofitable next to an identical cash car that earns exactly the same. Cash flow and operating profit are reported separately here, and the gap between them is the principal, to the dollar.

Enforced by test/vehicle-economic-model.test.js
  • operating profit subtracts INTEREST only; cash flow subtracts the full payment
  • ROI is computed on operating profit, so principal never double-counts
  • a cash car has no financing input and the two profits converge

3 of 17 passing assertions in this file are cited above.

When we don’t know, the field stays empty. We do not fill it in.

The rule Absent is not zero, and it is never fabricated.

A guessed number is indistinguishable from a measured one once it is on screen, and it is the guesses that get quoted, filed and acted on. A missing market value yields no answer rather than a plausible one; a record backfilled from old data gets an id but never an invented creation date, because a date stamped “now” would make imported history look like something we watched happen.

Enforced by test/record-provenance.test.js
  • backfill assigns an id but NEVER invents a createdAt
  • backfill marks provenance unknown, never guesses manual
  • coverage of nothing is null, not 0% and not 100%

3 of 23 passing assertions in this file are cited above.

Enforced by test/vehicle-verdict.test.js
  • no acquisition/listing date means refuse, not guess
  • a zero acquisition cost yields a null ROI, never a divide-by-zero

2 of 17 passing assertions in this file are cited above.

Every cost line is on screen, and the lines add up to the total.

The rule Every cost line is shown, and the parts reconcile to the whole.

The classic error is quietly dropping the platform fee — the single largest cost most hosts have. On the fixture this guard uses, a card that omits it lands roughly $2,900 too high on one car. A profit figure you cannot decompose is a figure you cannot check, so the fee is its own line and the lines are asserted to sum.

Enforced by test/vehicle-verdict.test.js
  • the cost lines sum to cash profit, and the platform fee is its own line
  • a naive card that drops the fee line lands ~2,900 too high
  • cash and economic profit are separate, each with its own ROI

3 of 17 passing assertions in this file are cited above.

Enforced by test/ledger-core.test.js
  • a realized trip yields a Line 1 income entry and a Line 10 fee entry
  • summarizeByLine nets income against expense per line, and recoveries reduce expense

2 of 17 passing assertions in this file are cited above.

A host who joined two months ago cannot have a twelve-month result.

The rule Right-censoring is respected.

Without an explicit risk set, every retention and outcome curve bends upward for free: hosts who have not been here long enough to fail are counted as having not failed. That is how a product convinces itself its numbers are improving while nothing has changed. Too-new hosts are excluded from the denominator — and the guard below also proves real churn still moves the line, so the exclusion cannot be used to hide it.

Enforced by test/outcome-cohorts.test.js
  • a host too new to reach tenure N is EXCLUDED, never counted as churned
  • churn does lower activePct — the guard above must not mask real churn
  • rows with no tenure are dropped and counted, not guessed onto the axis
  • median is reported alongside mean because revenue is right-skewed

4 of 15 passing assertions in this file are cited above.

Nothing cross-host is published until five distinct hosts stand behind it.

The rule Nothing published below the k-anonymity floor.

A benchmark drawn from two hosts is not a benchmark, and in a small market it can identify them. The floor counts HOSTS, not rows: one operator with six identical cars is one host and stays suppressed, which is the case a row-counting floor gets wrong in exactly the situation where privacy matters most. A suppressed group says it is suppressed rather than reading as “no such car”.

Enforced by test/network-intelligence.test.js
  • one host with six identical cars is ONE host, and stays suppressed
  • the group publishes once distinct hosts reach the floor
  • a distribution refuses to compute below the floor
  • a suppressed model explains itself instead of reading as "no such car"

4 of 23 passing assertions in this file are cited above.

Selling a car does not erase what it earned.

The rule A host's economic history is never destroyed.

Most fleet tools treat a sold car as a row to remove, which quietly deletes the only complete record you will ever have of that car: the one that runs from purchase to sale. Disposal is a status here, not a delete. A gone car is marked and kept — in the roster, in the pickers, in the year it actually traded — rather than dropped from the surfaces that are about it.

Enforced by test/vehicle-disposition.test.js
  • source guard: the Fleet card marks a gone vehicle instead of dropping it
  • source guard: vehicle pickers keep gone cars and label them
  • source guard: the fleet schedule partitions before it renders or counts
  • the rule keeps a disposed car that actually traded that year

4 of 27 passing assertions in this file are cited above.

You will not be shown a forecast wearing the clothes of a measurement.

The rule A predictive model over network data.

The network only sees the cars hosts KEPT. Survivorship biases it upward, and biases it worst for the models that disappoint most — so a confident “this model returns X” would be most wrong exactly where it would cost you most. That model is a standing refusal, with a written condition for revisiting it. What does ship is labelled: a projection refuses to run on thin history, returns a range from observed variance rather than a point, and travels with its survivorship caveat attached to the payload.

Enforced by test/vehicle-economic-model.test.js
  • the forecast refuses below six months of history
  • the forecast returns a range from observed variance, not a point estimate
  • the forecast is labelled an extrapolation and disclaims a confidence interval
  • the score states that its weights are editorial, not fitted

4 of 17 passing assertions in this file are cited above.

Enforced by test/network-intelligence.test.js
  • survivorship and the not-a-prediction caveat travel on every payload
  • every distribution states that its values are midpoints, not measurements
  • your own car is placed in a quartile band, never a fake percentile

3 of 23 passing assertions in this file are cited above.

We identify ourselves. Nothing here is scraped in disguise.

The rule Authorized data only.

The data behind your numbers arrives through official APIs, imports you authorize, CSVs you export and emails you forward. The one place this product reaches a third party’s server unprompted — the monthly fetch of Turo’s public terms, kept current so the in-app reference is not stale — sends a User-Agent naming the product, its purpose and a contact address. It previously impersonated Chrome; when an honest agent is declined the supported answer is saved HTML, not a better disguise.

Enforced by test/tos-fetcher-identity.test.js
  • the agent names the product, so the operator is identifiable
  • the agent carries a contact route back to us
  • NO transport impersonates a browser
  • a refusal is answered with saved HTML, never with escalation

4 of 9 passing assertions in this file are cited above.

What this page is not

This is our own test suite, not a third-party audit. It proves each rule is enforced in code — not that the code is free of bugs, and not that any number is right for your situation. Nothing here is tax, legal or financial advice.

It also is not a claim about anyone else’s software. Other tools may handle these cases well; we can only show you our own work. Fleconomy is not affiliated with, endorsed by, or partnered with Turo — Turo is one supported data source.

Found a number in Fleconomy IQ you think one of these rules should have caught? That is a bug and we want it: [email protected].

Start free — no card Score one car, free

Free forever for one vehicle. Estimates only. Not tax, legal, or financial advice.