# Deine erste App

Erstelle deine erste App in Ninox mit einem praxisnahen Beispiel zur Rechnungsverwaltung.

Dabei lernst du, wie du Tabellen erstellst, Felder hinzufügst, Verknüpfungen einrichtest und dein Datenmodell für den echten Einsatz strukturierst.

Ninox kann dir mit Ninox AI dein Datenmodell und deine App-Struktur automatisch erstellen. In diesem Leitfaden gehst du jeden Schritt manuell durch.

Wenn du deine App von Hand erstellst, verstehst du besser, wie Ninox Apps aufgebaut sind und wie deine Daten organisiert sind. Damit kannst du deine App später leichter anpassen und Ninox gezielter nutzen.

## **Was du erstellst** <a href="#was-du-erstellst" id="was-du-erstellst"></a>

Mit Ninox erstellst du Apps, in denen du Daten und Workflows speicherst und organisierst. Jede App basiert auf einem Datenmodell und lässt sich an deinen Bedarf anpassen.\
Eine gut strukturierte App mit sauber eingerichteten Tabellen, Feldtypen und Verknüpfungen erleichtert dir nützliche und effiziente Ansichten. Du kannst dein Datenmodell jederzeit anpassen, wenn sich dein Bedarf ändert.

In diesem Beispiel erstellst du eine App, mit der du Rechnungen, Kunden, Produkte und alle zugehörigen Daten verwaltest. Die App enthält folgende Tabellen:

* Rechnungen: speichert deine ausgestellten Rechnungen
* Rechnungspositionen: enthält die Positionen jeder Rechnung
* Produkte: enthält die Produkte oder Leistungen, die du verkaufst
* Kunden: enthält die Empfänger deiner Rechnungen

Zusätzlich wirst du:

* Verknüpfungen zwischen diesen Tabellen einrichten.
* Automatisierungen nutzen, um flexible Daten zwischen Tabellen zu kopieren und als statische Werte zu speichern.
* Logikfelder nutzen, um Summen, MwSt. und Fälligkeitsdaten zu berechnen.

## **App erstellen** <a href="#app-erstellen" id="app-erstellen"></a>

Erstelle deine erste App auf der Startseite und öffne sie danach im App-Screen.

{% stepper %}
{% step %}
**Startseite öffnen**

Wechsle über **Home** zur Startseite. Dort erstellst und öffnest du Apps im aktuellen Arbeitsbereich.

<figure><img src="/files/IcYU8WaQQu2hakSTrUX1" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**Manuelle App-Erstellung starten**

Wähle **App manuell erstellen**. Dadurch öffnet sich der Dialog **App erstellen** für die manuelle Einrichtung.
{% endstep %}

{% step %}
**App benennen**

Gib unter **Name** einen Namen für deine App ein, zum Beispiel „Rechnungsverwaltung“. Wähle einen klaren Namen, der zu deinem Prozess oder Team passt.\
Ninox erzeugt den **Internen Namen** automatisch. Du kannst ihn ändern, empfohlen ist das aber nicht.
{% endstep %}

{% step %}
**Symbol und Farbe wählen**

Klicke neben dem App-Namen auf das Symbol <i class="fa-database">:database:</i>.

Wähle ein Symbol und eine Farbe, damit du die App später schnell erkennst. Bestätige danach deine Auswahl.

<figure><img src="/files/hHkSE9KzVYnfXfRNznax" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**App erstellen**

Klicke auf **App erstellen**.\
Ninox erstellt die App und fügt sie auf der Startseite des Arbeitsbereichs als neue Kachel hinzu.
{% endstep %}

{% step %}
**Neue App öffnen**

Öffne deine neue App über ihre Kachel.

<figure><img src="/files/6VkJXwGmbzQV3SOvgTek" alt=""><figcaption></figcaption></figure>

Ninox bringt dich direkt zum App-Screen und öffnet die erste Tabelle.
{% endstep %}
{% endstepper %}

## **Tabellen erstellen** <a href="#tabellen-erstellen" id="tabellen-erstellen"></a>

Erstelle zuerst die zentralen Tabellen deiner App. Danach fügst du Felder und Verknüpfungen hinzu.

{% stepper %}
{% step %}
**Erste Tabelle starten**

