Why importing capital gains is painful
A taxpayer with 40 dispositions, 3 brokers, and a mix of CAD/USD trades creates a reporting problem that is trivial to calculate but tedious to enter. The data must land on Schedule 3 with correct proceeds, ACB, outlays, and gain/loss per disposition — and it must reconcile against the T5008 slips the CRA already has.
Typing 40 rows by hand is slow, error-prone, and unbillable. The three major Canadian professional tax packages each handle bulk data differently:
| Software | Publisher | Import method | Best for |
|---|---|---|---|
| TaxCycle | Trilogy (Xero) | Field-code Excel import | Bulk dispositions via structured spreadsheet |
| ProFile | Intuit | Workpaper + guided entry | Smaller volumes with line-by-line verification |
| DT Max | Thomson Reuters | Rapid-entry worksheet | Volume shops with keyboard-driven data entry |
TaxCycle: Excel field-code import
TaxCycle is the only major package with a documented, structured import for arbitrary form data. It uses field codes — each cell in the spreadsheet is tagged with the exact TaxCycle field it populates.
How it works
- Template: Start with a TaxCycle field-code template (an Excel file with column headers matching Schedule 3 field codes like
S3_SecDesc,S3_Proceeds,S3_ACB,S3_Outlays). - Populate: Fill one row per disposition with security description, proceeds, ACB, and outlays.
- Import: In TaxCycle, use File → Import → Excel and select the workbook. TaxCycle maps each field-code column to the corresponding form field.
- Verify: TaxCycle calculates the gain/loss automatically. Compare the software's Schedule 3 total against your source control totals.
Common pitfalls
- Field-code version mismatch: TaxCycle field codes can change between tax years. Always use a template matched to the year you're filing.
- Rounding: TaxCycle rounds to the nearest dollar on some fields. Your source should pre-round to avoid $1 discrepancies in control totals.
- Currency: All amounts must be in CAD. Do not import USD figures — convert before import.
ProFile: structured workpaper transfer
Intuit ProFile does not have a general-purpose Excel import for Schedule 3 rows. The supported paths are:
- CRA Auto-fill import: ProFile pulls T5008 data from AFR, but this only populates the slip — not the correct ACB (because the T5008 cost base is unreliable).
- Manual entry on the S3 worksheet: The Schedule 3 worksheet in ProFile accepts disposition-level data row by row.
- Workpaper transfer: Prepare a structured PDF or Excel workpaper showing each disposition's proceeds, ACB, outlays, and gain. The accountant enters totals per category or line-by-line, using the workpaper as the source document.
Best practice for ProFile
The most efficient workflow is to prepare a pre-formatted workpaper that exactly mirrors ProFile's Schedule 3 input layout — one row per security (grouped by identical shares), with control totals at the bottom. The accountant verifies the control totals against the workpaper, enters category totals if grouping, or enters disposition-level rows for full detail.
DT Max: rapid-entry worksheet
Thomson Reuters DT Max is keyboard-optimized for volume. Capital gains are entered through the Schedule 3 worksheet in DT Max's data-entry interface.
How it works
- Open the S3 worksheet: In DT Max, navigate to the Schedule 3 section of the return.
- Enter dispositions: Each row takes a description, proceeds, ACB, outlays, and the property category code.
- Rapid-entry mode: DT Max's rapid-entry allows keyboard-driven tabbing through fields without touching the mouse — fast for a prepared accountant with a workpaper beside them.
- Verify: Compare DT Max's calculated Schedule 3 total against the source control totals.
Preparing for DT Max
The ideal handoff to a DT Max preparer is a clean workpaper with rows pre-sorted by property category (publicly traded securities, real estate, etc.), with a control-total summary. The preparer can then rapid-enter from the workpaper and confirm totals match.
DT Max does not currently support a direct bulk import of Schedule 3 disposition rows from an external spreadsheet — rapid entry from a prepared workpaper is the standard workflow.
How AFR fits into the import
All three packages support CRA Auto-fill My Return (AFR) to pull T5008 slips. But AFR data has the same box 20 problem — it pre-fills the broker's reported cost, which is rarely the correct ACB.
The professional workflow is:
- Pull AFR for proceeds verification (box 21 is reliable)
- Override the cost base with the correct pooled ACB
- Document the override with a supporting workpaper
When your import source already has the correct ACB, you can skip AFR cost data entirely and use AFR only to verify that every disposition slip has a matching Schedule 3 entry.
Control totals: the verification step
Regardless of software, the accountant's final check is comparing control totals:
| Control total | Source | Must match |
|---|---|---|
| Total proceeds | Your import file | Schedule 3 total proceeds in the software |
| Total ACB | Your import file | Schedule 3 total ACB in the software |
| Total outlays | Your import file | Schedule 3 total expenses in the software |
| Net gain/loss | Your import file | Schedule 3 line 132 (net gains) in the software |
| Disposition count | Your import file | Row count on Schedule 3 |
If any total doesn't match, find the discrepancy before filing. Rounding differences of $1-2 are common; anything larger indicates a data entry error or a mapping issue.