Skip to content
← All case studies

Sourcera · Procurement · Indirect spend · Supplier intelligence

From weeks of manual spend analysis to tender-ready savings opportunities.

Turning indirect spend into savings usually takes procurement analysts weeks of manual work. Indirect spend covers the services, software, logistics, facilities and other goods a company buys to run itself, spread across hundreds of categories and thousands of suppliers, many of them small. Sourcera is a procurement intelligence platform for this spend. We built the AI engine that does the work end to end. It reads the spend, profiles the suppliers, finds savings opportunities, checks them against contracts, and drafts the tender documents (RFx: requests for proposal, quotation or information), directly in the customer's sourcing platform. Each stage of the pipeline has its own evaluation. For enterprise procurement teams, the engine identified millions in estimated savings potential, with opportunities of €500K to €20 million each. These are estimates, not realized savings. Across more than 50 opportunities, about 60% were adopted by the end customers, meaning a tender was started, and RFx preparation takes about 80% less effort.

~60%
Opportunities adopted by end customers
~80%
Less effort in RFx preparation
€500K–€20M
Estimated savings potential per opportunity

Snapshot

Client
Sourcera, procurement intelligence platform for indirect spend
End customers
Enterprise procurement teams
Product
AI engine for spend analysis, supplier intelligence and sourcing document generation
Engagement
Since July 2025. Built from the first commit.
Scope
Platform architecture and infrastructure, spend data integration, supplier enrichment, opportunity scanning and validation, RFx generation, sourcing platform integration, supplier matching, payment terms normalization, document intelligence, evaluation across all stages, release gating, production monitoring, LLM cost control
Stack
LangGraph, Claude and OpenAI models, Pinecone, Langfuse, Next.js, Postgres, Azure

The challenge

Indirect spend is one of the hardest areas in procurement to analyze. Unlike direct materials, it has no bill of materials to anchor it. It spans hundreds of categories, from IT services to road freight to facility management. Much of it goes to a long tail of small suppliers. Supplier names differ from one export to the next. Contracts are PDFs. Payment terms are free text in several languages.

A category manager who wants to find savings has to do four things by hand:

Opportunity engine

Work out where spend is fragmented and which suppliers are tail spend.

Supplier intelligence

Understand what each supplier actually delivers, where and under what contract.

Opportunity engine

Decide which opportunities are worth pursuing, and which suppliers must be kept even if they look small.

RFx generation

Write the RFx (request for proposal or quotation): project brief, supplier questionnaire and pricing grid.

Why stability had to be designed in

Done manually, each step takes weeks. Sourcera's goal was to make all four run automatically, with results a procurement professional would trust and act on.

Automating a chain of steps brings its own challenge. Each stage uses the output of the one before, so small errors add up. For example, six stages that are each right 95% of the time give a correct end result only about 74% of the time, if each stage succeeds independently of the others. The errors are also quiet: a wrong savings estimate is still a plausible number. And each customer's data is different, so a prompt tuned for one customer can weaken another.

Example: end-to-end accuracy of six stages, each right 95% of the time

100%
95%
90%
86%
81%
77%
74%
123456

Stage

Each bar shows the share of results that are still correct after that stage. The errors multiply if each stage fails independently, so after six stages about one result in four is wrong.

Our approach

The main flow, with an evaluation at every stage

  1. 1Spend dataEval
  2. 2Supplier profilesEval
  3. 3OpportunitiesEval
  4. 4Contract checkEval
  5. 5RFx packageEval
  6. 6Sourcing platformEval

The six main stages, in order. Each has its own evaluation, so a drop in quality can be traced to the stage that caused it. The full pipeline has ten stages.

Platform and data

  1. 01

    Build the foundation first

    We set up the platform from the first commit: a monorepo with shared libraries, infrastructure as code on Azure with separate development, test and production environments, and CI checks on every pull request. Each AI service runs as its own queue-based worker, so heavy jobs scale and retry without blocking the product.

  2. 02

    Connect the data where it lives

    We built integrations to the customer's spend analytics platform and to the sourcing platform where tenders run. ERP and Excel exports are imported for customers without a direct connection.

  3. 03

    Solve the data problems that block everything else

    Supplier matching recognizes the same supplier across datasets with no shared IDs. Payment terms normalization turns free-text terms such as "60 days net, 2% discount within 3 days" into structured net payment days, in several languages.

