Overview
On this sheet, you enter in your income information and it calculates a few things like average gross and net pay, as well as sets some things in the hidden section to be used by other sheets that I develop that use this as a base sheet.
Goal of This Workflow
The goal of this workflow is to keep track of primary income settings over time, and provide a few insights to the currently active income row that can be used by developers to build dashboards/reports.
What This Workflow Does
The sheet supports only one current active row at a time, so this can only track a single income for a given date range. The active row will be the one with the latest ā1st Pay Dateā column that is not a future date.
Select your workflow-specific categories at the top, then enter values in the green fields. The grey fields are calculated based on those values. Most of the green fields are self-explanatory, and there are plenty of informative notes in the sheet. I go into detail on the grey fields and the hidden section in the Usage section below.
The sheet works with Weekly, Bi-weekly, Semi-Monthly, and Monthly pay frequencies for both hourly and salaried rates. The 1st Check Date is important, as it sets the cadence for when a check is expected, depending on the current frequency selected. If a paycheck posts to your transactions page on a day that wasnāt your actual pay date, there is logic to correct it to the date you should have been paid (āAdjusted Pay Dateā in the hidden section). The logic for each frequency is special, but basically:
- Weekly & Bi-weekly will adjust the posted date to the closest date where the difference of that date and the current ā1st check dateā is evenly divisible by 7 (weekly) or 14 (bi-weekly).
- Monthly will generate three pay dates closest to the beginning of the current month, based on the day of the month set in the current active ā1st check dateā column, then choose the date closest to the date that the most recent paycheck posted.
- Semi-Monthly needs an entry in the Notes column to work. Enter both days of the month you get paid, separated by a pipe character (e.g. - 15|30). The logic will generate dates for these days just like the Monthly flow, then choose the date closest to the date the paycheck posted.
Once data is entered, a generic average Gross/Net pay will be generated. The gross value is calculated by the pay rate (and average hours worked if hourly). The Net pay is 73% of the gross pay. Once you start categorizing paychecks under the respective category chosen at the top, the averages will change to use an average of the actual amounts received (going back 60 days).
Origins of This Workflow
I built my own finance tracker in Google Sheets back in 2019, before I knew of Tiller. This sheet was a part of that workflow, albeit in a more primitive state. When I joined Tiller, there were a few solutions that I built for myself that I could not live without. Those solutions used this sheet, so I ported it over and enhanced it so I could rebuild those solutions in Tiller.
Dependencies
The below required dependencies must be present. If they are not present, they should be installed and set up in the order that they appear in this document. If you already have one of my required community solutions, check to make sure that your version meets the minimum version requirements listed. If it does not, look for the instructions in that sheetās documentation to upgrade the sheet before proceeding.
Required
Tiller Core Sheets
The following Tiller core sheets are required:
Categories
- Used to pull back all Income and Transfer categories into separate lists. These lists are then used as the data validation for the drop-downs in the category settings section at the top.Transactions
- Used to gather information, such as average amounts and last transaction date, on transactions that are categorized under the income categories selected at the top.
Tiller Community Solutions
There are no required Tiller Community Solutions
Solutions that have a dependency on this solution
If this sheet needs replaced as a part of a major upgrade, and you use one of my solutions listed below, there will be instructions in the Version Changes section of the linked documentation to fix the reference issues that would arise for that particular solution.
-
Make the Savings & Debt sheet more granular - Changes two formulas in
Savings & Debt
to modify the Reqād Budget formula to fully fund savings goals by the Deadline date (rather than the end of the Deadline month) -
Upcoming Expenses/Account Health Dashboard - easily see what all expected recurring expenses will need to be paid before you are paid again, when they are due, how much money you have to pay for them, and how much you will have left after paying them.
Installation
To Install
- Open the attached workflow
- Add the
Income Settings
sheet
a. Right click on theIncome Settings
sheet and copy to your Tiller workbook
b. Go to your workbook and rename the sheet fromCopy of Income Settings
toIncome Settings
- Setup using the information below
To Uninstall
- Right-click and delete the
Income Settings
sheet- Make sure this sheet is not used in a solution of mine that you want to keep before deleting
Setup
- Fill in the category settings section with your personal categories
- Gross pay is optional. This was added because I use the Paycheck Deduction Transaction Generator by @jpfieber to split my paycheck into its individual parts. If you donāt track gross pay, you can select N/A from the list.
- Net pay is required. This should be the category that you select when categorizing the positive paycheck transactions that hit your bank.
- Transfer In is optional. When you transfer a balance between accounts (pay a credit card bill, transfer money from checking to savings, etcā¦) what category do you place the paid transaction under?
e.g: +$300 to Chase Freedom from Primary Checking
- Transfer Out is optional. When you transfer a balance between accounts (pay a credit card bill, transfer money from checking to savings, etcā¦) what category do you place the paying transaction under?
e.g: -$300 from Primary Checking to Chase Freedom
- Enter Income Settings
- If Semi-monthly is selected as the pay frequency, there must be a note in the corresponding Notes column that is formatted: {Day 1}|{Day 2}
Example:
14|28
- If you want to enter a note after this, append a colon ( : ) to the end, and type your note.
Example:
14|28: Whatever I want to add as a note goes after the colon.
- If Semi-monthly is selected as the pay frequency, there must be a note in the corresponding Notes column that is formatted: {Day 1}|{Day 2}
ā I believe I have it working to where income periods donāt have to be in order, but I havenāt tested that yet.
Usage
For End Users
This sheet only needs to be updated when something changes with your current pay (new job, pay raise, etcā¦). If you want historical records, you should enter a new row each time anything changes. Reusing the rows (overwriting values) will not affect anything, but you lose out on that historical data.
ā I enter a new row whenever I change jobs, receive a raise, change my 401(k) contribution, etc⦠This way, I can build reports that can look at a snippet in time and grab income values as they were during that timeframe.
For Developers
This sheet can be used as a base sheet for custom solutions. Iām using it for three of my own custom solutions so far. The metrics that I calculate for use are:
- Average Gross and Average Net Pay for all rows
ā This will be the average between the start/end dates for old rows, and the most recent 60 days for the current row. If an old row does not have an end date, it will be the next check date minus 1. - Days Active for all rows
ā This is a count of days that each record spent in an active state.
There are more sections in the hidden area to the left that can be used for a whole litany of things pertaining to the current pay period.
These metrics include:
- Current: Avg. Gross, Avg. Net, 401(k) contribution, 401(k) match, Notes, and Frequency
- Pay Day - For weekly & bi-weekly, this will be the day of the week thatās selected for the current record (Monday, Friday, etcā¦). For monthly, this will be the day of the month of the current ā1st check dateā (15, 28, etcā¦). For semi-monthly, this will be the two days entered into the notes field (15|30, etcā¦)
- Frequency in Days - 7 for weekly, 14 for bi-weekly. Blank for semi-monthly and monthly, as these frequencies vary.
- Pay Date - This will be the posted date of the most recent paycheck under the Net Pay category in the transactions sheet.
- Adjusted Pay Date - This will use some of the other metrics calculated on this sheet (depending on the current frequency selected) to adjust the pay date to the date you should have been paid. So if your paycheck hits your account +/- a day or two, this will re-align it to what it should have been.
- Next Projected Pay Date - This calculates the next expected paycheck, based on the current pay frequency and adjusted pay date.
- Current Monthly Paycheck Metrics - This section is used to calculate how many paychecks are expected in the current month, and how many paychecks have been received in the current month. It is also used to calculate the adjusted pay date for weekly/bi-weekly frequencies.
- (Semi-)Monthly Date Range - When Monthly or Semi-monthly is selected as the current frequency, this will generate 3 paycheck dates:
ā Monthly - pay dates of last month, this month, and next month
ā Semi-Monthly - final pay date of last month and both pay dates expected this month. - Monthly/Semi-Monthly Days - Used to generate the (Semi-)Monthly Date Range above, depending on if monthly or semi-monthly is selected as the current frequency.
ā Semi-monthly - this will split the days out of the current notes section to be used in the formula
ā Monthly - this will generate the day of the month set in the current ā1st pay dateā twice
Notes
One solution I have used the Income Settings
sheet for is to Make the Savings & Debt sheet more granular. By default, the available amount of a savings goal in the Savings & Debt sheet will update with the entire monthly total you allocate to that goal at the beginning of each month. That didnāt make sense to me, as my savings goals were funded by my paychecks, which I received throughout the month. If I get 2 checks in a month, I put half of my goal back from each. If I get 3 checks, I put back a third from each, etc⦠I donāt have the full amount available until my last check of that month.
With the Income Settings
sheet, I was able to modify two formulas to update the available amount with each paycheck I receive. This way, the Savings & Debt
solution is more granular and exacting. This is just a simple example of what the sheet can be used for.
I will be creating a few more Show & Tells over the coming weeks. Some of them use this sheet, and others are used in conjunction with this sheet for other solutions.
FAQ
Please ask any questions you have below and I will reply, and update this section accordingly.
Solution Link
Version Changes
The initial release version of all sheets will be version 1.0 . When a change is made, this number will increment. If the version number jumps to the next whole number, this indicates the need to reinstall the sheet using the steps outlined below. If not, itās a relatively minor fix that can be applied by following the steps outlined in the appropriate documentation below.
To Base Sheets
There are no custom base sheets that this solution depends on.
To This Solution
If you are jumping multiple minor versions, you can either apply all of the minor fixes individually, or re-install the sheet using the instructions below.
For versions that require a re-install of the sheet:
- Rename the current
Income Settings
sheet toIncome Settings Old
- Follow the install instructions above to re-install and rename the new sheet
- Copy your expense data from the old sheet to the new sheet
You can copy/paste, but only copy/paste over green rows. The grey rows are generated. - Delete the old sheet,
Income Settings Old
- Make sure any solutions that depend on this sheet do not have
#REF
errors. If they do, there will be steps in that solutionās documentation to resolve the error.
2.0
Reworked a lot of things to streamline development for further solutions. Since there were so many little changes and moves, it is best to re-install the sheet using the instructions outlined above.