Automate vendor quote comparison with n8n (no manual spreadsheet needed)

Getting multiple quotes for a purchase is good practice. But once they arrive, someone has to open each PDF, manually pull out the totals, delivery timelines, payment terms, warranty details, and copy everything into a spreadsheet so the team can compare side by side. For three quotes that’s 20 minutes of data entry. For seven quotes it’s an hour — before any actual decision-making happens.

Built a workflow that extracts every quote the moment it lands in Drive and adds it as a row to a comparison sheet automatically.

What it does

Quote PDF dropped in Google Drive → extracts all vendor and pricing data → checks quote validity → logs to comparison sheet → posts full summary to Slack

Takes about 10-12 seconds per quote.

What gets extracted

Vendor:

  • Name, address, contact person, email, phone

Quote identification:

  • Quote number, quote date, valid until date

Line items (full array):

  • Description, part number, quantity, unit price, extended price

Pricing breakdown:

  • Subtotal

  • Discount — type, amount, percentage

  • Tax amount

  • Shipping cost

  • Grand total and currency

Terms:

  • Payment terms (Net 30, Net 60, etc.)

  • Delivery timeline in days

  • Warranty — duration and coverage

  • Special conditions and notes

Quote validity check

The Code node calculates days remaining on each quote:

  • Expired → past valid until date :cross_mark:

  • Expiring Soon → 7 days or less :warning:

  • Valid → more than 7 days :white_check_mark:

The validity emoji appears in the Slack notification header so the team sees it immediately.

What lands in Slack


✅ New Vendor Quote Added

Vendor: Pacific Office Supplies Co.

Quote #: QT-2025-00847

Quote Date: March 14, 2025

📋 Line Items (4):

• 10x Ergonomic Chair Model X @ $285.00 = $2,850.00

• 5x Standing Desk 60" @ $445.00 = $2,225.00

• 10x Monitor Arm Dual @ $120.00 = $1,200.00

• 10x Cable Management Kit @ $35.00 = $350.00

💵 Pricing:

• Subtotal: $6,625.00

• Discount: 8% (-$530.00)

• Shipping: $180.00

• Tax: $556.95

• Grand Total: $6,831.95 USD

📅 Validity: April 14, 2025 (Valid — 31 days left)

🚚 Delivery: 7-10 business days

💳 Payment: Net 30

🛡️ Warranty: 2 years — parts and labor

📄 View Quote

What lands in Google Sheets

Each row: Vendor, Quote #, Quote Date, Valid Until, Status, Items (count), Subtotal, Discount, Shipping, Tax, Grand Total, Currency, Delivery Days, Payment Terms, Warranty, Contact, Quote Link, Added Date

Every quote in one sheet, same columns. Sort by Grand Total to find the cheapest option. Sort by Delivery Days to find the fastest. Filter by Status to remove expired quotes before deciding.

Setup

You’ll need:

  • Google Drive (folder for vendor quote PDFs)

  • Google Sheets (free)

  • n8n instance (self-hosted — uses PDF Vector community node)

  • PDF Vector account (free tier: 100 credits/month)

  • Slack (for quote notifications)

About 10 minutes to configure.

Download

Workflow JSON:

quote-comparison-tool.json

Full workflow collection:

khanhduyvt0101/workflows


Setup Guide

Step 1: Get your PDF Vector API key

Sign up at pdfvector.com — free plan works for testing. Go to API Keys and generate a key.

Step 2: Create your Google Drive folder

Create a folder called “Vendor Quotes.” Copy the folder ID from the URL.

Step 3: Create your Google Sheet

Headers in Row 1:


Vendor | Quote # | Quote Date | Valid Until | Status | Items | Subtotal | Discount | Shipping | Tax | Grand Total | Currency | Delivery Days | Payment Terms | Warranty | Contact | Quote Link | Added Date

Step 4: Import the workflow

Download JSON from GitHub → n8n → Import from File.

Step 5: Configure the nodes

Google Drive Trigger:

  • Connect Google Drive account (OAuth2)

  • Paste your folder ID

  • Event: File Created

Download Quote:

  • Same Google Drive credential

PDF Vector - Extract Quote:

  • Add new credential (Bearer Token)

  • Paste your API key

Process Quote:

  • No config needed — validity check and formatting run automatically

  • To change the expiry warning threshold, edit <= 7 in the Code node

Add to Quote Comparison:

  • Connect Google Sheets

  • Paste your Sheet ID

Notify Team:

  • Connect Slack

  • Select your procurement channel

Step 6: Test it

Drop any vendor quote PDF into your Drive folder. Check Slack and your Sheet after about 20 seconds.


Accuracy

Tested on vendor quotes from suppliers, contractor bids, and service provider proposals.

  • Vendor name, quote number, date: ~97%

  • Line item descriptions and quantities: ~94% on well-structured quote templates

  • Unit prices and extended prices: ~96%

  • Grand total: ~98% — usually the most prominently displayed number

  • Payment terms and delivery timeline: ~91%

  • Discount extraction: ~88% — works best when discounts are explicitly labeled

  • Warranty details: ~85% — varies significantly by how vendors present this

Handwritten or poorly formatted quotes: accuracy drops. Digital PDFs from accounting software (QuickBooks, FreshBooks, Xero) work best.

Cost

Each quote uses 3-4 PDF Vector credits. Free tier of 100 credits handles roughly 25-30 quotes per month.

Customizing it

Add a scoring formula to Sheets:

After all quotes are logged, add a column that scores each quote based on weighted criteria — e.g., 50% total price + 30% delivery speed + 20% warranty length. Conditional formatting highlights the top scorer automatically.

Alert on expiring quotes:

Build a companion scheduled workflow that checks your Sheets every morning and posts a Slack message listing any quotes expiring within 7 days.

Group quotes by project:

Add a Project column and use the filename prefix (e.g., “OFFICE-RENO-vendor1.pdf”) to tag quotes. Filter by project to compare only the quotes relevant to a specific purchase decision.

Connect to an ERP:

After logging to Sheets, add an HTTP Request node to create a quote record in your procurement system or ERP via API.


Limitations

  • Requires self-hosted n8n (PDF Vector is a community node)

  • Validity check is point-in-time — doesn’t auto-update as quotes approach expiry

  • Doesn’t normalize line items across vendors — you’ll need to manually align comparable items in Sheets

  • No automatic winner selection — the comparison is structured data, final decision is yours


PDF Vector n8n integration

Full workflow collection

Questions? Drop a comment.

2 Likes