Part search, matching and ordering with popular suppliers
Project description
SupplierScout
SupplierScout is an InvenTree plugin that automatically finds, matches, and imports supplier parts for your inventory. Given any purchaseable part in InvenTree, it derives a search query from the part's name, parameters, IPN, MPN, and category, then searches configured supplier APIs, ranks the results, and lets you add or update supplier parts and price breaks with one click.
Features
- Automatic query derivation — builds a supplier search query from the part's name, Internal Part Number (IPN), Manufacturer Part Number (MPN), parameters, and category hierarchy, with normalisation for passive component values (capacitance, resistance, EIA codes, engineering shorthand).
- Candidate ranking — scores results using a configurable mix of text-match similarity, stock availability, and unit price; supports balanced, availability-first, and price-first strategies.
- One-click import — select one or more candidates and add or update supplier parts, manufacturer parts, and price breaks directly from the part detail page.
- Scheduled resync — periodically refreshes existing supplier-part metadata and price breaks in the background, with per-supplier interval and batch-size controls.
- Response caching — caches API responses to reduce quota usage and improve responsiveness.
- API usage tracking — per-supplier request counters and daily-limit enforcement with a dashboard widget showing live metrics.
- Per-user supplier credentials — users can store their own supplier credentials (API key or OAuth2 client credentials), overriding global settings for their own searches.
- Token debug endpoint — inspect exactly which tokens were extracted from a part and how the final search query was constructed.
Supported Suppliers
| Supplier | Search | Scheduled Resync | Notes |
|---|---|---|---|
| DigiKey | ✅ | ✅ | Uses DigiKey OAuth2 client credentials (client_id + client_secret) for authenticated API access; response caching |
| Mouser Electronics | ✅ | ✅ | Part-number and keyword search; response caching; per-user API keys |
Additional suppliers can be added by implementing a BaseSupplierAdapter subclass.
System Requirements
Supplier Scout depends on InvenTree plugin integration features. A system administrator should verify these are enabled before users start configuration:
- Plugin UI integration so the Supplier Match action and dashboard widget can be rendered in the web interface.
- Background workers and scheduled tasks so scheduled supplier resync jobs can run.
- Plugin URL / API route integration so plugin endpoints under
/plugin/supplierscout/are available.
Runtime dependencies are installed automatically from the package. To build or modify the frontend locally, you will also need Node.js and npm.
Quick Install
Via the InvenTree Plugin Manager (recommended)
- Open InvenTree → Settings → Plugins.
- Click Install Plugin.
- Enter the package name:
inventree-supplier-scout - Click Install and then Activate.
Via the Command Line
pip install inventree-supplier-scout
After installation, restart InvenTree and activate the plugin in Settings → Plugins.
From Source
git clone https://github.com/getpwnam/inventree-supplier-scout.git
cd inventree-supplier-scout
pip install -e .
Quick Setup
After activating the plugin, you must configure at least one supplier before you can search:
- Open Settings → Plugins and click on Supplier Scout → Plugin Settings.
- Set either DigiKey Supplier ID (
DIGIKEY_PK) or Mouser Supplier ID (MOUSER_PK) to the primary key of your supplier company record in InvenTree. - Set credentials for your chosen supplier:
- DigiKey:
DIGIKEY_CLIENT_IDandDIGIKEY_CLIENT_SECRET - Mouser:
MOUSER_APIKEY_SEARCH
- DigiKey:
- Save. The Supplier Match action will now appear on every purchaseable part. If you only set API credentials without a supplier company ID, the action will stay hidden because the plugin has not been registered against a supplier record yet.
Screenshot
Documentation
- User guide: docs/USER_GUIDE.md
- Configuration: docs/CONFIGURATION.md
- API reference: docs/API.md
- Search token extraction: docs/SEARCH_TOKENS.md
- Development guide: docs/DEVELOPMENT.md
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file inventree_supplier_scout-0.1.2.tar.gz.
File metadata
- Download URL: inventree_supplier_scout-0.1.2.tar.gz
- Upload date:
- Size: 47.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
921555b287f84c01c0590541cf2b910320fcb97fbcd568965c56930ed52a2b82
|
|
| MD5 |
0d51e097c6d8663980fe81cbdbf96a7e
|
|
| BLAKE2b-256 |
b299a9ea70c7710cd8396ed7836bf77a803a9361afb9b73cecfd71ea78319925
|
File details
Details for the file inventree_supplier_scout-0.1.2-py3-none-any.whl.
File metadata
- Download URL: inventree_supplier_scout-0.1.2-py3-none-any.whl
- Upload date:
- Size: 55.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9aab76a285ea10d39f5165c2d999f5b43945e0526da7ececd25a8745fc99d3a8
|
|
| MD5 |
ee5a7a16a6df588aa072f3fb37a2a7b4
|
|
| BLAKE2b-256 |
641993f6eb1d3672bd98dcf2ecdff0b27e8824d2b1ed1012ce7e050cd58cca49
|