Skip to main content

Overview

One size fits none when it comes to accounting, and that’s why Tight has built native support for Canadian businesses. Whether your user base resides solely in Canada or you’re looking at adding Canadian support to your future roadmap without dedicating development resources, Tight has you covered.

Use cases

Tax Estimates

Canadian users have to pay quarterly installments to the CRA, and Tight’s Tax Calculations API makes it easy for you to provide your users with the income tax estimates needed to pay those installments. Your users’ tax profiles are formatted specifically for providing accurate Canadian estimates, including the following Canada-specific fields:
FieldDescriptionFormat
federalFilingStatusThe marital status of the userMust be one of the following: “SINGLE”, “MARRIED”
taxStateTwo-letter province abbreviationString
annualW2IncomeEstimate of the user’s annual wage total (aka T4 Income), before any tax withholdingsNumeric, with 2 decimal places
spouseIncomeEstimate of the user’s spouse’s annual wage total (aka T4 Income), before any tax withholdingsNumeric, with 2 decimal places
numDependentsNumber of dependentsNumeric
dependentIncomeEstimate of the user’s dependents’ incomeNumeric, with 2 decimal places
vehicleBusinessPercentThe user’s estimated percentage of driving that was for business purposes (measured in km)Numeric, with 2 decimal places
autoSalesTaxWhether the user wants the Tight API to automatically calculate sales tax, based on the province that each expense originated in. This is useful for calculating the input tax credit, which will be applied against any sales tax owed on business income.Boolean
Additionally, the tax estimates themselves are returned with different attributes that are specific to how taxes are calculated in Canada. The response from GET /estimates contains a Canada-specific JSON object, with a vast amount of useful tax information as follows:
{
  "country": "CAN",
  "state": "QC",
  "year": 2022,
  "t4Income": 100000.00,
  "t4FederalMarginalTaxRate": 20.50,
  "t4StateMarginalTaxRate": 25.75,
  "spouseIncome": 0.00,
  "dependentIncome": 0.00,
  "cppContributionAmount": 0.00,
  "cppDeductionAmount": 0.00,
  "qppContributionAmount": 1589.57,
  "qppDeductionAmount": 794.79,
  "businessIncome": 29346.73,
  "expenses": 7336.68,
  "deductibleNonMileageExpenses": 7336.68,
  "deductibleVehicleExpenses": 0.00,
  "adjustedGrossIncome": 22010.05,
  "taxableNetIncome": 22010.05,
  "overallTax": 10988.22,
  "overallTaxSavings": 3796.73,
  "overallTaxUnpaid": 0.00,
  "federalTaxUnpaid": 0.00,
  "stateTaxUnpaid": 0.00,
  "annualPaymentDueDate": "2023-06-15 00:00:00.000",
  "afterTaxIncome": 11021.83,
  "federalTax": {
    "taxableIncome": 22010.05,
    "marginalTaxRate": 26.0000,
    "taxCredit": 0.00,
    "taxAmountWithoutTaxCredit": 5701.05,
    "preCreditEffectiveTaxRate": 25.90,
    "effectiveTaxRateBeforeWithholding": 25.90,
    "taxBeforeWithholding": 5701.05,
    "withholdingAppliedToTax": 0.00,
    "taxAmount": 5701.05,
    "effectiveTaxRate": 25.90
  },
  "stateTax": {
    "taxableIncome": 22010.05,
    "marginalTaxRate": 25.7500,
    "taxCredit": 158.96,
    "taxAmountWithoutTaxCredit": 5446.13,
    "preCreditEffectiveTaxRate": 24.74,
    "effectiveTaxRateBeforeWithholding": 24.02,
    "taxBeforeWithholding": 5287.17,
    "withholdingAppliedToTax": 0.00,
    "taxAmount": 5287.17,
    "effectiveTaxRate": 24.02
  },
  "salesTax": {
    "revenueSalesTax": 0.00,
    "expenseSalesTax": 0.00,
    "netSalesTax": 0.00
  },
  "quarterlyEstimates": {
    "q1": {
      "dueDate": "2022-03-15 00:00:00.000",
      "federalTax": {
        "taxOwed": 1425.26,
        "taxPaid": 0.00,
        "paymentsAllocatedFromPast": 0.00,
        "paymentsRolledOverToFuture": false,
        "paymentsBalance": 1425.26
      },
      "stateTax": {
        "taxOwed": 1321.79,
        "taxPaid": 0.00,
        "paymentsAllocatedFromPast": 0.00,
        "paymentsRolledOverToFuture": false,
        "paymentsBalance": 1321.79
      }
    },
    "q2": {
      "dueDate": "2022-06-15 00:00:00.000",
      "federalTax": {
        "taxOwed": 950.36,
        "taxPaid": 0.00,
        "paymentsAllocatedFromPast": 0.00,
        "paymentsRolledOverToFuture": false,
        "paymentsBalance": 950.36
      },
      "stateTax": {
        "taxOwed": 881.37,
        "taxPaid": 0.00,
        "paymentsAllocatedFromPast": 0.00,
        "paymentsRolledOverToFuture": false,
        "paymentsBalance": 881.37
      }
    },
    "q3": {
      "dueDate": "2022-09-15 00:00:00.000",
      "federalTax": {
        "taxOwed": 1425.26,
        "taxPaid": 0.00,
        "paymentsAllocatedFromPast": 0.00,
        "paymentsRolledOverToFuture": false,
        "paymentsBalance": 1425.26
      },
      "stateTax": {
        "taxOwed": 1321.79,
        "taxPaid": 0.00,
        "paymentsAllocatedFromPast": 0.00,
        "paymentsRolledOverToFuture": false,
        "paymentsBalance": 1321.79
      }
    },
    "q4": {
      "dueDate": "2022-12-15 00:00:00.000",
      "federalTax": {
        "taxOwed": 1900.17,
        "taxPaid": 0.00,
        "paymentsAllocatedFromPast": 0.00,
        "paymentsRolledOverToFuture": false,
        "paymentsBalance": 1900.17
      },
      "stateTax": {
        "taxOwed": 1762.22,
        "taxPaid": 0.00,
        "paymentsAllocatedFromPast": 0.00,
        "paymentsRolledOverToFuture": false,
        "paymentsBalance": 1762.22
      }
    }
  }
}
The art of building great FinTech apps includes figuring out how to display complex financial data in a way that a given user base can easily digest it. Tight has iterated its tax UX through its own apps, with over 30 versions displayed to 700k+ users. Our team is willing and excited to share our proven UX learnings with you, fast forwarding you through your iteration process and ensuring that your first tax UX is a solid one. Reach out to our API team at api@hurdlr.com, and our team will advise you on which attributes to display and how to do so clearly/concisely.

Tax reporting

The T2125 is generally the most complex portion of any Canadian self-employed individual’s tax filing, but Tight makes generating this form a breeze. A T2125 has to be filed for each sole proprietorship (line of business) that the user has participated in. Take a look at our Canada Tax Reporting docs to learn how to easily generate this tax report for each of your users’ businesses.

Accounting

Tight’s “Invisible” Double-Entry Accounting is enabled in the background, tracking the proper accrual basis transactions in each user’s General Ledger. It’s up to you whether you want to display this to your users. Notably, for Canadian users, the Chart of Accounts includes an asset account for “Sales Tax Credit” as well as a liability account for “Sales Tax Payable”. These accounts are used to store the sales tax paid on expenses as well as the sales tax owed on income, respectively. Tracking these values allows Tight’s tax estimates to include the input tax credits that the CRA extends to businesses. And, if you use the autoSalesTax flag when setting up the user’s tax profile, that tracking will occur automatically.