Skip to content
← All case studies
AI & agentic workflows Internal work sample

Fleet consumption analysis and asset resolution

The consumption side of the same supply transformation: asset-level visibility across 222 invoices and 2,681 lines, resolving inconsistent identities and flagging 24 price-outlier codes for review.

222 · 2,681 lines
Invoices processed
24 flagged
Price-outlier codes
14-tab BI
Reporting layer

Evidence inputs

  • Pairs with the purchase-side invoice pipeline: stock bought and determined there is consumed here, closing the loop from value creation to value recording and evaluation. High-volume consumption invoices matched against a 243-asset reference register.
  • Python · Gemini (structured output + search grounding) · openpyxl

Transformation

  • Resolved identities through exact matching, alias normalisation and grounded model lookup for the residual.
  • Flagged price outliers against the modal price for each item code.
  • Loaded results into a fourteen-tab consumption reporting layer.

Controls & assurance

  • Ordered identity resolution from deterministic matching to grounded model lookup.
  • Flagged anomalies for human review instead of correcting them automatically.

Output

  • Processed 222 invoices and 2,681 lines, flagged 24 item codes as price outliers, and delivered a fourteen-tab consumption view.

Business value

  • Gives finance consistent asset-level visibility and surfaces price anomalies hidden by flat reporting.
  1. Problem

    Inconsistent asset names and aliases obscured consumption patterns and price anomalies.

  2. Approach

    Resolved identities through exact matching, alias normalisation and grounded model lookup for the residual.

  3. Outcome

    Processed 222 invoices and 2,681 lines, flagged 24 item codes as price outliers, and delivered a fourteen-tab consumption view.

Business value

Gives finance consistent asset-level visibility and surfaces price anomalies hidden by flat reporting.

Transformation route

  1. 01

    Resolved identities through exact matching, alias normalisation and grounded model lookup for the residual.

  2. 02

    Flagged price outliers against the modal price for each item code.

  3. 03

    Loaded results into a fourteen-tab consumption reporting layer.

Decision log

  • Ordered identity resolution from deterministic matching to grounded model lookup.
  • Flagged anomalies for human review instead of correcting them automatically.

What I learned

  • Tiered resolution controls cost while reserving grounded lookup for genuine ambiguity.

Future improvements

  • Feed resolved identities into the reference register and track precision by resolution tier.

← All case studies · Discuss this work →