# Get your AASHTOWare Project payrolls through an API

> Read the phase of every certified payroll on a contract, the Payroll Import Notifications and the subcontract payments with one API call each. A workflow can check your contracts each morning for payrolls in Agency Rejected or waiting for your Prime Review.

Page: https://fous.com/automate/aashtoware-project-civil-rights-and-labor
Updated: 2026-11-12

Works with your own AASHTOWare Project Civil Rights & Labor account. Fous is an independent product.

## What you can build on AASHTOWare Project

### Get a contract's certified payrolls

Opens the contract from the Vendor Payrolls Overview and reads the Contract Certified Payroll Overview: each payroll, its dates and its phase.

- Takes: Contract ID, phase (optional)
- Returns: Payroll number, vendor, begin date, end date, phase

### Check payroll import notifications

Reads the Payroll Import Notifications tab under Process History: which imported XML files went in and the error lines for the ones that did not.

- Takes: Imported since (optional)
- Returns: File name, imported at, result, error messages

### Get subcontract payments for a contract

Opens an estimate number from Contract Payments and reads its Subcontract Payments: each payee, the date paid, Progress or Final, and the paid amount.

- Takes: Contract ID, estimate number (optional)
- Returns: Estimate number, payee, payee payment number, date paid, payment type, paid amount, signed or not

### Import a payroll XML file

Uses Import File in the global Actions menu to upload a Payroll XML file, then reads the result in Payroll Import Notifications.

- Takes: Payroll XML file
- Returns: File name, result, error messages, contract ID, payroll number

## Automate AASHTOWare Project with a workflow

A [workflow](/product/workflows) runs your methods as one process, with nobody at the screen. A schedule or a call from your own system starts it, the steps run in order, and the result arrives in your inbox or in the systems you already use.

### New Agency Rejected payrolls on your contracts

Starts: Every weekday at 7:00

1. For each contract you name, get the certified payrolls on the Contract Certified Payroll Overview.
2. Keep the payrolls in the Agency Rejected phase that were not there on the last run.
3. Email you the list, one section per contract, with payroll number, vendor and dates.

### Subcontractor payrolls waiting for your Prime Review

Starts: Every Monday at 8:00

1. For each contract, get the certified payrolls in the Prime Review phase.
2. Stop when there are none.
3. Post each one, with contract ID, vendor, payroll number and dates, to your webhook.

### Failed payroll imports and their error lines

Starts: Every weekday at 16:00

1. Check the Payroll Import Notifications for today's imports.
2. Keep the imports that did not succeed.
3. Email you each file name with its error messages and line numbers.

You can run a workflow by hand on every plan, Free included. Schedules and webhook triggers come with the paid plans, from $29 a month.

## Once built, one call from your code

Once you have built a [method](/product/methods), it is one POST to /v1/runs from your backend, or a tool an AI agent calls over MCP. This is what “Get a contract's certified payrolls” would look like.

Example request:

```
curl https://api.fous.com/v1/runs \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "method": "wisdot-pr-prod.infotechfl.com/get_contract_payrolls",
    "input": {
      "contract_id": "20250309901",
      "phase": "Agency Rejected"
    }
  }'
```

Example response:

```
{
  "status": "completed",
  "data": {
    "contract_id": "20250309901",
    "payrolls": [
      {
        "payroll_number": "14",
        "vendor": "Northwind Paving LLC",
        "begin_date": "2026-10-25",
        "end_date": "2026-10-31",
        "phase": "Agency Rejected"
      },
      {
        "payroll_number": "6",
        "vendor": "Globex Traffic Control Inc",
        "begin_date": "2026-10-18",
        "end_date": "2026-10-24",
        "phase": "Agency Rejected"
      }
    ],
    "count": 2
  }
}
```

An example with invented data, not a ready-made endpoint. The method exists in your organization once you build it, and its name, inputs and fields follow your request.

## AASHTOWare Project’s own options

AASHTO's documented way to get certified payrolls in without typing is a Payroll XML file built to its published schema, which you import in your state DOT's site. A spreadsheet and conversion utility turns an Excel payroll into that XML. The guides describe no way to read payroll phases or subcontract payments out other than the screens.

| Option | What it covers | What it takes |
| --- | --- | --- |
| Payroll XML import | Creates certified payrolls from a file exported by your payroll system, built to the Payroll XML Resource Kit 2.2 schema. | A file that passes the schema; AASHTO offers a Windows validator and an online validator. Imported with Import File in your DOT's site. |
| Payroll Spreadsheet and Conversion Utility | Turns AASHTO's payroll spreadsheet into a Payroll XML file you then import. | The spreadsheet filled in by hand and converted at xml.aashtowareproject.org/spreadsheet. |
| AASHTOWare Project by hand | Payrolls entered, signed and corrected on screen, and subcontract payments added and signed per estimate number, one contract at a time. | An account issued by the state DOT that awarded the contract. |

