AWRA OpsHub Search

A Week, a Contract and a Signature

A certified payroll on a federally funded construction contract has a period of one week, a scope of one contract, and a signature attesting to three specific things. None of those three is a cost figure — and the most unusual requirement in it turns out to be something this product already does, in the wrong module.

Projects & Job Costing Washingtone Aura 13 min read

Almost everything written about prevailing-wage work is about the rate: which classification, what the determination says, how fringe benefits count. That is the hard part legally and it is not the hard part for software. For software the hard part is that the resulting document has a period of one week, a scope of one contract, and a signature on the back of it.

Three properties, and a payroll engine that computes flawlessly can fail all three without a single number being wrong.

What the contract clause actually requires

The clauses go into any covered contract over two thousand dollars. Workers on the site are paid not less often than once a week, at rates not below the wage determination attached to and made part of that contract — and the clause says so regardless of any contractual relationship which may be alleged to exist between the contractor and them, which is a sentence written by people who have heard the argument before.

$2,000
the contract value the clauses attach above
Weekly
both the payment and the submission
3 years
after all work on the prime contract is done

Then, for each week in which any covered work is performed, a certified payroll goes to the agency — and the prime contractor is responsible for the submission of every subcontractor's as well as its own.

One record, two versions, and one of them is deliberately incomplete

This is the requirement worth building software around, and it is the one most people summarising the rule leave out. The record you keep and the record you send are not the same record, on purpose.

The same payroll, twice

Kept, for three years after the work ends

The complete version

  • Name, Social Security number, last known address, telephone number and email address
  • Each worker's correct classification or classifications of work actually performed
  • Hourly rates paid, including anticipated rates for bona fide fringe benefits
  • Daily and weekly hours actually worked, in total and on each covered contract
  • Deductions made, and actual wages paid

Sent, every week

The same information, minus four fields

  • Everything on the left, except —
  • No full Social Security number
  • No last known address, telephone number or email address
  • Instead, an individually identifying number for each worker
  • The regulation's own example: the last four digits of the Social Security number

A prime may still require the full details from a subcontractor for its own records, without those details going onward weekly. So there are two audiences, two versions and one set of facts underneath them.

A system that models this properly needs a notion of a field that exists in full in one place and in reduced form in another — and needs the reduction to be a rule rather than a habit, because the version that goes out every week is the one somebody signs.

We have that mechanism. It is in the reporting layer.

Two things exist in this product and neither is in payroll. A field can be marked readable but not extractable — per table, per field — and an export that would carry it is refused outright and written to the audit log rather than quietly trimmed. And a sensitive value can be masked by one of exactly two strategies, one of which is the last four characters, which is the regulation's own example almost word for word. What it produces is a display string — dots and then the tail — because it was built for a screen. A weekly transmittal wants the four characters as a value. The strategy is right, the output is for a different purpose, and both live on settings and custom fields rather than on a worker identifier.

The rule is not "hide the number". It is "send a different number, every week, and sign for it". Those need different code.

The period is a week, and ours is a month in three places

Here is where we are structurally rather than incidentally short. A payroll run in this product is a calendar month, one per organization per month per work country. The timesheet period that must be approved and frozen before payroll can consume it is also a calendar month, in the same format. And an unfrozen period recomputes live, which is correct behaviour and means the frozen unit is the meaningful one.

So a weekly certified payroll would need a weekly lock, and the lock is monthly — not as a default somebody can change, but as the shape of the column. That is the difference between a setting and a schema, and it is worth naming as such rather than describing it as unsupported.

The scope is one contract, and the hours are already there

The good news, and it is genuinely good. The record has to show daily and weekly hours in total and on each covered contract — two granularities and two scopes at once. Our time entries carry a work date, the hours, and the task they were logged against, and a task belongs to a project. Hours by day and by project are therefore already held at the finer of the two granularities the regulation asks for, which is the half nobody can retrofit.

