# IDW PS 880

Der IDW PS 880 Die Prüfung von Softwareprodukten ist ein Prüfungsstandard (PS) des Institutes der Wirtschaftsprüfer (IDW). Der Prüfungsstandard wurde am 11. März 2010 vom Hauptfachausschuss (HFA) verabschiedet.

## Allgemeines

Der Prüfungsstandard unterstützt Wirtschaftsprüfer bei der Prüfung und Erteilung von Bescheinigungen zu Softwareprodukten. Dieser IDW-Prüfungsstandard ersetzt den IDW PS 880 i. d. F. vom 25. Juni 1999 und berücksichtigt die Anforderungen des ISAE 3000 „Assurance Engagements Other Than Audits or Reviews of Historical Financial Information“ für Prüfungen, die darauf ausgerichtet sind, Prüfungsaussagen mit hinreichender Sicherheit zu treffen (reasonable level of assurance). Die Vorgehensweise der Prüfung von Softwareprodukten folgt der Systematik von Systemprüfungen bei Einsatz von Informationstechnologie (IT), wie sie im IDW PS 330 niedergelegt sind. Zum Begriff der Informationstechnologie und zu den Ordnungsmäßigkeits- und Sicherheitsanforderungen beim Einsatz von IT gelten die Regelungen des IDW RS FAIT 1. Darüber hinaus behandelt der IDW-Prüfungsstandard die Verwertung der Ergebnisse der Prüfung von Softwareprodukten im Rahmen einer Abschlussprüfung beim Softwareanwender zur Beurteilung der Ordnungsmäßigkeit und Sicherheit der Buchführung. Insoweit spezifiziert dieser IDW-Prüfungsstandard die im IDW PS 320 und im IDW PS 322 enthaltenen Überlegungen zur Verwertung von Prüfungsergebnissen Dritter.

## Adressatengruppen

Der IDW PS 880 richtet sich an Softwarehersteller aller Art.

## Gegenstand

Gegenstand von Softwareprüfungen sind Softwareprodukte, unabhängig von deren Implementierung und Produktivsetzung beim Softwareanwender. Softwareprodukte sind gemäß IDW RS FAIT 1, Tz. 12, sowohl selbst erstellte als auch von Dritten bezogene IT-Anwendungen. Sie werden entweder eigenständig oder im Verbund mit anderen Softwareprodukten eingesetzt. Softwareprüfungen richten sich sowohl auf Standardsoftwareprodukte eines Softwareherstellers als auch auf Individualsoftwarelösungen. Standardsoftwareprodukte werden für ein breites Einsatzspektrum konzipiert und können in der Regel durch Parametrisierungen an die Bedürfnisse unterschiedlicher Unternehmen angepasst werden. Individualsoftwarelösungen werden hingegen speziell für die Bedürfnisse eines Softwareanwenders entwickelt. Abhängig von ihrem Funktionsumfang und Einsatzgebiet können Softwareprodukte in unterschiedlichem Maße für die Rechnungslegung oder Steuerung und Überwachung im Unternehmen relevant sein. IT-Anwendungen mit engerem Bezug zur Rechnungslegung dienen der IT-gestützten Abwicklung rechnungslegungsrelevanter Geschäftsprozesse. Dazu gehören neben Finanzbuchführungsprogrammen insbesondere ERP-Systeme, die über die Finanzbuchführung hinaus weitere Aufgabengebiete, wie etwa Anlagenbuchführung, Materialwirtschaft, Einkauf, Vertrieb und Personalwirtschaft abdecken. Softwareprodukte, die der Steuerung und Überwachung im Unternehmen dienen, weisen einen eher weiteren Bezug zur Rechnungslegung auf. Typische Beispiele sind Data-Warehouse-Systeme, Zahlungsverkehrssysteme, Verbrauchsermittlungsprogramme oder IT-Anwendungen zur Risikosteuerung bei Kreditinstituten und Versicherungsunternehmen. Prüfungsgegenstand können die Softwareprodukte insgesamt, einzelne Module oder einzelne Funktionen sein. Beispiele für die Prüfung einzelner Funktionen sind Buchungsschnittstellen in IT-Anwendungen zur technischen Verbrauchsmessung oder die Belegverarbeitung in einem elektronischen Fakturierungssystem. Softwareprüfungen umfassen die Beurteilung der für das Aufgabengebiet der Softwareprodukte notwendigen Programmfunktionen. Programmfunktionen im Sinne dieses IDW-Prüfungsstandards setzen sich zusammen aus den Verarbeitungsfunktionen und dem programminternen Kontrollsystem. Zu dem programminternen Kontrollsystem zählen insbesondere die Eingabe-, Verarbeitungs- und Ausgabekontrollen und die programmierte Ablaufsteuerung (Programmabläufe und programmierte Regeln zur Workflowsteuerung) einschließlich des programminternen Zugriffsschutzsystems.