Supplier intelligence

A supplier profile

Illustrative

Example supplier

CategoryLogistics › Road freight › Full truckloadTransactionsConfidence92%Data sufficiency90%
Regions servedGermany, Austria, SwitzerlandCompany researchConfidence78%Data sufficiency60%
Contract endAfter fiscal year endContractConfidence95%Data sufficiency100%
CertificationsNot enough dataAbstainedConfidence–Data sufficiency20%

Confidence: how certain the engine is about the value. Data sufficiency: how much evidence the data holds for it. Certifications have almost no evidence, so the field is left open instead of guessed.

  1. 04

    Give every supplier a profile

    Spend data says how much was bought, not what a supplier can do. The enrichment pipeline combines transaction descriptions, contract documents and external company research into a structured profile, from a universal core down to three levels of category. Each field is backed by a data source and carries two scores. Confidence says how certain the value is. Data sufficiency says how much evidence the data holds for it. Where the evidence is too thin, the profile says so instead of guessing.

Opportunity engine

Breadth against caution

Too cautious

Finds nothing worth a tender

Balanced

Broad coverage, key vendors protected

Too eager

Consolidates away key vendors

Suppliers checked against contracts

~80% Not blocked by a long contract~20% Contract beyond the fiscal year, mapped for later

The engine is tuned to the middle of this range, and the evals measure both failure modes. The lower bar shows how the contract check split the suppliers.

  1. 05

    Find the opportunities a procurement analyst would find

    The opportunity scanner follows the steps a category manager takes. It measures fragmentation per category, identifies tail spend, clusters suppliers and proposes consolidation, standardization and spot-buy opportunities with estimated savings. We reviewed the workflow with procurement practitioners, so the logic matches how the work is done.

  2. 06

    Balance breadth and caution

    An opportunity engine can fail in two directions. Too eager, and it consolidates away a small supplier the business depends on. Too cautious, and it finds nothing worth a tender. The evals measured both. They tracked how well opportunities covered each industry domain, and checked that small but specialized key vendors were protected.

  3. 07

    Map contract constraints instead of hiding them

    Each supplier is checked against existing contracts. Contracts that run beyond the end of the fiscal year are flagged, so the category manager sees the constraint and its timing. About 20% of suppliers had contracts running beyond the fiscal year and could not yet be included in opportunities. The rest are not blocked by a long contract. They are still mapped, so they can be planned for when the contract allows.

RFx generation

  1. 08

    Draft the tender

    For each opportunity, three agents produce the RFx package: a project brief, a supplier questionnaire and an item grid with pricing fields. Prompts are specific to the category. Guard rails stop the documents from revealing the buyer's internal strategy. Outputs are validated against a schema and unit prices are enforced.

  2. 09

    Push it into the sourcing platform

    The RFx package is created as a sourcing project in the customer's sourcing platform, with questionnaire, grids, schedule, team and suppliers attached. A category manager opens a ready tender instead of a blank one.

Evals and release

How a release is decided

Blocks a release when a check fails

  • Contract flagging
  • RFx leakage
  • Data reconciliation
  • Supplier merge precision (minimum)

Gated against normal variation

  • Every other test pack, per stage
  • Reference scenarios per customer
  • New customers on their own data

Left: checks that stop a release when they fail or fall below their minimum. Right: checks that allow for the normal variation between runs, so only a real drop blocks a release.

  1. 10

    Give every stage a contract and test it

    We wrote down what each stage must deliver and built an evaluation for each one. Procurement experts labeled what correct looks like. Deterministic checks cover what code can verify. LLM judges cover the rest, calibrated against the experts and against known judge biases first.

  2. 11

    Test the whole chain on real customer scenarios

    Each customer has reference scenarios from anonymized real data, reviewed by experts and then frozen. When an end-to-end result drops, we rerun the chain with one stage replaced by its correct output. That shows which stage caused the drop.

  3. 12

    Release on evidence

    Contract flagging, RFx leakage and data reconciliation block any release on failure. Supplier merge precision blocks a release when it falls below its minimum. Everything else is gated against the normal run-to-run variation of each test pack. A new customer passes the same gate on its own data before it sees results.

  4. 13

    Choose models for accuracy

    Retrieving the right data, extracting it and labeling suppliers correctly decides the quality of everything downstream. We ran the pipeline mainly on Claude models and did not trade accuracy for a cheaper model.