What sits between those hours and a wage is a seam we have written about twice and will not re-litigate here: the hour recorded as effort and the hour recorded as pay share no key, and the job cost uses one project rate rather than what anybody was actually paid. Both matter for this document. Neither is what this article is about.

The narrower point belongs to the payslip itself, which carries the run, the employee, their contract and their compensation record — and no project. So the phrase on each covered contract has nothing to attach to on the pay side, even though the hours behind it are contract-scoped on the other side of that seam.

Classification is plural, and ours is one field of free text

A small clause with a large consequence: classification(s) of work actually performed. Plural, per worker, per payroll period — because a person can do two kinds of work in one week and the wage floor attaches to the kind of work, not to the person.

An employee here holds one position, and the position carries a grade or band as free text up to a hundred characters, with "e.g. G4" as the placeholder. That is a label, not a governed classification, and there is one of it. A worker who spent Tuesday doing one classified activity and Wednesday doing another is a single row with a single grade — and the certified payroll wants both, with the hours split between them and each measured against its own floor from the determination attached to that contract.

And the signature is not an approval

Every certified payroll is accompanied by a Statement of Compliance, signed by the contractor or by the agent who pays or supervises the payment of the people on the contract, certifying three things: that the payroll and the underlying records are correct and complete; that everyone including helpers and apprentices has been paid their full weekly wages without rebate and with no impermissible deductions; and that each has been paid at least the applicable rates and fringe benefits for the classifications of work actually performed. The signature must be handwritten or a legally valid electronic one, and falsifying the certification carries exposure under the federal false-statements and false-claims statutes.

Our payroll run holds who ran it, who approved it and when it was posted. That is an internal control and it is a different object from an attestation made to somebody outside the organization about the accuracy of a document. We capture signatures elsewhere — a signer's name and date on an employment contract, a drawn signature on a custody handover — and nothing attaches one to a payroll. Worth being clear that this is the item we would be slowest to build, because a signature block is easy and an attestation that means something is not.

One last structural note, since the prime carries the duty for everybody. A supplier in our register is a counterparty and does not point at that supplier's own suppliers — so the tier the prime is answerable for has nowhere to live either.

Four questions for any system sold into prevailing-wage work

What is the shortest payroll period your system can close?

What you will probably hear

Weekly, offered as configurable.

How to read it

Ask what gets frozen, not what gets paid. Many systems pay on any cycle and approve on a month. If the unit that is locked before payroll runs is a month, a weekly certified payroll is derived from something that was never frozen weekly. Ours is monthly and we say so.

Can one worker carry two classifications in one week, with hours split?

What you will probably hear

A description of a job title or grade on the employee record.

How to read it

One label per person is the common shape and the regulation is explicitly plural. Ask whether the classification lives on the hours rather than on the person, because that is the only version that can split a week.

Show me the version of the payroll you would send, next to the version you keep.

What you will probably hear

One report, with a note about hiding a column.

How to read it

The best question on this list. Two versions of one record, with a defined reduction, is a real modelling requirement. A hidden column is a presentation choice, and a presentation choice is not something anybody should sign.

Who signs it, and what does the signature attest to?

What you will probably hear

An approval workflow, with roles.

How to read it

An approval says somebody senior looked. An attestation says three specific things are true, to a third party, with legal exposure attached. If a vendor treats these as the same feature, they have not read the clause.

The short version

The wage determination is the part everybody worries about and the part software mostly cannot help with. The parts software decides are duller and more decisive: whether a payroll period can be a week, whether hours can carry a classification rather than a person, whether the same record can exist in a full version and a reduced one by rule, and whether anything can be attested to rather than merely approved. We hold the hours at the right granularity, by day and by project, which is the half that cannot be retrofitted. The period is a month in three places, the classification is one free-text label, and the redaction machinery we would need is real, enforced and audited — in the reporting module, pointed at exports rather than at a weekly filing.

The straight answer

