Skip to main content
Back to blog

How to Convert ADP Payroll Reports to QuickBooks Online Journal Entries (2026 Guide)

# How to Convert ADP Payroll Reports to QuickBooks Online Journal Entries (2026 Guide) If you've ever stared at an ADP payroll export and then opened QuickBooks Online hoping it would somehow fit — you already know it won't. The column headers don't align, the account structure is different, and QBO's journal entry import expects a very specific schema that ADP has never heard of. This guide walks through the full conversion process: what ADP reports you need, how to remap the data in Excel, and how to produce a balanced journal entry that QBO will actually accept. If you're processing payroll for multiple clients, there's also a faster path worth knowing about. --- ## The Challenge: Why ADP Exports Don't Match QBO Requirements ADP generates payroll data structured around its own internal logic — employee IDs, pay component codes, tax authority identifiers, and department numbers that mean something inside ADP's system but nothing to QuickBooks Online. QuickBooks Online's journal entry import, by contrast, expects: - **Account names or numbers** that match your Chart of Accounts exactly - **Debit/Credit columns** (not net pay or gross pay breakdowns) - **Class and location fields** if you're using those dimensions - A **balanced entry** — debits must equal credits, full stop The result is a structural mismatch on every axis. ADP organizes data by employee and pay component. QBO needs data organized by account and side of the ledger. You can't import one into the other without a transformation layer in between. This isn't a bug or a missing integration — it's a fundamental difference in purpose. ADP is a payroll processor. QBO is a general ledger. Bridging them is the bookkeeper's job. ### Common ADP Report Types for GL Mapping Not all ADP exports are equally useful for journal entry work. The three reports you'll actually use are: **1. Payroll Summary Report** The most commonly used starting point. Shows gross wages, employee and employer taxes, and net pay by employee. Good for simple entries, but lacks department-level breakdowns. **2. Master Control Report (also called the Payroll Register)** More granular — breaks pay by department code, pay type (regular, overtime, commission), and individual deductions. This is the right source if your client uses classes or departments in QBO. **3. Employer Liability Report** Specifically for the employer-side tax entries: FUTA, SUTA, employer FICA. Often overlooked, which is how employer tax accruals end up missing from the GL. For a complete journal entry, you typically need the Master Control Report *plus* the Employer Liability Report. The Payroll Summary alone will get you employee-side numbers but miss the full employer cost picture. > **Note on ADP versions:** Report names and export options vary slightly between ADP Run (small business), ADP Workforce Now, and ADP TotalSource. The underlying data is the same — the navigation to export it differs. [CITE: ADP Run reporting documentation for export steps by platform version] --- ## Step-by-Step: Manual Conversion Process Clear your afternoon. For a payroll with multiple departments and a full tax table, manual conversion takes 45–90 minutes the first time, and 20–40 minutes once you have a template. Here's the process in order. **What you'll need:** - ADP Master Control Report (exported as CSV or Excel) - ADP Employer Liability Report (same pay period) - Your client's QBO Chart of Accounts (exported from QBO or referenced in your workbook) - Excel or Google Sheets - QBO's journal entry import template (download from QBO: *Settings → Import Data → Journal Entries*) --- **Step 1: Export your ADP reports** From ADP Run or Workforce Now, navigate to Reports and pull the Master Control Report for the pay period. Export as CSV. Repeat for the Employer Liability Report. Keep them in separate tabs in your working workbook. **Step 2: Audit the raw data before touching it** Before any transformation, verify: - Total gross pay matches the payroll confirmation email - Employee count matches what your client confirmed - Tax withholdings look proportionate (a sanity check, not a full audit) Catching a bad export here saves you from building a journal entry on wrong source data. **Step 3: Create a mapping tab** Add a third tab to your workbook called "Mapping" or "GL Map." This is where you translate ADP's pay component codes into QBO account names. You'll build this once per client and reuse it each period. | ADP Pay Component | ADP Code | QBO Account Name | Entry Side | |---|---|---|---| | Regular Wages | REG | 6000 · Salaries & Wages | Debit | | Overtime | OT | 6000 · Salaries & Wages | Debit | | Commission | COMM | 6010 · Commissions | Debit | | Federal Income Tax W/H | FIT | 2100 · Federal Tax Payable | Credit | | Social Security W/H (EE) | SS-EE | 2110 · FICA Payable | Credit | | Medicare W/H (EE) | MED-EE | 2110 · FICA Payable | Credit | | State Income Tax W/H | SIT | 2120 · State Tax Payable | Credit | | Health Insurance EE | HLTH-EE | 2200 · Benefits Payable | Credit | | 401(k) EE Contribution | 401K-EE | 2210 · 401k Payable | Credit | | Net Pay | — | 2000 · Payroll Clearing | Credit | | Employer FICA (SS) | SS-ER | 6100 · Payroll Tax Expense | Debit | | Employer FICA (Medicare) | MED-ER | 6100 · Payroll Tax Expense | Debit | | FUTA | FUTA | 6100 · Payroll Tax Expense | Debit | | SUTA | SUTA | 6100 · Payroll Tax Expense | Debit | | Employer FICA Payable | — | 2110 · FICA Payable | Credit | | FUTA Payable | — | 2130 · FUTA Payable | Credit | | SUTA Payable | — | 2140 · SUTA Payable | Credit | Adjust account names to match your client's actual Chart of Accounts exactly — spacing and punctuation included, because QBO's importer matches on exact strings. **Step 4: Build the journal entry tab** Create a fourth tab formatted to QBO's import schema: | Journal Date | Journal No. | Currency | Memo | Account | Debits | Credits | Description | Name | Class | Location | |---|---|---|---|---|---|---|---|---|---|---| Use SUMIF or VLOOKUP formulas to pull aggregated amounts from the Master Control tab, keyed through your mapping table. You want one row per account per class/department — not one row per employee. **Step 5: Verify the entry balances** Add a quick check formula at the bottom: ``` =SUM(Debits column) - SUM(Credits column) ``` This must equal zero. If it doesn't, you have either a missing line item or an amount pulled into the wrong column. Common culprits: employer taxes mapped to debit but liability account left off the credit side, or a voluntary deduction that exists in ADP but doesn't have a mapping row yet. **Step 6: Export and import into QBO** Save your journal entry tab as a CSV. In QBO: *Settings → Import Data → Journal Entries → Browse* and upload. QBO will flag any accounts it can't match — fix those account names in your workbook and re-import. ### Mapping ADP Pay Types to QBO Chart of Accounts The mapping step is where most errors happen, and the logic follows a consistent pattern once you understand it: **Gross pay = expense.** Regular wages, overtime, commissions, bonuses — all hit expense accounts on the debit side. They represent the company's cost. **Employee-side deductions = liabilities.** Federal withholding, state withholding, employee FICA, health insurance employee premiums, 401(k) employee contributions — these are amounts the company is holding on behalf of the employee and remitting to a third party. They credit liability accounts. **Net pay = clearing account.** Net pay (what hits employees' bank accounts) credits your payroll clearing account. When the payroll ACH clears the bank, you debit the clearing account and credit the bank account. The clearing account should net to zero after both entries. **Employer taxes = expense and liability.** Employer FICA, FUTA, SUTA are an expense to the company (debit expense) and a liability until remitted (credit liability). These come from the Employer Liability Report, not the employee-facing Payroll Summary. ![](/images/acad7c81-ef8a-4693-98a7-c6a452fa9a1b) --- *Manual conversion flow: four distinct steps, each requiring manual intervention.* --- ## The 60-Second Alternative: Using Postbooks for ADP Imports The manual process above works. It's also approximately 30–90 minutes of careful Excel work per payroll run, per client — with meaningful error risk at each transformation step. For bookkeepers managing payroll GL entries across multiple clients on the same schedule, that time compounds quickly. [Postbooks](https://postbooks.app) is built specifically for this workflow. The process is: 1. **Upload your ADP export directly.** Postbooks accepts the raw Master Control Report and Employer Liability Report as-is — no reformatting required before upload. 2. **Review the auto-mapped accounts.** Postbooks maps ADP pay component codes to your client's QBO Chart of Accounts using a mapping table you configure once per client. It flags any unmapped components for your review before it touches anything. 3. **Confirm the entry.** You see the balanced journal entry — debits, credits, accounts, classes — before it goes anywhere. The balance check is built in. 4. **Export directly to QBO.** Postbooks pushes the journal entry to QBO via the API. No CSV, no import screen, no account-name matching errors. The payroll run that takes 45 minutes manually takes under 60 seconds after the initial client setup. The mapping table you'd build in Excel lives in Postbooks instead, reused automatically each period. **What Postbooks doesn't do:** it doesn't process payroll, calculate taxes, or replace ADP. It's a transformation layer — the bridge between ADP's output and QBO's journal entry structure that you're currently building by hand in Excel. [INTERNAL LINK: Postbooks ADP integration setup guide] [INTERNAL LINK: How to configure client Chart of Accounts mapping in Postbooks] For firms running payroll entries for three or more clients, the break-even on setup time is typically the first month. [INTERNAL LINK: Postbooks pricing] --- ## Key Takeaways - ADP and QBO don't share a data format. Every payroll run requires a transformation step — the question is whether that step is manual or automated. - For a complete journal entry, you need both the **Master Control Report** (employee-side) and the **Employer Liability Report** (employer-side). Using only one will produce an incomplete entry. - The mapping table is the core of the conversion work. Whether you build it in Excel or in Postbooks, you build it once per client and reuse it — the logic is the same. - Net pay always credits a **payroll clearing account**, not directly to the bank. Employer taxes always generate both an expense debit and a liability credit. - If your entry doesn't balance, check the employer tax liability credits first — that's the most common missing line. [CITE: QuickBooks Online journal entry import template documentation] [CITE: IRS guidance on payroll tax deposit schedules, for context on liability timing]