P3 review: asset bases and the tax-basis K-1

Schema 13 is as shipped and the asset columns are schema 14 (shipped
migrations pinned by hash); the tax-basis K-1 leaves net income open (only
the return has it) and takes a contributed prepaid plan at its book amount
as its section 723 basis; a disposal of contributed property names its
704(c) gain or loss; aliases compare by meaning; fixture amounts made up.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T3gXMVt7XJPi6ens1or9Dj
This commit is contained in:
swaitsandClaude Opus 5.5 committed 2026-10-21 17:43:44 -06:00
1 parent 2ae93fb2d6
commit 6288ead747
24 files changed
+860 -127

No files matched your search

+4 -1
View File
@@ -65,7 +65,10 @@ fn attachment_name(b: &Books, id: u64) -> String {
/// depreciable basis $1,440.00, built-in loss $248.40". The figures are
/// ledger-core's (`Asset::basis_figures`) for the event's facts on the
/// asset; a pre-P3 `asset.tax_basis_set` (`legacy`: its rule by its old
/// name, no value) reads the value as the book cost, as it was recorded.
/// name, no value) reads the value as the asset's book cost today, which
/// is the cost it was recorded against unless the cost was corrected since
/// (a correction moves a pre-P3 record's built-in gain, and the line shows
/// today's figure).
fn tax_basis_text(b: &Books, asset_id: Option<u64>, p: &Value, legacy: bool) -> String {
let asset = asset_id.and_then(|id| b.ledger.get_asset(id));
let name = match (asset, asset_id) {