How to fix PBJ staffing discrepancies

A PBJ mismatch is usually not a mysterious CMS problem. It is a bad join between the paid record and the calendar day, with the employee's role checked separately. Reconcile those fields before you submit, then investigate the exceptions that remain.

Start with the records CMS actually counts

  • PBJ reports hours paid to work for each calendar day, not the hours originally scheduled.Source: CMS PBJ Policy Manual v2.7
  • CMS requires a 30-minute meal-break deduction from each full shift paid to work, even when the employee did not take the break; a 12-hour shift paid to work 12 hours reports as 11.5 hours.Source: CMS PBJ Policy Manual v2.7
  • PBJ submissions are due by 11:59 PM Eastern on the 45th calendar day after the last day of each federal fiscal quarter, and the system does not accept submissions after the deadline.Source: CMS staffing data submission guidance
  • PBJ data specification version 4.10.0 enforces a maximum of 22.5 reported hours per employee ID per day across all job titles.Source: CMS staffing data submission updates

The mismatch is usually in the join

Use payroll as the starting point. A schedule tells you what you intended to cover. PBJ needs the hours paid to work, assigned to the correct employee-day and job code. That distinction catches mistakes that look small in a staffing export but change the reported result, such as a 12-hour shift entered as 12 PBJ hours or an agency RN placed under an LPN code.

One terminology trap causes needless work. Electronic Staffing Data Submission, or ESDS, is the CMS program and requirement. Payroll-Based Journal, or PBJ, is the system CMS built for the submission. They are not two separate staffing datasets that need independent reconciliation.

Find the first broken join

Pull one quarter from the payroll register and PBJ working file, with the schedule as context. Compare records at the employee-day level. Totals can match while one night shift is on the wrong date and one agency employee is missing.

What you compareMismatchFirst check
Payroll to schedulePaid hours differ from the planConfirm actual start, end, paid-to-work hours, and meal-break treatment.
Payroll to PBJ dateHours appear on the wrong daySplit work at midnight. PBJ uses the date where work occurred.
Payroll role to job codeAn RN appears under a non-RN codeCheck the work performed, not the person's default title.
Payroll source to pay typeAgency or contract hours are absentConfirm the current value in the CMS data specification and retain the source record.

Build one reconciliation row per employee-day

A usable worksheet needs one row for each employee on each PBJ date, with source values beside the value you plan to submit.

ColumnRecordWhy it matters
Employee ID and work dateThe ID used in both files, plus each calendar date touched by the shiftPrevents split IDs and forces overnight work to be divided at midnight.
Source and reportable hoursPayroll hours paid to work, then hours after the meal-break deductionScheduled hours are not the submission value. CMS accepts decimal fractions rounded to 0.1, or optionally 0.01. Do not send actual minutes as 7.33.
Job code and staff sourceThe PBJ code, plus employee or agency/contract statusSeparates direct-care RN work from administrative RN work and keeps agency staff in the data.
Exception noteA short reason for a manual adjustmentLets another reviewer follow the correction.

Keep the original payroll row beside the corrected PBJ row. A clean final file without its trail is hard to defend when someone asks why the number changed.

Apply the hour rules before comparing totals

Most discrepancy work is arithmetic. The annoying part is that CMS definitions do not match labels in your scheduling system.

SituationPBJ treatmentCommon bad entry
12-hour shift paid to work for 12 hoursReport 11.5 hours after the mandatory 30-minute meal-break deduction.Sending 12.0 because the schedule says 12.
Shift crosses midnightSplit hours between both dates. CMS's 11:00 PM to 7:00 AM example records 1 hour on the first date and 7 on the second before any full-shift deduction.Putting the entire shift on the start date.
Paid leave or off-unit orientationExclude paid leave and other non-work absences. Report work paid to be performed.Counting leave as staffing.
Agency or contract workerInclude the worker and map the work to the correct job code and staff-source value.Dropping the row because the person is not in the employee roster.
More than 22.5 hours on one PBJ dateInvestigate the overlap or duplicate ID, then verify actual hours and date split. Version 4.10.0 rejects more than 22.5 hours per employee ID per day.Deleting a row to get below the cap.

