Skip to content

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.

RFQ pricingDemonstration systemReview one RFQ

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

  1. 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.

  2. 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.

  3. 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

  1. 01The system breaks the inquiry into cost-sheet lines
  2. 02A price requires a precedent or approved rule
  3. 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.

  1. Today

    Modelled current scenario: 120 h

  2. With the system

    Modelled after scenario: 59 h

  3. 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
011440×1100
An RFQ list from intake through approval.
390390×844
  1. 021440×1100
    The original RFQ, extracted requirements, and the missing input that stops pricing.
  2. 031440×1100
    An unpriced line, a question for the estimator, and a blocked sheet total.
Open the remaining screen archive (13)
  1. 041440×1100
    Quality measurement and limits
  2. 051440×1100
    Quoting history
  3. 061440×1100
    A test ending in a hold
  4. 071440×1100
    A test with complete evidence
  5. 081440×1100
    Intake drawer
  6. 091440×1100
    Cost sheets
  7. 101440×1100
    Held lines
  8. 111440×1100
    Pricing precedents
  9. 121440×1100
    Material file
  10. 131440×1100
    Operation rates
  11. 141440×1100
    Machine park
  12. 151440×1100
    Pricing standards
  13. 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.

01

RFQ and customer documents

02

Breakdown into materials, operations, and quantities

03

Price basis → cost sheet line

No basis → question for the estimator

04

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.
€030 minutes · written takeaway within 2 business days
Book a free process scan (30 min)

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.