How to Import a Xero Trial Balance into UltraTax CS for an 1120-S (S-Corporation) Return
If your S-corporation clients keep their books in Xero and you file their 1120-S returns in UltraTax CS, the import is not a formatting problem — it's a tax-code problem, and the tax codes for an S corp are their own animal. UltraTax CS has no native Xero import for any entity, so you export the trial balance and map every account by hand. But an 1120-S mapping that treats the return like a plain profit-and-loss will quietly misfile officer compensation, bury separately-stated items inside ordinary income, and route shareholder distributions to the wrong schedule entirely.
This guide is the S-corporation-specific version: the actual UltraTax tax codes for a 1120-S, the four places an S-corp trial balance goes wrong, and the hard import rules UltraTax enforces on the file itself.
Why the 1120-S mapping is different
On a Schedule C, every deductible expense lands on one form. On an 1120-S, the return splits into pieces that a Xero trial balance doesn't know about:
- Ordinary business income (Form 1120-S, page 1) — the operating P&L that produces the number on Schedule K, line 1.
- Separately-stated items (Schedule K) — interest, dividends, capital gains, section 179, charitable contributions. These bypass ordinary income and flow straight to each shareholder's K-1, because their tax treatment depends on the shareholder, not the corporation.
- The balance sheet and equity accounts (Schedule L, M-1, M-2) — including the Accumulated Adjustments Account (AAA), which has no analog on a C corp or a partnership.
UltraTax routes each of these with a different tax code. The same Xero "Interest Income" account that would be operating income on a Schedule C is a Schedule K item on an 1120-S. Map it as ordinary income and the corporation's page-1 income is overstated, every K-1 is wrong, and nothing throws an error. This is the entity-aware judgment the generic Xero import warns about — here it is spelled out for the S corp.
The real 1120-S tax codes
UltraTax CS assigns each account a numeric tax code from its Tax Code Listing, then summarizes the balances and transfers them to the right input screen. These are the actual 1120-S codes — the ones you'd assign by hand, or that a tool assigns for you:
Ordinary income and cost of goods (page 1 / Form 1125-A)
100— Gross receipts → 1120-S, line 1a101— Returns and allowances → 1120-S, line 1b275— Purchases → Form 1125-A, line 2276— Cost of labor → Form 1125-A, line 3280— Inventory at end of year → Form 1125-A, line 7
Deductions (page 1)
200— Compensation of officers → Form 1125-E, line 1 (carries to page 1, line 7)201— Salaries and wages → 1120-S, line 8204— Rents → 1120-S, line 11205— Taxes → 1120-S, line 12210— Pension, profit-sharing → 1120-S, line 17211— Employee benefit programs → 1120-S, line 18212— Other deductions → 1120-S, line 20
Separately-stated items (Schedule K)
151— US interest income → Schedule K, line 4156— Ordinary dividends → Schedule K, line 5a225— Cash contributions (60% AGI) → Schedule K, line 12a231— Investment interest expense → Schedule K, line 12c
Balance sheet and equity (Schedule L / M-2)
409— Loans to shareholders → Schedule L, line 7445— Loans from shareholders → Schedule L, line 19468— Accumulated Adjustments Account → Schedule L, line 24494— AAA nondividend distributions → Schedule M-2, line 7a
That last cluster is where an S-corp import lives or dies, and it's why a page built for a partnership or a C corp can't just swap a noun.
The four places an S-corp trial balance goes wrong
1. Separately-stated items get swept into ordinary income
Any account whose tax treatment passes through to the shareholder has to leave page 1. Interest income (151), ordinary dividends (156), section 1231 gains, charitable contributions (225), and section 179 all belong on Schedule K, not in the operating P&L. A generic mapping that sends every "income" account to gross receipts and every "expense" to other deductions collapses this distinction — and the error is invisible on the corporate return, surfacing only when a shareholder's K-1 doesn't tie.
2. Officer compensation isn't ordinary wages
An S corp has to pay its owner-employees reasonable compensation, and UltraTax separates it: officer compensation uses tax code 200 (Form 1125-E, which carries to page 1, line 7), while everyone else's pay uses 201 (line 8). If your Xero chart lumps the owner's salary into a single "Wages" account, the split has to happen at mapping time. Related trap: health insurance for a more-than-2% shareholder is deductible by the corporation but must be included in that shareholder's W-2 Box 1 wages — so it belongs with officer compensation, not in employee benefit programs (211) where a bookkeeper often parks it.
3. Shareholder distributions are not an expense
This is the single most common S-corp import mistake. A "Shareholder Distributions" or "Owner's Draw" account in Xero is an equity account, not a deduction. It never touches the income statement — it reduces the Accumulated Adjustments Account on Schedule M-2 (tax code 494, nondividend distributions). Map it to any deduction code and you've overstated expenses and understated AAA at once, and the balance sheet won't reconcile. Distributions and the 468 AAA balance are the accounts a non-S-corp mapping simply doesn't have a home for.
4. Book-tax differences still need a code
UltraTax carries specific Schedule M-1 items by code — for example, 484 for officer life-insurance premiums (nondeductible) and 481 for Schedule K income not recorded on the books. If your Xero trial balance is on a book basis that differs from the return, these codes are how the reconciliation flows instead of becoming a manual override after import.
The import rules UltraTax enforces on the file
Even a perfectly mapped 1120-S fails if the file breaks UltraTax's structural limits. These bite regardless of entity, but they bite silently:
- Account numbers cap at 12 characters. UltraTax truncates or rejects longer ones. If two accounts truncate to the same number and sit under the same tax group, the duplicate isn't imported at all — it's dropped without a warning.
- Exclusion codes
88888and99999. Accounts you don't want on the return (memo accounts, suspense) get one of these instead of a real code. The difference:88888still prints on the Tax Code Groupings report;99999doesn't. Don't assign tax-code units to either. - Untagged accounts vanish. An account with no tax code isn't an error — it's excluded. A balance you forgot to map doesn't bounce back; it's just missing, and the return is quietly off until review.
- Balances collapse and round. Every account under one tax code is summed into a single line and rounded to whole dollars. That's usually what you want, but a mismapped account hides inside a correct-looking total, so review the groupings before you file.
None of these throw a loud error. They produce a return that imports successfully and is subtly wrong — the most expensive kind of mistake to catch on review.
The faster path: connect Xero, set the entity to S corp
AccountantSync is the universal trial balance bridge to UltraTax CS, and Xero is fully supported alongside QuickBooks Online and spreadsheet uploads. For an 1120-S, the workflow is:
- Connect Xero through a secure OAuth connection and pull the client's trial balance for the period.
- Set the entity type to S corporation. Every downstream mapping — officer comp vs. wages, separately-stated items, distributions to AAA — is driven by that choice, using the same mapping logic behind our QBO workflow.
- Review the auto-mapped tax codes. AccountantSync pre-fills the codes it's confident about and flags the handful that need your judgment — exactly the officer-comp splits and distribution accounts above.
- Generate a UltraTax-ready import file. The 12-character rule, whole-dollar rounding, grouping sums, and exclusion codes are handled to spec, so the file imports without hand-formatting.
The part that compounds: your mappings persist year over year and copy between similar clients. The first S-corp you set up takes a few minutes of review. Every 1120-S after that — and every similar client — is close to a one-click sync. Instead of re-keying trial balances every season, you map once and reuse. It's the same structural fix behind the broader QuickBooks-to-UltraTax gap, applied to the entity where the mapping matters most.
Frequently asked questions
What UltraTax tax code do I use for S-corp officer compensation?
Tax code 200 (Compensation of officers), which routes to Form 1125-E and carries to Form 1120-S, page 1, line 7. Non-officer wages use 201 (line 8). Keep them separate — an S corp reports officer compensation on its own line, and health insurance for a more-than-2% shareholder belongs with officer wages, not employee benefits.
How do shareholder distributions map on a 1120-S import?
Distributions are an equity item, not a deduction. Nondividend distributions reduce the Accumulated Adjustments Account on Schedule M-2 — UltraTax tax code 494. A Xero "Shareholder Distributions" or "Owner's Draw" account should never be mapped to an income-statement deduction code.
Why do interest and dividend income need different tax codes on an S corp?
Because they're separately-stated items. On an 1120-S they flow through Schedule K (interest to line 4, code 151; ordinary dividends to line 5a, code 156) to each shareholder's K-1, rather than into ordinary business income. Mapping them as page-1 income overstates the corporation's ordinary income and misstates every K-1.
Does AccountantSync support Xero for 1120-S returns?
Yes. Xero is fully supported and generally available. You connect Xero once, set the entity to S corporation, pull the trial balance, and export a UltraTax-ready file with the 1120-S tax codes already assigned. Start free with your first two clients — no credit card required.