# section-132-2

Section 132.2 mutual fund qualifying exchange

- Kind: rollover
- Program: Filemark T2 rollover and reorganization preview
- Supported tax years: —
- Strict profile: rollover_preview_exact_v1
- Payload schema version: 2.0.0

## Example request

Send this body to `POST /api/v1/computations/rollovers/section-132-2`. This example works with or without `payloadContract`.

```json
{
  "inputs": {
    "exchange": {
      "transferorKind": "mutual_fund_corporation",
      "transferDate": "2025-03-31",
      "electionFilingDate": "2025-09-15",
      "ministerAcceptedLaterDueDate": null,
      "transferorIsSiftWindUpCorporation": false,
      "transfereesAreMutualFundTrusts": true,
      "allOrSubstantiallyAllPropertyTransferred": true,
      "allOrSubstantiallyAllSharesDisposedWithin60Days": true,
      "shareholdersReceivedOnlyTransfereeUnits": true,
      "everyFundClassDisposedWithin60Days": null,
      "unitsFromTheFundAssetsTransferee": null,
      "jointElectionFiledInPrescribedForm": true,
      "transferorRcgtohAtYearEnd": 50000,
      "transferorCapitalGainsRefund": 5000
    },
    "transferred_properties": [
      {
        "rowId": "equities",
        "description": "Equity portfolio",
        "kind": "non_depreciable",
        "transfereeLabel": "Trust A",
        "fmv": 1000000,
        "costAmount": 600000,
        "capitalCost": null,
        "agreedAmount": 600000,
        "nonUnitConsiderationFmv": 0,
        "transfereeUnitCeasesOnAcquisition": false,
        "prescribedClass": null,
        "dispositionOrder": null
      }
    ],
    "retained_properties": [],
    "depreciable_classes": [],
    "transferees": [
      {
        "label": "Trust A",
        "netFmvTransferred": 1000000
      }
    ],
    "shareholder_exchange": {
      "sharesCostAmount": 25000,
      "disposedWithin60Days": true,
      "exchangedForTransfereeUnits": true,
      "affiliatedWithTransferorOrTransferee": false
    }
  }
}
```

## Input cells (51)

Paths are relative to the request's `inputs` object. `[]` marks an array element.

Cells marked **always** require a non-null value in every request. Cells marked **strict** are required when you supply this target's `payloadContract`. See [Run computations](https://docs.filemark.ca/run-computations).

Unknown cells and JSON type mismatches return `400` with the affected cells in the error details.