The 22.5-hour limit is a validation ceiling, not permission to report 22.5 hours when payroll supports less. Correct the source mapping first.

Worked example: an agency RN on a night shift

Imagine payroll shows an agency RN paid for a 12-hour shift from 7:00 PM on May 8 to 7:00 AM on May 9. The schedule has one row on May 8. The PBJ draft has 12.0 hours on May 9 under the LPN code.

  1. Use payroll for paid-to-work time. The schedule is context.
  2. Split the shift at midnight into May 8 and May 9 records.
  3. Apply the meal-break deduction. The 12-hour paid shift reports as 11.5 hours.
  4. Map direct-care RN work to code 7, then confirm the agency or contract pay-type value in the current specification.

The original row has four defects: hidden worker source, one date, no meal deduction, and the wrong role. Fixing only the total leaves the file inconsistent with its source.

Treat zero-RN days as an investigation, not a formatting error

When a PBJ day shows zero RN hours, search the source rows before deciding that the day was genuinely uncovered. Check direct-care RN code 7, then RN administrative codes 5 and 6. Review overnight rows and agency or contract records that may be missing from the employee extract.

If payroll supports zero reportable RN hours, do not create a corrective hour. Record the review and keep the underlying records. Send the question for compliance or legal review when the result could affect a submission or survey response. A made-up row creates a larger audit problem than an honest exception.

Also check whether the issue is really HPRD. CMS no longer collects census through PBJ XML; the current data specification says census tags were removed and census is derived from MDS submissions. Do not repair a staffing-hour discrepancy by inserting census data into a PBJ file.

Finish before the quarterly cutoff

CMS allows submissions during the quarter, and the last accepted file is final. The Final File Validation Report can take up to 24 hours to generate. Set your internal review date before the CMS date.

Deadlines are February 14 for Q1, May 15 for Q2, August 14 for Q3, and November 14 for Q4, each at 11:59 PM Eastern on the 45th calendar day after the quarter ends. A vendor submission does not transfer responsibility from the facility.

Where reconciliation goes wrong

  • Comparing scheduled hours to PBJ instead of paid-to-work hours hides the real variance.
  • Posting an overnight shift entirely on its start date moves staffing to the wrong CMS day.
  • Reporting a 12-hour paid shift as 12.0 hours misses the required 30-minute meal-break deduction.
  • Leaving agency or contract workers out of the employee extract understates reportable staffing.
  • Waiting for the Final File Validation Report on the deadline day leaves no time to correct a rejected row.
  • Deleting a row to get below the 22.5-hour cap can erase evidence instead of fixing the employee-day mapping.

What Shiftd can and cannot check

Shiftd maps shifts to PBJ job codes and surfaces schedule conflicts before publication. It does not replace payroll or timekeeping, so the final reconciliation still uses paid records.

See Shiftd in action →

Questions that come up during reconciliation

Why does a 12-hour shift report as 11.5 PBJ hours?

CMS requires a 30-minute meal-break deduction from each full shift paid to work, whether or not the employee actually took the break.

How should I record a night shift that crosses midnight?

Split it between the two calendar dates at midnight, then apply the meal-break rule to the full shift. Do not put the entire shift on the date it started.

Do agency and contract hours belong in PBJ?

Yes. CMS requires auditable direct-care staffing information that distinguishes facility employees from agency or contract staff. Map the worker to the correct job code and current pay-type value.

What should I do when a day has zero RN hours?

Check RN job-code rows and split night shifts, then check agency records. If payroll supports zero reportable RN hours, document the review instead of inventing a row.

Can I submit a correction after the PBJ deadline?

The PBJ system does not accept submissions after the deadline. Submit early enough to read the Final File Validation Report and correct errors before the cutoff.