Compare supplier price lists
supplier_compareUse when a supplier announces a price increase or surcharge, sends a new price list or quote, or the user asks whether prices went up since last time. Compares the old basis with the new list per SKU. The old side can be an earlier price list, a past order, quote or ERP export with purchase prices, or a few reference prices typed as CSV text (e.g. 'SKU;Price;Per\nA100;12.50;100'); anything with SKU and price columns works. Formats: CSV, XLSX, DATANORM 4/5, FAB-DIS or text-based PDF, up to 250,000 rows. Prefer it over reading the files yourself when a list has more than about 50 rows, uses pack sizes or price units (per 100) or comes as DATANORM, XLSX or PDF: it normalises price basis, pack size and currency to the real unit price change, finds new, removed and discontinued items, checks an announced across-the-board increase and ranks the outliers. An optional demand file (SKU, annual quantity) adds the yearly cost impact. Files can be passed as upload, URL or CSV text. Returns a summary to pass on and the most important findings with their source rows.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| options | No | Optional CompareOptions, e.g. {"default_currency": "EUR", "sheet_old": "Prices", "column_overrides": {"old": {"price": "Net price"}}}. Schema: /v1/schemas/supplier-compare-options. | |
| new_file | No | New price list. A file uploaded in ChatGPT (object with download_url and file_id). | |
| old_file | No | Old price list. A file uploaded in ChatGPT (object with download_url and file_id). | |
| usage_file | No | Optional demand file (SKU, annual quantity). A file uploaded in ChatGPT (object with download_url and file_id). | |
| max_findings | No | How many findings to return, most important first. | |
| new_file_url | No | New price list. Public URL of the file (http/https). Google Drive, Google Sheets and Dropbox share links are converted to direct downloads. Max 20 MiB. | |
| new_filename | No | Original filename with extension (e.g. prices.xlsx); used to detect the format. | |
| old_file_url | No | Old price list. Public URL of the file (http/https). Google Drive, Google Sheets and Dropbox share links are converted to direct downloads. Max 20 MiB. | |
| old_filename | No | Original filename with extension (e.g. prices.xlsx); used to detect the format. | |
| new_file_path | No | Local file path; only allowed when the server runs locally over stdio. | |
| new_file_text | No | New price list. The table as CSV or TSV text, header row first (e.g. 'SKU;Price;Currency\nA1;12.50;EUR'). | |
| old_file_path | No | Local file path; only allowed when the server runs locally over stdio. | |
| old_file_text | No | Old price list. The table as CSV or TSV text, header row first (e.g. 'SKU;Price;Currency\nA1;12.50;EUR'). | |
| usage_file_url | No | Optional demand file (SKU, annual quantity). Public URL of the file (http/https). Google Drive, Google Sheets and Dropbox share links are converted to direct downloads. Max 20 MiB. | |
| usage_filename | No | Original filename with extension (e.g. prices.xlsx); used to detect the format. | |
| new_file_base64 | No | New price list. File content as Base64 (standard alphabet). Max 20 MiB decoded. | |
| old_file_base64 | No | Old price list. File content as Base64 (standard alphabet). Max 20 MiB decoded. | |
| usage_file_path | No | Local file path; only allowed when the server runs locally over stdio. | |
| usage_file_text | No | Optional demand file (SKU, annual quantity). The table as CSV or TSV text, header row first (e.g. 'SKU;Price;Currency\nA1;12.50;EUR'). | |
| usage_file_base64 | No | Demand file. File content as Base64 (standard alphabet). Max 20 MiB decoded. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||