Skip to content

Gusto Payroll Accounting

Use this guide when a client runs payroll in Gusto and wants Kraal to turn approved payroll runs into accounting-ready ERPNext journal entries.

Kraal's Gusto integration is designed for controlled accounting work:

  • payroll data comes from Gusto
  • account and cost center decisions are made in Kraal
  • Kraal previews the payroll journal before anything is created
  • Kraal creates an ERPNext draft Journal Entry only when the preview is balanced and fully mapped
  • a human must manually submit every payroll Journal Entry

Kraal does not auto-submit payroll Journal Entries. Payroll posting is sensitive, so final submission always stays manual.

What Kraal does with Gusto

Kraal can:

  • connect a client's Gusto company through Gusto's authorization flow
  • read payroll company and payroll run information
  • help map payroll activity to ERPNext accounts and cost centers
  • suggest missing payroll accounts when the chart is incomplete
  • create missing ERPNext payroll accounts from reviewed suggestions
  • build a payroll journal preview with debit and credit totals
  • block draft creation when mappings, totals, or account references are not ready
  • create an ERPNext draft Journal Entry after the preview passes checks
  • show integration logs for preview, draft creation, and submit actions

Gusto remains the payroll source. Kraal and ERPNext handle accounting records after payroll is approved.

Before you start

You need:

  • a Kraal client with ERPNext provisioned and healthy
  • access to the client's Gusto company
  • an approved or completed payroll run in Gusto
  • authority to decide payroll accounting policy for the client
  • an ERPNext chart of accounts that can support payroll expense, tax liability, benefit liability, and payroll clearing accounts

If the client is new to Kraal, complete the normal client setup first. See Quick Start, Client Detail Page, and Chart of Accounts.

Security and access

Users connect Gusto through the Kraal app. They should not paste API secrets, client secrets, auth codes, browser session data, or tokens into support tickets, Slack, shared docs, or manual mapping fields.

For normal client setup, the user only needs to sign in to Gusto and approve the connection. Kraal administrators manage the platform-level Gusto application configuration separately.

If Gusto asks for authorization again later, reconnect from Kraal's Gusto integration detail page instead of sharing credentials.

Setup flow

1. Open the Gusto integration

  1. Select the client in Kraal.
  2. Open Settings > Integrations or Accounting > Integrations.
  3. Open Gusto.
  4. Click the connect action and complete the Gusto authorization flow.
  5. Return to Kraal and confirm the connection shows as healthy.

For general integration navigation, see Integrations.

2. Refresh payroll and ERPNext options

After Gusto is connected:

  1. Open the Gusto integration detail page.
  2. Refresh Gusto payroll data.
  3. Refresh ERPNext options.
  4. Confirm Kraal can see payroll runs, ERPNext accounts, and ERPNext cost centers.

If accounts or cost centers are missing, update ERPNext directly or use Kraal's guided account setup where available.

3. Choose the payroll journal style

Before saving mappings, decide how detailed the Journal Entry should be.

Granular journal is recommended for most accounting teams. It separates wages, employer payroll taxes, employer benefits, employee tax withholding, employee benefit deductions, net pay clearing, and other payroll liabilities where the data is available. This is better for quarterly payroll tax review and account reconciliation.

Simplified journal summarizes payroll into fewer lines. It can be easier for small clients, but it gives accountants less detail when reconciling payroll tax and benefits.

Choose the level of detail with the client or accountant before the first payroll posting. Do not change this casually mid-year unless the accounting team agrees on the transition.

4. Choose cost center allocation

Decide how payroll should be allocated:

Allocation modelWhen to use it
Flat cost centerAll payroll belongs to one cost center. This is simplest.
DepartmentPayroll needs to follow Gusto departments or teams.
LocationPayroll needs to follow physical locations or operating regions.
EmployeePayroll must be allocated employee by employee. This is the most detailed and needs the cleanest mapping.

Cost center choices affect how many lines Kraal needs to create. More detailed allocation means more lines and more mapping requirements.

For ERPNext accounting context, see Journal & Payment Entries.

5. Decide reimbursement treatment

Reimbursements need an accounting policy decision:

  • Exclude reimbursements from payroll JE when reimbursed expenses were already recorded separately through expense claims, bills, or card activity.
  • Include reimbursements in payroll JE when payroll is the system of record for those reimbursements and no other accounting entry has captured them.

Do not include reimbursements in the payroll Journal Entry if that would duplicate expenses already posted elsewhere.

6. Map required payroll accounts

Kraal will ask for the ERPNext accounts used by the payroll preview. Typical mappings include:

Payroll fieldCommon ERPNext account type
Wages and salariesExpense
Employer payroll tax expenseExpense
Employer benefit expenseExpense
Federal tax payableLiability
State tax payableLiability
FICA payableLiability
FUTA payableLiability
SUTA payableLiability
Benefits payableLiability
Payroll clearing or net pay clearingCash, bank, or liability account based on the client's clearing model