Klicke in der Mitte des Screens auf **+ Tabelle erstellen**, um eine Tabelle zu deiner App hinzuzufügen.\
Starte mit der Tabelle „Rechnungen“. Dort speicherst du die Hauptdaten deiner Rechnungen.
{% endstep %}

{% step %}
**Tabelle benennen**

Gib im Dialog **Tabelle erstellen** unter **Name** „Rechnungen“ ein.\
Ninox erzeugt den **Internen Namen** automatisch. Du kannst ihn ändern, empfohlen ist das aber nicht.\
Du kannst der Tabelle optional ein Symbol zuweisen.
{% endstep %}

{% step %}
**Ninox AI-Vorschläge deaktivieren**

Deaktiviere **Ninox AI Vorschläge**. In diesem Leitfaden definierst du die Tabellenstruktur manuell.
{% endstep %}

{% step %}
**Tabelle erstellen**

Klicke auf **Tabelle erstellen**.

Ninox fügt die Tabelle „Rechnungen“ zur App-Navigation hinzu und öffnet sie im App-Screen.

<figure><img src="/files/acMbrjNDvX0NK6pldLfB" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**Weitere Tabellen hinzufügen**

Klicke in der App-Navigation auf **+ Tabelle erstellen** und wiederhole die gleichen Schritte für:

* „Rechnungspositionen“
* „Produkte“
* „Kunden“

Diese vier Tabellen bilden die Grundlage deiner App zur Rechnungsverwaltung.
{% endstep %}

{% step %}
**Ergebnis prüfen**

Prüfe, ob alle vier Tabellen in der App-Navigation erscheinen.

Deine App sollte jetzt „Rechnungen“, „Rechnungspositionen“, „Produkte“ und „Kunden“ enthalten.

<figure><img src="/files/z9TSZZgtJ7vPG99xDR7e" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

## **Felder zu deinen Tabellen hinzufügen** <a href="#felder-zu-deinen-tabellen-hinzufuegen" id="felder-zu-deinen-tabellen-hinzufuegen"></a>

Füge zu jeder Tabelle die passenden Felder hinzu, damit deine App die richtigen Daten speichert. Zuerst siehst du den allgemeinen Ablauf. Danach erstellst du alle Felder aus den folgenden Listen.

{% stepper %}
{% step %}
**Felder hinzufügen starten**

Klicke in der Mitte des Screens auf **+ Feld hinzufügen**, um das erste Feld in der aktuellen Tabelle zu erstellen.\
Diesen Ablauf wiederholst du für alle vier Tabellen.
{% endstep %}

{% step %}
**Feld definieren**

Gib im Dialog **Feld hinzufügen** einen **Name** ein und wähle den passenden **Feldtyp**.

<figure><img src="/files/GjjMlc92X2XbIHoBDcLH" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**Weitere Felder hinzufügen**

Klicke auf **Weiteres Feld hinzufügen**, um weitere Felder hinzuzufügen, ohne den Dialog zu schließen.\
Fahre fort, bis du alle benötigten Felder für die aktuelle Tabelle hinzugefügt hast.
{% endstep %}

{% step %}
**Tabellenstruktur prüfen**

Wenn du mit **Feld erstellen** abschließt, zeigt Ninox die neuen Felder als Spalten in der Tabelle. So prüfst du schnell, ob die Struktur passt.

<figure><img src="/files/FGvSJHmXrYjUD3osbgDe" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

Wiederhole das, bis alle Tabellen die folgenden Felder enthalten. Füge die Felder zunächst nur hinzu. Um Werte für Auswahlfelder und Zahlenformate kümmerst du dich später.

{% columns %}
{% column %}
Tabelle „Rechnungen“:

* Rechnungsnummer (Text)
* Typ (Einzelauswahl)
* Erstellungsdatum (Datum)
* Status (Einzelauswahl)
* Zahlungsziel (Einzelauswahl)
* Notizen (Text)
  {% endcolumn %}

{% column %}
Tabelle „Rechnungspositionen“:

* Positionsnummer (Zahl)
* Produktbeschreibung (Text)
* Menge (Zahl)
* Einzelpreis (Zahl)
* MwSt.-Satz (Zahl)
  {% endcolumn %}
  {% endcolumns %}

