ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

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:

x12 example-288.x12
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

  • HeaderST, BGN.
  • Contractor / DOLN1*SE, N1*RA.
  • Contract / WDREF*ZZ (contract number), REF*ZZ (wage determination).
  • PeriodDTM*RT (start / end).
  • Per-employee detail — repeated LX loop: NM1*EM (employee), REF*ZZ (classification), QTY*ZZ (hours), AMT*ZZ (base wage).
  • SummarySE.

Common pitfalls

  • Certification statement: a 288 without the signed payroll-officer certification is rejected by DOL — the signature is typically referenced in MSG or REF*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.

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.