Production

  1. 14

    Learn from production

    Adopted and dismissed opportunities, edits to generated RFx documents and corrections to supplier profiles are all signals. Drift is checked on each new data load. Reviewed cases flow back into the test sets.

An evaluation for every stage

The pipeline has six main stages and ten evaluated stages. Spend data covers ingestion, normalization and supplier matching. Supplier profiles cover document intelligence, enrichment and ranking. Opportunities, contract check, RFx package and sourcing platform each have one evaluation.

Ingestion

Data in Sourcera matches the source

Totals and counts reconciled with the source per period, entity and category. Checks for missing data, duplicates and currency on each data load.

Normalization

Free text becomes correct structured values

Labeled payment terms by language and pattern, with "unknown" as a valid answer. Category mapping scored per level.

Supplier matching

One real supplier is one record

Correct and missed matches on labeled supplier pairs, including subsidiaries and similar names. Wrong merges weigh more than missed ones.

Document intelligence

What is in the contract is found

Accuracy of each extracted field, whether the right passages are found, whether critical clauses are caught, and a judge that rates answers on six criteria.

Supplier enrichment

Profiles are correct, grounded and honest about uncertainty

Fields checked against expert profiles, a source for each field, no guessing when data is missing, confidence that matches real accuracy, tag quality and stable results across runs.

Supplier ranking

The best-fitting supplier ranks first

Agreement with expert rankings, robustness to scoring weights, and a check that high spend does not bias the ranking.

Opportunity scanning

Broad coverage, key vendors protected, savings realistic

Coverage per industry domain, protection of specialized key vendors, balance between eager and cautious proposals, and test data with known opportunities planted in it.

Opportunity validation

Contract constraints are flagged, not missed

Labeled opportunities with known contract terms. Contracts beyond the fiscal year must be flagged with the right reason and timing.

RFx generation

Complete, category-specific, nothing internal revealed

Rule checks on the pricing grid, leak tests with planted target prices, an expert rubric, a calibrated judge and side-by-side comparison of versions.

Platform push

The tender matches what was generated

Tests in a sandbox, and each created project read back and compared field by field.

Keeping the comparison fair

Three things can skew what the engine proposes: the models that generate and judge, the scorers that measure, and the data itself. We worked on all three.

  • Judge models have habits

    LLM judges are known to favor their own outputs, longer answers and answers in a certain position. We calibrated the scorers against these judge biases, so a scorer does not reward what a model happens to prefer.

  • Scorers must agree with experts

    An evaluation can be wrong in a consistent direction. We compared scorers with subject matter experts and tuned them where they disagreed.

  • Data differs by supplier

    This is the hardest to solve, and in part it cannot be solved. Every supplier provides different data, with a different focus and depth, and suppliers with richer data can look stronger. We reduced the effect and made the rest visible.

  • Keep suppliers, opportunities and RFx comparable

    We cross-validated each of them for a preference towards a single supplier. Keeping all of them at the same data granularity avoids favoring one supplier later in the pipeline. Real data never allows this fully. Some suppliers will not come out as strong, and we accept that. That is why the RFx goes to all favored suppliers. They can show whether they cover capabilities that were dropped from other suppliers.

  • Honor depth of expertise

    A specialized capability matters even when the supplier looks small. We interviewed the customers about the key capabilities they require. That let us protect specialized suppliers where it matters.

  • Check with the people who know the category

    Opportunities are the easiest way to compare suppliers, so we reviewed them with the end users often. We traced differences back to capability matching and tuned the evals with subject matter expert reviews. For the RFx, supplier capabilities and earlier RFx documents flowed back in, to check whether a new RFx reached similar quality. Peer reviews with experts on sampled opportunities helped calibrate the evals too. Industry experience and understanding the procurer's view mattered most. It also gave procurers a sense of ownership and built their trust in the system.

What we built

Platform and data

  • Platform foundation

    Monorepo, shared libraries, queue-based workers, infrastructure as code on Azure across three environments, CI checks.

  • Spend data integrations

    Automated import from the customer's spend analytics platform, plus ERP and Excel importers.

  • Data services

    Supplier matching across datasets, multilingual payment terms normalization, LLM-based OCR and retrieval over contracts.

