Skip to content
ClearedStack

Tools · CLIN 0001 Pricing & cost accounting

Section B Pricing Table Builder

Planned

Lay out CLINs, quantities and extended prices the way the solicitation asks for them.

This tool is planned. There is nothing to open yet. What follows is the plan, and it can change before the tool ships. The guide below covers the same job by hand in the meantime. Jump to the full specification.

What it will do

Enter the line items, quantities, units and unit prices a solicitation asks for. The tool extends each line, applies the rounding rule you choose, escalates the option years and produces a table you can copy into the government’s own format.

You bring

  • The solicitation’s line items and labor categories
  • Quantities or hours, and unit prices or burdened rates
  • An escalation percentage for option years, and a rounding rule

You get

  • An extended price for every line item, with totals by period
  • A table to copy, or to export as CSV

Built from

Only material the government has officially released to the public. Where the rules live shows how to find and cite each one.

Do it by hand today

  • Labor rates and wrap rates · Lay out the price tableHow a wage becomes a billing rate: direct and indirect costs, fringe, overhead, G&A and fee, with a worked example you can check by hand.
  • Read a solicitation · The lettered sectionsHow a federal solicitation is laid out, which sections to read first and what to find before you decide to bid.

True of every tool

Free and open source.
No paid tier, no ads, and the code is public.
Runs in your browser.
What you type or open is not sent anywhere.
No tracking.
No accounts, cookies or analytics.
Shows its sources.
Each result names the rule it rests on, so you can check it.
Says what it does not do.
It is an aid for your own work, not professional advice.

What happens to what you type shows how to confirm this yourself, and Check a tool’s answer is the method for verifying a result.

Want it sooner?

Requests decide what is built first. Say what you would use it for, and what you do by hand today.

Issues are public. Leave out real contract data, real rates and anything controlled. How to write a useful request.

Specification · draft

How it is meant to work, in detail

The inputs, the logic, the checks the tool has to pass and the worked examples it is tested against. It is a draft, and the tool is built from it, so it can change until the tool ships.

4 min readLast revised November 2026Source of this specification

Overview & Role#

The Section B Pricing Table Builder (section-b-pricing-table, CLIN 0001: Pricing & cost accounting) is a standalone, MIT-licensed static browser utility generated by Moldloft using the deterministic calculator stack template. It structures Contract Line Item Numbers (CLINs), descriptions, quantities, units of measure, unit prices, option-year escalations, and extended totals in the standard Uniform Contract Format (UCF) Section B layout.

The tool runs entirely in browser memory with zero backend servers, zero runtime AI, and zero network calls after load. It enforces solicitation-aligned rounding rules (rounding unit rates to the cent before multiplying, or configurable unrounded multiplication) and exports clean local CSV/JSON schedules without transmitting pricing data.

Governing Regulations & Sources#

AuthorityCitationRole in Tool
FAR Part 15 (UCF)FAR 15.204-1, 15.204-2Defines Section B (Supplies or Services and Prices/Costs) in the Uniform Contract Format (noting FAR overhaul optionality and FAR Part 12 commercial price-schedule equivalents).
FAR Subpart 4.10FAR 4.1001 – 4.1005Governs Contract Line Item Number (CLIN) and Subline Item Number (SLIN) structure (e.g., 0001 base, 1001 option year 1).
FAR Part 17FAR 17.203, 17.206Governs option periods and total evaluated price across base and option years.
FAR Subpart 22.10FAR 22.1002Reminds offerors that base wages for covered service labor categories cannot fall below applicable Service Contract Labor Standards wage determinations.
FAR Part 31FAR 31.202, 31.203Governs direct vs. indirect treatment of travel and Other Direct Costs (ODCs) / Not-to-Exceed (NTE) CLINs.

Inputs, Calculation Logic & Outputs#

Inputs

