Create a payroll draft from the initialized payroll data. This is the second step of the payroll process.
Flow: GET /payrolls/period-options → POST /payrolls/initialize → edit payrollData → POST /payrolls (create draft) → review → approve.
Send the modified payrollData for each employee and contractor. The same mutual-exclusivity rule from the initialize response applies: each employee entry must contain either payrollData (non-split) or splits (split), never both. payment_method and note are always at the employee root level.
Contractors always use payrollData (no splits).
The server processes payrollData, creates the payroll, and returns a full preview with per-employee tax/benefit/deduction breakdowns, aggregate totals, and an actions.approve hint. This is the review step — inspect the preview and call approve when ready. Requires the payroll plan or higher.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
