> ## Documentation Index
> Fetch the complete documentation index at: https://docs.denari.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Tax trial balance

> The book-to-tax view of the same accounts, with Schedule M-1, M-2, and M-3 broken out and prior years alongside.

On a **Tax** binder, **Go to** at the top of the trial balance carries a second view: the **Tax Trial Balance**. It is the same accounts, reorganized the way the return reads them.

<Note>
  The tax trial balance only exists on binders created with the **Tax** type.
  For everything else a Tax binder unlocks, see [What a Tax binder
  adds](/papers/create-binder#what-a-tax-binder-adds). If you need it on an
  existing CAS binder, [roll the binder to
  tax](/papers/roll-forward#roll-to-tax) rather than recreating it.
</Note>

## The columns

| Column | Shows |
| - | - |
| **Book balance** | The account's balance before tax adjustments |
| **Tax adjustments** | Sum of tax journal entry lines hitting the account |
| **Adjusted tax balance** | Book balance plus tax adjustments. This is the figure that goes to the return |
| **Prior year** | The adjusted tax balance from a previous return. One column per year you carry. See [Prior years](#prior-years) |

Search filters the sheet and counts the accounts that matched.

## How it's organized

The sheet reads **category → tax mapping → account**, and mappings can nest beneath one another, so a custom *Other Deductions* sub-line sits under its parent line with its own accounts below it.

The Schedule M lines are pulled out of the categories they would otherwise sit in and given their own sections:

* **M-1 Adjustments**, the book-to-tax income reconciliation
* **M-2 Adjustments**, the capital and retained earnings roll-forward
* **M-3 Temporary**, timing differences that reverse
* **M-3 Permanent**, differences that never reverse

Each section totals into the matching summary line at the bottom of the sheet, which is how the return itself reads: the M-1 detail lines sum to M-1 Adjustments.

<Note>
  Every M-3 line carries a separate temporary and permanent code. An M-3 mapping
  with **no treatment picked** stays where it is in its category rather than
  moving into a Schedule M section. If a line you expected under M-3 Temporary
  or Permanent is still sitting in Income or Expenses, that is why: choose the
  Temporary or Permanent variant of the mapping.
</Note>

## The bottom of the sheet

| Row | Is |
| - | - |
| **Total Assets** | Rolled up from the balance sheet categories |
| **Total Liabilities & SE** | Rolled up from the balance sheet categories |
| **Net (Income) Loss** | The income statement result, tax-mappable in its own right |
| **M-1 / M-2 / M-3 Temporary / M-3 Permanent** | The totals of their sections above |
| **Difference** | A checksum |

**Difference** should be zero in every column. If it isn't, the accounting equation doesn't hold after tax adjustments, and something above it needs attention before the numbers go anywhere.

## Prior years

A tax return is read against what came before it, so the tax trial balance carries prior years alongside the current one.

**Populate from prior year** carries each account's adjusted tax balance from a previous return into this binder's **Prior year** column, matched by account. It overwrites any prior-year values already there, so it is a deliberate action rather than something that happens quietly on import.

You can carry more than one year. Each year you bring across gets its own **Prior year** column, labelled with its year. Only the most recent is shown by default; the rest are there in **Display** when you want them.

Two prompts appear in the toolbar when something needs doing:

| Prompt | Means |
| - | - |
| Prior-year balances have not been imported or carried forward | This binder has no prior-year figures yet. Populate them |
| A prior return now has additional years | The return you populated from has since gained earlier years. Re-populate to pick them up |

**Update following years** runs the same thing in the other direction. When later returns use this one as a prior year and your figures have since changed, it refreshes this year's Prior year column in each of them, leaving their other prior years alone.

<Tip>
  A firm moving onto Denari mid-history does not have to rebuild old engagements
  to get comparatives. Prior-year balances can be seeded directly, so the first
  return you prepare in Denari can still show the years that came before it.
</Tip>

## Classes and consolidations

Where the entity uses classes, the tax trial balance can be read per class, and Net Income is broken out per class rather than landing in one lump.

Where the entity has subsidiaries, consolidation is part of this view rather than a separate sheet. Pick the consolidation scope and the sheet shows the group, with the entity and class detail available underneath each line. Use [eliminating journal entries](/papers/journal-entries) to remove intercompany balances.

<Note>
  Eliminating entries cannot take a tax mapping as their target. An elimination
  removes an intercompany balance; it is not a book-to-tax difference, and
  mapping one to a return line would double-count it.
</Note>

## Tax mappings

A **tax mapping** ties an account to a specific line of a specific return: a form, a section, and a line, carrying a **tax code**. It is what turns a trial balance into something you can hand to tax software.

Assign mappings from the **Chart of Accounts** page, using the tax mapping combobox on the account, or in bulk by selecting several accounts at once.

Mappings are scoped, so the right set is offered for the engagement in front of you:

| Scoped by | Meaning |
| - | - |
| **Entity type** | A partnership and an S corporation don't share a return |
| **Jurisdiction** | Federal and state lines differ |
| **Tax year** | Taken from the binder's period end. If Denari hasn't published that year yet, it falls back to the most recent published set rather than offering you nothing |

<Note>
  Mappings your firm creates itself are **not** year-filtered. A custom mapping
  stays available on every tax year, so you set it up once rather than per
  season. Only Denari's published sets are versioned by year.
</Note>

There is also an **Ignored** mapping, deliberately year-agnostic, for accounts that should carry no return line at all. It is different from leaving an account unmapped: unmapped reads as unfinished, Ignored reads as decided.

Denari **suggests** mappings, so most accounts arrive with a proposal rather than blank. Treat the suggestions as a review queue.

<Note>
  The tax mapping is *not* the same field as **Account Mapping** on the trial
  balance. Account Mapping is your firm's own map number, used for [mapped
  financials](/papers/export-binder). One is for your statements, the other is
  for the return.
</Note>

## Export to UltraTax CS

Once accounts are mapped, **Export to UltraTax** on the tax trial balance produces a CSV ready to import, one row per account:

| Column | From |
| - | - |
| Account number | The account |
| Account description | The account |
| Tax code | Its tax mapping |
| Amount | Its tax-adjusted balance |

The file is named `{period end} {entity} - UltraTax TB.csv`.

**Unmapped accounts are skipped**, and Denari tells you how many: *"3 unmapped accounts skipped (no UltraTax tax code)."* Read that number. It's the count of accounts that silently won't reach the return.

If nothing is mapped at all you get **Nothing to export**, pointing you back to the Chart of Accounts.

<Tip>
  Do the mapping once, on the first year's binder. [Roll
  forward](/papers/roll-forward) carries the work into the next period, so the
  second year starts mapped.
</Tip>

## Getting the numbers from CAS

If the bookkeeping happened in a CAS binder, don't re-import. [Roll to tax](/papers/roll-forward#roll-to-tax) carries the documents *and* the trial balance values into the tax binder for the same period.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.