Read on November 12, 2026: [AASHTOWare Project Payroll XML Resource Kit](https://xml.aashtowareproject.org/resourcekit/), [WVDOT quick reference guide: Managing Payrolls](https://webapps.transportation.wv.gov/TWS/WVDOTDocumentStorageMigration/PDF/Transportation/crc/Documents/Managing%20Payrolls_V2.pdf), [WisDOT: certified payrolls overview](https://awpkb.dot.wi.gov/Content/crl/Payrolls-PrimesAndSubs/PayrollOverview.htm).

## Signing in to AASHTOWare Project

Each state DOT runs its own AASHTOWare Project site and sign-in. Kentucky asks for a username and password changed every 90 days, WisDOT for a WAMS ID, password and domain, and South Carolina for a Microsoft account issued by your company. With Fous you sign in once through your DOT's own sign-in with your own account: the login is sealed with AES-256, and an expired session is signed back in.

## Worth knowing

- **One site per state DOT**: There is no shared address: each DOT has its own site, accounts and rules. WisDOT, for example, moved payrolls into AWP CRL only for contracts awarded from January 2025.
- **Subcontractor payrolls pass through the prime**: A subcontractor's payroll is signed by the sub and by the prime before it reaches the DOT. It shows phases such as Under Tier Review and Prime Review on the way.
- **Import results are in Process History**: After Import File, the outcome is on the Payroll Import Notifications tab. Errors name the field and the line, for example an invalid netPay value.
- **Empty spreadsheet cells become zeros**: Tennessee DOT notes that a truly empty cell in the payroll spreadsheet is imported as 0, so its template keeps an apostrophe in empty fields such as Middle Initial and Apprentice ID.

## More in Government: US state and local procurement

- [PASSPort](https://fous.com/automate/passport.md)
- [BidNet Direct](https://fous.com/automate/bidnet-direct.md)
- [Bonfire](https://fous.com/automate/bonfire.md)
- [OpenGov Procurement](https://fous.com/automate/opengov-procurement.md)
- [PlanetBids](https://fous.com/automate/planetbids.md)
- [Cal eProcure](https://fous.com/automate/cal-eprocure.md)
- [COMMBUYS](https://fous.com/automate/commbuys.md)
- [eVA](https://fous.com/automate/eva.md)
- [MyFloridaMarketPlace Vendor Information Portal](https://fous.com/automate/myfloridamarketplace-vendor-information-portal.md)
- [NC eProcurement](https://fous.com/automate/nc-eprocurement.md)
- [SFS Vendor Portal](https://fous.com/automate/sfs-vendor-portal.md)

Other industries: [MyFTB](/automate/myftb), [SOSPortal](/automate/sosportal), [MISUMI](/automate/misumi), [Upwork](/automate/upwork), [PECOS](/automate/pecos), [Aviva Broker](/automate/aviva-broker).

## Frequently asked questions

### Does AASHTOWare Project Civil Rights & Labor have an API?

Not one that contractors are documented to use. The documented way in is a Payroll XML file built to AASHTO's schema, imported in your state DOT's site, or a spreadsheet converted to that XML. Reading phases or subcontract payments back is done on the screens.

### How do I find out why a payroll XML import failed?

Open Process History and choose the Payroll Import Notifications tab. Each failed import lists its errors with the field and the line number in the XML file, so you correct that line and import again.

### Can a prime contractor see its subcontractors' payrolls?

Yes. WisDOT's guide says a prime user sees its own payrolls and those of its subcontractors, while a subcontractor sees only its own. The prime reviews each sub's payroll in the Prime Review phase before it goes to the DOT.

### How does a prime report a payment to a subcontractor?

Open the estimate number under Contract Payments, choose Subcontract Payments, then Add Subcontract Payment From Prime. Enter the payee, a Payee Payment Number, Date Paid, Payment Type and Paid Amount, save, then Sign Subcontract Payment. Kentucky's guide says the subcontractor is then emailed.

### Is Fous affiliated with AASHTO or Infotech?

No. Fous is an independent product. You use it with your own AASHTOWare Project account from your state DOT, and a method reads and does only what that account can.

Fous is an independent product: it is not affiliated with, endorsed by or sponsored by the operator of AASHTOWare Project Civil Rights & Labor (AASHTO, built by Infotech and run by each state DOT). The name is used only to say which system this page is about. Something here wrong or out of date? Write to legal@fous.com.