Kraal may suggest payroll accounts if the existing account list does not contain a good match. Review suggestions before creating accounts. Account names should be clear enough for later reconciliation, for example:

  • Salaries and Wages
  • Payroll Tax Expense
  • Employee Benefits Expense
  • Federal Tax Payable
  • State Tax Payable
  • FICA Payable
  • Payroll Clearing Net Pay

Use the client's existing chart conventions where possible. See Chart of Accounts before creating new accounts.

7. Apply suggestions and save mappings

Recommended order:

  1. Click Refresh ERPNext options.
  2. Review Kraal's suggested accounts and cost center.
  3. Create or select missing payroll accounts.
  4. Apply suggestions only after they match the client's accounting policy.
  5. Save payroll settings.
  6. Confirm Kraal validates the saved mappings.

If validation fails, fix the missing or invalid account reference before previewing again.

Preview and draft creation

Preview payroll

After mappings are saved:

  1. Select the payroll run.
  2. Click Preview payroll journal.
  3. Review debit lines, credit lines, accounts, cost center, and totals.
  4. Confirm the preview is balanced.

Kraal blocks draft creation when:

  • a required account is missing
  • a required amount is missing
  • an ERPNext account reference is invalid
  • a cost center is invalid
  • debit and credit totals do not balance
  • the payroll run is not ready for accounting

Create ERPNext draft

Create the ERPNext draft only when the preview is ready.

Kraal creates a draft Journal Entry in ERPNext and shows the draft name. The draft can be reviewed in Kraal and ERPNext before submission.

Draft creation is idempotent: if a draft already exists for the payroll run, Kraal should reuse the existing draft instead of creating a duplicate.

Submit manually

Every payroll Journal Entry must be submitted manually by an authorized operator.

Before clicking Submit draft, review:

  • payroll period and posting date
  • company
  • all debit and credit accounts
  • cost center allocation
  • net pay or clearing account
  • employer taxes and benefits
  • employee deductions and liabilities
  • total debits and credits

Do not submit a payroll Journal Entry just because Kraal created the draft. Draft creation means the entry passed system checks; manual submission is the accounting approval step.

Use this checklist for the client's first live payroll run:

  1. Confirm Gusto is connected and healthy.
  2. Confirm ERPNext is connected and healthy.
  3. Refresh ERPNext account and cost center options.
  4. Decide granular vs simplified journal style.
  5. Decide cost center allocation model.
  6. Decide reimbursement treatment.
  7. Map payroll accounts.
  8. Save settings and confirm validation passes.
  9. Preview payroll journal.
  10. Review blockers, if any.
  11. Create or select missing accounts.
  12. Preview again until balanced.
  13. Create ERPNext draft.
  14. Review the draft with the accounting owner.
  15. Manually submit only after approval.
  16. Review logs if anything fails.

Day-to-day operating flow

For each payroll cycle:

  1. Run and approve payroll in Gusto.
  2. Open the client's Gusto integration detail in Kraal.
  3. Refresh payroll data if the latest payroll run is not visible.
  4. Preview the payroll journal.
  5. Resolve any mapping or account blockers.
  6. Create the ERPNext draft when the preview is ready.
  7. Review the draft.
  8. Manually submit the Journal Entry.
  9. Check integration logs if the preview, draft creation, or submit step fails.

Troubleshooting

The Gusto login or connection fails

Reconnect from the Gusto integration detail page. Do not copy auth codes or tokens into Kraal manually.

If the connection still fails, confirm the user has access to the correct Gusto company and escalate through your firm's normal support path.

Payroll run does not appear

Refresh payroll data. If it still does not appear, confirm the payroll run exists in Gusto and is far enough along for accounting review.

Preview says accounts are missing

Refresh ERPNext options, then review the suggested account setup. Create accounts only when they match the client's chart conventions and accounting policy.

Preview does not balance

Do not create a draft. Review the blocker list, payroll amounts, reimbursement treatment, and mapping choices. The preview must balance before draft creation.

Draft creation fails

Open Review logs from the Gusto panel. Logs show whether the failure came from mapping validation, ERPNext account references, ERPNext connectivity, or another write-back issue.

A draft already exists

Use the existing draft. Do not create a second Journal Entry for the same payroll run. Review the existing draft and submit manually if approved.

Submit fails

Open logs and review the ERPNext error. Fix the underlying issue, then retry from Kraal or submit in ERPNext only if your firm's support process explicitly directs that path.

For broader support patterns, see Troubleshooting.

Safe operating rules

  • Do not share Gusto credentials, secrets, tokens, authorization codes, or session screenshots.
  • Do not submit payroll Journal Entries automatically.
  • Do not create duplicate payroll Journal Entries for the same payroll run.
  • Do not create accounts without reviewing account type and parent account.
  • Do not include reimbursements in payroll if they were already expensed elsewhere.
  • Do not change payroll journal style mid-year without accounting review.
  • Use Kraal logs when something fails so the audit trail stays intact.

Kraal — AI-powered accounting for modern firms