# Compare a vendor invoice with an approved quote

Canonical page: https://agents.paretoid.com/workflows/compare-a-vendor-invoice-with-an-approved-quote/

Category: Operations & Reporting

Practice relevance: cross-practice. A general operational method. Review the stated tool and jurisdiction limits before use.

Jurisdiction/provider scope: 

Check quantities, rates and extra lines against approved orders and amendments.

Status: Proposed / not tested. The public source describes the problem. Documentation supports only the stated method components; no result from this recipe has been verified.

Verification: Source methods and reported problems have been reviewed. We have not run the adapted workflow. The sample below describes expected behavior on synthetic data, not a customer result.

## The problem

Check quantities, rates and extra lines against approved orders and amendments.

Why it matters: An unexpected invoice line can reflect a valid change, a mismatch, or missing approval. Comparing the invoice with the exact order and amendments gives purchasing staff a factual review before anyone decides what is owed.

## Sources and evidence

- pain: [Pain evidence: Court reporter vent](https://www.reddit.com/r/paralegal/comments/1opg599/court_reporter_vent/)
  Court reporter vent, 2025-11-05, older: a first-year paralegal reports requesting a local reporter but receiving a roughly $4,000 invoice with substantial travel charges rather than the expected local-service cost. Transcript-cost discussion, 2024-05-30, describes unexpected charges for a digital transcript. These are individual accounts, not findings that charges were unlawful.

- pain: [Pain evidence: Transcript-cost discussion](https://www.reddit.com/r/paralegal/comments/1d4gqyn)
  Additional self-reported public account; no independent identity or outcome verification.

- method: [Method: Excel XLOOKUP](https://support.microsoft.com/en-us/excel/functions/xlookup-function)
  Excel XLOOKUP documents looking up corresponding records; exact-match keys plus ordinary arithmetic can compare supplied quote, order and invoice rows. Availability differs in older Excel releases, so verify the firm's version or use Power Query joins.

Source checked: October 15, 2026. Pain accounts are self-reported. Documentation supports components; this adapted recipe and prompt have not been tested.

## Suggested approach

Start when: Vendor invoice received

1. compare line items against approved quote/order/authorized amendments

2. Keep source references and report unknowns instead of filling gaps.

3. The responsible reviewer checks the report before any separately approved action.

## What you need

- Existing firm-approved Acrobat AI Assistant/PDF Spaces entitlement: Acrobat Studio, AI Assistant add-on, or another plan including AI features, with online services/cloud storage allowed. Desktop/web region and language availability apply. Verify with the administrator; no purchase or configuration change is part of this recipe.

- Original approved quote/order, invoice and all authorized amendments for a single vendor/order; readable working copies without bank/payment credentials or unnecessary client information.

- Excel with tables and formulas; optional approved Copilot access. Purchasing owner supplies the approval evidence and determines which amendment replaces or supplements which item.

- scope.txt explicitly defines whether printed line_total includes tax, the currency/rounding rule, and whether each approved amendment replaces or adds to existing items. Unknown or conflicting instructions block final reconciliation.

- Use synthetic inputs first. Keep real data in firm-approved accounts and processing, with appropriate access, confidentiality and retention controls. Aliases alone do not anonymize records. Never paste credentials, API keys or unnecessary client details.

## How to use

Documentation-verified PDF-to-evidence and native Excel path; proposed reconciliation not tested

- No vendor-specific invoice export or billing integration is claimed. Begin from the actual PDFs/approved text.

- Extraction cannot decide that a quote was approved, that an amendment superseded it, that two vague descriptions are equivalent, or that payment is owed.

- PDF conversion and AI can misread decimal separators, units, taxes, negative amounts and multi-page lines. The reviewer must check every financial field.

Access and setup:

- The source vendor/account system is unspecified, so no invoice-download UI is claimed.

- Firm Adobe and Excel entitlement, cloud approvals and document quality were not tested.

### 1. Open the actual PDFs and extract cited lines

Tool: Acrobat PDF Spaces / AI Assistant

Location: Acrobat home > PDF Spaces > Create a PDF Space > add approved PDF files > Add to PDF Space; AI Assistant field

Add the invoice, quote/order and amendments as separately labeled sources. Add only sanitized approval references needed for this check. Paste the extraction prompt.

Prompt:

```text
Extract only explicitly printed administrative billing information from these labeled documents. Keep invoice, quote/order and amendment rows separate. For each line give source filename/page, printed vendor/order/invoice identifier if present, line label, description, quantity, unit, unit rate, currency, tax amount and line total. Preserve negatives and decimal separators. Mark absent or unreadable values null and quote ambiguous descriptions. Do not invent IDs or service matches, decide approval or liability, merge amendments into a final price, include payment credentials, or pay/contact anyone.
```

Expected output: Separate candidate tables for invoice, quote/order and amendments, each with file/page citations and unreadable-field warnings.

Next step: Use Copy to place extracted tables in an Excel working file; keep originals and financial data in the firm-approved workspace.

Check before continuing: Click each cited source and check every number and description against the PDF, not just the AI totals.

Execution status: Official documentation checked 2026-10-15; product account and workflow not personally tested

Step documentation: https://helpx.adobe.com/acrobat/desktop/explore-pdf-spaces/create-pdf-spaces.html https://helpx.adobe.com/acrobat/desktop/use-acrobat-ai/generative-ai-features/ai-get-answers.html

### 2. Use native conversion if AI is unavailable

Tool: Acrobat desktop, optional fallback

Location: Open each PDF > Convert > Microsoft Excel > XLSX > Convert to XLSX

Save each converted file separately. If conversion is unreliable, manually transcribe the few relevant line items from the PDF into the template. This is an alternative to AI extraction, not an additional required tool.

Expected output: Native XLSX preserving some PDF table structure; column names/layout will vary with the document.

Next step: Verify and map the resulting values into the kit tables; never assume conversion produces the kit schema.

Check before continuing: Check every quantity/rate/currency/tax/total; stop for unreadable digits.

Execution status: Official documentation checked 2026-10-15; product account and workflow not personally tested

Step documentation: https://helpx.adobe.com/acrobat/desktop/save-export-documents/convert-to-other-formats/pdf-to-excel.html

### 3. Approve mappings and resolve amendment scope

Tool: Excel and purchasing records

Location: Supplied approved-orders.csv, amendments.csv, invoice-lines.csv and scope.txt

Assign stable local vendor_id/order_id when needed; preserve printed IDs in source notes. Staff map descriptions to service_code only after review. Fill approval_ref from actual approval evidence. Create a final Approved table with one currently applicable row per vendor/order/service/currency; the purchasing owner decides which amendments replace or supplement the quote. Keep source quote and amendments unchanged.

Expected output: Kit tables retain their exact headers. Invoice source_ref contains file/page. Quote_version, amendment_id, service_code and approval_ref are reviewed metadata, not promised native export fields.

Next step: Use Home > Format as Table for Approved and Invoice, then retain a safe source-reference mapping.

Check before continuing: Unresolved matching or amendment precedence stays unclear; never use approximate text matching to equate different services. Do not assume that the newest amendment wins or count both an original line and its replacement.

Execution status: Official documentation checked 2026-10-15; product account and workflow not personally tested

Step documentation: https://support.microsoft.com/en-us/excel/tutorial-import-data-into-excel-and-create-a-data-model

### 4. Calculate differences with visible formulas

Tool: Excel; optional Excel Copilot

Location: Invoice and Approved tables; optional Copilot icon > Chat only

Copy the staff-approved scope.txt contents into a visible Scope worksheet/table in the same minimized analysis workbook, or paste the full scope rules into the prompt. Create a reviewed composite key from vendor_id, order_id, service_code and currency. Require Approved-key uniqueness before an exact XLOOKUP; competing Approved matches block lookup. Repeated Invoice service keys may be legitimate split lines: flag them for review and check invoice_id/line_id/source references rather than declaring duplicates. Recalculate invoice lines using the supplied tax inclusion and rounding rules and compare printed line_total; add tax to units × unit_rate only when those definitions require it. Unknown tax/rounding basis remains unresolved.

Prompt:

```text
Use only the verified Approved and Invoice tables and the complete staff-approved Scope rules pasted below or present in the Scope worksheet. If Scope is absent, stop and list the missing rules. First check key uniqueness in Approved for vendor_id, order_id, service_code and currency; competing approved rows block lookup. Repeated Invoice service keys may be legitimate split lines, so flag them for review, not as proven duplicates. Show exact-match formulas for approved units/rate/tax/reference, never the first of competing approvals. Recalculate printed invoice totals using the supplied tax inclusion and rounding rules. Return source_ref, printed/recalculated amount, arithmetic difference, approved-versus-invoiced differences, unmatched charges, possible duplicates and neutral questions. Do not infer contractual liability, call a charge fraudulent, approve payment, edit source tables or contact the vendor. [PASTE COMPLETE SCOPE RULES HERE IF NOT IN SCOPE WORKSHEET]
```

Expected output: Per-line arithmetic difference, quote/rate/unit difference, approval reference and unmatched/duplicate/unclear flags.

Next step: Review formula cells and source rows; keep a questions list for the purchasing owner.

Check before continuing: Check tax treatment against scope.txt. A quoted bundle is not interchangeable with per-page units. Test an approved rush amendment, duplicate invoice line and unmatched travel charge. If tax inclusion or rounding policy is unknown, return an unresolved arithmetic basis instead of a definitive difference.

Execution status: Official documentation checked 2026-10-15; product account and workflow not personally tested

Step documentation: https://support.microsoft.com/en-gb/excel/functions/countifs-function https://support.microsoft.com/en-gb/excel/functions/xlookup-function https://support.microsoft.com/en-us/excel/copilot/get-started-with-copilot-in-excel

### 5. Review the reconciliation

Tool: Purchasing owner/bookkeeper; lawyer for contract questions

Location: Reviewed reconciliation workbook

Check sources, scope and arithmetic. Mark each item confirmed, requires clarification or unresolved. Retain the invoice and approval evidence; decide separately whether to query the vendor or approve payment.

Expected output: Factual reconciliation and human-owned follow-up questions.

Next step: No accounting entry, payment or vendor communication is generated by this recipe.

Check before continuing: Only the authorized reviewer determines whether services and amendments were approved.

Execution status: Official documentation checked 2026-10-15; product account and workflow not personally tested

Step documentation: https://support.microsoft.com/en-gb/excel/functions/xlookup-function

## What you will get

invoice-review.csv: vendor_id, order_id, invoice_id, line_id, service_code, approval_ref, observed_units, approved_units, observed_unit_rate, approved_unit_rate, currency, recalculated_total, stated_total, difference, source_ref, issue, reviewer_question. Exact arithmetic and staff-approved mappings only.

## Human review and limits

Purchasing owner/bookkeeper verifies scope and calculations, attorney resolves contractual issues. Test a legitimately approved rush amendment, a duplicate line and similar descriptions for different services. Distinct from A19 expense-entry preparation.

The assistant drafts or reports only. Check source records and review the output before a human performs any separately approved send or change. No automatic legal decision, money movement, account connection or publication is included.

What to measure: In a synthetic pilot, count correctly found exceptions, false alarms, and unresolved inputs. No time or cost saving is assumed.

## Original prepared-input schema

approved-orders.csv: vendor_id, order_id, quote_version, service_code, approved_units, approved_unit_rate, currency, approved_tax_amount, approval_ref

amendments.csv: vendor_id, order_id, amendment_id, service_code, approved_units, approved_unit_rate, currency, approved_tax_amount, approval_ref

invoice-lines.csv: vendor_id, order_id, invoice_id, line_id, service_code, description, units, unit_rate, currency, tax_amount, line_total, source_ref; scope.txt: approved service mappings, invoice coverage, tax inclusion, rounding policy, and amendment replacement/additive precedence

Synthetic example input:

```text
I1: transcript line L1 totals USD200
I2: rush line L2 totals USD50 under approved amendment AM1
I3: travel line L3 totals USD80 with no approval
I4: repeats invoice line L1 for USD200
```

Expected synthetic output:

```text
I1: matched approved transcript line
I2: retain the authorized rush amendment
I3: unclear travel authorization; ask purchasing owner
I4: duplicate line key; preserve it for review
Raw rows USD530; unique line-key subtotal USD330; approved matching charges USD250; unique unclear charge USD80. No payment approval.
```

Failure check: Purchasing owner/bookkeeper verifies scope and calculations, attorney resolves contractual issues. Test a legitimately approved rush amendment, a duplicate line and similar descriptions for different services.

## Starter files

Native blank scaffolds and original synthetic examples may use different schemas. Follow NATIVE-INPUT-MAPPING where supplied. These files do not connect accounts or install automation.

- [Download starter kit](https://agents.paretoid.com/assets/starter-kits/s24-starter-kit.zip) — All inputs, synthetic examples and review notes in one ZIP. No automation is installed.

- [Start here: get the sources and prepare the review](https://agents.paretoid.com/assets/starter-kits/s24/START-HERE.txt) — Documentation-checked acquisition, explicit manual mapping, exact prompts and human review limits

- [approved-orders.csv](https://agents.paretoid.com/assets/starter-kits/s24/approved-orders.csv) — Blank input template with exact recipe headers.

- [approved-orders.example.csv](https://agents.paretoid.com/assets/starter-kits/s24/approved-orders.example.csv) — Separate synthetic fixture input. Do not mix these rows into real exports.

- [amendments.csv](https://agents.paretoid.com/assets/starter-kits/s24/amendments.csv) — Blank input template with exact recipe headers.

- [amendments.example.csv](https://agents.paretoid.com/assets/starter-kits/s24/amendments.example.csv) — Separate synthetic fixture input. Do not mix these rows into real exports.

- [invoice-lines.csv](https://agents.paretoid.com/assets/starter-kits/s24/invoice-lines.csv) — Blank input template with exact recipe headers.

- [invoice-lines.example.csv](https://agents.paretoid.com/assets/starter-kits/s24/invoice-lines.example.csv) — Separate synthetic fixture input. Do not mix these rows into real exports.

- [scope.txt](https://agents.paretoid.com/assets/starter-kits/s24/scope.txt) — Blank text input worksheet. Fill its fields with approved evidence; no default assumptions are supplied.

- [scope.example.txt](https://agents.paretoid.com/assets/starter-kits/s24/scope.example.txt) — Separate synthetic text input fixture; use with the example CSV files only.

- [Expected fixture findings](https://agents.paretoid.com/assets/starter-kits/s24/expected-fixture-result.txt) — Read-only expected output and failure conditions for the included synthetic input files.

- [Setup and review checklist](https://agents.paretoid.com/assets/starter-kits/s24/README.txt) — Recipe-specific prerequisites, file mapping, prompt, setup steps, checklist and limits.

## Optional original prepared-input prompt

Destination: Excel; optional Excel Copilot · prepared inputs

This original prompt uses its own prepared-input schema. Do not mix it with native-step tables without the supplied mapping.

```text
Compare these invoice rows with the matching approved quote, order and amendments using exact vendor and order IDs. Recalculate supplied quantities and rates, preserve currency and show unmatched descriptions, extra services, travel, duplicate lines and missing authorizations. Do not call a charge fraudulent, decide contractual liability, approve payment, post accounting entries or contact the vendor. Produce a factual comparison and questions for the purchasing owner.

scope.txt must state whether line_total includes tax, the rounding policy, and whether each amendment replaces or adds to the base order. Missing or conflicting rules remain uncertain; do not infer them.

INPUTS
approved-orders.csv: vendor_id, order_id, quote_version, service_code, approved_units, approved_unit_rate, currency, approved_tax_amount, approval_ref
amendments.csv: vendor_id, order_id, amendment_id, service_code, approved_units, approved_unit_rate, currency, approved_tax_amount, approval_ref
invoice-lines.csv: vendor_id, order_id, invoice_id, line_id, service_code, description, units, unit_rate, currency, tax_amount, line_total, source_ref; scope.txt: approved service mappings, invoice coverage, tax inclusion, rounding policy, and amendment replacement/additive precedence

OUTPUT
invoice-review.csv: vendor_id, order_id, invoice_id, line_id, service_code, approval_ref, observed_units, approved_units, observed_unit_rate, approved_unit_rate, currency, recalculated_total, stated_total, difference, source_ref, issue, reviewer_question. Exact arithmetic and staff-approved mappings only.

Use only these synthetic or firm-approved inputs and preserve source row/page IDs. Keep missing or conflicting evidence unresolved. Return a draft for the named reviewer. Do not send messages, connect accounts, change records or permissions, move money, or make legal decisions. Keep source files unchanged. List missing prerequisites before continuing.
```

Proposed / not tested · editorial prompt

Published by Law Firm Agents. Proposed adaptation; not tested. Not legal advice.
