Quick overview
This workflow lets you upload a supplier price list (PDF, XLSX, or CSV), compares it to previously accepted supplier prices stored in n8n Data Tables, calculates the cost impact on your products using a bill of materials, and generates an Anthropic Claude negotiation brief.
How it works
- Receives a form submission with the supplier name, price list file, validity date, and whether the list is a full list or a partial update.
- Detects whether the uploaded file is a PDF, Excel, or CSV and extracts price rows (using Anthropic Claude for PDFs and for spreadsheet column mapping).
- Normalizes units and parses prices to a comparable “price per base unit”, flagging unreadable rows, unknown units, and (for PDFs) rows that cannot be verified against the extracted PDF text.
- Loads the last accepted prices and your BOM lines from n8n Data Tables and compares the new list to identify increases, decreases, new items, and discontinued items.
- If any changes look risky (for example unit/currency changes, large jumps, or possible code replacements), prompts you in a second form to accept or reject those specific rows.
- Applies accepted changes to the BOM to calculate per-product and annual material cost impact, writes updated supplier prices and a change log to n8n Data Tables, and (when there are notable increases) uses Anthropic Claude to draft a short negotiation brief.
- Displays a final results page summarizing price changes, product cost impact, items to fix, and the negotiation brief.
Setup
- Run the “Initialize Tables” path once to create the n8n Data Tables: supplier_prices, price_change_log, and bom_lines.
- Populate the bom_lines table with your product structure (product_code, supplier, supplier_sku, qty_per_product, base_unit, and optional annual_volume) and ensure supplier names match what you enter in the upload form.
- Add an Anthropic credential for the Claude steps and select an available Claude model.
- Review the thresholds and defaults in the Set Processing Parameters node (currency, alert/review thresholds, CSV encoding, and brief language) to match your process.
- Activate the workflow and use the form URL to upload a known price list once to establish a baseline for each supplier before running future comparisons.
Requirements
- n8n with Data Tables (tested on n8n 2.8.4) and an Anthropic API key
Customization
- Add an email trigger to pick up price lists that arrive by mail, or send the results page to Slack or email.
Additional info
PDF price lists need a text layer; scanned PDFs stop with a message asking for the Excel or CSV version. Currency conversion and quantity-based tiered prices are not handled.