Skip to main content
A payslip arrives as coded lines, and the codes are the customer’s own strings. Without resolving them you have amounts you cannot attribute. Filter on the wrong date and a whole run lands in the wrong month.

What you’ll use

Models - employee payroll run, payroll run, payroll code, employer benefit
Before you start
  • The connector has synced, and the customer’s payroll module is in scope.
  • You know whether you are reconciling coverage or cash, because that decides the date filter.

Steps

1

Read per-employee payroll

Filter by employee_id for one person, or payroll_run_id for everyone in a cycle.Result: Earnings, deductions and taxes per employee.
2

Choose the right date filter

Three filter pairs exist on both the run and the employee-run endpoint, and they bound different things.
Check date and pay period routinely fall in different months, and a period ending in December can pay in January. Filtering by check date puts that run in the wrong year. Filtering by period end puts it in the wrong cash month.
Result: Records scoped to the period you mean.
3

Resolve deductions to plans

Take payroll_code from each deduction line and match it against payroll_codes on the employer benefit. Where either side is empty, fall back to the mapping you hold for that connector.Don’t guess the plan from the deduction’s name. That is the customer’s own string, and the one part of this chain Bindbee does not normalize.Result: Deduction lines matched to plans.

Frequently Asked Questions

Payroll is usually a separately licensed module with its own permission grant, and an empty result is the common failure here rather than an error. See Origin-system errors.
Some platforms report in minor units. Check raw_data for one record against a known figure before scaling anything.
Check run_type before assuming a regular schedule, since off-cycle, bonus, termination and correction runs are separate values. Then check run_state, because a run that has not reached PAID may not be where you expected either.
Expected on some connectors, and the field can be empty at both ends of the link. Confirm the mapping with the customer and store it against the connector.
Expected. Overtime follows rules the timesheet does not capture, salaried employees are paid without timesheets at all, and corrections land in a later run than the period they fix. See Time & attendance.