Skip to content

v0.3.0 — Tax forms, NFT lots, broader ingestion

Choose a tag to compare

@gfargo gfargo released this 23 May 19:13
6b11497

daybook v0.3.0

Tax form generation, NFT cost-basis tracking, and broader ingestion coverage.

New features

IRS tax forms and TXF export

  • Form 8949 PDF generation with continuation sheets.
  • Schedule D PDF generation from the same computed tax result.
  • TXF v042 export for TurboTax import workflows.
  • daybook export supports --format csv|8949|schedule-d|txf.
  • Form 8949 checkbox selection is available with --8949-checkbox A|B|C.

NFT cost-basis tracking

  • ERC-721 and ERC-1155 acquisitions and disposals are classified separately from fungible assets.
  • NFT lots are tracked individually by contract address and token ID.
  • NFT cost basis can be derived from counterpart ETH/ERC-20 legs in the same transaction.
  • Manual NFT price overrides use the <contractAddress>:<tokenId> override key format.
  • daybook events list --type nft_acquisition and --type nft_disposal filter NFT ledger entries.

Coinbase API sync

  • daybook sync --source coinbase (no --file) pulls directly from Coinbase using CDP keys (ECDSA / ES256).
  • Accounts and transactions fetched via the Coinbase App Track APIs, then enriched with Advanced Trade fills.
  • Per-account sync watermark is stored after a successful run; subsequent syncs are incremental.
  • CSV import via --source coinbase --file <path> continues to work as a fallback.

New CSV adapters

  • Binance and Binance.USdaybook sync --source binance --file <path> / --source binance-us --file <path>. Recognizes the unified ledger export (UserID, UTC_Time, Account, Operation, Coin, Change) and the Binance.US tax-report format.
  • Crypto.com — App, Exchange, and DeFi wallet exports auto-detected from header signature.
  • Gemini — transaction-history exports, including both the wide column shape (BTC Amount BTC, Fee BTC BTC, etc.) and the standard narrow shape.
  • Robinhood — crypto transaction history with asset-name-to-symbol resolution (BitcoinBTC, EthereumETH, etc.).

Generic CSV importer

  • --source csv --file <path> accepts an exchange-neutral ledger format for anything not natively supported.
  • Expected columns: Date, Sent Amount, Sent Currency, Received Amount, Received Currency, Fee Amount, Fee Currency, Label, Description, TxHash.
  • Tolerant column aliases (Type/Label, Sent Quantity/Sent Amount, etc.).

Additional EVM chains

  • --source now accepts arbitrum, base, optimism, and bnb in addition to eth and polygon.
  • All use the existing Alchemy provider interface — no new auth required.
  • Etherscan remains the fallback for failed-gas detail when --include-failed-gas is set.

Packaging

  • The npm package is scoped as @gfargo/daybook to avoid the unrelated existing daybook package on npm.
  • The installed binary remains daybook.
npm install -g @gfargo/daybook

Test suite

517 tests across 36 test files.

What's not in this release

  • 1099-DA reconciliation (lands in v0.4.0)
  • OKX, Bybit, MEXC, Gate.io, Bitget CSV adapters (land in v0.4.0)
  • DeFi position classification (LP, lending, staking)
  • Solana, Bitcoin, and other non-EVM chains

License

MIT


Full Changelog: v0.2.0...v0.3.0