WHBASEFrame+Face size+MullionMULTIPLIERS×Throat×GlazingADDERS+Fire adder+STC adder+Hardware prep+Finish=Opening total

Automation · 2025–2026

Pricing Engine

An automated and reliable pricing engine with one source of truth

Reads a project's parameters and prices every opening through a systematic sequence of multipliers and adders. Institutional pricing knowledge, once scattered across printouts, now lives in one logic, verified over numerous test runs against past projects.

Context
Avalon International Aluminum
Role
Computational designer
Year
2025–2026
Stack
  • Python
  • Flask
  • openpyxl
  • WeasyPrint
  • PostgreSQL
  • Railway
  • Microsoft Graph
Total runs
389
Reduction in manual time
90%
Increase in efficiency
62%

Client work under NDA. Shown as system diagrams drawn for this site; no client data.

The problem

Pricing a frame meant hopping between several historic printouts, with scattered data and no structure. Every new project had to be parsed and calculated by hand, with no set sequence for pricing each parameter. Re-pricing doubled the work, and any price change from management was scribbled onto the same printouts.

The system

The pricing rules live in a PostgreSQL database on Railway and are maintained through a rates tab in the engine. The engine reads the project’s parameters from a CSV file, prices every SKU line by line and publishes a price summary report to the project’s SharePoint folder.

Pricing pipeline

  1. Rules

    • Pricing rulesPostgreSQL database on Railway
    • Rates tabAdmins update rates in real time
  2. Input

    • Project parametersRead from the project CSV
  3. Price

    • Pricing engineEvery SKU, line by line
  4. Deliver

    • Price summary report
    • Project SharePoint folder

The engine

Each opening is decoded into the things that cost money: throat and face sizes, mullions, glazing multipliers, fire and acoustic adders, hardware preps, finish and freight. Through the rates tab, admins can change the rate for any parameter in real time, and every future pricing run picks it up.

What the engine prices, per opening

  1. Frame

    • Throat + face
    • Linear feet
    • Mullions
  2. Glass

    • Glazing multiplier
    • Sidelights + borrowed lights
  3. Ratings

    • Fire adder
    • STC adder
  4. Door

    • Species + veneer
    • Hardware preps
  5. Close

    • Finish
    • Freight
    • Opening total

From scattered sheets to one reliable engine.