Nach der alten Gesetzeslage bestand grundsätzlich ein Verbot, selbst geschaffene immaterielle Vermögenswerte im Anlagevermögen zu aktivieren. Selbst erstellte Software durfte nicht aktiviert werden, im Auftrag erstellte Software schon. Der alte – typische Ratschlag – lautete, zwei Gesellschaften zu gründen. Eine, die die Software entwickelt, eine andere, die die Entwicklung in Auftrag gibt.

Durch die Neufassung des § 248 Abs.2 HGB besteht nunmehr die Möglichkeit, selbstgeschaffene immaterielle Vermögensgüter in der Bilanz zu aktivieren. Die künstliche Zweiteilung eines Unternehmens in einen Kleinkonzern könnte damit der Vergangenheit angehören. Software, die neu geschaffen wird und von dem Unternehmen selbst genutzt wird oder Dritten zur Nutzung überlassen wird, kann aktiviert werden. Die Regelung gilt grundsätzlich für die Geschäftsjahre, die nach dem 31.12.2009 beginnen, unter Umständen bereits auf nach dem dem 31.12.2008 beginnende Geschäftsjahre. Software, die zu diesem Zeitpunkt bereits vorhanden war, darf also nicht aktiviert werden. Im Grundsatz gelten die Neuregelungen also für Softwareprojekte, die nicht vor dem Jahr 2010 begonnen wurden. Falls die Entwicklung bereits vor diesem Zeitpunkt begonnen wurde, besteht allenfalls die Möglichkeit, durch eine Zerlegung der Entwicklungsarbeit in Module in den Genuss der Neuregelungen zu gelangen.

Als Maßstab sind die Herstellungskosten anzusetzen. Darunter fallen nach § 255 Abs. 2 HGB die Aufwendungen, die durch den Verbrauch von Gütern (bei Software weniger relevant) und die Inanspruchnahme von Diensten betreffen. Die Entwicklungskosten sind nicht mit Forschungskosten gleichzusetzen. Die Forschungsphase betrifft die Suche nach technischen und wissenschaftlichen Erkenntnissen allgemeiner Art. Wenn man forscht, kann man über die wirtschaftliche Bedeutung noch keine Aussagen machen. Es geht eher um die Sammlung allgemeiner Erkenntnisse, während es bei der Entwicklung um die konkrete Lösung technischer Probleme geht, die wirtschaftlich unmittelbar verwertbar sind. Software Programmierung gehört in der Regel zur Entwicklungsphase, da die Entwicklung eines konkreten Vermögensgegenstandes angestrebt wird.

Tatbestandlich muß ein Vermögensgegenstand hergestellt werden, was der Fall ist, wenn mit hinreichender Wahrscheinlichkeit eine eigenständige Verwertbarkeit sowie eine selbstständige Bewertbarkeit gegeben ist.