## Vorgehen im Rahmen einer Prüfung

1. Aufnahme des zu prüfenden Softwareprodukts und der Softwareentwicklungsumgebung sowie der Vollständigkeit und Aktualität der Verfahrensdokumentation,
2. Beurteilung des Softwareentwicklungsverfahrens einschließlich des Softwarewartungs-, Test- und Freigabeverfahrens,
3. Prüfung der Angemessenheit der für das Aufgabengebiet des Softwareprodukts notwendigen Programmfunktionen (Aufbauprüfung) und die Aussagefähigkeit der diesbezüglichen Verfahrensdokumentation sowie
4. die Prüfung der sachgerechten programmtechnischen Umsetzung der als angemessen beurteilten Programmfunktionen (Funktionsprüfung).
5. Das Softwareentwicklungsverfahren ist daraufhin zu beurteilen, ob sich
* aus den aufbau- und ablauforganisatorischen Regelungen zur Softwareentwicklung einschließlich der Qualitätssicherungsmaßnahmen sowie
* aus der für die Softwareentwicklung verwendeten IT-Infrastruktur
Risiken für eine sachgerechte Umsetzung der zu prüfenden Verarbeitungsfunktionen ergeben.
Im Rahmen der Prüfung der Angemessenheit der Programmfunktionen (Aufbauprüfung) ist anhand der Verfahrensdokumentation zu beurteilen, ob die für das Aufgabengebiet der Softwareprodukte relevanten Anforderungen durch den Softwarehersteller sachgerecht festgelegt wurden. Dies bedingt auch, dass ein zweckentsprechendes programminternes Kontrollsystem vorgesehen ist und eine aussagefähige Verfahrensdokumentation vorliegt. Auf Grundlage von Testfällen wird die programmtechnische Umsetzung der als angemessen beurteilten Programmfunktionen geprüft (Funktionsprüfung). Hierbei wird der Wirtschaftsprüfer, abhängig von den Ergebnissen der Risikobeurteilung des Softwareentwicklungsverfahrens, auf die Testfälle des Softwareherstellers zurückgreifen, die durch eigene stichprobenhafte Testfälle ergänzt werden.
Die Festlegung des Prüfungsprogramms und des Umfangs der eigenen Testfälle erfolgt insbesondere auf Grundlage der Beurteilung der eingesetzten Dokumentations- und Testverfahren sowie der vom Softwarehersteller durchgeführten und dokumentierten Testfälle und deren Ergebnisse.

## Ziel der Softwareprüfung

Ziel der Softwareprüfung ist es, mit hinreichender Sicherheit zu beurteilen, ob das Softwareprodukt bei sachgerechter Anwendung ermöglicht, den Kriterien zu entsprechen, die als Maßstab für die Beurteilung der funktionalen Anforderungen der Softwareprodukte im Prüfungsauftrag vereinbart wurden. Allgemein zugängliche Kriterien für eine Softwareprüfung gemäß IDW PS 880 sind insbesondere gesetzliche und regulatorische sowie sonstige das Aufgabengebiet der Software betreffende Anforderungen. Bei Softwareprodukten mit Bezug zur Rechnungslegung oder dem Internen Kontroll- bzw. Risikomanagementsystem sind insbesondere anzuwenden:
* Die Grundsätze ordnungsmäßiger Buchführung und die damit verbundenen Anforderungen an die Ordnungsmäßigkeit und Sicherheit rechnungslegungsbezogener Programmfunktionen sowie
* regulatorische Vorschriften zur Rechnungslegung und dem Internen Kontrollsystem sowie zum Risikomanagement (beispielsweise § 25a KWG).