What AWRA OpsHub does today

  • Hours held per day and per project, each with the date the work was done, the person, and both a cost rate and a bill rate — which is the finer of the two granularities this record asks for.
  • A timesheet period that is approved and locked, with the approver and the moment recorded, and figures that recompute live until it is frozen.
  • Earnings and deductions as itemised lines on a payslip, each with what kind of thing it is, a description and an amount, so deductions made and wages paid are line-level rather than totals.
  • A field that is readable but not extractable, set per table and per field, with an export that would carry it refused outright and the refusal written to the audit log.
  • A last-four masking strategy, already named and implemented, which is the regulation's own example of an individually identifying number.
  • Signature capture on documents that need it — a signer's name and date on an employment contract, a drawn signature on a custody handover, served through a permission-checked route.
  • A working-day calendar that skips weekends and the organization's public holidays, used for deadlines elsewhere.

More we can add to your workspace

  • A payroll period shorter than a calendar month, with the timesheet lock matching it, so a weekly cycle is the unit that gets frozen rather than a slice of one that was not.
  • A classification on the hours rather than on the person, so a worker who did two kinds of work in a week carries both, with the hours split and each measured against its own floor.
  • A contract scope on the pay side, so hours and wages can both be reported for one covered contract rather than one being project-scoped and the other organization-scoped.
  • A masked value that is a value, giving the last four characters as data rather than as a display string, so a transmittal can carry it.
  • A defined reduction between a record kept and a record sent, as a rule attached to the fields, so the version that leaves is produced rather than assembled.
  • An attestation on a payroll run — a named person, a stated set of assertions, and a handwritten or legally valid electronic signature — held as something distinct from an internal approval.
  • A wage floor that a payroll run can be checked against, loaded per contract, so an underpayment is a refusal rather than a discovery.

Where we point you to a specialist

  • We will not tell you whether a contract of yours is covered. That turns on the funding route, the kind of work, and which of the referenced laws applies, and several states run their own prevailing-wage regimes with their own periods and their own forms, which we read no part of. Your counsel owns that answer, and the answer changes what several items on this list have to contain.
  • We will not put a signature block on a document whose contents we cannot stand behind. The Statement of Compliance certifies that records are correct and complete, that full weekly wages were paid without rebate, and that everyone was paid at least the applicable rate for the work actually performed — and falsifying it carries real exposure for the person who signed. Where a figure in our system is derived from a rate somebody typed for a whole project rather than from what anybody was paid, we would rather say so than provide a place to sign. The wage floor check comes before the signature, in that order.

The fourth and fifth items are small and belong together — a masking rule that yields a value, and a defined reduction between the kept and the sent version. The second is the highest-value one, because a classification that lives on the hours is what makes a split week representable at all, and it is a column on a time entry rather than a new concept. The first is a schema change with reach: the period appears in the payroll run, the timesheet lock and the run's uniqueness key, so it wants scoping rather than estimating. The last two we would want to build in that order and not the other way round.

More we can add for you

What we can build for the United States on top of the standard product

Everything listed above as something we can add describes what ships in the standard product today — it is a starting point for the United States, not a limit on what AWRA OpsHub can do there. Kenya's eTIMS integration and its maintained payroll engine are in the product because Kenyan clients needed them and commissioned them; neither appeared by itself. The same door is open here. If a jurisdiction on the record, and settings that are actually read, a bank or mobile money feed, a statutory return format, a rule specific to how your operation runs, or a link to a system you already have is what stands between you and a decision, tell us and we will scope it as a build — written spec, timeline and price — before you commit to anything.

Three builds, and we would decline the fourth

A jurisdiction field on the customer and on the sale — a real field, not a state parsed out of a free-text address line, which is the cheap version and produces confidently wrong returns. Then per-customer tax settings that are read rather than only stored: the exemption flag, the registration number and the override rate all exist on the customer record today and no tax calculation looks at any of them, which is a defect fix rather than a feature. Then the interface a specialist tax service plugs into, so the rate comes from something that does nothing but rates. What we would decline is the fourth build — a US rate table we maintain ourselves. Thousands of jurisdictions with rules that move is not a thing to own as a side line, and we would rather say so in a specification than discover it in year two.

