The rates page is where you turn a customer's usage profile into a list of REP offers. It queries every supplier matrix and portal feed you have connected, filtered to what's actually applicable.
What you need
- A service ZIP (drives TDU and ERCOT zone)
- Annual usage in kWh
- A target contract start date (rates depend on start month)
- The term lengths you want — 12, 24, 36, 48, 60 are the common ones
Step-by-step
Enter the customer profile
Type or paste the ZIP, usage, and start date. If you start from a customer record, these pre-fill. The term selector accepts multiple values — checking 12 and 24 returns offers for both lengths in one search.
Pick optional filters
By default the search returns all REPs. To narrow, use REP filter (e.g. only TXU, Reliant, Constellation), Product type (fixed vs. variable), or Green energy %. The filter panel is collapsible on the right side.
Filter panel — narrow by REP, product type, swing, or matrix vintage. Review results
Results sort by price ascending. Each row shows the all-in rate (¢/kWh), the REP, term length, product type, and the matrix or portal vintage (when the rate was last fetched). The freshness indicator turns yellow if a rate is more than 48 hours old.
Result rows. The lightning-bolt icon means portal-scraped (live); the document icon means matrix-sourced. Send to a quote
Check one or more rows and click Build quote. The platform jumps to the quote builder with those rates pre-loaded. From there you set your margin and generate a proposal.
Where the rates come from
Two paths feed the pricing engine:
- Matrix imports — supplier-published rate matrices, uploaded as Excel or PDF. Parsed once, queried thereafter. See Importing supplier rate matrices.
- Portal scraping — for REPs without a published matrix, a headless browser logs into their broker portal and fetches live rates on demand. See Live portal scraping.
Both sources land in the same pricing_rates table; the search treats them identically except for the freshness label.
Tips & gotchas
Matrices typically refresh daily or weekly depending on the REP. If a rate is showing as more than two days old and you're about to send a proposal, refresh the matrix or run a portal scrape first.
If you quote a specific customer profile repeatedly (same ZIP, same usage tier), save the search. Saved profiles are one-click in the top of the rates page.
A supplier matrix rate is a quote as of when the matrix was published. Most REPs honor it for 24–72 hours but the contract is the binding document, not the search result. Move fast on hot offers.


