Methods notePublic procurement records

How to count federal contract dollars without double counting

Base and all options value vs obligated amount on federal contract records: which dollar field to sum, at which level, and how modifications, orders and outlays change a total.

Cover of the full report: How to count federal contract dollars without double counting
The research behind this article, with every source listed. 19 pages.

Key points

From the Summary of the full report

  1. Base and all options value vs obligated amount: the obligated amount is money committed by signed contract actions, the sum of each action's Action Obligation, while base and all options value is what a contract could reach if every option were exercised [1, 4, 6]. USAspending's award amount is the obligated amount [4, 6].
  2. Each contract action reports its own change in obligation and value, and copies of the records add award-level totals beside those changes [4, 5, 7, 13]. On one public purchase order, adding the total shown on each of its four rows gave $181,988.24, four times the $45,497.06 obligated (by arithmetic) [31].
  3. De-obligations are negative Action Obligation values and belong in the sum [1, 13]. On one public purchase order, a funding-only modification removed $7,183.74 of obligations while its stated value stayed at $52,680.80 [2, 31, 32].

To count federal contract dollars without double counting, start with base and all options value vs obligated amount. The obligated amount is money committed by signed contract actions, the sum of each action's Action Obligation. Base and all options value is what a contract could reach if every option were exercised [1, 4, 6]. Only the first is what USAspending reports as an award's amount: the sum of its Federal Action Obligations [4, 6]. The rest of the count is about level and dates, because every modification and order is its own row, and the copies that republish those rows repeat the award's current totals beside them [4, 5, 13].

This note sets out a counting procedure from the official definitions in Federal Procurement Data System (FPDS) help, the DATA Act standards and USAspending's data dictionary, tested on public records retrieved on 8 November 2026 and cited by PIID, the procurement instrument identifier. Where each copy of the records comes from, and when each updates, is covered in FPDS, SAM.gov and USAspending: where contract data comes from.

Published totals already differ. The Government Accountability Office (GAO) reported $754.9 billion of fiscal year 2024 procurement obligations in FPDS as of 3 April 2025 [30]. On 8 November 2026, USAspending showed $787.2 billion for contract award types in the same fiscal year, plus $15.4 billion on the records of indefinite delivery vehicles (IDVs), the contracts that agencies place orders against [13, 34]. No source opened explains the gap, so each figure needs its source and date.

Base and all options value vs obligated amount

Every contract action reports three amounts [1, 4, 5]:

Amount FPDS field What it measures
Obligated Action Obligation Funds obligated or de-obligated by this action
Current value Base and Exercised Options Value The base contract plus the options exercised
Potential value Base and All Options Value The base plus all options, exercised or not

An option is the government's unilateral right, for a specified time, to buy more or to extend the contract's term [10]. The potential value therefore counts money the government may commit later. USAspending's glossary gives an example: a $10 million base contract with three option years at $1 million each has a potential award amount of $13 million [6]. For a contract, an amount is recorded as an obligation only when documentary evidence supports it, such as a binding agreement in writing [26].

Per-action changes and award totals on one row

On a modification, Base and All Options Value holds the change, positive or negative [4, 5, 30]. Guidance from the Department of Defense (DoD) tells its contracting staff to enter the net change for all three amounts and lets FPDS calculate the new totals [8]. USAspending's code then adds each award's transactions to make its values [14].

The same rows also carry award totals. One firm-fixed-price purchase order, PIID 15B61524P00000105, had four actions in the FPDS public feed [31]:

Action Signed Action obligation Total obligated shown on the row
Award 1 Aug 2024 $28,735.00 $45,497.06
P00001 31 Dec 2024 $4,789.16 $45,497.06
P00002 24 Jan 2025 $19,156.64 $45,497.06
P00003 2 Apr 2025 -$7,183.74 $45,497.06

The action obligations add to $45,497.06 (by arithmetic) [31]. The total column adds to $181,988.24, four times the money obligated (by arithmetic) [31]. The SAM.gov Contract Awards API returns a per-action dollars block beside a contract-total block [7]. Copies can also disagree: the API documentation's example for P00003 shows a total base and exercised options value of 45497.06, where the FPDS feed and USAspending showed $52,680.80 on 8 November 2026 [7, 31, 32].

Modifications and de-obligations stay in the sum

The three modifications above carry reason code C, a funding only action [2, 31, 32]. P00003 removed $7,183.74 of obligations, and the order's potential value stayed at $52,680.80 [31, 32]. Agencies issue de-obligations to correct errors or reflect new information, for example when a project costs less than expected [13]. A total that drops negative values overstates obligations.

