> ## Documentation Index
> Fetch the complete documentation index at: https://docs.variable.global/llms.txt
> Use this file to discover all available pages before exploring further.

# Model CSV export

> Which basis the exported file reports, and how to reconcile it against the model page

**Export CSV** on a product gives you the whole model as one flat file — every bill-of-materials line, nested to any depth, one row each. It's the artifact you hand to a verifier, so it's worth knowing exactly what its numbers measure.

The short version: **the file is scaled to the product, and the model page is scaled to the parent line.** Both surfaces use the same words for those two bases, so a file number that looks wrong is usually the same number on a different basis.

## The file reports one declared unit of the product

Every `Input_Quantity`, `Input_Weight` and `Input_kgCO2e` in the file is what **one declared unit of the product you exported** consumes or emits. A nested row is multiplied through every line above it — each ancestor contributes the number of its own source element's declared units that the line consumes.

The model page does the opposite, deliberately. A row there shows the quantity **as you entered it on its parent**, because a bill-of-materials line is edited in its parent's terms ("this frame takes four legs"). That's the number you need while modeling; the file's is the number you need when reporting.

`Level` tells you which basis a row is on. `Level` 1 is a top-level line of the exported product, and every step deeper adds one. On a `Level` 1 row the two surfaces agree, because there's nothing above it to multiply through.

## A worked example

A factory model takes 6.05 kg of an element that is itself a model, declared per kg. Two of that element's own lines:

| Line        | On the model page | In the file                 | Why                                                                  |
| :---------- | :---------------- | :-------------------------- | :------------------------------------------------------------------- |
| Water       | `1.3 kg`          | `7.865`                     | 1.3 kg per kg of the element, and the factory takes 6.05 of them     |
| Electricity | `0.6319 kWh`      | two rows summing to `3.823` | The same 6.05 multiplier, shared between its solar and hydro sources |

Every figure here is right. Multiply an `Input_Quantity` on the page by the quantity on each line above it and you land on the file's.

`Input_Weight` is the one column that won't always reconcile that way. The file derives every line's weight from its quantity and its source element's weight, while the model page shows a weight recorded on the line itself whenever there is one. Where those two disagree, the gap is the recorded weight, not the basis.

<Warning>
  **Don't total a page figure together with a file figure.** A sum built from both bases means nothing. Pick one surface per calculation.
</Warning>

## Related topics

* [Data quality rating](/docs/help/data-quality#in-a-csv-export) — the DQR columns the file carries
* [Versioning](/docs/help/versioning#versions-in-a-csv-export) — which version each row reports
* [Life-cycle stages](/docs/help/life-cycle-stages) — which stage a nested line is reported under
