t661
T2 Corporation Income Tax Return
- Kind
- batch
- Supported tax years
- 1985 and later
- Strict profile
- t661_2025_synthetic_proxy_arithmetic_v1
- Payload schema version
- 0.15.0
- Dependencies (run automatically)
- aoc
Example request
Send this body to POST /api/v1/computations/batch. It satisfies the strict profile, so it works with or without the payloadContract selector.
{
"compute": [
"t661"
],
"inputs": {
"fiscalEnd": "2025-12-31",
"fiscalStart": "2025-01-01",
"t661": {
"businessNumber": "123456782RC0001",
"corporationName": "Cedar Ridge Manufacturing Inc.",
"line300SalariesDirectlyEngaged": 200000,
"line305SalariesSpecified": 50000,
"line307SalariesNAL": 0,
"line309SalariesSpecifiedOutsideCanada": 0,
"line310PriorUnpaidSalariesPaidThisYear": 0,
"line315CurrentYearUnpaidSalaries": 0,
"line320MaterialsConsumed": 30000,
"line325MaterialsTransformed": 0,
"line340ContractPaymentsAL": 20000,
"line345ContractPaymentsNAL": 0,
"line350LeaseCostsAllOrSubstantiallyAll": 0,
"line355LeaseCostsPrimarily": 0,
"line360OverheadTraditional": 0,
"line370ThirdPartyPayments": 0,
"line390CapitalExpenditures": 0,
"line502ProxyAmount": 110000,
"line410CapitalLegacy": 0,
"line429ProvincialGovernmentAssistance": 10000,
"line429ProvincialGovernmentAssistanceRelatingToCurrent": 10000,
"line429ProvincialGovernmentAssistanceRelatingToCapital": 0,
"line431OtherGovernmentAssistance": 0,
"line431OtherGovernmentAssistanceRelatingToCurrent": 0,
"line431OtherGovernmentAssistanceRelatingToCapital": 0,
"line432NonGovernmentAssistance": 0,
"line432NonGovernmentAssistanceRelatingToCurrent": 0,
"line432NonGovernmentAssistanceRelatingToCapital": 0,
"contractPaymentsReceivedForQualifiedExpenditures": 0,
"contractPaymentsReceivedForQualifiedExpendituresRelatingToCurrent": 0,
"contractPaymentsReceivedForQualifiedExpendituresRelatingToCapital": 0,
"line435PriorYearItcApplied": 0,
"line440SaleCapitalAssetsAndOtherDeductions": 0,
"line450OpeningPool": 0,
"line460DeductionClaimed": 290000,
"line560RepaymentsAssistanceContractPayments": 0,
"methodElected": "proxy",
"proxySalaryBase": 200000,
"sredSpecifiedEmployeeCapApplied": true,
"sredSpecifiedEmployeeBonusOrProfitRemuneration": 0,
"sredProxySalaryBaseExclusionsReg2900_9": 0,
"sredContractPayeeRows": [
{
"payeeId": "contractor-340",
"paymentLine": "340",
"amount": 20000,
"payeeResidentInCanada": true,
"payeeIsCanadianPartnership": false,
"amountRelatesToBusinessThroughCanadianPe": false
}
],
"sredNalSupplierPurchasesDisclosed": true,
"sredUnpaidRemunerationReviewed": true,
"sredExpendituresIncludedInBookIncome": 0,
"sredExemptIncomeExclusionReviewed": true,
"sredCurrentExpendituresRelatedToExemptIncome": 0,
"sredCapitalExpendituresRelatedToExemptIncome": 0,
"sredItcUnpaidAmountsReviewed": true,
"sredProxyOverallCapAmount": 1000000,
"sredFilingDueDate": "2026-06-30",
"sredPrescribedFormFiledDate": "2026-06-30",
"sredPrescribedInformationComplete": true
},
"taxYear": 2025
}
}Input cells (157)
Paths are relative to the request’s inputs object; [] marks an array element.
Required says when a cell must be present. Always means every request needs it: the default boundary rejects the call when the cell is omitted or null. Strict means only a request that sends this target’s payloadContract selector needs it. See Run computations for the default boundary.
These cells are everything this target accepts. A member that is not published here, or is sent with the wrong JSON type, fails the call with a 400 naming each failing cell.
| Cell | Types | Required |
|---|---|---|
| fiscalEndThe last day of the taxation year in ISO YYYY-MM-DD form, which bounds every disposition date. Send it with fiscalStart and daysInYear: the three are the canonical taxation-period trio, and all three are mandatory whenever the request reaches Part I through its dependency closure. Strict YYYY-MM-DD, and not before fiscalStart. | null | string | strict |
| fiscalStartThe first day of the taxation year (ISO YYYY-MM-DD). With fiscalEnd and daysInYear it is the canonical taxation-period trio, and all three are mandatory whenever the request reaches Part I through its dependency closure — the request is refused before any computation when one is missing. The bounds also drive Schedule 8's Reg 1100(3) short-year CCA proration and the Reg 1104(3.5)(b) immediate-expensing limit proration. | null | string | strict |
| t661 | object | |
| t661.businessNumber9-digit BN or 15-char RC account. | null | string | strict |
| t661.contractPaymentsReceivedForQualifiedExpenditures | null | number | strict |
| t661.contractPaymentsReceivedForQualifiedExpendituresRelatingToCapitalThe capital-expenditure limb of contract payments received for qualified expenditures. Send it with the current limb; an unattributed total blocks the claim. | null | number | string | strict |
| t661.contractPaymentsReceivedForQualifiedExpendituresRelatingToCurrentThe current-expenditure limb of contract payments received for qualified expenditures. Send it with the capital limb; an unattributed total blocks the claim. | null | number | string | strict |
| t661.corporationName | null | string | strict |
| t661.leaseCostExpenditureDateExact expenditure date proving the restored lease window. | null | string | |
| t661.leaseCostIsGeneralPurposeOfficeEquipmentOrFurnitureGeneral-purpose office equipment or furniture is excluded. | boolean | null | |
| t661.line300SalariesDirectlyEngagedT661 line 300 face amount, already excluding the line-315 unpaid memo. | null | number | strict |
| t661.line305SalariesSpecifiedT661 line 305 face amount after applicable limits and after excluding the line-315 unpaid memo. | null | number | strict |
| t661.line307ForeignSalaryEligibilityAttesteds.37(1.5) + s.37(9)(b) — is the line 307 salary eligible? The employee must have been resident in Canada when the work was performed, the work must support SR&ED carried on in Canada, and the taxpayer must reasonably believe the salary is NOT subject to foreign income or profits tax. null and false both exclude the amount. Admitted amounts are further capped at 10% of Canadian SR&ED salary (lines 300 + 305). | boolean | null | |
| t661.line307NatureWhat is the line 307 amount? Only "foreign_salary" is admissible — s.37(1.4)/(1.5) deems SALARY OR WAGES paid to an employee of the taxpayer who was resident in Canada, for SR&ED carried on outside Canada in support of SR&ED carried on IN Canada, to have been made in Canada. A non-arm's-length CONTRACT payment belongs on line 350 instead. Anything but "foreign_salary" excludes the amount from both the s.37 deduction and the ITC base. | null | string | |
| t661.line307SalariesNALLine 307: permissible foreign SR&ED salary after the aggregate limit; already excludes the line-315 unpaid memo. | null | number | strict |
| t661.line309SalariesSpecifiedOutsideCanadaLine 309: permissible specified-employee foreign SR&ED salary after applicable limits; already excludes the line-315 unpaid memo. | null | number | strict |
| t661.line310PriorUnpaidSalariesPaidThisYearLine 310: prior-year unpaid salary paid in this tax year. | null | number | strict |
| t661.line315CurrentYearUnpaidSalariesLine 315 disclosure memo: current salary unpaid 180 days after year end. T4088 requires this amount to be excluded already from lines 300-309 and 360, so the engine never subtracts it again from line 380. | null | number | strict |
| t661.line320MaterialsConsumed | null | number | strict |
| t661.line325MaterialsTransformed | null | number | strict |
| t661.line340ContractPaymentsAL | null | number | strict |
| t661.line345ContractPaymentsNAL | null | number | strict |
| t661.line350LeaseCostsAllOrSubstantiallyAllLine 350: lease costs used 90% or more for SR&ED. | null | number | strict |
| t661.line355LeaseCostsPrimarilyLine 355: the 50% proxy-method amount for lease use above 50% and below 90%. | null | number | strict |
| t661.line360OverheadTraditionalTraditional-method overhead, printed at line 360. | null | number | strict |
| t661.line370ThirdPartyPayments | null | number | strict |
| t661.line390CapitalAvailableForUse | boolean | null | |
| t661.line390CapitalExpenditureAcquisitionDate | null | string | |
| t661.line390CapitalExpenditurePart6BRowsT661 Part 6B property ledger; boxes 780/782/786 break line 390 down by property. | array | |
| t661.line390CapitalExpenditurePart6BRows[].acquisitionDateAcquisition date (YYYY-MM-DD); box 780 only reaches property acquired after December 15, 2024. | string | |
| t661.line390CapitalExpenditurePart6BRows[].adjustedSellingCostToSupplierThe supplier's adjusted selling cost of the property. | null | number | |
| t661.line390CapitalExpenditurePart6BRows[].capitalExpenditureAmountPart 6B box 782: the capital expenditure amount for this property. | null | number | |
| t661.line390CapitalExpenditurePart6BRows[].nonArmsLengthSupplierWas the property bought from a supplier the corporation does not deal with at arm's length? | boolean | null | |
| t661.line390CapitalExpenditurePart6BRows[].projectNumbersPart 6B box 786: the SR&ED project numbers this property was used in. | string | |
| t661.line390CapitalExpenditurePart6BRows[].propertyNamePart 6B box 780: name of the capital property acquired after December 15, 2024 that was used for SR&ED. | string | |
| t661.line390CapitalExpenditures | null | number | strict |
| t661.line390CapitalIsDepreciablePropertyNotLand | boolean | null | |
| t661.line410CapitalLegacyPre-2014 legacy balance — POOL CONTINUITY only. The engine error-blocks a non-zero entry: fold it into line450OpeningPool (it is not a current-year expenditure and must not mint ITC). | null | number | strict |
| t661.line429ProvincialGovernmentAssistance | null | number | strict |
| t661.line429ProvincialGovernmentAssistanceRelatingToCapitalThe capital-expenditure limb of the line 429 government assistance reduction. Send it with the current limb: the engine will not guess a split, and an unattributed total blocks the claim. | null | number | string | strict |
| t661.line429ProvincialGovernmentAssistanceRelatingToCurrentThe current-expenditure limb of the line 429 government assistance reduction. Send it with the capital limb: the engine will not guess a split, and an unattributed total blocks the claim. | null | number | string | strict |
| t661.line431OtherGovernmentAssistance | null | number | strict |
| t661.line431OtherGovernmentAssistanceRelatingToCapitalThe capital-expenditure limb of the line 431 other-government assistance reduction. Send it with the current limb; an unattributed total blocks the claim. | null | number | string | strict |
| t661.line431OtherGovernmentAssistanceRelatingToCurrentThe current-expenditure limb of the line 431 other-government assistance reduction. Send it with the capital limb; an unattributed total blocks the claim. | null | number | string | strict |
| t661.line432NonGovernmentAssistance | null | number | strict |
| t661.line432NonGovernmentAssistanceRelatingToCapitalThe capital-expenditure limb of the line 432 non-government assistance reduction. Send it with the current limb; an unattributed total blocks the claim. | null | number | string | strict |
| t661.line432NonGovernmentAssistanceRelatingToCurrentThe current-expenditure limb of the line 432 non-government assistance reduction. Send it with the capital limb; an unattributed total blocks the claim. | null | number | string | strict |
| t661.line435PriorYearItcApplieds.37(1)(e) — prior-year SR&ED ITC deducted under s.127(5) (or refunded) attributable to the proxy amount / current-nature qualified expenditures. Reduces the pool. The engine warns when an opening pool exists and this is unset. | null | number | strict |
| t661.line440SaleCapitalAssetsAndOtherDeductionsForm E (26) line 440 — proceeds on the 'sale of SR&ED capital assets and other deductions', taken off the pool before the line 455 amount available for deduction. Null is UNANSWERED, not nil: with an opening pool the engine says so at box 440 and applies no reduction while the question is open. Enter 0 to confirm no such disposition occurred. A positive answer can take the pool below the claimed deduction, where the s.37(1) bound blocks at error severity, or below zero, which line 455 handles by its printed instruction '(enter positive amount only, include negative amount in income)'. | null | number | strict |
| t661.line445AssistanceRepaymentsLine 445 — repayments of government assistance, non-government assistance and contract payments. s.37(1)(c) adds them to the pool, so a blank UNDERSTATES the pool and the s.37 deduction. | null | number | |
| t661.line450OpeningPoolForm E (26) line 450 — the opening balance of the pool of deductible SR&ED expenditures carried in from the preceding taxation year. Null is UNANSWERED, not nil: a caller that carries a pool states it here, and the s.37(1)(c.2) prior-year ITC recapture add-back at line 453 is only armed once it is stated. A pool balance is an accumulated non-negative amount, so the contract floors it at 0 rather than letting a negative carry-in reach the engine. | null | number | strict |
| t661.line452PoolTransferOnAmalgamationOrWindUpLine 452 — SR&ED pool transferred IN on an amalgamation or the wind-up of a subsidiary. ITA 87(2)(l) deems the new corporation "the same corporation as, and a continuation of, each predecessor corporation" for the purposes of section 37, and 88(1)(e.2) applies paragraphs 87(2)(g) to (l) to a winding-up. Pool ADDITION — a blank understates the pool and the s.37 deduction. | null | number | |
| t661.line453PriorYearItcRecapturedForm T661 Part E item (26) line 453 — SR&ED ITC recaptured in a preceding year, which ITA 37(1)(c.2) adds back to the pool. That is the prior year's Schedule 31 corporate recapture amounts 17A + 17B; amount 17C is partnership-level and does not enter the corporate partner's next-year pool. Absent does NOT mean nil: where an opening pool or a prior-year continuity exists, a blank blocks the claim at error severity rather than filing an understated pool. An explicit 0 is a valid affirmative answer. | null | number | |
| t661.line453PriorYearItcRecapturedConfirmedAffirm only when a deliberately supported line-453 entry differs from the authenticated prior filed Schedule 31 amounts 17A + 17B. Blank/No leaves the authenticated amount authoritative. This is not carried forward. | boolean | null | |
| t661.line460ClaimFullPoolElects to deduct the maximum available ITA s.37(1) pool on printed line 460 instead of naming an amount in line460DeductionClaimed. Only the JSON boolean true is an election. | boolean | null | |
| t661.line460DeductionClaimedLine 460: deduction claimed this year. | null | number | strict |
| t661.line500PriorYearUnpaidAmountsPaidForm E (26) line 500. The ITA 127(26) add-back: a prior year's unpaid amount deemed not incurred is treated as incurred when it is paid. Absent means nil. | null | number | |
| t661.line502ProxyAmountPrescribed proxy amount, printed at line 502. | null | number | strict |
| t661.line504SUEAllPropertiesAcquiredAfter20241215Every line-504 property was acquired after December 15, 2024. | boolean | null | |
| t661.line504SUEAllPropertiesAvailableForUseEvery line-504 property has become available for use. | boolean | null | |
| t661.line504SUEAllPropertiesDepreciableNotPrescribedEvery property is depreciable and not prescribed depreciable property. | boolean | null | |
| t661.line504SUEAllPropertiesUsedPrimarilyForSredInCanadaEvery property was used primarily for SR&ED in Canada in its term. | boolean | null | |
| t661.line504SUECapitalCostAfterS127_11_6Aggregate capital cost after the s.127(11.6) supplier-cost limit. | null | number | |
| t661.line504SUENoGeneralPurposeOfficeEquipmentOrFurnitureNo line-504 property is general-purpose office equipment or furniture. | boolean | null | |
| t661.line504SUEPart6CDetailsCompletePart 6C boxes 788-796 are complete for every property in line 504. | boolean | null | |
| t661.line504SUEPart6CRowsT661 Part 6C property ledger; boxes 788-796 own line 504. | array | |
| t661.line504SUEPart6CRows[].adjustedCapitalCostAfterS127_11_6 | null | number | |
| t661.line504SUEPart6CRows[].availableForUse | boolean | null | |
| t661.line504SUEPart6CRows[].depreciableNotPrescribed | boolean | null | |
| t661.line504SUEPart6CRows[].notGeneralPurposeOfficeEquipmentOrFurniture | boolean | null | |
| t661.line504SUEPart6CRows[].projectNumbersPart 6C box 796. | string | |
| t661.line504SUEPart6CRows[].propertyNamePart 6C box 788. | string | |
| t661.line504SUEPart6CRows[].purchaseDatePart 6C box 790 (YYYY-MM-DD). | string | |
| t661.line504SUEPart6CRows[].qualifyingAmount25PercentPart 6C box 792: 25% of adjusted capital cost. | null | number | |
| t661.line504SUEPart6CRows[].termPart 6C box 794. | integer | null | |
| t661.line504SUEPart6CRows[].usedPrimarilyForSredInCanada | boolean | null | |
| t661.line504SUETermsConfirmedBox 794 first-/second-term classifications have been confirmed. | boolean | null | |
| t661.line504SharedUseEquipmentCapitalT661 line 504 — restored shared-use-equipment capital QSE. | null | number | |
| t661.line508QualifiedExpendituresTransferredInForm E (26) line 508. Element B of the s.127(9) qualified expenditure pool - an amount transferred to the corporation under a s.127(13) agreement. It is admitted only once the prescribed-form attestation is true AND all four transferor-supplied operands below are given, and then only at the computed s.127(13)(a)-(c) least-of; the closing words deem it nil outright on an over-allocation. Otherwise the engine excludes it and says so at error severity, never silently. | null | number | |
| t661.line508TransferAgreementAmountITA 127(13)(a) - "the amount specified in the agreement" (Form T1146). Transferor-supplied evidence: the corporation claiming the transfer cannot self-prove it. Absent blocks line 508. | null | number | |
| t661.line508TransferPrescribedFormFiledITA 127(9) "SR&ED qualified expenditure pool", element B: the transferred amount counts only where the taxpayer "files with the Minister a prescribed form containing prescribed information by the day that is 12 months after the taxpayer's filing-due date for the year" (Form T1146). Absent/false excludes line 508. | boolean | null | |
| t661.line508TransferorAggregateAllocatedToAllTransfereesITA 127(13) closing words - the total the transferor specified across ALL its s.127(13) agreements for the particular year. Where it exceeds the transferor's but-for pool, "the least of the amounts determined under paragraphs 127(13)(a) to 127(13)(c) in respect of each such agreement is deemed to be nil" - every agreement of that transferor, this one included, not a pro-rata reduction. Transferor-supplied evidence. Absent blocks line 508. | null | number | |
| t661.line508TransferorArmsLengthEquivalentAmountITA 127(13)(c) - the total of the amounts that, if the transferor were dealing at arm's length with the transferee, would be contract payments paid within 180 days of the transferor's year end. Transferor-supplied evidence from the Form T1146 agreement. Absent blocks line 508. | null | number | |
| t661.line508TransferorButForQualifiedExpenditurePoolITA 127(13)(b) - "the amount that but for the agreement would be the transferor's SR&ED qualified expenditure pool at the end of the particular year". Transferor-supplied evidence read off the transferor's own T661. Absent blocks line 508. | null | number | |
| t661.line510QualifiedExpendituresTransferredInCapitalT661 line 510 — capital QSE transferred to the corporation. | null | number | |
| t661.line520UnpaidCurrentExpendituresAtDay180Form E (26) line 520 — s.37(1)(a) expenditures still unpaid 180 days after the year end, which ITA 127(26) deems not to have been incurred in the year for ITC purposes. It covers materials, contract payments, third-party payments, lease and overhead, not just remuneration, and it is the amount the required `sredItcUnpaidAmountsReviewed` attestation is about. Enter contract and third-party components at their 80% qualified value. Absent means nil unpaid. | null | number | |
| t661.line544QualifiedExpendituresTransferredOutForm E (26) line 544. Element H of the s.127(9) qualified expenditure pool - an amount the corporation transferred OUT under a s.127(13) agreement. Absent means nil. | null | number | |
| t661.line546QualifiedExpendituresTransferredOutCapitalThe capital slice of qualified expenditures transferred out under an ITA s.127(13) agreement, form line 546. Send 0 to confirm none, because leaving the key absent is not an answer. | null | number | |
| t661.line558QSECapitalForm E (26) line 558, pre-2014 SR&ED capital in the qualified expenditure base. Reg 2902(b) carves capital out unless every condition below holds, so the amount is admitted only with its three attestations; unattested it blocks at error severity on box 558. | null | number | |
| t661.line558QSECapitalAcquiredAfter20241215s.37(1)(b)(ii) — was the property acquired AFTER 2024-12-15? | boolean | null | |
| t661.line558QSECapitalAvailableForUses.37(1.2) — has the property become AVAILABLE FOR USE? Capital expenditure is not deductible before then. | boolean | null | |
| t661.line558QSECapitalBuildingHasLargerParticlesReg 2903 — are there any particles larger than the selected diameter? Only an explicit false can meet the definition. | boolean | null | |
| t661.line558QSECapitalBuildingMaxDisplacementMicrometresReg 2903 — maximum working-area displacement in any direction, µm. | null | number | |
| t661.line558QSECapitalBuildingParticleDiameterMicrometresReg 2903 selected particle-size alternative: 0.1, 0.2, 0.3 or 0.5 µm. | null | number | |
| t661.line558QSECapitalBuildingParticlesPer0028CubicMetreReg 2903 particle count at/below the selected diameter per 0.028 m³. | null | number | |
| t661.line558QSECapitalIntendedAllOrSubstantiallyAllSredUseReg 2902(b)(i)(B): at the time of acquisition it was intended that the premises, facilities or equipment would be used during all or substantially all of its operating time - or that all or substantially all of its value would be consumed - in the prosecution of SR&ED in Canada. Shared-use equipment under (b)(i)(A) is the form's separate lines 504/510 track, not this line. | boolean | null | |
| t661.line558QSECapitalIsBuildingOrBuildingLeaseholdITA 37(8)(e)(i) — is the property a building or a leasehold interest in a building? If yes, only a Reg 2903 special-purpose building can remain eligible. | boolean | null | |
| t661.line558QSECapitalIsDepreciablePropertyNotLands.37(1)(b)(ii) — is the property DEPRECIABLE property (and not land, or a leasehold interest in land)? | boolean | null | |
| t661.line558QSECapitalNotPreviouslyUsedPropertyReg 2902(b)(iii): the property had not been used, or acquired for use or lease, for any purpose whatever before the corporation acquired it. | boolean | null | |
| t661.line558QSECapitalNotQualifiedPropertyReg 2902(b)(ii): the property is not "qualified property" as defined in s.127(9) - property earning the regular ITC cannot also enter the SR&ED base. | boolean | null | |
| t661.line560RepaymentsAssistanceContractPaymentsLine 560: repayments added to the line-559 qualified-expenditure subtotal. | null | number | strict |
| t661.methodElectedMethod election per s.37(8)(a)(ii)(B) — PER TAXATION YEAR (s.37(10) locks it only for a year whose T661 has been first filed). | null | string | strict |
| t661.proxySalaryBaseGross proxy salary base per Reg 2900(4), before the Reg 2900(9) remuneration-character exclusions below. | null | number | strict |
| t661.sredAocOriginalPreEventPools.37(6.1)(a) element A: the original pre-event SR&ED pool fixed at the loss-restriction event. The engine computes it in the event year and carries it unchanged. Edit only to reconcile a legacy filing; a later-year opening balance has already shrunk by prior deductions. | null | number | |
| t661.sredAocPriorYearAbsorptions.37(6.1)(b)(ii) — pre-AoC pool amounts already absorbed in PRECEDING post-AoC years (per year, the lesser of that year's (b)(i) income and its s.37(1) deduction). The carryforward computes the cumulative amount; edit only to reconcile a legacy filing. | null | number | |
| t661.sredAocSingleBusinessAttesteds.37(6.1) — is the pre-AoC pool attributable to a SINGLE business, the same business the corporation carried on after the acquisition of control? Required once a pre-AoC segment would otherwise be deductible; until attested that segment is excluded from this year's deductible pool and carries forward. null and false both hold. | boolean | null | |
| t661.sredBusinessContinuesPostAocTri-state: was the SR&ED business carried on for profit (or with a reasonable expectation of profit) throughout the post-AoC year — including a business deriving substantially all its income from SIMILAR properties/services (s.37(6.1)(b)(i)(B); NOT s.111(5.1), which is the depreciable-property UCC write-down)? null = unanswered — the engine fails closed: the pre-AoC pool segment is excluded from this year's deductible pool (it carries forward) and the result is provisional until answered. | boolean | null | |
| t661.sredCapitalExpendituresRelatedToExemptIncomeCapital-column QSE excluded because it relates to exempt income. | null | number | strict |
| t661.sredContractPayeeRowsITA 127(9)(g): one reviewed row per line-340/370 payee. Row amounts must reconcile each face line. Non-residents qualify only where the particular amount relates to business through a Canadian Reg. 8201 PE. | array | null | |
| t661.sredContractPayeeRows[].amount | null | number | strict |
| t661.sredContractPayeeRows[].amountRelatesToBusinessThroughCanadianPe | boolean | null | strict |
| t661.sredContractPayeeRows[].line370RelatedToTaxpayerBusiness | boolean | null | |
| t661.sredContractPayeeRows[].line370TaxpayerEntitledToExploitResults | boolean | null | |
| t661.sredContractPayeeRows[].payeeId | null | string | strict |
| t661.sredContractPayeeRows[].payeeIsCanadianPartnership | boolean | null | strict |
| t661.sredContractPayeeRows[].payeeName | null | string | |
| t661.sredContractPayeeRows[].payeeResidentInCanada | boolean | null | strict |
| t661.sredContractPayeeRows[].paymentLine | null | string | strict |
| t661.sredContractPayeeRows[].reg8201Facts | null | object | |
| t661.sredContractPayeeRows[].reg8201Facts.controlledSubsidiaryOnly | boolean | null | |
| t661.sredContractPayeeRows[].reg8201Facts.employeeOrAgentEstablishedAtTarget | boolean | null | |
| t661.sredContractPayeeRows[].reg8201Facts.fixedPlaceJurisdiction | null | string | |
| t661.sredContractPayeeRows[].reg8201Facts.generalContractingAuthorityAtTarget | boolean | null | |
| t661.sredContractPayeeRows[].reg8201Facts.hasFixedPlaceOfBusiness | boolean | null | |
| t661.sredContractPayeeRows[].reg8201Facts.independentAgentOnly | boolean | null | |
| t661.sredContractPayeeRows[].reg8201Facts.insurerRegisteredOrLicensedJurisdictions | array | |
| t661.sredContractPayeeRows[].reg8201Facts.isInsurer | boolean | null | |
| t661.sredContractPayeeRows[].reg8201Facts.personOwnedStockAtTarget | boolean | null | |
| t661.sredContractPayeeRows[].reg8201Facts.principalPlaceOfBusinessAtTarget | boolean | null | |
| t661.sredContractPayeeRows[].reg8201Facts.purchaseOnlyOfficeOnly | boolean | null | |
| t661.sredContractPayeeRows[].reg8201Facts.regularlyFillsOrdersFromStockAtTarget | boolean | null | |
| t661.sredContractPayeeRows[].reg8201Facts.substantialMachineryOrEquipmentUsedAtTarget | boolean | null | |
| t661.sredContractPayeeRows[].reg8201Facts.treatyExists | boolean | null | |
| t661.sredContractPayeeRows[].reg8201Facts.treatyPermanentEstablishmentArticle | null | string | |
| t661.sredContractPayeeRows[].reg8201Facts.treatyPermanentEstablishmentConclusion | boolean | null | |
| t661.sredContractPayeesAreTaxableSuppliersITA 127(9) "qualified expenditure" paragraph (g) — are the contract and third-party payees TAXABLE SUPPLIERS? Read against lines 340 + 370. Until asserted the payments remain 100% DEDUCTIBLE under s.37(1)(a) but are excluded from the ITC base (the 80% qualified- SR&ED-expenditure inclusion is withheld). null and false both hold. | boolean | null | |
| t661.sredCurrentExpendituresRelatedToExemptIncomeCurrent-column QSE excluded because it relates to exempt income. | null | number | strict |
| t661.sredExemptIncomeExclusionReviewedITA 127(9)(l) review for expenditures related to exempt income. | boolean | null | strict |
| t661.sredExpendituresIncludedInBookIncomeThe year's SR&ED expenditures already included in BOOK income (i.e. expensed in the financial statements). Required once line 400 is positive — it is the S1 line 118 add-back. Without it the same expenditure would be relieved twice, so the engine fails closed. Explicit 0 is a valid answer; blank is not. | null | number | strict |
| t661.sredFilingDueDateThe taxpayer's filing-due date for this taxation year (YYYY-MM-DD). The s.37(11) T661 deadline is 12 months after this date. | null | string | strict |
| t661.sredItcUnpaidAmountsReviewedITA s.127(26) review: non-salary SR&ED expenditures unpaid 180 days after year end leave the ITC base; confirm the 180-day test and state any unpaid amount. | boolean | null | strict |
| t661.sredNalSupplierCostAdjustments.127(11.6) — total NAL supplier cost adjustment. | null | number | |
| t661.sredNalSupplierCostAdjustmentRelatingToCapitalRestored-capital portion of the s.127(11.6) adjustment. | null | number | |
| t661.sredNalSupplierCostAdjustmentRelatingToCurrentCurrent-expenditure portion of the s.127(11.6) adjustment. | null | number | |
| t661.sredNalSupplierPurchasesDisclosedITA s.127(11.6) disclosure: purchases from non-arm's-length suppliers are limited to the supplier's adjusted selling or service cost; answer whether any exist and state the adjustment. | boolean | null | strict |
| t661.sredPrescribedFormFiledDateFirst date on which the prescribed T661 information was or will be filed with the Minister (YYYY-MM-DD). | null | string | strict |
| t661.sredPrescribedInformationCompleteITA 37(11)/(11.1): does that filing contain the prescribed expenditure and claim-preparer information? Only true supports the current claim. | boolean | null | strict |
| t661.sredPriorLossRestrictionEventDateDate of the loss-restriction event / acquisition of control (ISO YYYY-MM-DD). Setting it ARMS the s.37(6.1) restriction on the opening pool, and it is replayed on carryforward so a later year cannot escape the restriction. | null | string | |
| t661.sredProxyOverallCapAmountReg 2900(6) — the OVERALL CAP on the prescribed proxy amount (the aggregate limit the PPA may not exceed). null = unanswered and the engine admits NO prescribed proxy amount into the qualified- expenditure base until it is supplied. | null | number | strict |
| t661.sredProxySalaryBaseExclusionsReg2900_9Reg 2900(9) aggregate included in the gross proxy base for s.6/7 amounts, s.78(4)-deemed remuneration, bonuses and profit-based remuneration. The engine subtracts it before applying 55%. | null | number | strict |
| t661.sredSameOrSimilarBusinessIncomes.37(6.1)(b)(i) — the year's income, before any s.37(1) deduction, from the same business plus clause (B) similar-business income. Read only when the continuation flag is asserted true. null = not supplied (fails closed while asserted); explicit 0 is valid. | null | number | |
| t661.sredSpecifiedEmployeeBonusOrProfitRemunerationITA 37(9)(a) — bonus or remuneration based on profits included in the gross line-305 amount. The engine subtracts it from both the s.37 expenditure and the qualified-expenditure base. Explicit 0 confirms none; null is unanswered and holds line 305. | null | number | strict |
| t661.sredSpecifiedEmployeeCapAppliedAsserts the ITA s.37(9.1) specified-employee salary cap (5 times YMPE, day-prorated), any s.37(9.2) and (9.3) associated-group allocation, and the Reg 2900(7) proxy cap were applied to line 305. | boolean | null | strict |
| t661.sredTraditionalOverheadDirectlyAttributableReviewedReg 2900(2)/(3) review that line 360 is directly attributable to SR&ED. | boolean | null | |
| t661.sredTraditionalOverheadPrescribedExpenditureAmountReg 2902(a) prescribed current expenditure included in line 360. | null | number | |
| t661.sredUnpaidRemunerationReviewedITA s.78(4) review: SR&ED remuneration unpaid 180 days after year end is deemed incurred when paid; confirm the test and state any unpaid amount. | boolean | null | strict |
| taxYearFour-digit taxation year accepted by the batch reader. Historical applicability is decided by the requested form; years after 2027 fail at the shared verified-rate horizon. | number | string | always |
Strict profile accepted values (63 of 157 cells)
These values apply only when the request sends this target’s payloadContract selector. A cell marked pinned must equal the value shown to satisfy the strict profile. On the default boundary the same cell accepts any value of its published type.
| Cell | Accepted values |
|---|---|
| fiscalEnd | date (YYYY-MM-DD); 10 to 10 characters |
| fiscalStart | date (YYYY-MM-DD); 10 to 10 characters |
| t661.businessNumber | 0 to 20000 characters |
| t661.contractPaymentsReceivedForQualifiedExpenditures | -1000000000000000 to 1000000000000000 |
| t661.contractPaymentsReceivedForQualifiedExpendituresRelatingToCapital | -1000000000000000 to 1000000000000000; 0 to 20000 characters |
| t661.contractPaymentsReceivedForQualifiedExpendituresRelatingToCurrent | -1000000000000000 to 1000000000000000; 0 to 20000 characters |
| t661.corporationName | 0 to 20000 characters |
| t661.line300SalariesDirectlyEngaged | -1000000000000000 to 1000000000000000 |
| t661.line305SalariesSpecified | -1000000000000000 to 1000000000000000 |
| t661.line307Nature | one of "foreign_salary", "other" |
| t661.line307SalariesNAL | -1000000000000000 to 1000000000000000 |
| t661.line309SalariesSpecifiedOutsideCanada | -1000000000000000 to 1000000000000000 |
| t661.line310PriorUnpaidSalariesPaidThisYear | -1000000000000000 to 1000000000000000 |
| t661.line315CurrentYearUnpaidSalaries | -1000000000000000 to 1000000000000000 |
| t661.line320MaterialsConsumed | -1000000000000000 to 1000000000000000 |
| t661.line325MaterialsTransformed | -1000000000000000 to 1000000000000000 |
| t661.line340ContractPaymentsAL | -1000000000000000 to 1000000000000000 |
| t661.line345ContractPaymentsNAL | -1000000000000000 to 1000000000000000 |
| t661.line350LeaseCostsAllOrSubstantiallyAll | -1000000000000000 to 1000000000000000 |
| t661.line355LeaseCostsPrimarily | -1000000000000000 to 1000000000000000 |
| t661.line360OverheadTraditional | -1000000000000000 to 1000000000000000 |
| t661.line370ThirdPartyPayments | -1000000000000000 to 1000000000000000 |
| t661.line390CapitalExpenditures | -1000000000000000 to 1000000000000000 |
| t661.line410CapitalLegacy | -1000000000000000 to 1000000000000000 |
| t661.line429ProvincialGovernmentAssistance | -1000000000000000 to 1000000000000000 |
| t661.line429ProvincialGovernmentAssistanceRelatingToCapital | -1000000000000000 to 1000000000000000; 0 to 20000 characters |
| t661.line429ProvincialGovernmentAssistanceRelatingToCurrent | -1000000000000000 to 1000000000000000; 0 to 20000 characters |
| t661.line431OtherGovernmentAssistance | -1000000000000000 to 1000000000000000 |
| t661.line431OtherGovernmentAssistanceRelatingToCapital | -1000000000000000 to 1000000000000000; 0 to 20000 characters |
| t661.line431OtherGovernmentAssistanceRelatingToCurrent | -1000000000000000 to 1000000000000000; 0 to 20000 characters |
| t661.line432NonGovernmentAssistance | -1000000000000000 to 1000000000000000 |
| t661.line432NonGovernmentAssistanceRelatingToCapital | -1000000000000000 to 1000000000000000; 0 to 20000 characters |
| t661.line432NonGovernmentAssistanceRelatingToCurrent | -1000000000000000 to 1000000000000000; 0 to 20000 characters |
| t661.line435PriorYearItcApplied | -1000000000000000 to 1000000000000000 |
| t661.line440SaleCapitalAssetsAndOtherDeductions | 0 to 600000000000 |
| t661.line450OpeningPool | 0 to 600000000000 |
| t661.line453PriorYearItcRecaptured | 0 to 600000000000 |
| t661.line460DeductionClaimed | -1000000000000000 to 1000000000000000 |
| t661.line500PriorYearUnpaidAmountsPaid | 0 to 600000000000 |
| t661.line502ProxyAmount | -1000000000000000 to 1000000000000000 |
| t661.line508QualifiedExpendituresTransferredIn | 0 to 600000000000 |
| t661.line508TransferAgreementAmount | 0 to 600000000000 |
| t661.line508TransferorAggregateAllocatedToAllTransferees | 0 to 600000000000 |
| t661.line508TransferorArmsLengthEquivalentAmount | 0 to 600000000000 |
| t661.line508TransferorButForQualifiedExpenditurePool | 0 to 600000000000 |
| t661.line520UnpaidCurrentExpendituresAtDay180 | 0 to 600000000000 |
| t661.line544QualifiedExpendituresTransferredOut | 0 to 600000000000 |
| t661.line558QSECapital | 0 to 600000000000 |
| t661.line560RepaymentsAssistanceContractPayments | -1000000000000000 to 1000000000000000 |
| t661.methodElected | one of "proxy", "traditional", null |
| t661.proxySalaryBase | -1000000000000000 to 1000000000000000 |
| t661.sredCapitalExpendituresRelatedToExemptIncome | -1000000000000000 to 1000000000000000 |
| t661.sredContractPayeeRows[].amount | -1000000000000000 to 1000000000000000 |
| t661.sredContractPayeeRows[].payeeId | 0 to 20000 characters |
| t661.sredContractPayeeRows[].paymentLine | one of "340", "370", null |
| t661.sredCurrentExpendituresRelatedToExemptIncome | -1000000000000000 to 1000000000000000 |
| t661.sredExpendituresIncludedInBookIncome | -1000000000000000 to 1000000000000000 |
| t661.sredFilingDueDate | 0 to 20000 characters |
| t661.sredPrescribedFormFiledDate | 0 to 20000 characters |
| t661.sredProxyOverallCapAmount | -1000000000000000 to 1000000000000000 |
| t661.sredProxySalaryBaseExclusionsReg2900_9 | -1000000000000000 to 1000000000000000 |
| t661.sredSpecifiedEmployeeBonusOrProfitRemuneration | -1000000000000000 to 1000000000000000 |
| taxYear | matches ^\s*(?:1[0-9]{3}|2(?:0(?:[0-1][0-9]{1}|2[0-7])))\s*$; 1000 to 2027 |
Output cells (88)
Paths are relative to this target’s result object in the response.
| Cell | Types |
|---|---|
| addback_for_s1_line_118_cy | null | number |
| businessNumberThe filer's business number as supplied on the request, or null when the caller did not supply one. An unsupplied identification cell is named in `missing_required` instead of being invented. | null | string |
| closing_pool_for_carryforward | number |
| corporationNameThe corporation's name as supplied on the request, or null when the caller did not supply one. An unsupplied identification cell is named in `missing_required` instead of being invented. | null | string |
| current_expenditures_deductible_cy | number |
| deduction_for_s1_line_411 | number |
| fired_gates | object |
| line_300_salaries_directly_engaged_cy | number |
| line_305_salaries_specified_cy | number |
| line_340_contract_payments_al_cy | number |
| line_410_capital_legacy_cy | number |
| line_420_total_sred_expenditures_cy | number |
| line_445_assistance_repayments_cy | number |
| line_452_pool_transfer_cy | number |
| line_453_prior_year_itc_recaptured_cy | number |
| line_508_qualified_expenditures_transferred_in_cy | number |
| line_557_qse_current_cy | number |
| line_558_qse_capital_cy | number |
| line_559_qse_total_cy | number |
| method_electedThe overhead method the claim elects: `proxy` or `traditional`. Null when the request states neither, which the engine reports rather than assuming a method. | null | string |
| missing_required[] | string |
| pool_available_cy | number |
| pool_deductible_addition_cy | number |
| pool_opening_reduced_by_excess_assistance_cy | number |
| prior_year_itc_applied_cy | number |
| provisional | boolean |
| qse_current_gross_cy | number |
| qse_for_s31_part_8 | number |
| ready | boolean |
| s37_negative_pool_income_inclusion_cy | number |
| t661Line559SredPool | number |
| taxYearEnd | string |
| taxYearStart | string |
| warnings[].boxThe form box the finding is about, or null when the finding is about the return rather than a printed box. | null | string |
| warnings[].citation.read_on | string |
| warnings[].citation.source | string |
| warnings[].citation.source_url | string |
| warnings[].citation.statute | string |
| warnings[].citation.verbatim | string |
| warnings[].citation.applies_to_boxes[] | string |
| warnings[].citation.cra_text_verbatim | string |
| warnings[].citation.form_id | string |
| warnings[].citation.form_revision | string |
| warnings[].citation.gate_id | string |
| warnings[].citation.rule | string |
| warnings[].citation.verified_at | string |
| warnings[].citation.applies_to_internal_models[] | string |
| warnings[].claimSupportAttestation | boolean |
| warnings[].gate_id | null | string |
| warnings[].message | string |
| warnings[].severity | string |
| line_500_prior_year_unpaid_paid_cy | number |
| line_520_unpaid_current_expenditures_cy | number |
| line_544_qualified_expenditures_transferred_out_cy | number |
| line_306_salary_subtotal_cy | number |
| line_307_salaries_other_than_specified_outside_canada_cy | number |
| line_309_salaries_specified_outside_canada_cy | number |
| line_310_prior_unpaid_salaries_paid_cy | number |
| line_315_current_unpaid_salaries_cy | number |
| line_320_materials_consumed_cy | number |
| line_325_materials_transformed_cy | number |
| line_345_contract_payments_nal_cy | number |
| line_350_lease_costs_all_or_substantially_all_cy | number |
| line_355_lease_costs_primarily_cy | number |
| line_360_overhead_traditional_cy | number |
| line_370_third_party_payments_cy | number |
| line_380_total_current_expenditures_cy | number |
| line_390_capital_expenditures_cy | number |
| line_400_total_allowable_expenditures_cy | number |
| line_429_provincial_government_assistance_cy | number |
| line_431_other_government_assistance_cy | number |
| line_432_non_government_assistance_cy | number |
| line_435_prior_year_itc_applied_cy | number |
| line_440_sale_capital_assets_and_other_deductions_cy | number |
| line_442_subtotal_cy | number |
| line_450_opening_pool_cy | number |
| line_450_pre_aoc_grind_cy | number |
| line_455_amount_available_for_deduction_cy | number |
| line_460_deduction_claimed_cy | number |
| line_470_closing_pool_cy | number |
| line_502_proxy_amount_cy | number |
| line_560_repayments_assistance_contract_payments_cy | number |
| line_570_total_qse_for_itc_cy | number |
| line_546_qualified_expenditures_transferred_out_capital_cy | number |
| line_504_shared_use_equipment_capital_cy | number |
| part6CSharedUseEquipmentRows | array |
| part6BCapitalExpenditureRows | array |
| line_510_qualified_expenditures_transferred_in_capital_cy | number |