# section-107

Section 107 trust distribution to a capital beneficiary

- 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-107`. This example works with or without `payloadContract`.

```json
{
  "inputs": {
    "trust": {
      "distributionDate": "2025-06-30",
      "distributionSatisfiesCapitalInterest": true,
      "isTrustForSection107": true,
      "section132_2Applies": false,
      "isPersonalOrPrescribedTrust": true,
      "isResidentInCanada": true,
      "isMutualFundTrust": false,
      "isSiftTrustWindUpEvent": null,
      "trustElected107_2_001": false,
      "isSection104_4_aTrustBeforeTrigger": false,
      "subsection75_2Or94_8_2Applied": false,
      "contributorInExistence": null
    },
    "beneficiary": {
      "isNonResident": false,
      "capitalInterestIsCapitalProperty": true,
      "trustIsForeignAffiliate": false,
      "elected107_2_002": null,
      "isContributorOfProperty": null,
      "interestEverAcquiredForConsideration": null,
      "designatedTaxableDividendsDeductible": 0,
      "designated104_20Amounts": 0,
      "priorLossReductions107_1_c": 0
    },
    "properties": [
      {
        "rowId": "land",
        "description": "Land",
        "category": "capital_non_depreciable",
        "trustCostAmount": 100000,
        "fmv": 500000,
        "trustCapitalCost": null,
        "interestAcb": 150000,
        "interestDispositionOutlays": 0,
        "interestS53_2_g1Deductions": 0,
        "eligibleOffsets": 0,
        "proceedsPaymentPortion248_1_h_i": null,
        "excessPaymentPortion248_1_h_i": null,
        "isTaxableCanadianProperty": null,
        "isCanadianPermanentEstablishmentBusinessProperty": null,
        "isNroShareOrSection128_1_4_bProperty": null,
        "fromPre2002QualifyingDisposition": false,
        "trustElected107_2_01": false,
        "beneficiaryMadeQualifyingDisposition": null,
        "section75_2AttributionLeavesNoAmount": null
      },
      {
        "rowId": "building",
        "description": "Building",
        "category": "capital_depreciable",
        "trustCostAmount": 80000,
        "fmv": 300000,
        "trustCapitalCost": 200000,
        "interestAcb": 100000,
        "interestDispositionOutlays": 0,
        "interestS53_2_g1Deductions": 0,
        "eligibleOffsets": 0,
        "proceedsPaymentPortion248_1_h_i": null,
        "excessPaymentPortion248_1_h_i": null,
        "isTaxableCanadianProperty": null,
        "isCanadianPermanentEstablishmentBusinessProperty": null,
        "isNroShareOrSection128_1_4_bProperty": null,
        "fromPre2002QualifyingDisposition": false,
        "trustElected107_2_01": false,
        "beneficiaryMadeQualifyingDisposition": null,
        "section75_2AttributionLeavesNoAmount": null
      }
    ]
  }
}
```

## Input cells (45)

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 |
| --- | --- | --- | --- |
| `beneficiary` | array \| boolean \| null \| number \| object \| string |  |  |
| `beneficiary.capitalInterestIsCapitalProperty` | boolean \| null |  |  |
| `beneficiary.designated104_20Amounts` | null \| number \| string |  |  |
| `beneficiary.designatedTaxableDividendsDeductible` | null \| number \| string |  |  |
| `beneficiary.elected107_2_002` | boolean \| null |  |  |
| `beneficiary.interestEverAcquiredForConsideration` | boolean \| null |  |  |
| `beneficiary.isContributorOfProperty` | boolean \| null |  |  |
| `beneficiary.isNonResident` | boolean \| null |  |  |
| `beneficiary.priorLossReductions107_1_c` | null \| number \| string |  |  |
| `beneficiary.trustIsForeignAffiliate` | boolean \| null |  |  |
| `properties` | array \| boolean \| null \| number \| object \| string |  |  |
| `properties[].beneficiaryMadeQualifyingDisposition` | boolean \| null |  |  |
| `properties[].category` | null \| string |  |  |
| `properties[].description` | null \| string |  |  |
| `properties[].eligibleOffsets` | null \| number \| string |  |  |
| `properties[].excessPaymentPortion248_1_h_i` | null \| number \| string |  |  |
| `properties[].fmv` | null \| number \| string |  |  |
| `properties[].fromPre2002QualifyingDisposition` | boolean \| null |  |  |
| `properties[].interestAcb` | null \| number \| string |  |  |
| `properties[].interestDispositionOutlays` | null \| number \| string |  |  |
| `properties[].interestS53_2_g1Deductions` | null \| number \| string |  |  |
| `properties[].isCanadianPermanentEstablishmentBusinessProperty` | boolean \| null |  |  |
| `properties[].isExcludedProperty108_1` | boolean \| null |  |  |
| `properties[].isNroShareOrSection128_1_4_bProperty` | boolean \| null |  |  |
| `properties[].isTaxableCanadianProperty` | boolean \| null |  |  |
| `properties[].proceedsPaymentPortion248_1_h_i` | null \| number \| string |  |  |
| `properties[].rowId` | null \| string |  |  |
| `properties[].section75_2AttributionLeavesNoAmount` | boolean \| null |  |  |
| `properties[].trustCapitalCost` | null \| number \| string |  |  |
| `properties[].trustCostAmount` | null \| number \| string |  |  |
| `properties[].trustCostAmountReflects107_2_01` | boolean \| null |  |  |
| `properties[].trustElected107_2_01` | boolean \| null |  |  |
| `trust` | array \| boolean \| null \| number \| object \| string |  |  |
| `trust.contributorInExistence` | boolean \| null |  |  |
| `trust.distributionDate` | null \| string |  |  |
| `trust.distributionSatisfiesCapitalInterest` | boolean \| null |  |  |
| `trust.isMutualFundTrust` | boolean \| null |  |  |
| `trust.isPersonalOrPrescribedTrust` | boolean \| null |  |  |
| `trust.isResidentInCanada` | boolean \| null |  |  |
| `trust.isSection104_4_aTrustBeforeTrigger` | boolean \| null |  |  |
| `trust.isSiftTrustWindUpEvent` | boolean \| null |  |  |
| `trust.isTrustForSection107` | boolean \| null |  |  |
| `trust.section132_2Applies` | boolean \| null |  |  |
| `trust.subsection75_2Or94_8_2Applied` | boolean \| null |  |  |
| `trust.trustElected107_2_001` | boolean \| null |  |  |

### Strict profile accepted values (16 of 45 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 |
| --- | --- |
| `beneficiary` | `one of null, false, 0, "", []` |
| `beneficiary.designated104_20Amounts` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `beneficiary.designatedTaxableDividendsDeductible` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `beneficiary.priorLossReductions107_1_c` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `properties` | `one of null, false, 0, "", [], {}` |
| `properties[].category` | `one of "capital_non_depreciable", "capital_depreciable", "resource_property", "other_property"` |
| `properties[].eligibleOffsets` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `properties[].excessPaymentPortion248_1_h_i` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `properties[].fmv` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `properties[].interestAcb` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `properties[].interestDispositionOutlays` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `properties[].interestS53_2_g1Deductions` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `properties[].proceedsPaymentPortion248_1_h_i` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `properties[].trustCapitalCost` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `properties[].trustCostAmount` | `matches ^\s*[+-]?(?:[0-9]+(?:\.[0-9]*)?\|\.[0-9]+)(?:[eE][+-]?[0-9]+)?\s*$; 0 to 600000000000` |
| `trust` | `one of null, false, 0, "", []` |

## Output cells (53)

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 |  |
| `distributionDate` | null \| string |  |
| `governingRules[]` | string |  |
| `lossReductionPool107_1_c` | null \| number |  |
| `properties[].acbExcessOverCostAmount` | null \| number |  |
| `properties[].category` | null \| string |  |
| `properties[].corporationCapitalCost` | null \| number |  |
| `properties[].corporationCost` | null \| number |  |
| `properties[].deemedAcb107_1_a` | null \| number |  |
| `properties[].deemedPriorCca` | null \| number |  |
| `properties[].description` | array \| boolean \| null \| number \| object \| string |  |
| `properties[].eligibleOffsets` | null \| number |  |
| `properties[].fmv` | null \| number |  |
| `properties[].governingRule` | null \| string |  |
| `properties[].interestAcb` | null \| number |  |
| `properties[].interestCostAmount` | null \| number |  |
| `properties[].interestDispositionOutlays` | null \| number |  |
| `properties[].interestGain` | null \| number |  |
| `properties[].interestLoss` | null \| number |  |
| `properties[].interestLossBeforeReduction` | null \| number |  |
| `properties[].interestProceeds` | null \| number |  |
| `properties[].lossReduction107_1_c` | null \| number |  |
| `properties[].rowId` | array \| boolean \| null \| number \| object \| string |  |
| `properties[].specifiedPercentage` | null \| number |  |
| `properties[].trustCostAmount` | null \| number |  |
| `properties[].trustProceeds` | null \| number |  |
| `provisional` | boolean |  |
| `ready` | boolean |  |
| `totalCapitalGain` | null \| number |  |
| `totalCapitalLoss` | null \| number |  |
| `totalCorporationCost` | null \| number |  |
| `totalDeemedPriorCca` | null \| number |  |
| `totalInterestProceeds` | null \| number |  |
| `totalLossReduction107_1_c` | 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 |  |
