Zum Hauptinhalt springen

Buchhaltung für Code-Audit-Firmen: So verbuchen Sie statische Audits, stündliche Korrektur und weiterverkaufte SAST-Abonnements

Veröffentlicht Zuletzt aktualisiert 9 Minuten LesezeitMike ThriftMike Thrift
Buchhaltung für Code-Audit-Firmen: So verbuchen Sie statische Audits, stündliche Korrektur und weiterverkaufte SAST-Abonnements

Fragen Sie den Gründer einer kleinen Code-Audit-Firma nach seinem Umsatzmodell, und Sie erhalten meist eine verunsicherte Pause, bevor es heißt: „Nun ja … beides?“ Eine Werkstatt für statische Analyse-Audits legt sich selten auf eine Richtung fest. Ein Kunde zahlt 6.500 fu¨reinezweiwo¨chigestatischeU¨berpru¨fungeinerLegacyRailsApp.Einandererzahlt40für eine zweiwöchige statische Überprüfung einer Legacy-Rails-App. Ein anderer zahlt 40 pro Entwickler und Monat für ein laufendes SAST-Abonnement, das die Firma weiterverkauft und konfiguriert. Ein dritter zahlt einen individuellen Satz für ein „vollständiges Audit-Paket“, das statische Analyse, dynamische Tests und Korrekturarbeiten auf Stundenbasis umfasst. Drei Geschäfte, drei verschiedene Umsatzrealisierungsregeln und ein Kontenplan, der meist nicht dafür ausgelegt ist, sie auseinanderzuhalten.

Dies ist eine durchaus übliche Struktur für technische Dienstleistungsunternehmen: Sicherheits- und Codequalitätsberatungen, die als reine Auftrags-Shops begannen, verkaufen zunehmend SAST-Tools (Static Application Security Testing) weiter oder als White-Label, zusammen mit ihren Audit-Dienstleistungen, weil Kunden sowohl eine einmalige Meinung als auch einen dauerhaften Scanner in der CI wünschen. Das daraus entstehende Buchhaltungsproblem ist so spezifisch, dass die meisten allgemeinen Ratschläge für „Beratungsfirmen“ es übergehen.

Die drei Umsatzströme, die sich in einem Unternehmen verstecken

Bevor Sie etwas korrekt verbuchen können, müssen Sie trennen, was Sie eigentlich verkaufen, denn jeder Umsatzstrom verhält sich in den Büchern anders.

1. Statische Audits (fester Umfang, punktuell). Eine Quellcode-Überprüfung – Einhaltung von Standards, Überprüfung von Abhängigkeiten, CI/CD-Pipelines und Architektur – kostet typischerweise zwischen 5.000 und 8.000 $ für einen definierten Umfang. Dies ist eine eigenständige Leistung: ein Bericht, der an einem bestimmten Datum geliefert wird und ein definiertes Ende hat.

2. Dynamische Audits und vollständige Audit-Pakete (fester Umfang oder stundenbasiert, oft meilensteinbasiert). Tests des Systemverhaltens unter Last oder unter widrigen Bedingungen kosten zwischen 8.000 und 16.000 $, und ein kombiniertes „vollständiges Audit-Paket“ aus statischer Analyse, dynamischen Tests und Korrektur wird in der Regel individuell angeboten und nach Meilensteinen oder Stunden abgerechnet. Die Seniorität des Prüfers, die Größe und Dokumentationsqualität der Codebasis, der regulatorische Umfang (Gesundheits- und Finanzaudits erfordern tiefere Datenverfolgung und Berechtigungsprüfung) sowie der Zeitdruck beeinflussen den Preis – was bedeutet, dass zwei Audits mit demselben Label völlig unterschiedliche Kostenstrukturen haben können.

