Default automatic CFM Logic

Click here to watch a VIDEO on this topic (or continue reading below).

By default, Snap enables the automatic cash flow management (CFM) functionality at the retirement age. No automatic contributions or withdrawals (except for the required RRIF/LIF income) are made before the CFM Start Age. Before this age, you can manually enter the planned contributions to various retirement savings accounts, and any surplus cash is assumed to be spent. 

In this article, we detail the logic that Snap follows in the years after the CFM Start Age has been enabled. Therefore, in the example used below, we have enabled the CFM Start Age in year one so that automatic contributions and withdrawals apply for all years of the projections.  

When you enter a value for the client's After-Tax Spending (real dollars) and run the scenario, Snap will automatically contribute to or withdraw from the assets following a default order of contributions and withdrawals to various account types.  We call this the default cash flow management (CFM) logic.

A quick summary of the default CFM logic

Please see the detailed summary below for further clarification of the steps.

  • Accumulation years: Snap will contribute any surplus cash to the accounts in the following order: RRSP, TFSA, Non-Registered.   
  • Decumulation years: Snap will withdraw from the accounts to reach the spending target in the following order: Non-Registered, TFSA, RRSP. 
Let's take a look at an example that shows the default logic in action. Notice that the CFM Start Age radio button is selected in the first year of the projections (highlighted by the yellow box outline).  This means that the default contribution and withdrawal order will apply from the first year. 
In the accumulation years when John is still working (noted by the pink outline), RRSP and TFSA contributions are being made automatically with his surplus cash.  In this example, John wants to spend $50,000 after taxes and his income is $90,000 per year.  After CPP/EI deductions are made and John pays his expected income tax, he has surplus cash which is saved to his RRSP account up to his available contribution room of $16,200.  The remaining surplus cash is contributed to his TFSA account.  If there had been insufficient TFSA contribution room to cover the remaining surplus, the Non-Registered account would have also been contributed to.  
In the decumulation years when John is retired (noted by the black outline), withdrawals are taken automatically from the Non-Registered account and this can cover his entire need. Withdrawals from other account types would start once the Non-Registered account is depleted, or when the RRSP converts to a RRIF account.  Exceptions to the order of withdrawals may occur based on factors such as forced registered account minimum withdrawals and registered account withdrawals up to the basic personal amount for tax optimization purposes. These exceptions are detailed in the steps below.  

A detailed summary of the default CFM logic


Accumulation years: If the after-tax cash (ATC) is greater than the after-tax spending (ATS), we have a Surplus.

Snap will start contributing the surplus to assets in the following way:

  1. If RRSP contribution room is available, Snap will contribute to the RRSP until the maximum contribution room is reached (equally if multiple RRSP accounts are present). 
  2. If TFSA contribution room is available, Snap will contribute to the TFSA until the maximum contribution room is reached (equally if multiple TFSA accounts are present). 
  3. Then, Snap will contribute the remaining cash equally to the Non-Registered accounts. 
  4. If Non-Registered accounts are not present, Snap will contribute the remaining cash to the Cash Account.
  5. The contributions will continue, every single year, until there is no more cash surplus left.

Decumulation years: If the after-tax cash (ATC) is less than the after-tax spending (ATS), we have a Shortfall.

Snap will start withdrawing from assets to cover the shortfall in the following way:
  1. Snap will withdraw from RRIF/LIF accounts when the RRIF/LIF minimum withdrawals are required.
  2. If the RRIF hasn't started yet or if there is no taxable income, Snap will withdraw from RRSP/RRIF up to the personal amount (*).
  3. Then, Snap will withdraw from the Non-Registered accounts.
  4. Then, Snap will withdraw from the TFSA accounts.
  5. Then, Snap will withdraw from the RRSP or RRIF/LIF over the RRIF/LIF minimums.
  6. The withdrawals will continue until all assets are depleted to zero and then the Shortfall will start to accumulate in the Cash Account.
(*) Snap will withdraw approximately up to the personal amount, provincial or federal, whichever is least.

NOTES: If there are multiple registered accounts of the same type, Snap will withdraw from them based on a percentage of the size of the account.   For non-registered assets and TFSAs, the accounts will be withdrawn from in the order that they are displayed under the Capital Assets table.  (You will see the withdrawals occur from left to right on the Planning page.)


The default logic that Snap follows is based on reducing the client's taxes in each given year. This optimization works well for many cases, however, you can additionally modify the default algorithm and achieve an even more desirable order depending on what you wish to optimize for, given the client goals, needs, and priorities. 

You can override the default contribution and withdrawal mechanism in three ways:

  1. Disable automatic cash flow management (CFM) to turn off all automatic contributions and withdrawals. 
  2. Change the underlying logic used for the order of contributions and withdrawals using Advanced Settings and the CFM order column.
  3. Enter manual overrides to edit the contribution/withdrawal amounts under the Contribution column for each asset. 

Still need help? Contact Us Contact Us