Scenario Overview

The Supplemental Nutrition Assistance Program (a.k.a. the Food Stamp Program) helps low-income families supplement their food needs by providing limited funds in order to buy foods necessary for staying healthy.

This example shows how to set up a Decision Table to evaluate if a person is entitled to Food Assistance under the requirements laid down by the US State of Idaho.

Requirements shown below.


Rule 1: 

You must be a Citizen of, or legal immigrant to, the USA.
Rule 2:

You must be a resident of the State of Idaho
Rule 3:

With some exceptions, you must work or participate in an employment or training 
Rule 4:

Your household income must be less than the program income limits for your household size.



In this example the Account entity has been renamed to Household  and modified accordingly.
Contacts have been renamed as Household Residents that live in the that Household


Household Resident

North52 Decision Suite Solution

The North52 Decision Suite solution works like this:

  • A formula of type 'Save - Perform Action' is created on the Household Resident entity
  • The Source Properties are set to 'Employment Status', 'Current Savings' and 'Monthly Income'
  • The Event is set to 'Create & Update'
  • Exit this Decision Table on First Match is turned On 

Decision Table

The Household Income requirement states that for every resident after 8 we should add $451 to the max income allowed for 8 residents.

Therefore we use the following 4430 + (451 * ({Household Residents} - 8)).
For 10 residents it would evaluate to 4430 + (451*(10-8)) = $5532 dollars.

Calculations Table

The Calculations Table has 3 calculations to execute as part of this Decision Table

  • Resident in Idaho - Checks if the State / Provence field of the Household the Household Resident is living in is set to Idaho
  • Household Income -  Sums up the income and savings of all Household Residents living in the Household
  • Household Residents -  Counts how many Household Residents live in the Household.  


Resident in Idaho

In(Upper(FindValue('account','accountid',[contact.new_primaryresidence], 'address1_stateorprovince')),
          'ID', 'IDAHO')

Household Income

         FindSum('contact', 'new_primaryresidence',
                [contact.new_primaryresidence], 'new_monthlyincome', 0)),
         GetVar('HouseholdIncome') + FindSum('contact',
                                             'new_currentsavings', 0))

Household Residents 

FindCount('contact', 'new_primaryresidence', [contact.new_primaryresidence], 'contactid')


This example uses publicly available information on the owners website and has not been endorsed by the owner of the information.

Did you know?

You can easily build Fast and Accurate automated Tests with TestShield

No scripting or development is required. Our point and click editor enables non-coders to build automated tests for Dynamics 365 much faster and easier than traditional automated testing systems. 

Test Data and rules are stored in easy to maintain Excel-like sheets making it fast and easy to learn how to use TestShield.

Learn more about TestShield