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
RequiredOne 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
RequiredWhat 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
OptionalTenant 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
OptionalWhat 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.