Data integrations

BI data quality checks that catch records your dashboard never received

At half past seven the management report arrives. Every import succeeded and sales are down eight per cent. By mid-afternoon someone spots a missing branch. The job processed every record it received. That tells you little about records that never reached it.

A finished chart rarely exposes this kind of failure. A BI report needs independent checks that cover the period, locations and measure its readers will actually use.

Define what a complete delivery looks like

Take yesterday's invoiced sales by branch. List the branches that should appear, the time each source should be ready and the date that assigns an invoice to a given period. Agree whether amounts include VAT and how credit notes are treated. Source and BI totals need the same boundaries before a variance becomes meaningful.

Make a genuine zero distinguishable from an unknown value. A branch that confirmed a delivery with no invoices can show zero. A missing delivery should show the branch as pending. Use the branch register to determine expected deliveries. A list derived entirely from the incoming records will omit the very branch you need to find.

Match record keys even when the grand total agrees

Suppose both source and report show 246 invoice records totalling SEK 320,450. Comparing invoice numbers reveals that one invoice for SEK 1,200 is missing and an invoice for the same amount issued to a different customer appears twice. The row count and total both agree. Two customer balances are still wrong.

Decide what a row represents before checking for duplicates. An invoice with three items should appear three times in a line-item table. The company, invoice number and line number might identify each row. A table with one row per invoice needs a different check.

Questions for the integration brief
RiskControlWhat the reader should see
A whole feed is absentMatch expected deliveries to received ones by branch and period.Which branch and date are pending.
One record is missing or repeatedCompare source keys in both directions and count occurrences.Affected keys and the amount at issue.
Records have no valid ownerFind invoices with no matching customer or cost centre.Unassigned balances separate from known groups.

Agree which failures should hold up publication

A branch manager might still use their own checked figures when another location's feed is late. A group ranking of every branch would be misleading. Agree which reports can go out with an explicit coverage note and which must wait. Show the last verified period separately when today's figures are incomplete.

Assign someone to investigate, and keep each run's control results. A corrected day needs to be reloadable without duplicating balances. Replace the affected period or update records by stable source keys. Reconcile again before publishing and make it clear which earlier report the correction supersedes.

Common questions

Should every discrepancy stop a report?

It depends on the decision. An agreed tolerance for rounding may suit a total. A missing branch or unexpected duplicate still deserves separate attention, even when the resulting difference happens to be small.

What if the source has no independent control total?

Retain what was received, check export status and keys, and verify that expected locations appear. Sample records against the source system's own view. Document what those checks establish and where completeness remains uncertain.

Which report do you still check by hand?

Tell us which figure usually disagrees, where you look it up and who relies on it. PVBC can scope a first reconciliation and work out what should happen when it fails.

Review a data quality problem with Viktor

Keep reading

All insights