{% columns %}
{% column %}
Tabelle „Produkte“:

* Produktname (Text)
* Produktnummer (Text)
* Kurzbeschreibung (Text)
* Detaillierte Informationen (Text)
* MwSt. (Einzelauswahl)
* Einkaufspreis (Zahl)
* Verkaufspreis (Zahl)
  {% endcolumn %}

{% column %}
Tabelle „Kunden“:

* Kundennummer (Text)
* Vollständiger Name (Text)
* Adresse (Mehrzeiliger Text)
* E-Mail (E-Mail)
* Foto (Datei)
  {% endcolumn %}
  {% endcolumns %}

### **Werte zu deinen Auswahlfeldern hinzufügen** <a href="#werte-zu-deinen-auswahlfeldern-hinzufuegen" id="werte-zu-deinen-auswahlfeldern-hinzufuegen"></a>

Nachdem du Tabellen und Felder erstellt hast, fügst du Werte zu deinen Auswahlfeldern hinzu.

{% stepper %}
{% step %}
**Formularansicht öffnen**

Klicke auf **+ Datensatz hinzufügen**, um die Formularansicht zu öffnen. Auswahlfelder erkennst du am kleinen Pfeil am Ende des Felds. In diesem Beispiel sind das „Typ“, „Zahlungsziel“ und „Status“.

<figure><img src="/files/Bc7edeQNo3SMiDNG2055" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**Schnelleinstellungen aufrufen**

Klicke auf dein erstes Auswahlfeld. Das Menü für die Schnelleinstellungen erscheint oberhalb des Felds.

<figure><img src="/files/UjP4rMdwbwhWm30kuVWk" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**Schnelleinstellungen öffnen**

Klicke auf das Zahnrad-Symbol <i class="fa-gear">:gear:</i>, um die Schnelleinstellungen zu öffnen.

<figure><img src="/files/Hl4yPj1IrANgiCTnCyt8" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**Erste Werte hinzufügen**

Gib unter **Optionen** deine ersten zwei Werte ein. Trage für das Feld „Typ“ zum Beispiel „Angebot“ und „Rechnung“ ein. Du kannst den Optionen optional ein Symbol und eine Farbe zuweisen.

<figure><img src="/files/8hlCFE8Zd5C7scG8AdXc" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**Weitere Werte hinzufügen**

Klicke für jede weitere Option auf **+ Wert hinzufügen** und gib die gewünschte Bezeichnung ein.
{% endstep %}

{% step %}
**Für alle Auswahlfelder wiederholen**

Fahre fort, bis alle Auswahlfelder in den jeweiligen Tabellen die folgenden Werte enthalten:

Tabelle „Rechnungen“:

* „Typ“: Angebot, Rechnung, Geliefert
* „Zahlungsziel“: 1 Woche, 2 Wochen, 30 Tage, 90 Tage
* „Status“: Neu, Gesendet, Bezahlt

Tabelle „Produkte“:

* „MwSt.“: 0%, 7%, 19%, 20%
  {% endstep %}

{% step %}
**Optionen in der Tabelle prüfen**

Klicke in der Tabelle auf ein Auswahlfeld, um seine Optionen anzuzeigen.

<figure><img src="/files/DPBW8Jq0kXAW0g9CjNC1" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

## **Verknüpfungen einrichten** <a href="#verknuepfungen-einrichten" id="verknuepfungen-einrichten"></a>

Jetzt verknüpfst du deine Tabellen, damit deine App mit zusammengehörigen Daten arbeitet.

In Ninox musst du keine Schlüssel manuell definieren. Erstelle stattdessen Felder vom Typ **Einen Datensatz verknüpfen** und wähle die passende Zieltabelle.

Erstelle diese Verknüpfungen:

* Füge in „Rechnungspositionen“ ein Feld „Rechnungen“ hinzu, das mit „Rechnungen“ verknüpft ist.
* Füge in „Rechnungspositionen“ ein Feld „Produkte“ hinzu, das mit „Produkte“ verknüpft ist.
* Füge in „Rechnungen“ ein Feld „Kunden“ hinzu, das mit „Kunden“ verknüpft ist.

