In der Welt der Startups/aufstrebenden Wachstumstechnologien gibt es eine immer wiederkehrende buchhalterische Frage, die unweigerlich ernsthafte Überlegungen erfordert: Soll ich meine Software-Entwicklungskosten aktivieren oder soll ich sie ganz oder teilweise als Aufwand verbuchen? Wenn auch Sie sich diese Frage stellen, sollten Sie sich damit trösten, dass die Entscheidung, ob Softwarekosten aktiviert werden sollen, kein Spaziergang ist. Obwohl die Rechnungslegungsstandards diese Frage sehr ausführlich behandeln, ist die Anwendung der Regeln eine Frage der Subjektivität und der Meinung. Ein gut informierter CEO/CFO/Controller muss jedoch die Rechnungslegungsstandards rund um aktivierte Softwarekosten verstehen, um die Politik Ihres Unternehmens in Bezug auf Softwareaktivierungskosten zu bestimmen und, was noch wichtiger ist, zu unterstützen.
Sie fragen sich vielleicht, warum Sie sich darum kümmern sollten. Einfach ausgedrückt: High-Tech-Startups investieren in der Regel einen beträchtlichen Teil ihrer Zeit und ihres Geldes in die Software-Entwicklung; die Behandlung dieser Kosten wird höchstwahrscheinlich nicht nur einen großen Einfluss auf Ihre aktuelle finanzielle Leistung haben, sondern auch auf zukünftige Finanzergebnisse.
Es gibt ein paar Unterscheidungen, die gemacht werden müssen, bevor man in die Buchhaltungsregeln eintaucht. Erstens definieren die Rechnungslegungsstandards nach GAAP zwei Arten von Software:
- Software, die verkauft, vermietet oder vermarktet werden soll
- Software für den internen Gebrauch
Die Standards bieten spezifische, unterschiedliche Rechnungslegungsregeln für jede Art von Software. Es ist wichtig, festzustellen, welche Art von Software entwickelt wird, um die Höhe der Kosten, die als Aufwand zu erfassen oder zu aktivieren sind, richtig zu bestimmen. Zweitens werde ich mich in diesem Artikel mit den Bilanzierungsregeln nach GAAP und nicht nach dem IRS-Code befassen. Es ist jedoch wichtig zu beachten, dass unabhängig von der Entscheidung, wie Unternehmen Softwareentwicklungskosten nach GAAP behandeln, diese Entscheidung nicht notwendigerweise die Behandlung der Kosten durch Ihr Unternehmen nach dem IRS Code beeinflusst (d.h. die Aktivierung nach GAAP und die Ausweisung als Aufwand für die Steuer kann in Ordnung sein). Drittens: Dieser Artikel behandelt die Grundlagen der Regeln und ist ein guter Ausgangspunkt. Dieser Artikel ersetzt nicht die Notwendigkeit, Ihre Wirtschaftsprüfungsgesellschaft zu konsultieren, bevor Sie wichtige Entscheidungen treffen.
Software, die verkauft, vermietet oder vermarktet werden soll
Wenn Ihr Unternehmen Software entwickelt, um sie später zu verkaufen, zu vermieten oder zu vermarkten, ist dieser Abschnitt für Sie gedacht. Diese Software wird mit der Absicht entwickelt, zukünftige Einnahmen zu erzielen, und sollte keinen Nutzen für den internen Betrieb Ihrer Firma bringen (siehe Software für den internen Gebrauch weiter unten). Wenn ich mit Kunden darüber spreche, welche Entwicklungskosten für Software, die extern vermarktet werden soll, zu aktivieren oder als Aufwand zu erfassen sind, ist die wichtigste Frage, die ich stelle, wann das Softwareprojekt die „technologische Durchführbarkeit“ erreicht hat. Dies ist wichtig, weil die Rechnungslegungsstandards besagen, dass alle Kosten, die für ein Softwareprojekt vor dem Erreichen der technologischen Durchführbarkeit anfallen, als Aufwand zu verbuchen sind. Die Standards besagen auch, dass Kosten, die nach dem Erreichen der technologischen Durchführbarkeit anfallen, aktiviert werden können. Die Aktivierung der Kosten ist zu beenden, wenn die Software zur allgemeinen Freigabe an Kunden verfügbar ist. Alle zukünftigen Kosten, die sich auf das Softwareprojekt beziehen, sollten als Aufwand verbucht werden.
Kontaktieren Sie unsere Fachleute für Unterstützung bei diesem Thema.
Was ist die technologische Durchführbarkeit?
Die technologische Durchführbarkeit ist ein Begriff, der einen bestimmten Punkt während eines Softwareprojekts beschreibt, wenn die Forschungs- und Entwicklungsphase im Wesentlichen abgeschlossen ist. Die Standards geben konkrete Hinweise, wann ein Projekt die technologische Durchführbarkeit erreicht hat.
Das Folgende ist ein Auszug direkt aus den Standards:
…das Computer-Software-Produkt enthält einen detaillierten Programmentwurf (unten definiert), der alle folgenden Merkmale aufweist:
- Der Produktentwurf und der detaillierte Programmentwurf sind abgeschlossen, und das Unternehmen hat festgestellt, dass die notwendigen Fähigkeiten, Hardware und Softwaretechnologie für die Produktion des Produkts zur Verfügung stehen.
- Die Vollständigkeit des detaillierten Programmdesigns und seine Konsistenz mit dem Produktdesign wurden durch Dokumentation und Rückverfolgung des detaillierten Programmdesigns zu den Produktspezifikationen bestätigt.
- Der detaillierte Programmentwurf wurde auf risikoreiche Entwicklungsaspekte (z.B. neuartige, einzigartige, unerprobte Funktionen und Merkmale oder technologische Innovationen) überprüft, und alle Unsicherheiten im Zusammenhang mit identifizierten risikoreichen Entwicklungsaspekten wurden durch Kodierung und Tests behoben.
Ein Detail Program Design wird von den Standards wie folgt definiert:
Der detaillierte Entwurf eines Computer-Software-Produkts, der die Produktfunktionen, Features und technischen Anforderungen in ihrer detailliertesten, logischen Form darstellt und bereit für die Codierung ist.
Ich mache jetzt eine Pause, damit Sie eine Buchhaltungspause einlegen können… Wie bei jedem Buchhaltungsthema ist die obige Anleitung eine offene Interpretation des Managements.
In der Praxis finden Sie Unternehmen, die erhebliche aktivierte Softwareentwicklungskosten haben und andere, die ihre gesamten Softwareentwicklungskosten als Aufwand verbucht haben. Viele Unternehmen stellen sich auf den Standpunkt, dass die technologische Durchführbarkeit zu dem Zeitpunkt gegeben ist, zu dem das Softwareprodukt in irgendeiner Form von der Öffentlichkeit genutzt oder konsumiert werden kann; daher weisen sie die meisten Entwicklungskosten als Aufwand aus. Diese Position ist in der Regel die konservativste und wird wahrscheinlich von den Wirtschaftsprüfern weniger kritisch betrachtet werden. Andere stellen sich auf den Standpunkt, dass die technologische Realisierbarkeit eintritt, bevor das Produkt für den Verkauf verfügbar ist.
Die Kosten, die nach der technologischen Realisierbarkeit aktiviert werden können, sind wie folgt:
- Entschädigung des Programmierers für die Zeit, die direkt der Programmierung der Software zugeordnet werden kann.
- Ein zurechenbarer Betrag für indirekte Kosten, wie z.B. Gemeinkosten für Programmierer und die von ihnen genutzten Einrichtungen.
- Kosten, die mit dem Testen der Software für den Markt verbunden sind (d.h. Alpha-, Beta-Tests).
- Sonstige direkte Produktionskosten, die anfallen, um die Software auf den Markt zu bringen.
Einige andere Punkte, die zu berücksichtigen sind:
- Kosten für Wartung, Fehlerkorrekturen und Kundensupport sind bei Anfall als Aufwand zu verbuchen.
- Wir haben gesehen, dass Kunden Ineffizienzen bei der Bestimmung des zu aktivierenden Betrags der Programmierervergütung berücksichtigt haben (d.h. die Gesamtsumme wird um einen Prozentsatz reduziert).
- Die Bilanzierungsregeln berühren auch ein Konzept, das als Arbeitsmodell bekannt ist und das in dieser Diskussion ausgelassen wurde. Nach unserer Erfahrung hat das Konzept des Arbeitsmodells keinen Einfluss auf die meisten Entscheidungen unserer Kunden, ob Softwarekosten aktiviert werden sollen oder nicht.
Software für den internen Gebrauch
Wenn Ihr Unternehmen Software intern entwickelt, um ausschließlich die internen Bedürfnisse Ihres Unternehmens zu befriedigen, ist dieser Abschnitt für Sie. Es darf kein Plan bestehen, die Software extern zu vermarkten, auch nicht in der Zukunft (zum Zeitpunkt der Entwicklung festgelegt). Software für den internen Gebrauch ist typischerweise die Überwachung von Analyse- und Buchhaltungsmodulen.
Die Rechnungslegungsstandards unterteilen den Entwicklungsprozess von Software für den internen Gebrauch in drei verschiedene Phasen. Das Management sollte festlegen, an welchem Punkt die Softwareentwicklung in die jeweilige Phase eintritt und diese verlässt. Je nach Stufe werden die zugehörigen Entwicklungskosten als Aufwand erfasst oder aktiviert.
Vorläufige Projektphase – Wenn sich ein Computersoftwareprojekt in dieser Phase befindet, wird Ihr Unternehmen wahrscheinlich Folgendes tun:
- Strategische Entscheidungen treffen, um die Ressourcen zwischen alternativen Projekten zu einem bestimmten Zeitpunkt zu verteilen.
- Bestimmen Sie, was Ihr Unternehmen mit der Software erreichen will und welche Systemanforderungen es dafür braucht.
- Bestimmen Sie die Technologie, die benötigt wird, um die Systemanforderungen zu erfüllen.
- Untersuchen Sie die beste Implementierungslösung für die Software. Zum Beispiel die Entscheidung, ob die
Software entwickelt oder gekauft werden soll.
Anwendungsentwicklungsphase – Diese Phase beginnt typischerweise, wenn ein Softwareprojekt für den internen Gebrauch ausgewählt wurde und die Entwicklung beginnen soll. Zu den Aktivitäten, die während der Anwendungsentwicklungsphase durchgeführt werden, gehören:
- Entwurf des gewählten Pfades, einschließlich Software-Konfiguration und Software-Schnittstellen.
- Codierung.
- Installation auf der Hardware.
- Testen.
Post-Implementation-Operating Stage – Diese Phase beginnt typischerweise, wenn die Software-Entwicklung abgeschlossen ist und die Software für den internen Gebrauch implementiert wurde. Zu den Aktivitäten, die während der Post-Implementation-Operating-Phase durchgeführt werden, gehören:
- Schulung.
- Wartung.
Wenn Sie den Entwicklungsprozess in die drei Phasen aufgeteilt haben, sind die folgenden Überlegungen zur buchhalterischen Behandlung für jede Phase zu beachten:
Vorläufige Projektphase – Alle Entwicklungskosten, die während dieser Phase anfallen, sollten als Aufwand verbucht werden. Dies schließt sowohl interne als auch externe Kosten ein.
Anwendungsentwicklungsphase – Alle Entwicklungskosten, die in dieser Phase anfallen, sollten aktiviert werden, sobald die Bedingungen erfüllt sind. Dies schließt sowohl interne als auch externe Kosten ein. Allgemeine & Verwaltungs- und Schulungskosten gelten nicht als Entwicklungskosten und sollten, wenn sie in dieser Phase anfallen, als Aufwand verbucht werden. Kosten für die Konvertierung alter Daten in ein neues System sollten als Aufwand verbucht werden. Wenn jedoch Software entwickelt oder gekauft wurde, um Daten zu konvertieren, sollten diese spezifischen Kosten aktiviert werden.
Postimplementation-Operation Stage – Interne und externe Trainingskosten und Wartungskosten während dieser Phase sollten als Aufwand verbucht werden.
Ein paar Gedanken dazu, was in Bezug auf intern genutzte Software aktiviert werden sollte und was nicht:
- Nur Kosten, die während der Entwicklungsphase der Anwendung anfallen, können aktiviert werden.
- Kosten können nur aktiviert werden, wenn das Management die Finanzierung des Projekts genehmigt und zugesagt hat, davon ausgeht, dass es abgeschlossen wird, und alle Designtests abgeschlossen sind.
- Interne Kosten, die aktiviert werden können, umfassen in erster Linie Lohn- und Gehaltskosten, die direkt mit dem Projekt zusammenhängen. Allgemeine und administrative Kosten sind nicht aktivierungsfähig.
Web-Entwicklungskosten
Wenn in Ihrem Unternehmen Kosten für die Entwicklung, Implementierung und Wartung einer Website anfallen, können diese Kosten aktiviert werden. Die Rechnungslegungsstandards haben spezifische Richtlinien für diesen Bereich, und Sie werden feststellen, dass diese Richtlinien der Rechnungslegung für intern genutzte Software sehr ähnlich sind. Daher ist es wichtig, die Bilanzierungsregeln für intern genutzte Software zu verstehen (siehe oben).
Ähnlich wie bei intern genutzter Software ist der Entwicklungsprozess einer Website in Phasen unterteilt. Die fünf Web-Entwicklungsphasen mit ihren Definitionen sind wie folgt:
- Planungsphase Diese Phase ist der Beginn des Lebens einer Website – der Gedankenprozess. Zu den Maßnahmen gehören die Festlegung der spezifischen Ziele der Website, die Identifizierung der Zielgruppe, die Erstellung von Zeit- und Kostenbudgets und die Bestimmung der Funktionalitäten der Website.
- Anwendungs- und Infrastrukturentwicklungsphase Diese Phase beinhaltet die Erstellung der Website-Knochen, einschließlich der Registrierung eines Domain-Namens, der Entwicklung oder des Erwerbs von kundenspezifischem Code, der Integration externer Anwendungen, der Entwicklung von HTML-Seiten, der Anschaffung von Routern und Servern und dem Testen der Website-Anwendungen.
- Grafikentwicklungsphase
Diese Phase wird typischerweise in Verbindung mit der oben genannten Phase durchgeführt. Zu den Aufgaben gehört die Entwicklung des Designs oder Layouts jeder Seite, der Farben, der Bilder und des gesamten Erscheinungsbildes und der Benutzerfreundlichkeit der Website.
- Inhaltsentwicklungsphase In dieser Phase werden laufend Inhalte hochgeladen, die die Website aktuell halten. Der Inhalt kann textlicher oder grafischer Natur sein. Beispiele hierfür sind Artikel, Produktfotos, Karten, Beschreibungen usw.
- Betriebsphase Diese Phase umfasst Aufgaben wie Schulung, Verwaltung, Wartung und andere Kosten für den Betrieb der Website.
Nachdem Sie den Entwicklungsprozess in die fünf Phasen aufgeteilt haben, sind im Folgenden die Überlegungen zur buchhalterischen Behandlung jeder Phase aufgeführt:
- Planungsphase Alle Entwicklungskosten, die in dieser Phase anfallen, sollten als Aufwand erfasst werden. Dazu gehören sowohl interne als auch externe Kosten.
- Entwicklungsphase der Anwendung und Infrastruktur Alle Kosten, die sich auf die entwickelte oder gekaufte Software beziehen, die zum Betrieb der Website verwendet wird, sollten nach den Regeln für intern genutzte Software (siehe oben) verbucht werden. Die Kosten für die Beschaffung und Registrierung einer Internet-Domain sind zu aktivieren. Die für das Web-Hosting anfallenden Gebühren sind über den Zeitraum des Nutzens als Aufwand zu erfassen.
- Grafikentwicklungsphase Die Rechnungslegungsstandards betrachten Grafiken als eine Komponente der Software und sollten daher nach den Regeln für intern genutzte Software bilanziert werden.
- Inhaltsentwicklungsphase Die Kosten für die Eingabe von Inhalten in eine Website sollten als Aufwand erfasst werden. Kosten für die Datenkonvertierung sollten ebenfalls bei ihrem Anfall als Aufwand verbucht werden. Software, die zur Integration einer Datenbank in eine Website verwendet wird, sollte aktiviert werden.
- Betriebsphase Generell sollten Kosten in dieser Phase als Aufwand erfasst werden. Kosten für Upgrades und Erweiterungen, die der Website zusätzliche Funktionalität verleihen, sollten nach den Regeln für intern genutzte Software bilanziert werden. Kosten für die Eintragung der Website in Suchmaschinen werden als Werbekosten betrachtet und sollten bei ihrem Anfall als Aufwand verbucht werden.
Abschließende Gedanken
Ein Punkt, den Sie beachten sollten, ist, dass, wenn Sie die Softwareentwicklungskosten Ihres Unternehmens aktivieren, das Management in der Lage sein muss, diese aktivierten Kosten mit harten Zahlen, Tabellen und der Logik dahinter zu unterstützen. Der Prozess führt typischerweise auch dazu, dass die Zeit der Entwickler stundenweise und projektbezogen erfasst werden muss. Wenn Sie Software aktivieren, stellen Sie sicher, dass Ihr Unternehmen über ein entsprechendes Nachverfolgungssystem und eine entsprechende Organisation verfügt, um die aktivierten Kosten zu unterstützen.
Ein zweiter Punkt, den es zu berücksichtigen gilt, bezieht sich auf signifikante Verbesserungen an Software, die zum Verkauf, zur Vermietung oder zur externen Vermarktung entwickelt wurde. Wenn Ihr Unternehmen beispielsweise ein etabliertes Softwareprodukt hat, das an die Öffentlichkeit verkauft wird, und Ihre Entwickler daran arbeiten, diesem Produkt neue Funktionen hinzuzufügen, kann dies eine wesentliche Verbesserung sein. Jede wesentliche Erweiterung sollte wie das Basisprodukt behandelt werden, indem alle Kosten vor der technologischen Durchführbarkeit als Aufwand erfasst werden; alle Kosten nach der technologischen Durchführbarkeit können aktiviert werden. Es ist wichtig zu beachten, dass die technologische Durchführbarkeit bei signifikanten Erweiterungen im Vergleich zu neuen Softwareprodukten früher im Entwicklungsprozess erreicht werden kann. Die Logik dahinter ist, dass meist alle technologischen, Hardware- und risikoreichen Entwicklungsfragen bereits während der ursprünglichen Produktentwicklung geprüft wurden. Außerdem ist zu beachten, dass Produktverbesserungen nur dann aktivierungsfähig sind, wenn sie für das Gesamtprodukt selbst als signifikant angesehen werden (z.B. neue Funktionalität).
Ein dritter Punkt ist, dass einmal aktivierte Kosten in der Regel über die Nutzungsdauer des Produkts oder der Software abgeschrieben werden. Die aktivierten Kosten werden dann in jeder Berichtsperiode einer Wertminderungsanalyse unterzogen. Die Abschreibungsregeln unterscheiden sich zwischen selbst genutzter Software, Software für den externen Vertrieb und Web-Entwicklungskosten. Diese Regeln liegen außerhalb des Rahmens dieses Artikels (ich muss irgendwann aufhören zu schreiben!).
Der letzte Punkt der Betrachtung ist, dass für Software, die für den Verkauf oder die öffentliche Nutzung entwickelt wird, der Großteil, wenn nicht alle, Forschungs- und Entwicklungskosten als Aufwand zu erfassen sind. Es gibt relativ enge Zeitfenster, in denen eine Aktivierung erfolgen kann. Wenn ein Unternehmen feststellt, dass seine Software für den internen Gebrauch entwickelt wird, ist der Großteil der Forschungs- und Entwicklungskosten zu aktivieren. Es ist wichtig zu beachten, dass der Prozess jedes Unternehmens unterschiedlich sein kann; folglich ist die Anwendung der Buchhaltungsregeln spezifisch für jedes Unternehmen.