How Tech Companies Deal With Software Development Costs: Insights From A CPA

Share

新興企業や成長著しいテクノロジーの世界では、真剣に検討しなければならない会計上の問題が繰り返し発生します:ソフトウェア開発費を資産計上すべきか、それともすべてまたは一部を費用計上すべきか? このような疑問をお持ちの方は、ソフトウェア費用を資産計上するかどうかを決めるのは簡単なことではないということをご理解ください。 会計基準では、この問題が詳しく取り上げられていますが、ルールの適用は主観と意見の問題です。

なぜそんなことを気にする必要があるのかと思われるかもしれません。

会計規則に入る前に、いくつかの区別をしておく必要があります。 まず、GAAPに基づく会計基準では、2つのタイプのソフトウェアを定義しています。

  1. 販売、リース、または販売されるソフトウェア
  2. 社内で使用されるソフトウェア

基準では、それぞれのタイプのソフトウェアに対して、特定の異なる会計ルールを定めています。 費用化または資産化されるべきコストの額を適切に把握するためには、どのタイプのソフトウェアを開発しているかを判断することが重要です。 次に、この記事では、IRSコードではなく、GAAPに基づく会計ルールについて説明します。 ただし、ソフトウェア開発費の取り扱いについてGAAP上でどのような決定がなされたとしても、その決定は必ずしもIRSコード上での貴社の取り扱いに影響を与えるものではないことに留意する必要があります(例えば、GAAP上では資産計上し、税務上は費用化しても問題ない場合があります)。 第三に、この記事は規則の基本を扱っており、良い出発点となるでしょう。

販売、リース、または販売されるソフトウェア

もしあなたの会社が、最終的に一般消費者に販売、リース、または販売するためにソフトウェアを開発しているなら、このセクションはあなたのためのものです。 このソフトウェアは、将来の収益を得ることを目的として開発されており、会社の内部運営に利益をもたらすべきではありません(下記の内部使用ソフトウェアを参照)。 外部に販売するソフトウェアの開発費を資産化するか、または費用化するかについてお客様とお話しする際に、最も重要な質問は、そのソフトウェアプロジェクトが「技術的実現可能性」を達成したのはいつなのか、ということです。 なぜなら、会計基準では、技術的実現可能性が確立する前にソフトウェアプロジェクトに発生したすべての費用は、発生時に費用として計上することになっているからです。 また、技術的実現可能性の確立後に発生したコストは、資産化してもよいとされています。 ソフトウェアが顧客への一般的なリリースが可能になった時点で、費用の資産化は中止する必要があります。

このトピックに関するサポートは、当社のプロフェッショナルにお問い合わせください。

技術的実現可能性とは

技術的実現可能性とは、ソフトウェアプロジェクトにおいて、研究開発段階が実質的に完了したある時点を指す言葉です。

以下は基準からの抜粋です。
…コンピュータ ソフトウェア製品には、詳細なプログラム デザイン (以下に定義) が含まれており、以下のすべてが含まれています:

  • 製品設計と詳細なプログラム デザインが完了しており、企業は製品を生産するために必要なスキル、ハードウェア、およびソフトウェア技術が利用可能であることを確立しています。
  • 詳細プログラム設計の完全性と製品設計との整合性は、詳細プログラム設計を文書化し、製品仕様にトレースすることによって確認されている。
  • 詳細プログラム設計は、高リスクの開発問題(例えば、新規、ユニーク、未検証の機能や特徴、技術革新など)についてレビューされ、識別された高リスクの開発問題に関連する不確実性は、コーディングとテストによって解決されています。

詳細プログラム設計とは、規格では次のように定義されています。
製品の機能、特徴、技術的要件を最も詳細で論理的な形にし、コーディングできる状態にした、コンピュータ ソフトウェア製品の詳細設計。

ここで一旦、会計的な息抜きをしていただきたいと思います…わかりました。 他の会計トピックと同様に、上記のガイダンスは経営者が自由に解釈できます。

