Deprecated: Return type of WP_Theme::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-theme.php on line 554

Deprecated: Return type of WP_Theme::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-theme.php on line 595

Deprecated: Return type of WP_Theme::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-theme.php on line 535

Deprecated: Return type of WP_Theme::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-theme.php on line 544

Deprecated: Return type of WP_REST_Request::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/rest-api/class-wp-rest-request.php on line 960

Deprecated: Return type of WP_REST_Request::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/rest-api/class-wp-rest-request.php on line 980

Deprecated: Return type of WP_REST_Request::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/rest-api/class-wp-rest-request.php on line 992

Deprecated: Return type of WP_REST_Request::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/rest-api/class-wp-rest-request.php on line 1003

Deprecated: Return type of WP_Block_List::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 151

Deprecated: Return type of WP_Block_List::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 175

Deprecated: Return type of WP_Block_List::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 164

Deprecated: Return type of WP_Block_List::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 186

Deprecated: Return type of WP_Block_List::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 138

Deprecated: Return type of WP_Block_List::offsetExists($index) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 75

Deprecated: Return type of WP_Block_List::offsetGet($index) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 89

Deprecated: Return type of WP_Block_List::offsetSet($index, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 110

Deprecated: Return type of WP_Block_List::offsetUnset($index) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 127

Deprecated: Return type of WP_Block_List::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp-block-list.php on line 199

Deprecated: Return type of Pimple\Container::offsetExists($id) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/vendor-prod/pimple/pimple/src/Pimple/Container.php on line 133

Deprecated: Return type of Pimple\Container::offsetGet($id) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/vendor-prod/pimple/pimple/src/Pimple/Container.php on line 98

Deprecated: Return type of Pimple\Container::offsetSet($id, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/vendor-prod/pimple/pimple/src/Pimple/Container.php on line 79

Deprecated: Return type of Pimple\Container::offsetUnset($id) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/vendor-prod/pimple/pimple/src/Pimple/Container.php on line 143

Deprecated: Return type of iThemesSecurity\Lib\Lockout\Execute_Lock\Context::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/lockout/execute-lock/abstract-context.php on line 60

Deprecated: Return type of iThemesSecurity\Lib\Lockout\Execute_Lock\Context::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/lockout/execute-lock/abstract-context.php on line 66

Deprecated: Return type of iThemesSecurity\Lib\Lockout\Execute_Lock\Context::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/lockout/execute-lock/abstract-context.php on line 72

Deprecated: Return type of iThemesSecurity\Lib\Lockout\Execute_Lock\Context::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/lockout/execute-lock/abstract-context.php on line 76

Deprecated: Return type of iThemesSecurity\Lib\Lockout\Execute_Lock\Context::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/lockout/execute-lock/abstract-context.php on line 56

Deprecated: Return type of ITSEC_Lib_Distributed_Storage_Cursor::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/class-itsec-lib-distributed-storage.php on line 578

Deprecated: Return type of ITSEC_Lib_Distributed_Storage_Cursor::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/class-itsec-lib-distributed-storage.php on line 585

Deprecated: Return type of ITSEC_Lib_Distributed_Storage_Cursor::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/class-itsec-lib-distributed-storage.php on line 606

Deprecated: Return type of ITSEC_Lib_Distributed_Storage_Cursor::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/class-itsec-lib-distributed-storage.php on line 613

Deprecated: Return type of ITSEC_Lib_Distributed_Storage_Cursor::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/lib/class-itsec-lib-distributed-storage.php on line 620

Deprecated: Return type of WPCF7_FormTag::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/form-tag.php on line 395

Deprecated: Return type of WPCF7_FormTag::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/form-tag.php on line 387

Deprecated: Return type of WPCF7_FormTag::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/form-tag.php on line 381

Deprecated: Return type of WPCF7_FormTag::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/form-tag.php on line 399

Deprecated: Return type of WPCF7_Validation::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/validation.php on line 78

Deprecated: Return type of WPCF7_Validation::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/validation.php on line 72

Deprecated: Return type of WPCF7_Validation::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/validation.php on line 59

Deprecated: Return type of WPCF7_Validation::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/contact-form-7/includes/validation.php on line 82

Deprecated: Automatic conversion of false to array is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/better-wp-security/core/modules.php on line 137

Deprecated: DateTime::__construct(): Passing null to parameter #1 ($datetime) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/script-loader.php on line 348

Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/conditionals/third-party/elementor-edit-conditional.php on line 22

Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/conditionals/third-party/elementor-edit-conditional.php on line 28

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/class-wp.php on line 173
My $572,570 Standard Deduction Portfolio - FI/RE - Max Out of Pocket
Deprecated: parse_str(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/formatting.php on line 4975

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: strtolower(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/wordpress-seo/src/generators/schema-generator.php on line 176

Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/wp-db.php on line 3030

My $572,570 Standard Deduction Portfolio – FI/RE


Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/wp-db.php on line 3030

Deprecated: parse_str(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/jetpack/class.jetpack.php on line 4222

Since Max has an affinity for FI/RE (Financial Independence / Retire Early) concepts, every once in a while we are going to get a post dedicated to the subject. In this case, we are going to broach the standard deduction bucket and do a little reverse engineering into the 4% rule. It isn’t completely off-topic, though. Becoming financially independent is a great way to protect ourselves from the current state of the healthcare system in the United States. It also creates a nice buffer should we have an unexpected medical issue and sets us up nicely in our personal finance world.

Well, the IRS released the standard deduction amount for 2020 a few weeks back. I wasn’t quite ready to talk about this on the blog yet, but they forced my hand. The IRS can do that. But, I suppose now is as good a time as any to work this number into our financial independence strategy.

What Is A Deduction?

Since things like income tax deductions impact how much money is left in my pocket after taxes, I think it is worth a few minutes of my time to make sure I understand them.

Here at Max Out of Pocket, I usually try to stay away from anything “standard”. Standard usually means we are just being like everyone else. With that comes the potential to miss out on some optimization. But when I look at the standard income tax deduction, there is a lot I like about it.

We already learned that taxable income is different than gross income when we were busting tax brackets. But how do we figure out what our taxable income is? Well, we need to start with backing out our income deductions. An income deduction is like a big minus sign after our gross income. So it reduces our gross income before the federal income tax is assessed. Some people itemize their deductions, but these days most people will just take the standard deduction.

Gross Income – Deductions = Taxable Income   

In other words, deductions are sheltered from federal income taxes.

A lot of these deductions have absolutely no impact on Medicare FICA or Social Security FICA. We still have to pay those taxes. The exception to that is any deductions we take through our cafeteria plan, such as premiums for health insurance.   

Okay, What Is The Standard Deduction?

The standard deduction is the minimum deduction everyone gets to subtract from their income. Over 90% of households opt for this deduction.

The standard deduction in 2020 is $12,400 for single people. We double that for married people to $24,800. As you know Max OOP likes buckets, so we will capitalize it and call this the Standard Deduction Bucket. The Standard Deduction Bucket is adjusted for inflation annually. 

Directly from the source.

Money in our Standard Deduction Bucket should not be overlooked. Since money in this bucket is not taxed for federal income tax purposes, it makes it a very good bucket to fill up. This is even the case in an early retirement or financially independent scenario.  

The standard deduction is deducted from our gross income. Whatever is left is considered taxable income. In other words, before I start filling up my Uncle Sam’s tax buckets, we get a bucket we are allowed to fill up for free without having any federal income tax assessed. So if Mrs. Max OOP and I were to earn $100,000 in gross income per year as a family, we would back out our standard deduction to get our taxable income. 

$100,000 (Gross Income) – $24,800 (Standard Deduction) = $75,200 (Taxable Income)

As I mentioned, this ignores other things that are backed out like medical and dental insurance.

What About Social Security And Medicare Taxes?

The Standard Deduction bucket is pretty great, but it isn’t ironclad. As I mentioned, it does not protect us from Medicare FICA taxes or Social Security FICA taxes. So in 2020, after paying our 1.45% to the Medicare program and 6.2% into Social Security, we will only be left with $22,903 in our pocket.   

$24,800 – $1,538 (Social Security) – $360 (Medicare) – $0 (Federal Income Taxes) = $22,903

The 4% Rule

I haven’t done the obligatory post on the 4% rule-of-thumb since it has been analyzed to death. I am sure I will eventually get to it.

Basically, researchers associated with the Trinity Study recommended a safe withdrawal of 4% per year (inflation-adjusted) from our portfolio for a 30-year standard retirement period. This would all but guarantee the portfolio would not run out of money before retirement was over.

The FI/RE community took this rule farther and applied the concept to a much longer time horizon. I have seen conservative early retirees use a 3.5% withdrawal rate to help manage risk on a longer time horizon. Most think 4% would suffice, but I also like to use 3.5% because I like odd numbers. 

For this exercise, though, I will stick with 4% for simplicity. So if we can live off $40,000 per year, we need a million-dollar portfolio to meet our cost of living needs in perpetuity.

1,000,000 Portfolio X 4% = $40,000

Everyone’s mark is a bit different. The Max Out of Pocket crew spends a little more than $40,000 per year since we enjoy things like travel, beer, and the occasional trip out to eat.

Standard Deduction and FI

Our investment portfolio contains a broad number of asset classes including the total stock market index, bonds, and medical office buildings. But I consider our own ability to generate income part of that portfolio as well. We invested both time and money for me to get good at counting healthcare beans and for Mrs. Max OOP to become an excellent teacher. That income-generating power is an asset class of its own and holds it’s own equity. We also have physical abilities that can provide manual labor that could pretty easily generate $24,800 in income part-time.

I am pretty hopeful Mrs. Max OOP and I will be able to generate enough value to society after we hit FI to earn $24,800 in income each year. We should be able to easily accomplish this working very part-time or even starting our own company doing things we like. What’s nice, if we keep our income down to only $24,800, is we don’t have to pay any federal income taxes. 

$24,800 (Gross Income) – $24,800 (Standard Deduction) = $0.00 (Taxable Income)

As I mentioned above, after we pay Medicare and Social Security taxes on this $24,800, we will be left with about $22,903. But we wouldn’t have to pay a penny in regular federal income taxes.

This $22,903 is equivalent to about a $572,570 investment portfolio if you reverse engineer and apply the 4% rule to it.  

$22,903 / 4% = $572,570

So, if we earn just enough each year to meet the standard deduction, we can conservatively reduce our FI number by $572,570. In other words, we would have a high level of FU money once we cross the $427,430 mark in investments.  

$1,000,000 – $572,570 = $427,430 (FU Money)

But You Would Still Be Working?

Agreed. But not much and likely doing something more entertaining than working on a cubical farm. Mrs. Max OOP already makes more than the Standard Deduction Bucket working as a part-time teacher. In her mid 30’s, she is home every day by noon. She also gets the following time off:

  • All summer
  • 1 week for Thanksgiving
  • 2 weeks for Christmas
  • 1 week in February
  • 1 week in April

This also happens to be the work she enjoys when working on a part-time basis. She can say no to things like coaching, after school activities, or even full-time work. And it didn’t take her long to fill her afternoons up with other fun stuff.   

Final Thoughts

No, Max won’t be hanging it up at work just yet. But it is nice to know I could retire out of my job counting healthcare beans if I wanted to without any material dip in my standard of living. As a married couple, we already had some serious FU money when we crossed the $427,430 mark. Enough to stop working for the man. 

Maybe I could spend my time out of the cubical farm and pouring drinks at a bar part-time while talking to interesting people. Or, use my time working part-time at a ski lodge in the winter and spend my off-hours as a ski bum. I would probably even get free lift tickets. 

I could spend my days with these views.

There are also some healthcare subsidies we qualify for by deflating our income. I personally think some of them cross the line into “gray” territory, but that isn’t for this blog to decide. For example, a family of four with several million in assets that keeps their income at $24,800 might qualify for Medicaid or Affordable Care Act subsidies. On paper, they look like they are living in poverty. Questionable? Maybe, maybe not. That family likely paid into the system to accumulate those assets. We will cover this another day.    

Until then, I will keep growing my medical office building portfolio. Maybe someday I will be able to dump all my dividends into the Standard Deduction Bucket and get that income tax-free. 

Do you factor the Standard Deduction into your FIRE plans?

Share

Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/wp-db.php on line 3030

Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/wp-db.php on line 3030

Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/wp-db.php on line 3030

3 Responses

  1. I don’t have FIRE plans, so no need for me to worry about the standard deduction. And while I don’t love paying taxes, I do like paved roads and funded schools (inasmuch as those are things anymore) so I just suck it up and pay what I owe. And hey, if I pay a bunch in taxes then it means I’m doing pretty well financially. So it’s a tradeoff.

  2. I love this kind of math – running scenarios on different ways to max out tax-free earnings is a fun game 🙂

    According to my husband, weekday skiing is pretty great. He’s been able to go for the past few years during the week and then catch up on freelance engineering work later. Flexibility is nice!

    • Max OOP says:

      Thanks for stopping by Kim. I recently read your ideas on the H.S.A.over at GCC. I enjoyed that thought process/math as well. : )

      My wife and I are doing a 10-week race series this winter. My employer covered the cost of it ($125) and comes with free lift tickets every Wednesday. I usually go in a bit early and leave the office early in the afternoon to take advantage of free “weekday skiing”. Not exactly early retirement, but it will do for now!

      Max


Deprecated: parse_str(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-content/plugins/jetpack/class.jetpack.php on line 4222

Leave a Reply

Your email address will not be published. Required fields are marked *


Deprecated: rtrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/wilbul4/maxoutofpocket.com/wp-includes/formatting.php on line 2747
%d bloggers like this: