X12 288 — Wage Verification Report
The 288 transmits the wage verification of a federal or state worker: hourly rate paid, hours worked per classification, fringe benefits, compliance with a 287 wage determination.
Purpose
The 288 documents a contractor's certified payroll operating under Davis-Bacon or the Service Contract Act. It carries per-employee detail: classification, hours, base wage, fringe benefits, deductions, net pay. It proves compliance with 287 requirements.
It is submitted weekly to DOL and the contracting officer. Acknowledged by 997. Non-compliance (under-payment) can trigger restitution and debarment from federal contracting.
Envelope structure
The 288 travels within the three X12 envelope levels (ISA/IEA,
GS/GE with functional group WR, and ST/SE).
Didactic example in release 004010:
ISA*00* *00* *ZZ*FEDCONTRACTOR *ZZ*DOLWHD *260515*1730*U*00401*000000288*0*P*>~
GS*WR*FEDCONTRACTOR*DOLWHD*20260515*1730*1*X*004010~
ST*288*0001~
BGN*00*WV-2026-WK20*20260515~
N1*SE*ACME CONSTRUCTION*24*EIN-ACME~
N1*RA*US DEPT OF LABOR WHD*24*EIN-DOL~
REF*ZZ*CONTRACT-W912DY26C0099~
REF*ZZ*WAGE-DET-WD-TX20260042~
DTM*RT*20260511~
DTM*RT*20260517~
LX*1~
NM1*EM*1*WORKER*JOHN*A***34*SSN-LAST4-7777~
REF*ZZ*CLASSIFICATION-CARPENTER~
QTY*ZZ*40~
AMT*ZZ*38.50~
SE*13*0001~
GE*1*1~
IEA*1*000000288~ Common segments
- Header —
ST,BGN. - Contractor / DOL —
N1*SE,N1*RA. - Contract / WD —
REF*ZZ(contract number),REF*ZZ(wage determination). - Period —
DTM*RT(start / end). - Per-employee detail — repeated
LXloop:NM1*EM(employee),REF*ZZ(classification),QTY*ZZ(hours),AMT*ZZ(base wage). - Summary —
SE.
Common pitfalls
- Certification statement: a 288 without the signed payroll-officer certification is rejected by DOL — the signature is typically referenced in
MSGorREF*ZZ. - Misclassification: paying an electrician at the carpenter rate (cheaper) violates Davis-Bacon; the 288 must reflect actual classification, not the one the contractor prefers.
- Cash vs bona-fide fringes: a fringe paid in cash vs a documented benefit plan does not have the same ERISA implications — distinguish them.
Related transactions
Documentation
The code 288 and the name Wage Verification Report are public and listed on x12.org/products/transaction-sets. The complete structure of loops, qualifiers and code lists is distributed by DISA via the proprietary Implementation Guides (TR3). ediverse.io covers only public concepts, the envelope and didactic examples.