-
-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Consolidated report sheet specifically structured for Form 8949 (what we've got to file with taxes that 1099B should feed into) #1
Comments
Using costbasis.com as a sanity check gives matching values to my sheet where I have a corresponding column. However the site is not friendly to lots that have fractional amounts (all of mine) where the fraction is preserved. eTrade (by inference) determined the fraction on my entire holding, and sold that fraction from a single lot (oldest RSU), resulting in my total holding being a whole number of shares, but any given lot not being a whole number. While costbasis.com agrees 100% with the basis calc for the new basis of AVGO I derived from f8937, it hasn't clarified for me conceptually what basis should be used when reporting gain from a lot to the IRS. The report it generates notes a cost basis to be reported on Form 8949, unfortunately there's no explanation or references. (note: costbasis.com uses the manual total value but calculated cash value when reporting the cash portion as gain, which can cause some minor deltas if conversion ratios entered into the form aren't identical to those from the sheet).
Snippets from Form 8949: How To Complete Form 8949, Columns (f) and (g) - this is a giant if/else statement in the form of a table.
...but can still have multiple entries of that Box type on the same form.
Tasks (promoted to main comment for github UI reasons)
Column descriptions start here
|
Should the ordinary income basis adjustment for ESPP be applied to the basis reported in f8949 for converted lots that haven't been sold? We know what the concrete amount is for qualified, and the two possible amounts for disqualified, so the question is does this adjustment apply to those lots all the time, or only at point of time of sale where the income is recognised?
I'm going to work on the understanding that the basis adjustment does not apply until the income is recognised. Reasoning here is that we're not yet liable for the tax so not yet liable for adjustment (basic symmetry). |
I've derived the following from first principles with the following axioms:
The only flexible value we have to reconcile the above is the reported f8949 basis: # known without calculation
f8949_proceeds = cash_received + avgo_fmv
# the alternate gain calculation from f8937
# translating it, this is also the real economic value received: total consideration - true basis
alternate_gain_calc = cash_received + avgo_fmv - vmw_basis
# the approximate threshold for per-share vmw basis (adjusted for dividends) where we switch clauses is
# 0.2520 * 0.521 * 979.50 = 128.601
if cash_received < alternate_gain_calc {
# composite vmw basis was lower than avgo fmv, ie. we've got a capital gain (avgo_fmv-vmw_basis) from the share consideration that is deferred.
# gain mandated by f8937 does not include deferred gain.
f8937_gain = cash_received
# the deferred gain from vmw->avgo conversion must still be realized in the future. Adjustment
# to avgo_basis is the way this is accomplished. This is rolled into the mandated f8937 basis adjustment.
# we need the 2023 f8949 to reconcile correctly in the future against the deferred gain resulting from the inflexible
# avgo_basis. future avgo_basis is dictated as vmw_basis - cash_received + f8937_gain which simplifies to vmw_basis
# for this case.
#
# we're deferring avgo_fmv - vmw_basis gain to the future, and we must realize the cash_received as gain now.
# we've got a mandated basis of vmw_basis for future sales, so our current basis is avgo_fmv to achieve the necessary delta.
f8949_basis = avgo_fmv
} else {
# composite vmw basis was higher than avgo fmv - no deferral
# gain mandated by f8937
f8937_gain = alternate_gain_calc
# that's our true gain, so we should be ok with an avgo_basis of avgo_fmv... but f8937 says the adjust avgo basis must be:
# avgo_basis = vmw_basis - cash_received + f8937_gain
#
# This is still okay, as that simplifies
# avgo_basis = vmw_basis - cash_received + cash_received + avgo_fmv - vmw_basis
# avgo_basis = avgo_fmv
f8949_basis = vmw_basis
}
# adjusted avgo basis for future sale - this is mandated by f8937
avgo_basis = vmw_basis - cash_received + f8937_gain So, I'm settled on the approach for I've not yet looked deeply into the if/else statement in the f8949 separate instructions for what codes to use. |
|
From cash2boot tool notes:
|
Using another site that's got a clearer explanation: Gain or loss?
If we look to see if it's possible to realize a loss, let's start with the highest basis possible.
So VMW never reached a basis high enough for us to incur an actual loss when using pro-rata. |
I reworked the basis logic in #1 That logic is embedded into the README for reference. This updates that reflection.
Outstanding:
|
Add a report that provides the specific details needed for entry into f8949 per lot.
At a minimum provide:
Depends on #38
The text was updated successfully, but these errors were encountered: