Every price in the sheet points to a precedent or approved rule.
Repeat work enters the cost sheet with its source. Missing materials, operations, or precedents become focused questions for the estimator. The line remains unpriced and blocks the total.
Measured on 60 test lines
The system split a request into lines. One price came from a precedent, one from an approved rule, and the unsupported line went to the estimator without a price.
- Recorded run
- Measured on 60 test lines
- Measurement scope
- RFQ pricing
- Verified
- synthetic data
Problem, solution, and result
The problem
An estimator extracts materials, operations, quantities, and tolerances from several documents. Many lines repeat, but each needs checking. Under deadline pressure, a price without a reliable basis is easy to miss.
How the system works
The system creates the line-item list and checks quote history and costing rules. A price appears with its source. If no basis exists, the estimator receives an unpriced line and a specific question.
What we tested
The system split a request into lines. One price came from a precedent, one from an approved rule, and the unsupported line went to the estimator without a price.
For whom
This is a good automation candidate when the team repeatedly prices similar work and estimators revisit the same materials and operations.
RFQ → lines → price basis → decision
- 01The system breaks the inquiry into cost-sheet lines
- 02A price requires a precedent or approved rule
- 03The estimator handles only lines without a basis
- Business type
- Manufacturers and B2B suppliers preparing repeat quotes
- Input
- RFQs in the customer's own words
- Boundary
- A line with no precedent and no rule stays unpriced and goes to the estimator
- Cost
- About PLN 0.0034 for the recorded read of one request for quotation.
- Security
- A line without a precedent or approved rule remains unpriced and goes to the estimator.
- Trace
- The history shows the source of every price, questions for the estimator, and quote approval.
- Similar system build
- from €6,000 net (approx. $6,500) · 6–16 weeks
Where automation stops
When the estimator decides
A line without a precedent or approved rule remains unpriced. The estimator receives the missing context and question. A person approves and sends the full offer.
- Boundary
- A line with no precedent and no rule stays unpriced and goes to the estimator
- Cost
- About PLN 0.0034 for the recorded read of one request for quotation.
- Security
- A line without a precedent or approved rule remains unpriced and goes to the estimator.
What remains unknown
The synthetic catalogue verifies the mechanism. It does not show whether a price is competitive or right for a client's machine park. A pilot measures deviation from the estimator's price, escalation quality, and time to a draft.
Estimated impact
Calculate the impact at your volume
This estimate uses the stated volume. Enter your own numbers to assess the possible impact in your company. The result is confirmed only during a pilot.
Today
Modelled current scenario: 120 h
With the system
Modelled after scenario: 59 h
Time or cost saved
Modelled scenario: 45-75 h/mo, base 61 h
- Volume
- Modelled scenario: 160 RFQs/mo
- Formula
- 160 × (45 - 22) min / 60
- Calculation status
- medium
Data in the screenshots. The names, amounts, and documents shown in the screenshots are synthetic. Client data remains private. Measurements describe the demonstrator and are kept separate from production outcomes.
Working surfaces
The estimator receives only lines that need a decision. Every other price already has its source.
Sales sees which RFQs are in progress and which need a decision. The estimator receives only the lines that require technical judgment. This version shows 150 RFQs and 31 held lines. Time savings are measured at the plant's volume.
Three views for quote preparation
RFQ list
Inquiries from intake to decision, with missing data and deadlines visible.
Inquiry record
Customer, part, requirements, and the data needed for pricing.
Estimator's queue
Unpriced lines, each with a specific question and context.
System screens
See how the system works in practice
These desktop and mobile screenshots come from the running application. They show the process and the points where a person makes the decision.
- Screens
- 16
- px
- 1440 · 390
- 021440×1100
The original RFQ, extracted requirements, and the missing input that stops pricing. - 031440×1100
An unpriced line, a question for the estimator, and a blocked sheet total.
Open the remaining screen archive (13)
- 041440×1100
Quality measurement and limits - 051440×1100
Quoting history - 061440×1100
A test ending in a hold - 071440×1100
A test with complete evidence - 081440×1100
Intake drawer - 091440×1100
Cost sheets - 101440×1100
Held lines - 111440×1100
Pricing precedents - 121440×1100
Material file - 131440×1100
Operation rates - 141440×1100
Machine park - 151440×1100
Pricing standards - 161440×1344
Enquiry board, full length
Technology stack
A line-by-line loop and a hard rule for prices
LangGraph stores the state of each line. PricedLine and EscalatedLine define when a price can exist. PostgreSQL stores runs, decisions, and tool calls.
- LangGraph 1.2.10
- holds the loop state over unresolved lines
- Typed contracts (Python 3.13.7)
- PricedLine and EscalatedLine decide when a line may carry a price
- FastAPI 0.140.13
- typed commands and reads between the workshop and the loop
- PostgreSQL 17
- stores runs, steps, decisions, tool calls, and the audit chain
- Next.js 16.2.6
- the RFQ board and line view for the salesperson and the estimator
The client receives the code, test data, and documentation. The system runs in their infrastructure. The reference version connects to no ERP, CRM, or mailbox and sends no offers.
Technical details and measurements
The working loop
Every line ends with a sourced price or a question
The system checks the specification, precedents, and rules in sequence. Selecting the price basis had a P95 of 0.125 ms over 30 warmed repetitions. That is not the time to analyze a full RFQ or prepare an offer.
RFQ and customer documents
Breakdown into materials, operations, and quantities
Price basis → cost sheet line
No basis → question for the estimator
A person approves the offer
System architecture
Lines, precedents, rules, and decision record
LangGraph maintains the line-by-line loop. Data types permit a price only with a precedent or rule. PostgreSQL records every step.
- 01
Breakdown
The inquiry becomes a list of lines.
The customer's text is decomposed into line items and required parameters: material, operations, tolerances, quantities. Missing inputs are named at intake.
- 02
Bases
The basis is a precedent or an approved rule.
The workflow checks cited precedents and approved pricing rules. A found basis is recorded at the line; its absence is a first-class result and shows up in the sheet immediately.
- 03
Types
PricedLine and EscalatedLine divide the world.
The schema permits a price only when the line carries evidence from a precedent or rule. EscalatedLine has no price field, so a line without a basis cannot receive one and goes to review.
- 04
Trace
Intent before execution.
Every reach for a tool is recorded before it happens. The run, its steps, decisions, and escalations can be replayed after the fact.
Why an invented price is inexpressible here
The data contract accepts no price without evidence from a precedent or an executed rule, so no text generated earlier turns into a price. The line-by-line loop and the type contract are the only nontrivial components required.
- A price exists only together with its stated source
- An escalation is a first-class result, with a concrete question
- Rules and precedents carry an identifier and a version in the record
- A human sends the offer after their own decision
Want to assess a similar process in your company?
- A 30-minute call with the engineer who would lead the work.
- A review of the processes that cost you the most time and money.
- A written summary of what to automate first and the likely cost range.
Times are shown in your own time zone. We work with clients across time zones.
The scan is free and creates no obligation. If automation is unlikely to pay off, the written recommendation will say so.