A quotation PDF is a source document, not a verified purchasing record. The extraction workflow should turn it into proposed fields with evidence, then check the fields before they affect a decision.
PDF reading and quotation extraction are separate jobs
First obtain usable text or document structure. Then identify the supplier, quote reference, line items and terms. Finally validate the proposed fields against the source and request. A file-reading step can succeed while the quotation record is still wrong.
n8n lists PDF among the formats supported by its Extract From File node. Microsoft's Document Intelligence layout model uses OCR and document analysis to return text, tables and structure. Neither capability by itself establishes that a quotation's commercial meaning has been interpreted correctly. Read the n8n node documentation and Microsoft's layout model documentation.
Inspect the files your suppliers actually send
Collect a permitted test set with different layouts, languages, scanned pages, rotated tables, multiple currencies and long terms. Check whether each file contains selectable text or needs OCR. Some attachments may be password protected, corrupted or incomplete. Give those files an explicit unreadable state and a recovery owner. A blank extraction must not be interpreted as a quotation with no charges.
Preserve the original attachment, message reference, received time and a file fingerprint. A later extraction run should point to the same source version. If the supplier replaces the document, create a new version rather than overwriting the evidence behind an accepted record.
Define the output schema before writing prompts
Specify which fields are required, which can be unknown and how values are represented. Store currency separately from numbers. Keep the quoted unit and pack size separate from a normalized unit price. Preserve both the original wording and the proposed interpretation for payment, delivery and warranty. Each proposed field should have a source location or short supporting excerpt where the extraction system can provide it.
| Field | Proposed value | Validation |
|---|---|---|
| Quantity | 12 | Positive number; source says 12 cartons |
| Pack size | 20 filters per carton | Confirm specification and unit |
| Unit price | USD 46 per carton | Do not label as price per filter |
| Freight | Unknown | Route a question; do not substitute zero |
A worked example: the carton error
A fictional supplier quotes 12 cartons of filters at $46 per carton, with 20 filters in each carton. The quoted goods total is 12 × $46 = $552. The normalized quantity is 240 filters and the goods price per filter is $2.30. If extraction mistakes 240 for the quoted carton quantity, multiplying it by $46 produces $11,040. Both numbers are numeric; the problem is their meaning.

The unit is part of the price.
- Quoted unit
- 12 cartons at $46/carton, 20 filters/carton
- Goods total
- 12 × $46 = $552
- Normalized unit
- 240 filters at $2.30/filter
- Incorrect mixed units
- 240 filters × $46/carton = $11,040, invalid
View data
| Evidence | Meaning |
|---|---|
| Quoted unit | 12 cartons at $46/carton, 20 filters/carton |
| Goods total | 12 × $46 = $552 |
| Normalized unit | 240 filters at $2.30/filter |
| Incorrect mixed units | 240 filters × $46/carton = $11,040, invalid |
Fictional worked example from the article. Apply your organization’s controls.
Download imageThe validation step compares the quoted line total with the recalculated total using the quoted unit. It then performs any normalization as a separate calculation. A mismatch becomes a review item with the relevant table row visible. The reviewer corrects the unit mapping or asks the supplier for clarification, then records the accepted interpretation.
Measure field accuracy and exception handling
Count correct quantities, prices, currencies and terms separately. A record with a correct supplier name but an incorrect quantity is not a successful quotation extraction. Track missing fields, unsupported guesses and records that cannot be processed. A single average score can hide a weakness in the field that changes the order value.
Test a file with two quotation options and one with a cancelled line. Test a negative discount, a comma used as a decimal separator and a delivery statement expressed in weeks. Confirm that an unresolved interpretation stays unresolved. Do not use a model's own confidence statement as the only reason to accept a field.
Keep ownership and operating costs visible
The buyer accepts commercial fields; the requester confirms specifications; the integration owner handles unreadable files, retries and service failures. Define who may access the originals and which processing services receive them. Use the processing cost tool for assumptions about document volume and retries, then check those assumptions in the pilot.
The downloadable n8n starter contains prepared structured data and does not perform PDF extraction. It is useful for learning the review boundary. For the next decision, read the comparison guide; extraction prepares evidence, while comparison explains whether the resulting offers are comparable.