You can't map a supply chain
if you can't identify the companies
Supply chain intelligence depends on knowing precisely which companies you're tracking. When the same manufacturer appears under a dozen name variants across your sources, everything built on top — risk scoring, due diligence, compliance checks — inherits that ambiguity. Tilores resolves company records into a single, reliable entity graph before your intelligence layer ever runs.
Duplicate company records corrupt everything downstream
A tier-2 supplier appears across multiple data sources under different name forms. Your system treats each as a different company:
Every source record for a company resolves into a single canonical cluster — before any intelligence runs on top:
Company matching is harder
than person matching
Two people named John Smith in the same city are relatively distinguishable. Two companies called Ideal Industries Inc. registered in the same state may be genuinely different organisations with no reliable discriminating attribute available.
Global shipping and customs data compounds this further. Records are captured from handwritten port documents, scanned forms, and OCR systems operating across dozens of languages and scripts. Company names carry embedded address fragments, extraneous tokens, transliteration variants, and missing attributes.
Standard fuzzy matching and exact name search can't resolve records like these. Tilores uses token-weighted matching that down-weights common terms ("industry", "solutions", "international"), handles diacritics and script variants, and applies consistency rules to prevent over-clustering — even when records from a dozen sources all describe the same company in different ways.
An entity layer your intelligence stack builds on
Connect company registries, shipping databases, customs feeds, trade reference data, and internal supplier records into a single Tilores instance via GraphQL.
Tilores applies token-weighted matching, geo-distance rules, ID-based matching, and consistency checks to cluster all records for the same company — regardless of name variant or data quality.
As new records arrive, the entity graph updates continuously. Kafka-compatible event streams propagate cluster changes to your downstream systems automatically.
Risk scoring, due diligence, sanctions screening, and supply chain mapping all run against a clean, de-duplicated company graph — not raw, noisy source data.
Built for the complexity of real supply chain data
Down-weights generic tokens ("industry", "solutions", "international") that cause false matches, while surfacing high-signal name fragments — even when embedded in OCR noise or address strings.
New records resolve in real time as they arrive from source pipelines. Your entity graph is always current — no nightly batch runs, no stale clusters, no delayed risk signals.
Even when matching rules fire, a designated field (VAT ID, tax number, company registration) can veto a cluster assignment — preventing over-clustering even in high-noise datasets.
Handles Chinese business name structures, diacritics, script variants, and transliterations across languages — so entity resolution works across every geography in your supply chain.
Geo-coordinate-based rules let you match records that share a location within configurable distance thresholds — useful when address strings differ but physical location is consistent.
Search and resolve across hundreds of millions of records in under 100 milliseconds — fast enough for real-time lookups, due diligence workflows, and transactional risk checks.
Designed for enterprise data infrastructure
Available on AWS Marketplace. Integrates with existing Spark, Kafka, and data warehouse infrastructure without rebuilding dependent systems.
GraphQL API for record ingestion and entity search. Event streaming for cluster updates propagated downstream.
<100ms search across hundreds of millions of records — suitable for real-time due diligence, analyst tooling, and transactional lookups.
Handles 110M+ records with cluster sizes up to 6,000 records. Clique-based graph compression handles the largest clusters without performance degradation.
Continuous ingestion — new records resolve into the entity graph in real time, not overnight batch. Full initial loads of 110M records complete in under 24 hours.
SOC 2 certified. Explainable matching — every resolution decision returns matched attributes, source records, and the rules that triggered the match.
query ResolveCompany($name: String!, $country: String!) {
search(input: {
parameters: {
companyName: $name
country: $country
}
}) {
entities {
id
score
hitScore
records {
id
companyName
registrationNumber
country
vatId
sourceType
}
}
}
} Related use cases
Start from accurate company identity —
build better intelligence on top
See how Tilores resolves company records at scale. Available on AWS Marketplace.