FieldTypeConstraints / OptionsDefault
Rounding ModeEnumround_unit_first (round unit price to cent before multiplying by quantity) or round_extended_onlyround_unit_first
Option Escalation RatePercentage (%)>= 0.00 (optional annual escalation applied when cloning a base CLIN to an option period)3.00
CLIN Row: Line Item (clin)String4-digit or alphanumeric CLIN/SLIN (e.g., 0001, 0002, 1001)0001
CLIN Row: PeriodEnumBase, Option 1, Option 2, Option 3, Option 4Base
CLIN Row: DescriptionStringSolicitation labor category or deliverable title—
CLIN Row: QuantityNumber>= 01880
CLIN Row: Unit of MeasureEnum / StringHour, Month, Lot, Each, YearHour
CLIN Row: Unit Price / NTECurrency ($)>= 0.00113.22
CLIN Row: NTE / Pass-Through FlagBooleanMarks plug/NTE lines (e.g., Travel) where unit price is omitted or fixed as a lot amountfalse

Calculation Logic

  1. Unit Price Escalation (when generating Option Year CLINs from Base Year):
    • raw_option_unit = base_unit_price * (1 + escalation_rate / 100) ^ option_year_index
    • If round_unit_first: effective_unit_price = round_to_cent(raw_option_unit)
    • If round_extended_only: effective_unit_price = raw_option_unit
  2. Extended Price per CLIN:
    • extended_price = round_to_cent(quantity * effective_unit_price)
    • For NTE / Lot items (quantity = 1, unit = Lot): extended_price = round_to_cent(nte_amount)
  3. Period & Grand Totals:
    • period_subtotal[p] = sum(extended_price for all CLINs in period p)
    • total_evaluated_price = sum(period_subtotal[p] for all periods)

Outputs

  • Formatted Section B Table: Columns for Line Item, Period, Description, Quantity, Unit, Unit Price, and Amount.
  • Period Subtotals & Grand Total: Separate subtotals for Base Year and each Option Year, plus Total Evaluated Price.
  • Solicitation Override Checklist: Prompts the user to verify solicitation-specific rounding rules, labor category names, and whether travel/ODCs carry G&A or fee.
  • Local Export: Client-side CSV and JSON download generated via Blob URLs in browser memory (zero server round-trip).

Clean-Room & 5-Condition QA Requirements#

  1. Offline Execution: Runs completely offline after initial load; CSV/JSON export uses client-side Blob APIs with no server endpoint.
  2. Strict Content Security Policy: Enforces default-src 'self'; connect-src 'self'; form-action 'none' so bid pricing tables cannot be exfiltrated.
  3. Zero Tracking or Accounts: No login walls, analytics, cookies, or beacons. Optional localStorage persistence of the draft table must be disclosed with a Clear Data button.
  4. Worked-Example Assertions & Synthetic Fixtures: Automated tests assert exact CLIN extensions, period subtotals, grand totals, and rounding-mode differences using synthetic fixtures. Real solicitation pricing workbooks and CUI are strictly forbidden.
  5. Citations, Scope Limits & MIT License: Cites FAR 15.204-1, FAR Subpart 4.10, and FAR Part 17; explicitly states scope limits (if the solicitation supplies a Section J pricing workbook, that workbook is the deliverable); includes a non-advice disclaimer and an MIT LICENSE file.

Worked Example & Verification#

Primary Fixture (from Labor rates and wrap rates)

  • Inputs (round_unit_first, 3.00% option escalation):
    • 0001 (Base): Senior engineer, base year · 1,880 Hour · $113.22
    • 0002 (Base): Travel, not to exceed · 1 Lot · $10,000.00 (NTE)
    • 1001 (Option 1): Senior engineer, option year 1 · 1,880 Hour · $113.22 × 1.03 = $116.6166 → rounded to $116.62
  • Expected Output:
    • 0001 Amount: 1,880 × $113.22 = $212,853.60
    • 0002 Amount: $10,000.00
    • Base Period Subtotal: $222,853.60
    • 1001 Amount: 1,880 × $116.62 = $219,245.60
    • Option 1 Period Subtotal: $219,245.60
    • Total Evaluated Price: $442,099.20

Boundary & Rounding Fixtures

  • Rounding Mode Comparison: Under round_extended_only, 1,880 × $116.6166 = $219,239.21 (a $6.39 difference from round_unit_first), confirming the tool surfaces rounding-mode sensitivity.
  • Zero Quantity / Empty Table: quantity = 0 yields $0.00; an empty table yields $0.00 total with no runtime errors.