3. SAST-Abonnements (wiederkehrend, weiterverkauft oder Wiederverkäufermarge). Die Tool-Seite dieses Marktes hat sich auf Preise pro Sitzplatz als SaaS konzentriert: breite Plattformen, die SAST, SCA, Secrets-Scanning und IaC-Prüfungen bündeln, beginnen bei etwa 15–20 proBenutzerundMonat,Einzeltoolsfu¨reineeinzelneFa¨higkeitliegenimBereichvon1015pro Benutzer und Monat, Einzeltools für eine einzelne Fähigkeit liegen im Bereich von 10–15 pro Benutzer, und Unternehmensverträge mit großen Anbietern können über 100.000 $ pro Jahr für ein paar hundert Anwendungen übersteigen. Wenn eine Audit-Firma eine dieser Plattformen weiterverkauft oder bündelt – konfiguriert, False-Positive-Regeln optimiert und eine Marge auf das Abonnement nimmt – ist dieser Umsatz wiederkehrend, nicht projektbezogen, und es kann Ihr Umsatz sein oder auch nicht, je nachdem, ob Sie im Vertrag als Prinzipal oder Vertreter handeln.

Alle drei unter „Beratungsumsatz“ zusammenzufassen, ist genau der Grund, warum eine Gewinn- und Verlustrechnung aufhört, Ihnen etwas Nützliches über das Geschäft zu sagen.

Warum sich die Umsatzrealisierung tatsächlich unterscheidet

Nach ASC 606 (oder seinen nahen internationalen Äquivalenten) lautet die buchhalterische Frage: Wann geht die Kontrolle über die versprochene Ware oder Dienstleistung auf den Kunden über? – und die Antwort ist für jeden der oben genannten Ströme unterschiedlich.

  • Ein statisches oder dynamisches Audit mit festem Umfang wird in der Regel punktuell realisiert, wenn der Bericht geliefert und akzeptiert wird – oder, wenn nach Meilensteinen abgerechnet wird, bei Fertigstellung jedes Meilensteins. Wenn Sie 50 % im Voraus und 50 % bei Lieferung in Rechnung stellen, ist die Anzahlung eine Verbindlichkeit (unverdiente Einnahmen), bis der Bericht versendet wird, kein Umsatz an dem Tag, an dem der Scheck eingeht.
  • Stündliche Korrektur- und Implementierungsarbeiten werden bei Leistungserbringung realisiert, was bedeutet, dass Sie einen Mechanismus für nicht abgerechnete Zeit benötigen – Arbeiten, die in einem Zeitraum erbracht, aber noch nicht in Rechnung gestellt wurden –, die als Vermögenswert (nicht abgerechnete Forderung / WIP) erscheinen, anstatt bis zum Rechnungsdatum zu verschwinden. Dies ist die häufigste Verzerrung in der projektbasierten Buchhaltung: Ein Unternehmen erscheint im Rechnungsmonat unrentabel und im nächsten Monat äußerst profitabel, nur aufgrund der Abrechnungsverzögerung, nicht weil sich die zugrunde liegende Arbeit geändert hat.
  • Ein weiterverkauftes SAST-Abonnement wird ratierlich über die Abonnementlaufzeit realisiert – monatlich oder jährlich, entsprechend dem Zeitraum, in dem der Kunde tatsächlich Zugang zum Tool hat. Wenn Sie der Wiederverkäufer sind und als Vertreter handeln (der die Bereitstellung der Software durch den Anbieter arrangiert) und nicht als Prinzipal (der verspricht, die Software selbst bereitzustellen), sollten Sie nur Ihre Marge realisieren, nicht den Bruttoabonnementpreis – die Verbuchung des gesamten durchgeleiteten Betrags als Umsatz, wenn Sie wirtschaftlich nur ein Abrechnungskanal sind, überhöht Ihre oberste Zeile und stellt Ihren tatsächlichen Margenprozentsatz falsch dar.

Die richtige Einschätzung von Prinzipal vs. Vertreter ist nicht nur aus GAAP-Sicht wichtig: Es ist der Unterschied zwischen einer Gewinn- und Verlustrechnung, die 180.000 Abonnementumsatzbei8Abonnementumsatz bei 8 % Marge ausweist, und einer, die korrekt 14.400 Provisionsumsatz bei 100 % Marge zeigt. Kreditgeber, Versicherer und alle, die auf der Grundlage Ihrer Zahlen einen Bewertungsmultiplikator aufbauen, werden diese beiden Gewinn- und Verlustrechnungen sehr unterschiedlich lesen – und nur eine von ihnen ist annähernd wahr.

Der praktische Kontenplan