Rows and actions differ too. A modification that changes any reported field is reported even with no dollars [8, 9]. Express reports consolidate a vendor's actions into one row, at least monthly, and DoD records the count in Number of Actions [8, 9]. A contract can change its PIID through a modification that names both numbers [12], so its history can sit under two.

Orders roll up to their IDV

An IDV can be an indefinite delivery, indefinite quantity (IDIQ) contract, a Federal Supply Schedule or a blanket purchase agreement (BPA) [13]. The order obligates the funds [28]. Each order names its vehicle in parent_award_id_piid [13]. USAspending's IDV amounts endpoint reports child and grandchild orders apart [16].

Order PIIDs can repeat across vehicles, so group by the full award key. The Treasury's Data Broker builds it from the PIID, the agency, the parent award ID and the parent's agency [15]. The API documentation shows an order numbered "0001" under one vehicle and needs the vehicle's PIID when the order's is not unique [7].

DoD's guidance says DoD does not obligate funds on indefinite-delivery contracts themselves [8]. In USAspending, IDV records still carried $15.4 billion of fiscal year 2024 obligations [34]. Those are the IDV's own transactions, so they belong in an obligation total. The IDV's value fields do not: its Base and All Options Value includes "the estimated value of all potential orders" [5, 30].

What an IDIQ contract ceiling counts

The Federal Acquisition Regulation (FAR) at 16.504 requires an indefinite-quantity contract to state a minimum and a maximum, in units or dollars, and prefers multiple awards under one solicitation [11]. The Congressional Research Service (CRS) gives an example of a five-vendor IDIQ whose $10,000,000 maximum caps the cumulative orders to all five [29]. Indefinite-delivery contracts must carry a multiple-award code [3], and a solicitation identifier links a record to its solicitation when it is filled in [5, 33].

The records can be tested. On 8 November 2026, USAspending returned 186 IDV records for two series of one agency's PIIDs, NNG15SC01B to NNG15SC99B and NNG15SD01B to NNG15SD99B [33]. Of these, 184 showed a Base and All Options Value of $20 billion, 171 named the same solicitation and none carried obligations of its own [33]. Their 199,519 orders carried $85.4 billion [33]. Added together, the 186 stated values reach $3.72 trillion, about 44 times those obligations (by arithmetic) [33]. The records do not say whether $20 billion is one cap or one per contract [33]. Treat identical values across one solicitation as one figure repeated on each record, and keep them out of any spending total.

Obligated vs outlayed amount

In USAspending's words, an obligation is "a promise made by the government to spend funds", and an outlay occurs "when money is actually paid out" [13]. The Treasury's Fiscal Data guide uses outlays to represent spending and notes that USAspending may display spending as obligations [24]. The purchase order had $45,497.06 obligated and $16,789.98 outlaid [32].

Outlays need their own care. Agencies have had to report award outlays every month only since fiscal year 2022, apart from COVID-19 supplemental awards [13]. An award missing from agency financial systems shows no outlays [21]. File C outlay values run from the start of the fiscal year [5, 21], and USAspending's code reads only each year's final balances [22]. Adding every monthly submission would count the same payments again (derived from [5, 22]).

Fiscal years and late records

The fiscal year runs from 1 October to 30 September [25], and obligations belong to the fiscal year of each transaction's action date [6]. USAspending's award summaries match a time filter when their first and latest transactions overlap the period, whether or not any transaction falls inside it [19]. The purchase order shows the effect: $28,735.00 belongs to fiscal year 2024 and a net $16,762.06 to fiscal year 2025, so its award amount belongs to neither year alone (by arithmetic) [31, 32].

DoD records reach public view 90 days after signing [8], and records change after signing: the purchase order's four rows all show a last-modified time in July 2025 [31]. A total needs its pull date and scope stated with it, the capture time and scope that datasets that state their limits asks of every record.

A counting procedure with checks

  1. Pick the measure: obligations for award amounts, outlays for payments, Base and All Options Value only as a stated potential [1, 4, 6, 13].
  2. Sum per-transaction Action Obligation by action date, and never add the award totals that repeat on each row [5, 13].
  3. Keep de-obligations in the sum [1, 13].
  4. Group by the full award key, never by PIID alone [7, 15].
  5. Count each obligation once, on the order or IDV transaction that records it, and keep IDV values out [5, 8, 13].
  6. Group IDVs by solicitation and multiple-award code before reading any value [3, 5, 33].
  7. Keep subaward amounts out of prime totals, as USAspending's glossary advises [6].
  8. Check that each award's action obligations add to its total obligated amount, and reconcile to a published figure with its date [5, 30, 34].