Supplier intelligence

  • Supplier enrichment and ranking

    Category-aware profiles from transactions, documents and external research, with capability tags, source-backed fields and confidence scores. Suppliers ranked per capability.

Opportunity engine

  • Opportunity scanner and validation

    Fragmentation analysis, tail spend detection, supplier clustering, savings opportunities, contract term flagging and protection of key vendors.

RFx generation

  • RFx generator and platform integration

    Project brief, questionnaire and item grid agents with category-specific prompts, created as sourcing projects in the customer's platform.

Evals and release

  • Evaluation and release gate

    Expert-labeled test sets, deterministic checks and calibrated judges for all ten stages, reference scenarios per customer and release-critical metrics.

Production

  • Production monitoring and cost control

    Opportunity adoption and dismissal reasons, RFx edit tracking, drift checks, and per-service AI budgets with tracing.

Business outcomes

Results at a glance

~60%
Opportunities adopted by end customers
−80%
Effort in RFx preparation
BeforeAfter
€500K – €20M
Estimated savings potential per opportunity

Adoption is the share of proposed opportunities for which an end customer started a tender. The RFx bars compare manual tender creation (before) with AI generation plus manual adjustment (after). The range is the estimated potential of a single opportunity, not realized savings.

Platform and data

  • Messy data stops blocking analysis

    Supplier matching and payment terms normalization are both above 90% accuracy. Days of spreadsheet work become a pipeline run.

Supplier intelligence

  • Supplier profiles are backed by data

    Every field in a profile links to the data source it came from, so users can check any value. Where an industry has less data or less public information about its companies, confidence is lower, and the user can see it.

Opportunity engine

  • Millions in estimated savings potential

    The scanner runs the analysis a category manager would do, across all categories at once. For its enterprise customers it identified millions in estimated savings potential, with single opportunities of €500K to €20 million. These are estimates, not realized savings.

  • About 60% of opportunities adopted

    Across more than 50 proposed opportunities, end customers adopted about six in ten. Adopted means a tender was started. The evals made the breadth of opportunities across domains measurable, protected specialized key vendors and kept the engine balanced between too eager and too cautious. We believe this balance is a main reason for the adoption rate.

  • Contract constraints are visible, not surprising

    About 20% of suppliers were tied up by contracts beyond the fiscal year. They are mapped and timed for when the contract allows, instead of being lost or proposed too early.

RFx generation

  • RFx preparation takes about 80% less effort

    Category managers review and send a tender instead of writing one. The figure compares creating a tender manually with generating it by AI and adjusting it by hand afterwards, across the same more than 50 opportunities. It is a reduction in preparation effort. Most of the remaining effort goes into adjusting capability grids. Leakage tests make sure no target price or internal note reaches a supplier.

Evals and release

  • Stable results across customers

    Each data load is reconciled and checked for drift. Changes are tested on all customers before release. New customers pass the same gate on their own data before they see results.

Key numbers

€500K to €20M
Estimated potential of a single savings opportunity
~60%
Opportunities adopted by end customers
~80%
Less effort in RFx preparation
90%+
Supplier matching and payment terms accuracy
10
Pipeline stages, each with its own evaluation

What we learned

  • A chain is only as stable as its weakest stage

    Testing each stage on its own contract shows where problems start. Testing the whole chain shows what the customer sees. Both are needed.

  • The hard part of indirect spend is telling similar suppliers apart

    Basic facts about a supplier are easy to get right. Finding the specialization that sets one vendor apart from five similar ones is where most of the work went, and where it pays off.

  • Balance matters more than volume

    An engine that proposes everything gets ignored. One that protects every supplier finds nothing. Measuring both sides kept adoption high.

  • Flag constraints, do not hide them

    A contract that blocks an opportunity today is useful information for next year.

  • Back every field with a source

    It keeps invented values out of supplier profiles, and it lets users check any answer.

  • Accuracy upstream is worth paying for

    Retrieval, extraction and labeling decide the quality of everything after them. That is not where to save on the model.

  • Uneven data can be managed, not removed

    Every supplier provides different data. Keep suppliers, opportunities and RFx comparable where possible, check with the people who know the category, and give other suppliers a way to cover what one lacks.

Working on something similar?

Tell us about the workflow. The first meeting is free.

Talk to us

Next case study →

FGS Global: One quality standard for an enterprise AI agent network.