Eine Code-Audit-Firma, die alle drei Umsatzströme betreibt, profitiert davon, Umsatz (und oft auch COGS) auf Kontenebene zu trennen, nicht nur Dinge nachträglich in einer Tabellenkalkulation zu markieren:

  • Income:Audits:Static
  • Income:Audits:Dynamic
  • Income:Consulting:Remediation (stündlich)
  • Income:Subscriptions:SAST-Margin (nur Ihre Provision/Marge, wenn Sie Vertreter sind)
  • Income:Subscriptions:SAST-Gross (wenn Sie Prinzipal sind und den vollen Vertrag weiterverkaufen)
  • Liabilities:UnearnedRevenue:Audits
  • Assets:UnbilledReceivables:Consulting

Hier zeigt sich der Wert einer klartextbasierten, versionierten Buchhaltung für ein technisches Dienstleistungsunternehmen – dieselben Ingenieure, die SAST-Regelsätze für Kunden konfigurieren, sind in der Regel damit vertraut, einen .beancount-Ledger-Diff zu überprüfen, und eine Git-Historie Ihrer Bücher bietet Ihnen dieselbe Prüfbarkeit, die Sie Ihren eigenen Kunden verkaufen. Es ist ein wenig zu treffend für eine Code-Audit-Werkstatt, ihre eigenen Finanzunterlagen in einem undurchsichtigen, nicht diffbaren Format zu führen.

Wo Firmen das tatsächlich falsch machen

Einige Muster tauchen in diesem Geschäftsmodell immer wieder auf:

  1. Abonnementanzahlungen sofort als Umsatz verbuchen. Wenn ein Kunde eine jährliche SAST-Lizenz vorausbezahlt, die Sie weiterverkaufen, ist dieses Geld eine Verbindlichkeit, bis der Deckungszeitraum abgelaufen ist – die vollständige Realisierung im ersten Monat überhöht das Quartal, in dem es anfällt, und untertreibt jedes folgende Quartal.
  2. Nicht abgerechnete Stunden nie erfassen. Stündliche Korrekturarbeiten, die gegen Ende eines Monats erbracht, aber erst im Folgemonat in Rechnung gestellt werden, sollten dennoch als Vermögenswert im richtigen Zeitraum erscheinen, sonst sehen Ihre Margen so aus, als würden sie ohne operativen Grund stark schwanken.
  3. Durchgeleitete Wiederverkäuferbeträge als Bruttoumsatz behandeln. Wie oben – dies bläht die obersten Zahlen auf, was gut aussieht, bis ein Due-Diligence-Team des Käufers (ironischerweise mit derselben Art von technischer Sorgfaltsprüfung, die Ihre Firma verkauft) es auflöst und das Unternehmen neu bewertet.
  4. Keine getrennte Erfassung für regulierungsintensive Aufträge. Gesundheits- und Finanzdienstleistungsaudits haben einen erheblich größeren Umfang (Datenverfolgung, Zugriffskontrollprüfung) und in der Regel ein höheres Haftungsrisiko – wenn Ihre Bücher diesen Umsatz und die damit verbundenen Kosten nicht trennen, können Sie nicht feststellen, ob Ihre compliance-lastigen Aufträge im Vergleich zu Ihren allgemeinen statischen Überprüfungen tatsächlich profitabel sind.

Ein praktisches Beispiel: Eine Rechnung, drei verschiedene Buchungen