Totals by supplier add one more step: matching every record of a supplier across names and identifiers, the subject of how entity resolution matches records across sources.

Rillor's public procurement records keep each change to a notice or award as a new version, so earlier versions stay readable next to the current one.

Read the full report

The full report adds the field crosswalk, the award and transaction keys, the vehicle test in full, the outlay coverage rules and the complete source list.

The full report

How to count federal contract dollars without double counting

The research behind this article, with every source listed. 19 pages.

  1. Summary
  2. Background
  3. Method
  4. Findings
  5. Implications
  6. Limits of this analysis
  7. Sources

Sources

  1. Create a Definitive Contract (FPDS help). U.S. General Services Administration, FPDS, undated, viewed 8 November 2026. https://www.fpds.gov/help/Create_a_Stand_Alone_Contract.htm
  2. Reason for Modification (FPDS help). U.S. General Services Administration, FPDS, undated, viewed 8 November 2026. https://www.fpds.gov/help/Reason_for_Modification.htm
  3. Multiple or Single Award IDV (FPDS help). U.S. General Services Administration, FPDS, undated, viewed 8 November 2026. https://www.fpds.gov/help/Multiple_or_Single_Award_IDC.htm
  4. Element: Amount of Award, Federal Action Obligation, Non-Federal Funding Amount, Current Total Value of Award, and Potential Total Value of Award. Federal Spending Transparency, U.S. Department of the Treasury and OMB, final definitions after August 2015 public feedback, viewed 8 November 2026. https://fedspendingtransparency.github.io/whitepapers/amount/
  5. USAspending Data Dictionary (API reference endpoint). USAspending.gov, U.S. Department of the Treasury, Bureau of the Fiscal Service, viewed 8 November 2026. https://api.usaspending.gov/api/v2/references/data_dictionary/
  6. USAspending Glossary (API reference endpoint). USAspending.gov, U.S. Department of the Treasury, viewed 8 November 2026. https://api.usaspending.gov/api/v2/references/glossary/
  7. SAM.gov Contract Awards API. U.S. General Services Administration, open.gsa.gov, base version 5 December 2025, updated 25 August 2026, viewed 8 November 2026. https://open.gsa.gov/api/contract-awards/
  8. DFARS PGI 204.6, Contract Reporting (PGI change effective 7 May 2026). Acquisition.gov, Defense Pricing, Contracting, and Acquisition Policy, viewed 8 November 2026. https://www.acquisition.gov/dfarspgi/pgi-204.6-contract-reporting
  9. FAR Subpart 4.6, Contract Reporting (FAC 2026-01, effective 13 March 2026). Acquisition.gov, General Services Administration, viewed 8 November 2026. https://www.acquisition.gov/far/subpart-4.6
  10. FAR 2.101, Definitions (FAC 2026-01, effective 13 March 2026). Acquisition.gov, General Services Administration, viewed 8 November 2026. https://www.acquisition.gov/far/2.101
  11. FAR 16.504, Indefinite-quantity contracts (FAC 2026-01, effective 13 March 2026). Acquisition.gov, General Services Administration, viewed 8 November 2026. https://www.acquisition.gov/far/16.504
  12. FAR Subpart 4.16, Unique Procurement Instrument Identifiers (FAC 2026-01, effective 13 March 2026). Acquisition.gov, General Services Administration, viewed 8 November 2026. https://www.acquisition.gov/far/subpart-4.16
  13. Analyst's Guide to Federal Spending Data. USAspending.gov, U.S. Department of the Treasury, undated document created April 2022, viewed 8 November 2026. https://www.usaspending.gov/data/analyst-guide-download.pdf
  14. usaspending-api, award_helpers.py (award total SQL). U.S. Department of the Treasury, Bureau of the Fiscal Service, GitHub, last changed 5 May 2026, viewed 8 November 2026. https://github.com/fedspendingtransparency/usaspending-api/blob/master/usaspending_api/etl/award_helpers.py
  15. Data Broker, load_sam_contract.py (unique award and transaction keys). U.S. Department of the Treasury, Bureau of the Fiscal Service, GitHub, last changed 27 October 2026, viewed 8 November 2026. https://github.com/fedspendingtransparency/data-act-broker-backend/blob/master/dataactcore/scripts/pipeline/load_sam_contract.py
  16. IDV Award Amounts, API contract /api/v2/idvs/amounts/{award_id}/. U.S. Department of the Treasury, Bureau of the Fiscal Service, usaspending-api repository, last changed 28 September 2021, viewed 8 November 2026. https://github.com/fedspendingtransparency/usaspending-api/blob/master/usaspending_api/api_contracts/contracts/v2/idvs/amounts/award_id.md
  17. Advanced Search table view notes (TableDsm.jsx). USAspending.gov, U.S. Department of the Treasury, site source repository, last changed 8 October 2026, viewed 8 November 2026. https://github.com/fedspendingtransparency/usaspending-website/blob/master/src/js/components/search/resultsView/table/TableDsm.jsx
  18. About the Data: Limited Data for Unlinked Prime Awards. USAspending.gov, U.S. Department of the Treasury, site source repository, last changed 13 May 2025, viewed 8 November 2026. https://github.com/fedspendingtransparency/usaspending-website/blob/master/src/content/about-the-data/limited-data-for-unlinked-prime-awards.mdx
  19. usaspending-api, awards data layer sql.py (award outlay totals). U.S. Department of the Treasury, Bureau of the Fiscal Service, GitHub, last changed 13 April 2023, viewed 8 November 2026. https://github.com/fedspendingtransparency/usaspending-api/blob/master/usaspending_api/awards/v2/data_layer/sql.py
  20. Federal Spending (America's Finance Guide). U.S. Department of the Treasury, Fiscal Data, viewed 8 November 2026. https://fiscaldata.treasury.gov/americas-finance-guide/federal-spending/
  21. 31 U.S.C. 1102, Fiscal year. Legal Information Institute, Cornell Law School, viewed 8 November 2026. https://www.law.cornell.edu/uscode/text/31/1102
  22. 31 U.S.C. 1501, Documentary evidence requirement for Government obligations. Legal Information Institute, Cornell Law School, viewed 8 November 2026. https://www.law.cornell.edu/uscode/text/31/1501
  23. Federal Contracts: Agencies Widely Used Indefinite Contracts to Provide Flexibility to Meet Mission Needs, GAO-17-329. U.S. Government Accountability Office, April 2017, viewed 8 November 2026. https://files.gao.gov/assets/gao-17-329.pdf
  24. Types of Federal Procurement Contracts, R48784. Congressional Research Service, 6 January 2026, viewed 8 November 2026. https://www.congress.gov/crs_external_products/R/PDF/R48784/R48784.1.pdf
  25. Federal Spending Transparency: Actions Needed to Help Ensure Procurement Data Quality, GAO-25-107469. U.S. Government Accountability Office, 25 September 2025, viewed 8 November 2026. https://files.gao.gov/reports/GAO-25-107469/index.html
  26. FPDS public ATOM feed, query PIID:15B61524P00000105, live retrieval. U.S. General Services Administration, FPDS.gov, viewed 8 November 2026. https://www.fpds.gov/ezsearch/FEEDS/ATOM?FEEDNAME=PUBLIC&q=PIID%3A15B61524P00000105
  27. USAspending API, award and transactions for CONT_AWD_15B61524P00000105_1540_-NONE--NONE-, live retrieval. U.S. Department of the Treasury, Bureau of the Fiscal Service, viewed 8 November 2026. https://api.usaspending.gov/api/v2/awards/CONT_AWD_15B61524P00000105_1540-NONE-_-NONE-/
  28. USAspending API, IDV awards and IDV amounts for PIIDs NNG15SC01B to NNG15SC99B and NNG15SD01B to NNG15SD99B (agency 8000), live retrieval. U.S. Department of the Treasury, Bureau of the Fiscal Service, viewed 8 November 2026. https://api.usaspending.gov/api/v2/idvs/amounts/CONT_IDV_NNG15SD19B_8000/
  29. USAspending API, spending_over_time by fiscal year for contract and IDV award types, endpoint contract and live queries. U.S. Department of the Treasury, Bureau of the Fiscal Service, usaspending-api repository, viewed 8 November 2026. https://github.com/fedspendingtransparency/usaspending-api/blob/master/usaspending_api/api_contracts/contracts/v2/search/spending_over_time.md

Tell us which records you need.

Send the sources, record types and date range you need, and how you plan to use them.

Request procurement data