Prerequisites
Confirm the following before connecting Justworks:- Admin access to both your DualEntry and Justworks accounts.
- Your chart of accounts in DualEntry includes the GL accounts you intend to use for payroll expense, tax expense, employee and employer benefit accounts, and a payroll clearing or accrued-payroll account.
- A vendor record in DualEntry to use as the payroll vendor (typically named “Justworks”).
- A single DualEntry company that the Justworks data should post to. Consolidated payroll runs in single-entity mode only (see Current limitations).
- Optionally, a classification (such as Department) configured in DualEntry if you want pay statement items split by department on the journal entry.
How to connect
DualEntry connects to Justworks through a hosted Connect widget, so you do not generate API keys or paste credentials into DualEntry. The payroll-data provider handles authentication and returns an access token to DualEntry.- In DualEntry, navigate to Company → Integrations → Justworks.
- Choose Connect. DualEntry opens the Connect widget in a new window.
- In the widget, choose Justworks and sign in with your Justworks admin credentials.
- Approve the data scopes requested on DualEntry’s behalf.
- After approval, the provider redirects back to DualEntry and the integration shows as Connected.
What syncs
The integration pulls the following Justworks data into DualEntry on each sync run. Justworks is the system of record; DualEntry ingests this data and does not push anything back.
Pay groups, individuals, entities, and headcount are also pulled by the provider but hidden from the configuration UI for consolidated payroll. They are internal references the integration uses, not records you map.
Map your Justworks data
After connecting, DualEntry pulls Justworks metadata and shows you what to map. Until every required mapping is filled in, the integration shows as not yet set up and pay statements do not post. The mapping work breaks into three pieces. First, map the Justworks company and the payroll vendor so DualEntry knows where journal entries land and which vendor to stamp on every line. Second, map every pay statement item to a GL account so each earnings, tax, deduction, and contribution line posts to the right place. Third, optionally map departments to classifications if you want journal entry lines split by department.Map companies and the payroll vendor
Map the Justworks company to the DualEntry company that should receive the payroll journal entries, and map the payroll vendor to a DualEntry vendor record. The company mapping determines which DualEntry company the consolidated journal entry posts to. The payroll vendor mapping determines the vendor stamped on every line of the journal entry.- Open Company → Integrations → Justworks → Configuration.
- On the Companies tab, map the Justworks company to a single DualEntry company.
- On the Payroll vendor tab, map the Justworks-named vendor to your DualEntry payroll vendor record.
Map pay statement items to GL accounts
Each pay statement item (earnings line, tax line, employee deduction, employer contribution) must map to a DualEntry GL account before pay statements can post.- Open the Pay statement items tab. Items are grouped by category:
earnings,taxes,employee_deductions,employer_contributions. - For each item, choose the DualEntry GL account the line should post to. Item display names follow the pattern
{category}{-Employer|-Employee}: {item name}, for exampletaxes: Federal Income Taxoremployer_contributions-Employer: 401(k) Match. - Confirm the debit/credit direction stored on each item. This controls whether the amount posts as a debit or credit on the journal entry.
Map departments to classifications
If you maintain a Department classification in DualEntry, Justworks departments are matched by name against your classification lines and applied to the journal entry automatically. This step is optional. Justworks departments that do not match a classification line are omitted from the journal entry, with no error and no auto-create.- Confirm a classification named Department (or whatever name you configured under integration settings) exists in DualEntry.
- Add a classification line for each Justworks department, with names that match exactly.
- On the next sync, departments resolve automatically, with no per-department mapping screen.
How Justworks names pay statement items
Justworks appends the pay period to each pay statement item name, such asMassachusetts Income Tax (Mar 2024). DualEntry strips that trailing month-and-year pattern before it creates the pay_statement_item record, so the same item is recognized across pay periods instead of producing a new unmapped item every payroll run.
The normalization removes a trailing pattern of the form (Mon YYYY), for example (Mar 2024) or (Dec 2025), then lowercases the name and replaces spaces with underscores to build the item’s source id. As a result, Massachusetts Income Tax (Mar 2024) and Massachusetts Income Tax (Apr 2024) both resolve to the same mapped item and post to the same GL account.
Because date stripping happens at item creation, you map each Justworks pay statement item to a GL account once. You do not need to remap the same item when a new pay period changes the date in its name.
How payroll runs become journal entries
Once setup is complete, each Justworks payment (pay run) becomes a single consolidated journal entry in DualEntry, not one journal entry per employee. The consolidation rules:- All pay statements that share a
payment_idgroup together. - For each unique combination of (pay statement item, classification), the integration sums amounts across employees and creates one journal entry line. For example, with eight departments and a “Salary” item, the entry has eight “Salary” lines, one per department.
- Tax items are grouped by item only, with no classification split. When Consolidate payroll tax is on, tax items are further consolidated by GL account into a single “Consolidated Payroll Tax” line per account.
- The journal entry is dated the payment’s pay date.
- The memo follows the pattern
[Justworks] Payroll {start_date} to {end_date} paid on {pay_date} ({n} employees).
Optional: Consolidate payroll tax
By default, every tax item across a payroll run is consolidated by GL account into a single “Consolidated Payroll Tax” line per account on the journal entry. This keeps the entry compact when many tax types map to the same account, for example several state-specific income taxes all posting to the same expense account. If you would rather see one journal entry line per tax item, for granular reporting or tax-type-level analysis, turn this off:- Open Company → Integrations → Justworks → Settings.
- Toggle Consolidate payroll tax off.
- The next sync re-renders pay statements with one line per (tax item, account).
Current limitations
The Justworks integration has the following limitations today:- Single-entity mode only. Consolidated payroll requires a single DualEntry company per Justworks connection. Multi-entity setups (one connection mapping pay statements to multiple DualEntry companies) are not yet supported and skip pay statement processing with a warning.
- No retroactive remapping. Pay statements already consolidated into a journal entry do not re-post if you later change a pay statement item mapping. Resync the affected payment range to apply the new mapping.
- Department-only classification splits. Pay statement classification splits use the configured department classification. Splits by other classifications (such as project or class) are not applied automatically.
- Departments must match by exact name. A Justworks department does not match a classification line if the names differ, even by punctuation or case.
Troubleshoot sync errors
When a record fails to sync, it appears in the Integration Errors log under Company → Integrations → Justworks. The most common causes:Result
After completing these steps, every Justworks payroll run posts to DualEntry as a single consolidated journal entry, with line items per (pay statement item, department) and a balanced offset entry where needed. To verify the first run, open the consolidated entry for the latest pay date and confirm its memo reads[Justworks] Payroll ..., that total debits equal total credits, and that each earnings, tax, deduction, and contribution line landed in the GL account you mapped. Spot-check a department split against the Justworks payroll report so you know classifications resolved as expected.
To audit the resulting payroll entries, see Journal Entries. For other payroll providers that connect the same way, see the Gusto integration or the Paychex Flex integration. To connect additional systems, return to Integrations.