変更履歴
コアエンジンからフルスタック税務プラットフォームまで、dTaxの開発マイルストーンを追跡します。
Binance.USの変換注文に対応、リスクスキャンを修正
注文板の外で行われるBinance.USの変換・売買注文(Convertなど)を同期するようになりました。これまでは現物取引のみでした。約定済みの注文だけを保存し、処理中の注文は約定後に取り込みます。監査前リスクスキャンは、すべての処分を取得原価なしと報告しなくなり、既定の税務レポートと同じFIFO計算を使います。USD価格のない処分は別に表示され、ウォッシュセールの確認は年をまたいでも行われます。ダッシュボードの最近の取引にあった空の損益列は削除しました(損益はレポートで確認できます)。取引所の同期で失敗した期間は、数秒であきらめず、間を置いて再試行します。少額残高(ダスト)の交換記録も同期されます。
大規模アカウントでもBinance同期が完了します
取引数の多いBinanceまたはBinance.USアカウントの同期が「Unknown API error」で失敗しなくなりました。1回の同期は時間を区切って一部を読み込み、停止位置を記憶し、ページが最大10回まで自動で続行します。残りがある場合は再度同期してください。取引は分割して保存され、入出金は期間ごとに読み込まれます。読み込めなかった市場や期間は黙ってスキップされず結果に表示されるので、その分はCSVをエクスポートしてください。ゲートウェイのタイムアウト時は分かりやすいメッセージを表示します。既存の接続では初回の同期で履歴をもう一度読み込みますが、重複は作成されません。
英国の当日ルールと30日ルール、複数年にわたる取得原価の修正、ポンド建て処分明細
UK Share Pooling は、各処分にHMRCの識別順序を適用します。まず当日ルール、次に30日ルール(ベッド・アンド・ブレックファスト)、最後にセクション104プールの順で、英国の暦日で数えます。同じ日の取得は、平均原価の1件の取得として扱われます。新しい英国処分明細(Pro)は、各処分について原価を決めたルール、対応した保有分の取得日、処分件数・処分代金・控除可能原価・利益・損失の合計をポンドで一覧にします。すべての取得と処分は、それぞれの日の欧州中央銀行(ECB)ユーロ参考レートで評価されます。dTaxはキャピタルゲイン税額や年間非課税枠を計算しません。すべての取得原価方式に関する重要な修正:ある課税年度のレポートは、まず過去年度の処分を考慮するため、すでに売却済みのロットが再び対応付けられたり、処分後に取得したロットが対応付けられたりすることはなくなりました。平均原価方式(英国プール、総平均、PMPA、カナダACB)は、連続した売却の後でもずれなくなりました。そのため、以前に作成したレポートの数字は新しい計算と異なる場合があります。同期後の自動再計算が保存済みレポートを変更した場合、以前にエクスポートしたファイルは削除され、メールで変更内容をお知らせします。再度エクスポートしてください。ウォッシュセールの検出は翌年最初の30日間の買い戻しも対象とし、購入数量を使用し、前年に否認された損失は買い戻したロットの原価に加算されます。ロットを手動で選ぶ場合、特定されていない過去年度の売却は先入先出として扱います。英国のルールは各処分のForm 8949の説明に表示されます。セルフホスティング:コンテナイメージは非公開です。サポートにアクセスを依頼してください。ガイドをご覧ください。
ウォレット同期:スキップされたチェーンが通知なしではなく表示されるようになりました
ブロックチェーンウォレットの同期で、照会できなかったチェーン(特定のチェーン用のサーバー側 API キーがない場合や、一時的なレート制限・エラーの場合)が通知なくスキップされ、同期が完全に完了したと報告されてしまう問題を修正しました。対象のチェーンのみで取引があったウォレットは、そのチェーンが実際には一度も確認されていないにもかかわらず、「同期完了」と表示されていました。同期エンジンは、スキップされたすべてのチェーンについて、機械可読な理由(キーの欠如、レート制限、ブロックされた構成など)と、再試行する価値があるかどうかのフラグを記録するようになりました。チェーンがスキップされた場合、ウォレットカードには、状況に関わらず表示されていた誤解を招く「最新の状態です」というバナーの代わりに、明確なお知らせが表示されます(例:「base, cronos — プラットフォーム設定待ち」)。内部の実装の詳細(サードパーティのベンダー名やセキュリティチェック名)はこのメッセージには表示されず、ユーザー向けのカテゴリと該当するチェーン名のみが表示されます。これまでテストされていなかったカスタムチェーン、EVM、Solana のスキップ経路をカバーする回帰テストを追加しました。
Binance.US API 同期:IPv6 接続の拒否を修正
一部のホスティング環境で発生していた、Binance.US API 同期の接続エラーを修正しました。Node.js 17 以降では DNS 解決の既定の順序が変更され、IPv4 が優先されなくなりました。IPv6 のネットワーク送信が有効なホストでは、A レコードと AAAA レコードの両方を持つドメインへの送信リクエストが IPv6 アドレスに向かう場合がありました。Binance.US の API は IPv6 クライアントからの接続を明示的に拒否するため、ユーザーには原因のわからない一般的な接続エラーとして表示されていました。API サーバーは起動時にすべての送信 DNS 解決で IPv4 を優先するようになりました。これは IPv6 を必要とする通信を無効にするものではなく、最初に試すアドレスファミリーを変更するだけです。Binance.US に限らず、すべての取引所 API 接続に予防的に適用されます。
取引所 API の接続:エラーメッセージをより分かりやすく改善
API キーによる取引所への接続が何らかの理由で失敗した場合、実際の原因(無効なキー、IP 制限、時刻のずれ、権限不足、未対応の取引所など)にかかわらず、常に同じ汎用メッセージ「Failed to verify API keys with exchange.」が表示されていました。そのため、接続失敗の原因を自分で特定することができませんでした。エラーレスポンスには、取引所が実際に返した拒否理由(取引所の API が返した具体的な認証エラーなど)が含まれるようになり、キーの誤り、権限の問題、その他の原因をすぐに判別できます。特定の取引所だけでなく、対応するすべての取引所に適用されます。
Binance.US:新しい CSV 形式と API 同期に対応
Binance.US が CSV エクスポートを、仕様が公開されていない新しい形式(Base Asset / Quote Asset / Primary Asset の列が分かれた形式)に変更したため、dTax が認識できず、インポート時に「No valid transactions found in CSV」というエラーが発生していました。既存の形式に加えて新しい形式にも対応しました。どちらも自動検出されるため、手動で形式を選択する必要はありません。法定通貨およびステーブルコインの両方の決済通貨に対して正しく種類を判定する双方向の現物取引(買い/売り)と、単一資産の行(入金、出金、ステーキング報酬、配布、紹介手数料)に対応しています。また、CSV インポートに加えて、Binance.US を直接 API 同期の選択肢として追加しました。Binance.US は現物取引のみのため、先物/無期限契約のオプションは表示されません。
PDF レポート:列の重なりを修正
Form 8949 の列 (f)/(g)/(h) が列 (e) の Cost Basis の上に重なって表示され、ヘッダーが「(e) Cost Ba(g)sis Adj.」のように崩れたり、合計行で数字が重なったりするレイアウト上の不具合を修正しました。原因は、前の列が実際にどこで終わるかを考慮していない列幅の計算式でした。また、Audit Defense レポートの Connected Accounts と Transaction Register セクションで発生していた関連する重なりも修正しました。これは、ライブラリの自動進行カーソルを使って同じ行に複数の列を描画すると、列同士が下方向にずれていく PDF レンダリング上の挙動が原因でした。どちらのレポートも、合計がページのコンテンツ領域と正確に一致する、検証済みの明示的な列幅でレイアウトされるようになりました。
手動取引:ウォレット別取得原価のマッチング用にソースを追加できるようになりました
ウォレット別取得原価の追跡(strictSilo)が有効な場合に、手動で追加した取引(例:OTC 取引や手入力した送金)が、どのウォレットや取引所に属するかを指定できないため、CSV からインポートした取引と取得原価の照合ができなかった不具合を修正しました。取引の追加フォームに Source フィールドが追加され、手動で入力したロットや処分を正しい取得原価プールに割り当てられるようになりました。これにより、ウォレット別取得原価の追跡のもとでも、インポートした取引と同様に正しくマッチングされます。
CSV 再インポート修正 — ソフト削除された行が更新をブロックしなくなりました
UI から削除したトランザクションが CSV 再アップロード時に重複として扱われてしまうバグを修正しました。元のロジックはユニーク制約違反を避けるため削除状態に関わらず全てのマッチをスキップしていましたが、意図的にソフト削除して CSV を変更して再アップロードするユーザーをブロックしていました。インポート処理は現在マッチを 3 つに分割します:アクティブな重複(従来通りスキップ)、ソフト削除されたマッチ(蘇生 — deletedAt クリア、新 CSV フィールドで更新、AI 分類と価格補正リセットで再処理)、全く新しい行(従来通り挿入)。レスポンスには `imported`・`skipped` に加えて `resurrected` カウントが返されます。初の有料顧客からの報告、24 時間以内に修正リリース。
決済パイプラインの強化と管理ツール追加
サブスクリプションフローの大規模な信頼性アップデートと、新しい管理機能の追加です。決済の信頼性:サブスクリプション確認が遅延した際に、再試行で二重請求が発生しうるシナリオを特定・解消しました。チェックアウト経路には現在3層の防御を設けています — 新規サブスクリプション作成前に Stripe と照合(過去の webhook 失敗による孤立した有効サブスクリプションを修復)、ライフタイムプランの保護(ライフタイム加入者の PRO 重複購入をブロック)、同一プランの重複ガード(有効なサブスクリプションまたは管理者付与権があれば checkout を短絡)。影響を受けたお客様には全額返金を実施しました。Webhook の対応範囲を拡張し、customer.subscription.created イベントも処理するようになりました。これにより標準 checkout 経路外で作成されたサブスクリプション(例:管理者による無料付与)もデータベースに正しく同期されます。管理ツール:ワンクリックで「12ヶ月 PRO 付与」機能により、自動満了・自動更新なしの期間限定権利を作成可能(Stripe サブスクリプション不要)。「ユーザー削除」機能(メール入力による二段階確認必須)、トランザクショナルな関連レコードの cascade 削除。管理者サブスクリプションエンドポイントを拡張し currentPeriodEnd、cancelAtPeriodEnd、status フィールドで細かい制御が可能に。サブスクリプション有効期限が「登録日」と誤表示される不具合を修正。セキュリティ:管理者サブスクリプションエンドポイントにサーバー側ゲートを5つ追加 — 自己変更の禁止(職責分離)、付与期間の上限を24ヶ月に制限、過去日付の拒否、有効な Stripe サブスクリプションの請求フィールド上書き防止(DB↔Stripe の不整合防止)、ライフタイム状態への昇格には既存のライフタイム権利が必要(comp エンドポイント経由の昇格防止)。テスト:全ての防御・セキュリティパスをカバーする16件のケースを追加。
セキュリティ強化と信頼性改善パッチ
APIとフロントエンドの内部セキュリティ強化と信頼性改善。セキュリティ面:パスワードリセットトークンはSHA-256ハッシュとして保存されるようになりました(生のトークンはDBに保存されません)。SSRFプロテクションをDNSレベルのホスト名検証にアップグレードし、リバインディング攻撃をブロック。Content-Dispositionヘッダーのファイル名インジェクション防止。認証免除パスに完全一致ロジックを使用。信頼性面:シリアライザブルPostgreSQLトランザクションで重複ジョブのレース条件を解消。価格補完を20並列バッチ処理に変更(大量トランザクションアカウントの接続プール枯渇を防止)。R2レポートストリームに30秒タイムアウトを追加。税計算ワーカーに5分のハードタイムアウトを追加。フロントエンド:FirefoxのCSV/PDF/JSONダウンロード互換性を修正。税務ポーリングインターバルのリーク修正。オンボーディングナビゲーションをNext.jsルーターに移行。レポート削除後のリスト正常更新。
非同期税務計算・複数資産フィルター・URL フィルター永続化
3つの UX 改善。(1) 税務計算が非同期化 — UIをブロックせずバックグラウンドジョブとしてキューに入れ、リアルタイムの進捗インジケーターを表示。計算完了後に自動で結果が表示されます。(2) 複数資産フィルター:取引フィルターバーに、実際の取引履歴から動的に生成されるマルチセレクトドロップダウンが追加。BTC・ETH・SOLなどを1クリックで同時選択可能。フィルター状態もURLから復元されます。(3) URLフィルター永続化:すべてのフィルター・ソート設定がURLクエリに書き込まれ、ページ更新やリンク共有時もビューが完全に保持されます。
OFAC制裁スキャンと感情的取引分析
2つの新しい無料機能。OFACサンクションスキャン:接続されたすべてのウォレットアドレスを米国財務省SDNリストと自動照合(毎日更新、O(1)検索、24時間キャッシュ)。制裁対象アドレスと関連エンティティ名を表示。感情的取引パターン検出:ユーザー自身の取引履歴に基づいて高値買い/安値売り行動を分析——加重平均買付価格を基準に、高値追い回数、パニック売り回数、感情的損失(USD)、0〜100の感情スコアを算出。税務ページとアナリティクスページにそれぞれ表示、全プランで利用可能。
CARF暴露スキャン、インドTDS追跡と29パーサー
CARF/DAC8暴露スキャン:管轄区域とCARF採用状況による取引所評価、報告対象取引数と暴露レベルを推定。インドTDS追跡:Section 194Sに基づく₹50,000超取引への1% TDS計算。新規インド取引所パーサー3つを追加:WazirX、CoinDCX、ZebPay——専用パーサー合計29個。
監査防御PDFと保有資産スナップショットPDF
2つの新PRO報告形式。監査防御PDF:カバーレター、エグゼクティブサマリー、方法論証明、完全なトランザクション台帳の4セクション構成IRS防御パッケージ。保有資産スナップショットPDF:時点別資産証明書(含む未実現損益、CPA署名欄、方法論証明)——ローン申請、相続計画、監査準備に適用。
国際税務メソッドと10言語対応
5つの国別原価計算方法を追加:オーストラリアCGT割引(12ヶ月超保有で50%控除)、カナダACB(調整原価、50%算入率)、韓国仮想資産税(250万ウォン超の利益に22%)、インドVDA(30%一律+1% TDS)、スペインCGT(19〜28%累進)。メソッド合計13種。i18n言語を7言語から10言語に拡大(仏語・トルコ語・独語追加)。
UTXOマルチチェーン:LTC、DOGE、BCH、DASH
ウォレット同期にライトコイン(LTC)、ドージコイン(DOGE)、ビットコインキャッシュ(BCH)、ダッシュ(DASH)を追加。対応ブロックチェーン数は合計22チェーンに。Blockchair公開API(無料・APIキー不要)を使用し、アドレス自動検出・UTXO残高計算・TRANSFER_IN/OUT/INCOMEの自動分類に対応。
完全自動税務パイプライン
取引を一度インポートするだけで、dTax がすべてを自動処理します。CSVインポート、ウォレット同期、取引所接続のたびに、価格補完がバックグラウンドで自動実行され、前年度と当年度のFIFO税務レポートが自動生成されます。レポートが完成すると、年間純損益を示す概要メールが送信されます。PROユーザーはダッシュボードからLIFO、HIFOなど他の計算方法で再計算できます。
ウォレット同期の完全性と UX 改善
ウォレット同期の完全性修正:Solana ページング(最大12,500件)、Moralis ページ上限 20→200(最大20,000件)、EVM 増分同期(永続カーソル)。手数料 USD は価格補完で自動入力。取引ハッシュ列がブロックエクスプローラーリンクに。$0 取引非表示フィルター追加。同期後に価格補完を自動起動(5分クールダウン)。ウォレットごとにデータ削除ボタンを追加。Dashboard にワークフローヒントを追加。
高度なトランザクションフィルターと列管理
「価格欠落」フィルターで手動入力が必要な取引を素早く特定。複数資産の同時フィルタリング(例:「BTC, ETH, SOL」)に対応。トランザクションテーブルでチェーン・アドレス・TxHash列の表示切り替えが可能に。送金マッチングと照合ページにページング機能を追加。
UX改善:取引ペア表示・AIページング・多言語
双方向取引(スワップ・LP入金)の資産列が「BTC → USDT」形式で表示。LOSTとSTOLENの取引タイプを追加。AIアシスタントの会話履歴にページング機能を追加。ポートフォリオの価格更新ボタンにツールチップを追加。7言語のi18n完全対応。
セキュリティ強化
独立したセキュリティ監査で発見された4件の脆弱性を修正:クォータバイパス(H-1)、期限切れCPAセッションによるデータアクセス(H-3)、アカウント削除のレート制限(L-3)、Stripe WebhookのuserId検証(C-2)。
ビットコインウォレット同期
ビットコインアドレスを直接同期——4つの形式すべてに対応:Legacy(1...)、Nested SegWit(3...)、Native SegWit(bc1q...)、Taproot(bc1p...)。Blockstream Esplora API を使用、完全無料でAPIキー不要。マイニング収入(コインベース取引 → INCOME)を自動検出。UTXO お釣り出力を正しく処理し正味送金額を計算。mempool.space をフォールバックとして使用。
CEX API同期——現物・先物対応
取引所APIキー(Binance、OKX、Bybit、Kraken、Coinbase、KuCoin、Gate.io)を接続し、現物取引・入出金を自動同期。Plan-43では先物・永続契約・レバレッジ取引も対応——ファンディングレートと強制決済を税務エンジンの MARGIN_TRADE と LIQUIDATION タイプにマッピング。
LPプロトコル自動分類 + カスタムチェーン
LPトークンをプロトコル名で自動分類(Uniswap V2 LP、PancakeSwap LP、Curve 3CRV、Balancer BPT など8種以上)し LP_DEPOSIT/LP_WITHDRAWAL に振り分け。MetaMask互換のカスタムEVMチェーンに対応(SSRF対策済み)。26以上のCSVパーサーを追加、Bitstamp・Upbit・Robinhoodに新規対応。
17チェーン対応 + トランザクション強化
17チェーン対応:ETH、Polygon、BSC、Arbitrum、Optimism、Avalanche、Base、Linea、Scroll、Mantle、Blast、Gnosis、Sonic、Monad、Sei、Cronos + Solana。CSVエクスポート・インポート・取引一覧に Source/Chain/ContractAddress 列を追加。列表示のカスタマイズが可能に。BSCをMoralisからEtherscan V2に移行。
GENIUS法ポジショニングとシミュレーター改善
機能ページとランディングページにGENIUS法ステーブルコインコンプライアンスセクションを追加。シミュレーターの手法比較を3種類から7種類に拡張。規制ブログシリーズ(3記事×7言語)。レポート履歴で計算時に生成時刻を表示。ホームページの手法セレクターにUKシェアプーリングを追加。ロードマップ:IRS指針待ちのステーブルコイン決済手段モードを計画中。
CARFコンプライアンス & UK Share Pooling
UK Share Pooling(Section 104)を8番目の原価計算方式として追加、税務ページにCARF 2027カウントダウン、グローバル税率ページに15カ国のCARF採用状況、CARFトランザクションデータエクスポート(PRO/CPA)、マルチプロバイダーAIシステム(15以上のLLMプロバイダー、BYOK対応)、AI運用コンソール、サブスクリプションアップグレード制御、全マーケティングページにCARFコンテンツ。
グローバル税務エンジン
3つの国際原価計算方法(ドイツFIFO 12ヶ月免税付き、フランスPMPA加重平均法、日本総平均法)、15カ国税率比較ページ、8カ国の暗号資産税務ガイド。
タックスインテリジェンス 2026
雑所得レポート(ステーキング/マイニング/エアドロップ)、1099-DA対象vs非対象分類、PARITY Act規制アラート、強化された税務サマリーカード。
フェーズB:Webサイトページ
完全なi18nサポートによる料金、機能、セキュリティ、取引所ページを追加。
フェーズA:コアページ
ランディングページ、法務ページ(利用規約、プライバシー、免責事項)、新規ユーザー向けオンボーディングウィザード。
ランディングページ
機能ハイライト、競合比較テーブル、料金概要を含むマーケティングホームページ。
テーマ & UX
システム設定検出によるダーク/ライトテーマ切り替え、レスポンシブナビゲーション、エラーバウンダリ。
ダッシュボード強化
クイックアクションカード、データソース概要ウィジェット、ダッシュボードの3ステップ新規ユーザーガイド。
DeFi & NFT対応
12の新しいDeFi/NFT取引タイプ、EtherscanおよびSolscan DeFiパーサー、ラップ/アンラップの原価パススルー。
取引所パーサー
Coinbase、Binance、Krakenなど17以上を含む20の取引所CSVフォーマットパーサーと自動検出。
税務レポート
Form 8949 PDF/CSVエクスポート、損失繰越によるSchedule Dサマリー、30日ウィンドウによるウォッシュセール検出。
コアエンジン
FIFO、LIFO、HIFOの原価計算、CSVインポートパイプライン、税務サマリー付き基本ダッシュボード。
初回リリース
包括的なユニットテスト付き税務エンジン、i18n対応のNext.jsフロントエンド、Prisma ORM対応のFastify API。