Trust
Data quality
What made it into the warehouse, and where the ERP extracts are thin.
Checks passed
9
of 10 run
Warnings
1
Expected on ERP exports
Failures
0
Blocking for reporting
Check results
Warnings are informational. Liquor ERP extracts routinely carry scheme rows, credit notes and licence codes without a matching master record, so these are surfaced rather than silently dropped.
| Check | Value | Notes | |
|---|---|---|---|
| Backend | ClickHouse | ubl_poc @ ok (26.7.1.1001) | |
| Items loaded | 7,124 | ITEM_MASTER rows | |
| Parties loaded | 189,832 | PARTY_MASTER rows | |
| Sales invoices | 1,090,828 | INVOICE_MASTER rows | |
| Sales lines | 1,698,557 | INVOICE_DETAILS rows | |
| Purchase lines | 10,301 | PURCHASE_DETAILS rows | |
| SKUs missing from master | 0 | Sales lines fall back to the invoice line item name | |
| Sales lines without a usable date | 0 | Excluded from trend and forecast | |
| Months of history | 4.3 | 2026-04-01 to 2026-08-11 | |
| Knowledge chunks | 1 | Built during ingest |
Lineage
How a number on the dashboard traces back to a file on disk.
- Source - tab-delimited, headerless ERP exports under C:\UBL\DATA\MH\DATASYNC.
- Parse - fixed column positions declared in NanakSchema.cs, one mapping per export type.
- Load - Ubl.Ingest upserts into SQLite or bulk-inserts into ClickHouse (--provider=clickhouse).
- Serve - IAnalyticsQueries issues parameterised SQL for the active provider; nothing on the UI writes SQL by hand.
- Explain - every report carries its own narrative and exports to CSV for audit.