← Back to Documentation

Verification Suite

Run verification scenarios and parity checks to confirm the engine produces expected results for your inputs.

288 scenarios

Mar 2 is the first long-term day after a leap-day acquisition

A lot acquired on Feb 29 does not become long-term until Mar 2 of the following year.

Sale is classified as long-term

One sale can span multiple tax lots

A sale larger than the first lot should fully consume that lot and partially consume the next lot in deterministic order.

First lot is fully consumed for 5 shares
Second lot is partially consumed for 3 shares

Optimized sells LT gains before ST gains

When you're in the gains zone, optimized lot selection sells long-term gains first because LT rates beat ST rates.

First lot sold is long-term
First lot gain = $550

Feb 29 acquisition stays short-term through Mar 1

A lot acquired on Feb 29, 2024 is still short-term on both Feb 28 and Mar 1, 2025. Mar 2 is the first long-term day.

Still short-term on Mar 1, 2025

All four lot-selection buckets in correct order

Optimized lot selection should consume short-term losses first, then long-term losses, then long-term gains, and finally short-term gains.

First lot is a short-term loss
Last lot is a short-term gain

Biggest loss goes first within a bucket

Within the same tax bucket, optimized lot selection should choose the lot with the greatest tax benefit first.

The larger loss is sold first

FIFO preserves insertion order for same-day lots

When two lots share the same acquisition date, FIFO should sell the lot that was inserted first. This keeps same-day ordering deterministic instead of arbitrary.

FIFO uses the first inserted lot

LIFO reverses insertion order for same-day lots

When two lots share the same acquisition date, LIFO should sell the most recently inserted lot first. This preserves deterministic tie-breaking for same-day positions.

LIFO uses the last inserted lot

Stock splits preserve total basis

A same-security stock split should not create a taxable event. It increases share count and lowers per-share basis while preserving each lot's total basis.

Share count doubles
Total basis is unchanged
Per-share basis is adjusted

Spin-offs allocate basis by relative value

A nontaxable stock spin-off should allocate each parent lot's basis between parent and child shares using their relative fair-market values on the distribution date.

Parent keeps 75% of original basis
Child receives 25% of original basis
Child shares are created from the distribution ratio
Child per-share basis follows allocated basis

Stock-for-stock merger preserves basis

A qualifying stock-for-stock merger with no cash boot should not recognize gain or loss. The successor stock keeps the source lot's aggregate basis and holding period.

All source shares are exchanged
No cash boot is received
No gain is recognized
Successor shares follow the exchange ratio
Successor basis carries over
Successor per-share basis reflects carryover basis

Stock merger cash boot recognizes gain and adjusts successor basis

In an otherwise nontaxable stock-for-stock merger, cash boot can trigger recognized gain up to the cash received. The successor stock keeps carryover basis adjusted for recognized gain and cash received.

All source shares are exchanged
Cash boot equals source shares times boot per share
Recognized gain is limited to cash boot
Successor shares follow the exchange ratio
Successor basis is carryover basis plus recognized gain less cash received
Successor per-share basis reflects adjusted aggregate basis

Holder call exercise adds premium to stock basis

When a purchased call is exercised, the premium paid is added to the strike price and becomes part of the acquired stock basis.

Exercise creates the acquired shares
Stock basis includes strike plus call premium
No gain is realized on call exercise

Holder call exercise starts stock holding period at exercise

Publication 550 says property acquired by exercising an option starts its holding period after exercise. A long-held call should not carry its option-open date into the acquired stock lot.

The acquired stock lot uses the exercise date
No option holding period is tacked onto the stock
Stock basis still includes strike plus call premium
No gain is realized on call exercise

Writer put assignment reduces acquired stock basis

When a written put is assigned, the premium received reduces the basis of the stock acquired through assignment.

Assignment creates the acquired shares
Stock basis is reduced by the put premium
No gain is realized on put assignment

Writer put assignment starts stock holding period at assignment

Publication 550 says a writer whose put is exercised starts the acquired stock holding period on the date the stock is bought, not the date the put was written.

The assigned stock lot uses the assignment date
No written-put period is tacked onto the stock
Stock basis is still reduced by the put premium
No gain is realized on put assignment

Covered call assignment adds premium to proceeds

When a written call is assigned, the option premium is added to the stock-sale amount realized for gain or loss.

Sale proceeds include the call premium
Original stock basis is preserved against the sale
Gain reflects premium-adjusted proceeds
Assigned covered shares are gone

Holder put exercise reduces sale proceeds

When a purchased put is exercised, the premium paid reduces the amount realized on the sale of the underlying shares.

Put exercise proceeds are reduced by the premium
Original stock basis is preserved against the sale
Loss reflects premium-adjusted proceeds
Exercised put sells the underlying shares

Put exercise gain can be short-term under the short-sale rule

Publication 550 generally treats buying a put as a short sale. If the underlying stock was still short-term when the put was bought, gain on exercising the put should be short-term even when the stock sale occurs more than one year after the stock was acquired.

Put exercise proceeds are reduced by the premium
The stock was held for more than one year by exercise
Gain is still short-term under the put short-sale rule
Gain reflects premium-adjusted proceeds

Put short-sale rule applies when stock is bought after the put

Publication 550 applies the same short-sale character rule when the taxpayer buys the underlying stock after buying the put but before exercise. Positive gain on exercising that put should be short-term even when the later stock sale is more than one year after the stock was acquired.

Put exercise proceeds are reduced by the premium
The stock was held for more than one year by exercise
Gain is short-term when the stock is bought after the put
Gain reflects premium-adjusted proceeds

Purchased option expiration recognizes a capital loss

When a purchased listed option expires worthless, the premium paid becomes a capital loss and the term follows the option holding period.

Worthless expiration has zero proceeds
Premium paid becomes cost basis
Loss equals the expired premium
Long-held option loss is long-term

Written option expiration recognizes short-term gain

When a non-dealer written listed option expires unexercised, the deferred premium is recognized as short-term capital gain.

Expired written-option proceeds equal premium received
Expired written option has no closing cost basis
Expired written-option gain is short-term
Writer expiration gain is short-term

Option closing transaction recognizes premium spread

A purchased option sold in a closing transaction recognizes gain equal to closing premium received minus the premium paid.

Closing sale proceeds equal closing premium
Opening premium is the option basis
Gain equals the premium spread
Long-held option closing gain is long-term

Written option closing purchase recognizes short-term loss

A non-dealer writer who closes a listed option by buying it back recognizes short-term capital gain or loss equal to the premium received minus the closing premium paid.

Opening premium is treated as proceeds
Closing purchase is treated as cost basis
Loss equals opening premium less closing purchase
Writer closing result is short-term

HIFO is blind to tax character

HIFO picks the highest cost basis lot regardless of whether it's LT or ST. This can be suboptimal compared to the optimized method.

Picks highest cost basis ($99.95)

FIFO and LIFO produce different gains

FIFO sells the oldest lot first (LT gain), LIFO sells the newest first (ST gain). Same lots, different tax outcomes.

FIFO: first lot is long-term