専門家の間では、ソフトウェア開発費を大幅に資産計上している企業や、ソフトウェア開発費をすべて費用化している企業が見受けられます。 多くの企業は、ソフトウェア製品が何らかの形で一般に使用または消費されるようになった時点で技術的実現可能性が確立されたと考え、開発費のほとんどを費用化しています。 この考え方は、一般的に最も保守的な考え方であり、監査人からの指摘も少ないでしょう。

技術的実現可能性の後に資産化の対象となるコストは次のとおりです。

  • ソフトウェアのコーディングに直接起因する時間に対するプログラマーの報酬。
  • プログラマーや彼らが使用する施設に関連する間接費などの配分された金額
  • ソフトウェアの市場向けテスト(すなわちアルファテスト、ベータテスト)に関連する費用。
  • ソフトウェアを市場に投入するために発生するその他の直接製造コスト

その他の考慮すべき点は以下のとおりです。

  • メンテナンス、バグ修正、およびカスタマー サポートのコストは発生時に費用計上されます。
  • 資産計上するプログラマーの報酬額を決定する際に、非効率性を考慮しているクライアントを見たことがあります (すなわち、合計額をパーセンテージで減らしています)。
  • 会計規則は、今回の議論では触れられなかったワーキング モデルと呼ばれる概念にも触れています。

社内使用のソフトウェア

あなたの会社が社内のニーズを満たすためだけにソフトウェアを社内で開発している場合、このセクションはあなたのためのものです。 将来的にも、ソフトウェアを外部に販売する計画はありません(開発時に決定)。

会計基準では、内部使用のソフトウェアの開発プロセスを3つの異なる段階に分けています。