| Cell | Types | Required | Description |
| --- | --- | --- | --- |
| `depreciable_classes` | array \| boolean \| null \| number \| object \| string |  |  |
| `depreciable_classes[].fmvOfAllPropertyOfClass` | null \| number \| string |  |  |
| `depreciable_classes[].prescribedClass` | null \| string |  |  |
| `depreciable_classes[].uccAtSecondInterveningTime` | null \| number \| string |  |  |
| `exchange` | array \| boolean \| null \| number \| object \| string |  |  |
| `exchange.allOrSubstantiallyAllPropertyTransferred` | boolean \| null |  |  |
| `exchange.allOrSubstantiallyAllSharesDisposedWithin60Days` | boolean \| null |  |  |
| `exchange.electionFilingDate` | null \| string |  |  |
| `exchange.everyFundClassDisposedWithin60Days` | boolean \| null |  |  |
| `exchange.filingInQuebec` | boolean \| null |  |  |
| `exchange.jointElectionFiledInPrescribedForm` | boolean \| null |  |  |
| `exchange.ministerAcceptedDueDate` | null \| string |  |  |
| `exchange.ministerAcceptedLaterDueDate` | boolean \| null |  |  |
| `exchange.shareholdersReceivedOnlyTransfereeUnits` | boolean \| null |  |  |
| `exchange.transferDate` | null \| string |  |  |
| `exchange.transfereesAreMutualFundTrusts` | boolean \| null |  |  |
| `exchange.transferorCapitalGainsRefund` | null \| number \| string |  |  |
| `exchange.transferorIsSiftWindUpCorporation` | boolean \| null |  |  |
| `exchange.transferorKind` | null \| string |  |  |
| `exchange.transferorRcgtohAtYearEnd` | null \| number \| string |  |  |
| `exchange.unitsFromTheFundAssetsTransferee` | boolean \| null |  |  |
| `retained_properties` | array \| boolean \| null \| number \| object \| string |  |  |
| `retained_properties[].capitalCost` | null \| number \| string |  |  |
| `retained_properties[].costAmount` | null \| number \| string |  |  |
| `retained_properties[].description` | null \| string |  |  |
| `retained_properties[].designatedAmount` | null \| number \| string |  |  |
| `retained_properties[].fmv` | null \| number \| string |  |  |
| `retained_properties[].kind` | null \| string |  |  |
| `retained_properties[].prescribedClass` | null \| string |  |  |
| `retained_properties[].rowId` | null \| string |  |  |
| `shareholder_exchange` | array \| boolean \| null \| number \| object \| string |  |  |
| `shareholder_exchange.affiliatedWithTransferorOrTransferee` | boolean \| null |  |  |
| `shareholder_exchange.disposedWithin60Days` | boolean \| null |  |  |
| `shareholder_exchange.exchangedForTransfereeUnits` | boolean \| null |  |  |
| `shareholder_exchange.sharesCostAmount` | null \| number \| string |  |  |
| `transferees` | array \| boolean \| null \| number \| object \| string |  |  |
| `transferees[].label` | null \| string |  |  |
| `transferees[].netFmvTransferred` | null \| number \| string |  |  |
| `transferred_properties` | array \| boolean \| null \| number \| object \| string |  |  |
| `transferred_properties[].agreedAmount` | null \| number \| string |  |  |
| `transferred_properties[].capitalCost` | null \| number \| string |  |  |
| `transferred_properties[].costAmount` | null \| number \| string |  |  |
| `transferred_properties[].description` | null \| string |  |  |
| `transferred_properties[].dispositionOrder` | null \| string |  |  |
| `transferred_properties[].fmv` | null \| number \| string |  |  |
| `transferred_properties[].kind` | null \| string |  |  |
| `transferred_properties[].nonUnitConsiderationFmv` | null \| number \| string |  |  |
| `transferred_properties[].prescribedClass` | null \| string |  |  |
| `transferred_properties[].rowId` | null \| string |  |  |
| `transferred_properties[].transfereeLabel` | null \| string |  |  |
| `transferred_properties[].transfereeUnitCeasesOnAcquisition` | boolean \| null |  |  |

### Strict profile accepted values (24 of 51 cells)

These constraints apply when you supply this target's `payloadContract`. Cells marked **pinned** must equal the listed value. A pinned cell that is not required may be left out.

| Cell | Accepted values |
| --- | --- |
| `depreciable_classes` | `one of null, false, 0, "", [], {}` |
| `depreciable_classes[].fmvOfAllPropertyOfClass` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `depreciable_classes[].uccAtSecondInterveningTime` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `exchange` | `one of null, false, 0, "", []` |
| `exchange.transferorCapitalGainsRefund` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `exchange.transferorKind` | `one of "mutual_fund_corporation", "mutual_fund_trust"` |
| `exchange.transferorRcgtohAtYearEnd` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `retained_properties` | `one of null, false, 0, "", [], {}` |
| `retained_properties[].capitalCost` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `retained_properties[].costAmount` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `retained_properties[].designatedAmount` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `retained_properties[].fmv` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `retained_properties[].kind` | `one of "non_depreciable", "depreciable"` |
| `shareholder_exchange` | `one of null, false, 0, "", []` |
| `shareholder_exchange.sharesCostAmount` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `transferees` | `one of null, false, 0, "", [], {}` |
| `transferees[].netFmvTransferred` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `transferred_properties` | `one of null, false, 0, "", [], {}` |
| `transferred_properties[].agreedAmount` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `transferred_properties[].capitalCost` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `transferred_properties[].costAmount` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `transferred_properties[].fmv` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `transferred_properties[].kind` | `one of "non_depreciable", "depreciable"` |
| `transferred_properties[].nonUnitConsiderationFmv` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |

## Output cells (85)

Paths are relative to this target's result object in the response.

