SEVERIAN ROTHIMPLEMENTATION SAMPLE / 10 SEP 2026

VERTICAL SLICE · SYNTHETIC DATA

From an RFQ to a reviewable quotation.

Extract the requested parts from a text PDF, match exact codes and units, and use the approved price list. Every unresolved line stays visible for a person to review.

Download Excel draftView input PDFSource & fixtures
8Requested lines retained
3Exact matches priced
5Lines needing review

Recorded output

Approved data: LIST-DEMO-202609 · Catalogue CSV · Price list CSV · Extracted PDF text

LineRequested partQuantityLine USDDecision
1SW-01Wall switch3 EA$28.50MatchedExact code and unit; approved price
2CB-16Circuit breaker 16A2 EA$25.50MatchedExact code and unit; approved price
3CB-99Unknown breaker1 EA—ReviewUnknown product code
4RL-02Relay2 BOX—ReviewRequested unit differs from catalogue unit
5FU-05Fuse 5A4 EA—ReviewNo approved price
6DB-10Distribution board1 EA—ReviewAmbiguous catalogue code
7SW-01Wall switch0 EA—ReviewQuantity must be a positive whole number
8CB-16Additional breaker1 EA$12.75MatchedExact code and unit; approved price
Full quotation total withheld. The $66.75 subtotal covers matched lines only. Five unresolved lines remain. The Excel file contains Summary, Draft and Review sheets.

What was built

A local Python adapter processes one synthetic PDF layout and two supplied CSV files, then writes a real XLSX draft. pypdf handles extraction; openpyxl handles the workbook. Source includes exact dependency versions and the declared matching assumptions.

This demonstrates the PDF/catalogue/Excel core. The proposed n8n workflow is a separate next step. The sample does not include OCR, ERP access, automatic sending or a deployed service.

Read scope and upstream reuse decision · Read implementation

Verified with real files

Eleven checks passed on Windows with Python 3.13.7, pypdf 6.18.0 and openpyxl 3.1.5. The checks extract both PDFs, validate matching decisions and read the written Excel workbook back.

A second PDF changes the quantities and contains two resolvable lines. It yields a draft total of $50.75, independently of the first file.

Read test results · Read verification code · Read output JSON

All 11 verification checks