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