会計基準では、内部用ソフトウェアの開発プロセスを3つの段階に分けています。 その段階に応じて、関連する開発費は、費用化または資産化されます。
Preliminary Project Stage – コンピュータ ソフトウェア プロジェクトがこの段階にあるとき、企業は次のようなことを行うでしょう。

  • ソフトウェアで何をする必要があるのか、そのシステム要件を決定する。
  • システム要件を達成するために必要な技術を決定する。
  • ソフトウェアの最適な実装ソリューションを検討する。
  • アプリケーション開発段階 – この段階は、通常、内部使用のソフトウェア プロジェクトが選択され、開発が開始されようとしているときに始まります。

    • ソフトウェアの構成やソフトウェアのインターフェイスを含む、選択したパスの設計
    • コーディング。
    • ハードウェアへのインストール。
    • テスト。

    Postimplementation-Operating Stage – このステージは通常、ソフトウェアの開発が完了し、内部使用のソフトウェアが実装された後に始まります。

    • トレーニング
    • メンテナンス

    開発プロセスを3つの段階に分けたら、それぞれの段階で考慮すべき会計処理は次のとおりです:

    プロジェクトの初期段階 – この段階で発生したすべての開発コストは、発生時に費用として計上します。

    アプリケーション開発段階 – この段階で発生したすべての開発コストは、条件が満たされた時点で発生時に資産化する必要があります。 これには内部および外部のコストが含まれます。 一般的な&管理費や研修費は開発費とはみなされず、この段階で発生した場合は発生時に費用化する必要があります。 古いデータを新しいシステムに変換するための費用は、費用化すべきです。

    Postimplementation-Operation Stage (実装後の運用段階) – この段階での内部および外部のトレーニング コストおよびメンテナンス コストは、発生した時点で費用化すべきです。

    内部使用のソフトウェアに関して、資産化すべきものとそうでないものについてのいくつかの考えを以下に示します:

    • アプリケーション開発段階で発生したコストのみが資産化の対象となります。
    • コストは、経営陣がプロジェクトへの資金提供を承認してコミットし、プロジェクトが完了すると確信し、すべての設計テストが完了したときにのみ資産化することができます。
    • 資産化できる内部コストには、主にプロジェクトに直接関連する給与および給与関連のコストが含まれます。 一般管理費は資産化の対象にはなりません。

    Web開発費

    もしあなたの会社がWebサイトの開発、導入、維持のための費用を負担しているなら、その費用は資産化することができます。 会計基準には、この分野に関する具体的なガイダンスがありますが、このガイダンスは、内部使用ソフトウェアの会計処理と非常によく似ています。

    社内用ソフトウェアと同様に、Webサイトの開発プロセスにも段階があります。

    • 企画段階 この段階は、Webサイトの一番最初の段階であり、思考プロセスです。 ウェブサイトの具体的な目標の決定、ターゲットとなるユーザーの特定、時間とコストの予算の作成、ウェブサイトの機能の決定などのアクションを行います。
    • アプリケーションとインフラの開発段階 この段階では、ドメイン名の登録、カスタマイズされたコードの開発または取得、外部アプリケーションの統合、HTMLページの開発、ルーターやサーバーの購入、Webサイトのアプリケーションのテストなど、Webサイトの骨組みの作成が行われます。
    • グラフィックの開発段階

    この段階は通常、上記の第2段階と一緒に行われます。

    • コンテンツ開発段階 この段階では、ウェブサイトを最新の状態に保つために、継続的にコンテンツをアップロードします。 コンテンツには、テキストやグラフィックなどがあります。
    • 運用段階 この段階には、トレーニング、管理、メンテナンスなど、ウェブサイトを運用するためのコストが含まれます。

    開発プロセスを5つの段階に分けたら、各段階で考慮すべき会計処理は次のとおりです。

    • 計画段階 この段階で発生したすべての開発コストは、発生した時点で費用化すべきです。
    • アプリケーションおよびインフラストラクチャの開発段階 ウェブサイトの運営を助けるために使用されるソフトウェアの開発または購入に関連するすべての費用は、内部使用ソフトウェアの規則(上記で詳述)に基づいて会計処理されます。 インターネットドメインの取得・登録にかかる費用は、資産計上する必要があります。
    • グラフィックス開発段階 会計基準では、グラフィックスはソフトウェアの構成要素であると考えられているため、内部使用ソフトウェアの規則に基づいて会計処理されるべきである。
    • コンテンツ開発段階 ウェブサイトにコンテンツを入力するためのコストは、発生時に費用計上されるべきである。 また、データ変換費用も発生時に費用計上する必要があります。
    • 運用段階 一般的に、この段階のコストは発生時に費用化されるべきです。 ウェブサイトに機能を追加するアップグレードや機能強化のためのコストは、内部使用ソフトウェアのルールに基づいて会計処理する必要があります。

    最終的な考え

    1つ考慮すべき点は、会社のソフトウェア開発費を資産化する場合、経営陣は、資産化されたコストをハードな数字、スプレッドシート、およびすべての背後にある論理でサポートできなければならないということです。 また、このプロセスでは、開発者の時間を時間ごと、またはプロジェクトごとに追跡する必要があります。

    考慮すべき2つ目のポイントは、販売、リース、または外部に販売するために開発されたソフトウェアに加えられた重要な機能強化に関するものです。 たとえば、一般に販売されている確立されたソフトウェア製品があり、開発者がこの製品に新しい機能を追加する作業を行っている場合、これは重要な拡張である可能性があります。 重要な機能強化は、基本製品と同様に、技術的実現可能性以前のすべてのコストを費用化し、技術的実現可能性以後のすべてのコストを資産化することができます。 重要なことは、技術的実現可能性は、新規ソフトウェア製品と比較して、重要な機能拡張の場合、開発プロセスの早い段階で達成される可能性があるということです。 これは、技術的な問題、ハードウェアの問題、リスクの高い開発問題のほとんどが、最初の製品開発時にすでに検討されているからです。

    考慮すべき3つ目のポイントは、一度資産化されたコストは、一般的に製品やソフトウェアの耐用年数にわたって償却されるということです。 資産化されたコストは、その後、各報告期間において減損分析の対象となります。 償却ルールは、自社利用のソフトウェア、外部販売用のソフトウェア、ウェブ開発費で異なります。

    最後に考慮すべき点は、販売または公共の利用のために開発されたソフトウェアの場合、研究開発費のすべてではないにしても、大部分は費用化されるということです。 資産化が可能な時期はかなり狭い範囲に限られています。 一般的には、ソフトウェアが自社内で使用するために開発されたものであることが証明された場合、研究開発費の大部分が資産化されることになります。

    コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です