| Cell | Types | Description |
| --- | --- | --- |
| `blocking` | boolean |  |
| `citations[].description` | string |  |
| `citations[].key` | string |  |
| `citations[].section` | string |  |
| `citations[].source_url` | string |  |
| `citations[].verified_at` | string |  |
| `citationsApplied[]` | string |  |
| `conditionsUnanswered[]` | string |  |
| `conditionsUnmet[]` | string |  |
| `costOfOtherConsideration` | null \| number |  |
| `costOfUnitsReceived` | null \| number |  |
| `deemedYearEndDate` | null \| string |  |
| `depreciableClasses[].deduction` | null \| number |  |
| `depreciableClasses[].fmvOfAllPropertyOfClass` | null \| number |  |
| `depreciableClasses[].prescribedClass` | array \| boolean \| null \| number \| object \| string |  |
| `depreciableClasses[].uccAtSecondInterveningTime` | null \| number |  |
| `electionDueDate` | null \| string |  |
| `electionFilingDate` | null \| string |  |
| `electionFilingDeadline` | null \| string |  |
| `electionTimely` | boolean \| null |  |
| `firstPostExchangeYearCapitalGain` | null \| number |  |
| `lastPreExchangeYearGain` | null \| number |  |
| `lastPreExchangeYearLoss` | null \| number |  |
| `provisional` | boolean |  |
| `qualifyingExchange` | boolean \| null |  |
| `rcgtohTransfers[].netFmvTransferred` | null \| number |  |
| `rcgtohTransfers[].rcgtohAddition` | null \| number |  |
| `rcgtohTransfers[].transfereeLabel` | array \| boolean \| null \| number \| object \| string |  |
| `ready` | boolean |  |
| `retainedProperties[].capitalCost` | null \| number |  |
| `retainedProperties[].costAmount` | null \| number |  |
| `retainedProperties[].deemedProceeds` | null \| number |  |
| `retainedProperties[].description` | array \| boolean \| null \| number \| object \| string |  |
| `retainedProperties[].designatedAmount` | null \| number |  |
| `retainedProperties[].fmv` | null \| number |  |
| `retainedProperties[].gainOrLoss` | null \| number |  |
| `retainedProperties[].governingRule` | null \| string |  |
| `retainedProperties[].kind` | null \| string |  |
| `retainedProperties[].prescribedClass` | array \| boolean \| null \| number \| object \| string |  |
| `retainedProperties[].rowId` | array \| boolean \| null \| number \| object \| string |  |
| `retainedProperties[].taxationYear` | null \| string |  |
| `shareholderExchange` | null \| object |  |
| `shareholderExchange.costOfUnits` | null \| number |  |
| `shareholderExchange.proceedsOfShares` | null \| number |  |
| `shareholderExchange.sharesCostAmount` | null \| number |  |
| `sixtyDayPeriodEnds` | null \| string |  |
| `totalClassDeduction3_d` | null \| number |  |
| `totalGain` | null \| number |  |
| `totalLoss` | null \| number |  |
| `totalProceeds` | null \| number |  |
| `totalRetainedGainOrLoss` | null \| number |  |
| `transferDate` | null \| string |  |
| `transferorKind` | null \| string |  |
| `transferredProperties[].agreedAmount` | null \| number |  |
| `transferredProperties[].amountWasDeemed` | boolean \| null |  |
| `transferredProperties[].capitalCost` | null \| number |  |
| `transferredProperties[].costAmount` | null \| number |  |
| `transferredProperties[].description` | array \| boolean \| null \| number \| object \| string |  |
| `transferredProperties[].electedAmountFloor` | null \| number |  |
| `transferredProperties[].fmv` | null \| number |  |
| `transferredProperties[].gainOrLoss` | null \| number |  |
| `transferredProperties[].gainOverCapitalCost` | null \| number |  |
| `transferredProperties[].kind` | null \| string |  |
| `transferredProperties[].nonUnitConsiderationFmv` | null \| number |  |
| `transferredProperties[].proceeds` | null \| number |  |
| `transferredProperties[].rowId` | array \| boolean \| null \| number \| object \| string |  |
| `transferredProperties[].taxationYear` | null \| string |  |
| `transferredProperties[].transfereeCapitalCost` | null \| number |  |
| `transferredProperties[].transfereeCost` | null \| number |  |
| `transferredProperties[].transfereeDeemedPriorCca` | null \| number |  |
| `transferredProperties[].transfereeLabel` | array \| boolean \| null \| number \| object \| string |  |
| `transferredProperties[].uccCredit` | null \| number |  |
| `traps[].body` | string |  |
| `traps[].citationKey` | string |  |
| `traps[].filingDisposition` | string |  |
| `traps[].findingCode` | string |  |
| `traps[].severity` | string |  |
| `traps[].title` | string |  |
| `warnings[]` | object |  |
| `warnings[].citationKey` | string |  |
| `warnings[].code` | string |  |
| `warnings[].message` | string |  |
| `warnings[].severity` | string |  |
| `warnings[].filingDisposition` | string |  |
| `warnings[].findingCode` | string |  |