Rechnungen und Produkte haben eine Viele-zu-viele-Verknüpfung. Eine Rechnung kann viele Produkte enthalten. Ein Produkt kann auf vielen Rechnungen vorkommen.\
Ninox unterstützt Eins-zu-viele-Verknüpfungen direkt. Für eine Viele-zu-viele-Verknüpfung nutzt du eine Zwischentabelle. Hier ist das die Tabelle „Rechnungspositionen“. Jede Rechnungsposition ist mit genau einer Rechnung und genau einem Produkt verknüpft und speichert zusätzlich Details wie Menge, Einzelpreis und MwSt.-Satz.

Dieses Modell hilft dir dabei:

* Produkte in vielen Rechnungen wiederzuverwenden.
* Rechnungsdaten stabil zu halten, auch wenn sich Produktdetails wie Name, Preis oder MwSt. später ändern.

So fügst du diese Verknüpfungsfelder hinzu:

{% stepper %}
{% step %}
**„Rechnungspositionen“ öffnen**

Wechsle zur Tabelle „Rechnungspositionen“ und klicke **Datensatz hinzufügen**. Die Formularansicht öffnet sich.
{% endstep %}

{% step %}
**Bereich für Verknüpfungen öffnen**

Klicke oben rechts auf das Zahnrad-Symbol <i class="fa-gear">:gear:</i>, um den Einstellungsbereich zu öffnen.\
Wähle den Tab **Formular** und scrolle dann zu **Beziehungen**.

<figure><img src="/files/7N3fVnB068qYRf7tBkIP" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**Verknüpfung zu „Rechnungen“ hinzufügen**

Ziehe das Feld **Einen Datensatz verknüpfen** in die Formularansicht.\
Wähle im Dialog **Einen Datensatz verknüpfen** die Zieltabelle „Rechnungen“.

<figure><img src="/files/i8ql1meui2GmLloSXJaI" alt=""><figcaption></figcaption></figure>

Das Verknüpfungsfeld „Rechnungen“ erscheint in der Formularansicht.
{% endstep %}

{% step %}
**Verknüpfung zu „Produkte“ hinzufügen**

Ziehe ein weiteres Feld **Einen Datensatz verknüpfen** in die Formularansicht.\
Wähle im Dialog **Einen Datensatz verknüpfen** die Zieltabelle „Produkte“.\
Das Verknüpfungsfeld „Produkte“ erscheint in der Formularansicht.

<figure><img src="/files/jv8zBPMJetBg2OaMG1LZ" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**„Rechnungen“ öffnen**

Wechsle zur Tabelle „Rechnungen“.
{% endstep %}

{% step %}
**Verknüpfung zu „Kunden“ hinzufügen**

Öffne im Tab **Formular** erneut den Bereich **Beziehungen**.\
Ziehe das Feld **Einen Datensatz verknüpfen** in die Formularansicht.\
Wähle im Dialog **Einen Datensatz verknüpfen** die Zieltabelle „Kunden“.\
Das Verknüpfungsfeld „Kunden“ erscheint in der Formularansicht.
{% endstep %}
{% endstepper %}

Jetzt sind die Tabellen verbunden:

* Jede **Rechnung** ist mit genau einem **Kunden** verknüpft.
* Jede **Rechnungsposition** ist mit genau einer **Rechnung** und genau einem **Produkt** verknüpft.

## **Datenmodell prüfen** <a href="#datenmodell-pruefen" id="datenmodell-pruefen"></a>

Jetzt ist ein guter Moment, dein Datenmodell zu prüfen.

{% stepper %}
{% step %}
**Datenmodell öffnen**

Wähle in der **App-Navigation** **Datenmodell**.
{% endstep %}

{% step %}
**Tabellen und Verknüpfungen prüfen**

Prüfe, ob du diese vier Tabellen siehst:

* „Rechnungen“
* „Rechnungspositionen“
* „Produkte“
* „Kunden“

Prüfe auch, ob die Linien zwischen den Tabellen zu den erstellten Verknüpfungen passen. Der Pfeil zeigt immer auf die Tabelle auf der Eins-Seite einer Eins-zu-viele-Verknüpfung.

<figure><img src="/files/rW28td5YTsjFuBzyHeN2" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ninox.com/getting-started/de/builder-getting-started/set-up-your-ninox-manually/your-first-app.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
