← Docs

Generated export requirements

Step 3 generates read-only SQL against the tables you mapped in step 2. You run it in your own warehouse and upload the results. NemulAI never runs it for you and never connects to your database.

Usage

Required

One row per request or per aggregated bucket: when it happened, how many, which model, and the tenant it belonged to.

What it unlocks: Without it there is no per-customer anything. This is the join key the whole audit rests on.

Revenue

Required

What each customer was billed for the period — invoices, subscription lines, or credit consumption.

What it unlocks: Turns cost into margin. Without it the audit can show cost per customer but not whether it was profitable.

Customers

Optional

Tenant id to account name, and any plan or contract label.

What it unlocks: Readable names instead of raw ids, and grouping by plan. The numbers are identical without it.

Infrastructure

Optional

What your provider actually billed — the invoice total, or per-GPU-hour cost lines.

What it unlocks: Reconciliation. Without it, serving cost is modelled from published rates and labelled as modelled. With it, the audit can say how much of the real bill it managed to attribute — and how much it could not.

Aggregate in your warehouse instead

Step 3 also offers a script that does the grouping inside your warehouse, so you upload one file of totals rather than four of raw rows. Same answer, far less data leaving your environment. It is the option worth taking if anything in your usage table is sensitive.

See what these exports produce, including how unattributable cost is reported.