Angenommen, Ihre Firma schließt im März einen Kunden ab für ein statisches Audit über 7.000 (50(50 % Anzahlung, 50 % bei Lieferung), 20 Stunden stündliche Korrektur zu 175/Stunde, die im April abgerechnet werden, und ein weiterverkauftes SAST-Abonnement zu 18 /Sitzplatz/Monatfu¨rihr40ko¨pfigesEntwicklerteam,wobeiIhreFirmaeineMargevon4/Sitzplatz/Monat für ihr 40-köpfiges Entwicklerteam, wobei Ihre Firma eine Marge von 4 /Sitzplatz behält und den Rest an den Anbieter weiterleitet.

  • März Anzahlung (3.500 $): Soll Kasse, Haben Liabilities:UnearnedRevenue:Audits. Noch kein Umsatz – Sie haben den Bericht nicht geliefert.
  • April Berichtslieferung: Soll Liabilities:UnearnedRevenue:Audits und die restlichen 3.500 Forderung,HabenIncome:Audits:Staticfu¨rdievollen7.000Forderung, Haben `Income:Audits:Static` für die vollen 7.000. Der Umsatz fällt in dem Monat an, in dem die Arbeit tatsächlich akzeptiert wurde, nicht in dem Monat, in dem einer der Schecks einging.
  • März Korrekturstunden (geleistet, aber noch nicht in Rechnung gestellt): Wenn 8 der 20 Stunden im März geleistet wurden, die Rechnung aber im April rausgeht, buchen Sie im März Soll Assets:UnbilledReceivables:Consulting und Haben Income:Consulting:Remediation für diese 8 Stunden (1.400 );dierestlichen12Stunden(2.100); die restlichen 12 Stunden (2.100 ) werden im April normal gebucht, wenn sowohl die Arbeit als auch die Rechnung im selben Monat anfallen.
  • Monatliches SAST-Abonnement: Wenn Sie als Vertreter handeln, wird nur die monatliche Marge von 160 (40Pla¨tze×4(40 Plätze × 4) auf Income:Subscriptions:SAST-Margin gebucht; die Durchleitung von 720 (40×18(40 × 18) läuft über ein Verrechnungskonto gegen das, was Sie dem Anbieter schulden, und berührt niemals Ihre Gewinn- und Verlustrechnung. Wenn Ihr Vertrag Sie stattdessen zum Prinzipal macht – Sie versprechen dem Kunden die Software, auch wenn ein Anbieter sie unter der Haube liefert – werden die vollen 720 alsUmsatzrealisiert,wobeidie560als Umsatz realisiert, wobei die 560 Anbieterkosten als COGS verbucht werden, was zum gleichen Endergebnis führt, aber sehr unterschiedliche (und, wenn Sie nicht Prinzipal sind, materiell irreführende) oberste Zahlen.

Drei Transaktionen, drei verschiedene Timing-Regeln und – entscheidend – die zweite ist der Grund, warum viele kleine Audit-Shops so aussehen, als hätten sie einen schwierigen April, obwohl sich am Geschäft nichts geändert hat. Die Buchung der nicht abgerechneten Stunden ist das, was die März-Zahlen ehrlich hält.

Warum das wichtiger ist als früher

Die Nachfrage nach der zugrundeliegenden Dienstleistung wächst aus einem Grund, den es zu beachten gilt: Käufer, die technische Due Diligence durchführen, behandeln Code und Sicherheitslage zunehmend als wesentlich für die Vertragsbedingungen, nicht als Formalität – technische Erkenntnisse verschieben Bewertungsdiskussionen regelmäßig um 15–30 %, und ein bedeutender Teil der erwarteten Deal-Synergien hängt heute von der Integrationsqualität ab, die ein Code-Audit vor dem Abschluss tatsächlich aufdeckt. Wenn Ihre eigene Firma eines Tages übernommen, rekapitalisiert oder in eine größere Due-Diligence-Pipeline aufgenommen wird, wird das Finanzteam des Käufers genau das tun, was Ihr Audit-Team mit den Codebasen der Kunden macht: das Hauptbuch auseinandernehmen und prüfen, ob die Zahlen einer genaueren Betrachtung standhalten. Ein Unternehmen mit einem Kontenplan, der bereits Festpreis-, Stunden- und Abonnementmargenumsatz trennt, beantwortet diese Frage in Minuten statt Wochen.

Führen Sie Ihre eigenen Bücher so sauber wie den Code, den Sie prüfen

Der Betrieb eines hybriden Audit- und Abonnementgeschäfts bedeutet, dass Ihre Umsatzrealisierung drei verschiedene Regeln unter einem Dach hat, und Tabellenkalkulationen setzen diese Unterscheidung selten konsistent über Zeit durch. Beancount.io bietet klartextbasierte Buchhaltung, die transparent, versioniert und einfach zu diffen ist – eine natürliche Wahl für ein technisches Team, das bereits in Kategorien prüfbarer Historie denkt. Starten Sie kostenlos und führen Sie Ihre eigenen Finanzunterlagen so rigoros wie die Audits, die Sie verkaufen.

Diesen Artikel teilen