Tools · CLIN 0001 Pricing & cost accounting
Section B Pricing Table Builder
PlannedLay 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
- The solicitation’s own Section B and pricing instructions
- FAR Part 15, on the uniform contract format
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#
| Authority | Citation | Role in Tool |
|---|---|---|
| FAR Part 15 (UCF) | FAR 15.204-1, 15.204-2 | Defines 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.10 | FAR 4.1001 – 4.1005 | Governs Contract Line Item Number (CLIN) and Subline Item Number (SLIN) structure (e.g., 0001 base, 1001 option year 1). |
| FAR Part 17 | FAR 17.203, 17.206 | Governs option periods and total evaluated price across base and option years. |
| FAR Subpart 22.10 | FAR 22.1002 | Reminds offerors that base wages for covered service labor categories cannot fall below applicable Service Contract Labor Standards wage determinations. |
| FAR Part 31 | FAR 31.202, 31.203 | Governs direct vs. indirect treatment of travel and Other Direct Costs (ODCs) / Not-to-Exceed (NTE) CLINs. |
Inputs, Calculation Logic & Outputs#
Inputs
| Field | Type | Constraints / Options | Default |
|---|---|---|---|
| Rounding Mode | Enum | round_unit_first (round unit price to cent before multiplying by quantity) or round_extended_only | round_unit_first |
| Option Escalation Rate | Percentage (%) | >= 0.00 (optional annual escalation applied when cloning a base CLIN to an option period) | 3.00 |
CLIN Row: Line Item (clin) | String | 4-digit or alphanumeric CLIN/SLIN (e.g., 0001, 0002, 1001) | 0001 |
| CLIN Row: Period | Enum | Base, Option 1, Option 2, Option 3, Option 4 | Base |
| CLIN Row: Description | String | Solicitation labor category or deliverable title | — |
| CLIN Row: Quantity | Number | >= 0 | 1880 |
| CLIN Row: Unit of Measure | Enum / String | Hour, Month, Lot, Each, Year | Hour |
| CLIN Row: Unit Price / NTE | Currency ($) | >= 0.00 | 113.22 |
| CLIN Row: NTE / Pass-Through Flag | Boolean | Marks plug/NTE lines (e.g., Travel) where unit price is omitted or fixed as a lot amount | false |
Calculation Logic
- 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
- 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)
- 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, andAmount. - 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
BlobURLs in browser memory (zero server round-trip).
Clean-Room & 5-Condition QA Requirements#
- Offline Execution: Runs completely offline after initial load; CSV/JSON export uses client-side
BlobAPIs with no server endpoint. - Strict Content Security Policy: Enforces
default-src 'self'; connect-src 'self'; form-action 'none'so bid pricing tables cannot be exfiltrated. - Zero Tracking or Accounts: No login walls, analytics, cookies, or beacons. Optional
localStoragepersistence of the draft table must be disclosed with a Clear Data button. - 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.
- 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
MITLICENSEfile.
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,880Hour·$113.220002(Base): Travel, not to exceed ·1Lot·$10,000.00(NTE)1001(Option 1): Senior engineer, option year 1 ·1,880Hour·$113.22 × 1.03 = $116.6166→ rounded to$116.62
- Expected Output:
0001Amount:1,880 × $113.22=$212,853.600002Amount:$10,000.00- Base Period Subtotal:
$222,853.60 1001Amount: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.39difference fromround_unit_first), confirming the tool surfaces rounding-mode sensitivity. - Zero Quantity / Empty Table:
quantity = 0yields$0.00; an empty table yields$0.00total with no runtime errors.