Banks and payments

ACH origination and bank statement feeds wired into the Payments Register, so money in and out reconciles against the documents that authorised it rather than against a spreadsheet.

The operational work, which is what most commissions actually are

An extra approval stage in a chain that does not match the standard one, a custom field set on employees or assets that only your sector needs, an expiry that has to block an order rather than send an email, a report your board asks for in a shape nothing produces, or a scanner or weighbridge feeding the goods-in door. These are the commissions we are asked for most often and the smallest ones we quote — and unlike a revenue-authority pipeline, none of them waits on a regulator.

Payroll and statutory returns

A US payroll engine with federal and state withholding, FICA, quarterly and annual returns, state unemployment insurance and multi-state allocation for employees who cross state lines. None of it exists today.

Systems you already run

The accounting package, CRM, online store or custom database you intend to keep — connected through our API so a fact is entered once and appears everywhere it is needed.

How it works: you describe the requirement, we return a written scope, timeline and cost, and once agreed it is built into your environment and maintained as part of the product. No roadmap slide, and no pretending in a demo that something exists when it does not.

Tell us what you need integrated

See time tracking and payroll

Hours logged per day against a task with cost and bill rates, timesheet periods approved and locked, itemised payslip lines, and field-level export restriction with refusals audited.

Explore projects

Frequently asked questions

Can your system produce a certified payroll?

No, and the reasons are structural rather than a missing report. The document's period is a week and ours is a calendar month in three places — the payroll run, the timesheet lock, and the run's uniqueness key. Its scope is one contract and a payslip carries no project. And it needs a signed attestation, which is a different object from the internal approval a payroll run already records. What we do hold is the part that cannot be retrofitted: hours per day, per person, per project, with the date the work was actually done.

Why does the weekly period matter more than the weekly pay date?

Because the pay date is a setting and the period is a shape. Most systems can pay on any cycle. The question worth asking is what gets frozen before payroll consumes it — in ours that is a monthly timesheet period, and an unfrozen period recomputes live. A weekly submission derived from a unit nobody locked weekly is a number that can change after it was certified, which is the opposite of what a Statement of Compliance says about it.

You mention a last-four masking strategy. Does that solve the redaction requirement?

It is the right idea in the wrong shape, and worth being precise about. The strategy exists and is named, in two places, and it does keep the final four characters — which is exactly the regulation's own example of an individually identifying number. What it returns is a display string: bullet characters followed by the tail, built for a screen. A weekly transmittal needs those four characters as data. It also lives on tenant settings and custom fields rather than on a worker identifier, and the enforcement half — a field readable but not extractable, with the export refused and audited — sits in the reporting module. So the mechanism is real and pointed somewhere else.

Can we record that a worker did two different classifications in one week?

Not today. An employee holds one position and the position carries a grade or band as free text, so there is one label per person. The record required here says classifications of work actually performed, in the plural, because the wage floor attaches to the kind of work rather than to the worker. Putting the classification on the hours instead of on the person is a column on a time entry rather than a new concept, and it is the item we would rank highest of the seven in the ledger above.

Which version of the regulation did you read?

The 2024 annual edition of 29 CFR 5.5, from the Government Publishing Office. We could not reach the continuously updated eCFR, which blocks automated requests, so anything amended since that edition would not be reflected here — and this article quotes one section of one part rather than summarising the scheme. Read the current text before you configure anything on the strength of this page, and take coverage and state-level equivalents to your counsel.

Help Center

Need a quick answer while you read?

Run inventory, procurement, assets, sales, and field work with approved AWRA guidance for setup, migration, integrations, security, pricing, and support.

Search all approved AWRA public help articles.

Open Help Center