## Kriterien

Sofern das Softwareprodukt keinen Bezug zur Rechnungslegung oder dem Internen Kontroll- bzw. Risikomanagementsystem aufweist, kommen als Kriterien insbesondere in Betracht:
* aufgabenspezifische Normen und Standards oder
* spezifische Branchen- und Industriestandards mit IT-Bezug.
Bei diesen Kriterien kann regelmäßig davon ausgegangen werden, dass diese zur Beurteilung von Softwareprodukten geeignet sind, soweit sie für das Aufgabengebiet der Softwareprodukte relevant sind. Vom Softwarehersteller selbst entwickelte Kriterien haben im Gegensatz hierzu keinen formalen Formulierungs-, Abstimmungs- und Veröffentlichungsprozess durchlaufen. Daher ist bei vom Softwarehersteller selbst entwickelten Kriterien stets zu prüfen, ob diese die Anforderungen dieses IDW-Prüfungsstandards erfüllen. Vom Softwarehersteller selbst entwickelte Kriterien können als Beurteilungsmaßstab für eine Softwareprüfung gemäß IDW PS 880 nur dann verwendet werden, soweit diese hierfür geeignet sind. Geeignete Kriterien im Sinne dieses IDW-Prüfungsstandards müssen folgende Eigenschaften aufweisen:
* Relevanz: Kriterien müssen für die Beurteilung des Softwareprodukts und für die Entscheidungsfindung maßgebend sein.
* Vollständigkeit: Kriterien sind vollständig, wenn keine für die Beurteilung des Softwareprodukts und für die Entscheidungsfindung wesentlichen Gesichtspunkte ausgeklammert wurden.
* Verlässlichkeit: Verlässlichkeit bedeutet, dass die Kriterien eine konsistente und nachvollziehbare Beurteilung des Softwareprodukts zulassen.
* Neutralität: Kriterien sind neutral, wenn sie eine objektive Beurteilung des Softwareprodukts sicherstellen.
* Verständlichkeit: Kriterien sind verständlich, soweit sie klare Schlussfolgerungen ermöglichen und dadurch Fehlinterpretationen vermieden werden.
Beispiele für vom Softwarehersteller selbst entwickelte Kriterien sind Projekt- und Programmierrichtlinien, die zur äußeren Gestaltung von Dialogmasken (Graphical User Interface (GUI)) und Workflow-Steuerungen dienen. Vorgaben zur GUI stellen beispielsweise ein geeignetes internes Kriterium dar, da aus der Sicht eines potenziellen Anwenders die Einheitlichkeit und die Logik der Benutzeroberfläche wesentlich für die Bedienbarkeit der Softwareprodukte sind und damit die Kaufentscheidung beeinflussen können (Relevanz des Kriteriums).
Die Eigenschaft Vollständigkeit des Kriteriums wäre in diesem Beispiel gegeben, wenn Vorgaben zur formalen Gestaltung für alle Gestaltungselemente einer Bildschirmmaske einschließlich Farbgestaltung, Platzierung, wiederkehrender Funktionen, Vorgaben für Feldplatzierung und -gestaltung bestehen, die ausnahmslos für sämtliche Bildschirmmasken anzuwenden sind.
Die Anforderungen an die Verlässlichkeit und Neutralität sowie Verständlichkeit des Kriteriums sind erfüllt, soweit die Festlegung der Vorgaben in der Art und Weise erfolgt, dass Abweichungen von den Vorgaben messbar und objektiv feststellbar sind und die Regeln zur Gestaltung der grafischen Benutzeroberfläche keine Interpretationsspielräume zulassen.