Eigene Felder, Tabellen und Import: Einrichtung und täglicher Einsatz
Eigene Felder, eigene Tabellen und der Kontaktimport liegen unter Einstellungen und Eigene Daten, und jede Änderung am Datenmodell verlangt das Recht settings.manage. Ein Feld erhält einmal seinen Datentyp, hängt danach an Projekten, Leads, Kunden, Nachunternehmern, Serviceanfragen oder Betriebsmitteln und wird in der Akte selbst von jedem mit records.write ausgefüllt. Eine eigene Tabelle führt eigene Zeilen. Der Import liest CSV, TXT oder XLSX, zeigt eine Vorschau und ordnet die Spalten den Kontaktfeldern zu.

Zugang zu Eigene Daten und die erweiterbaren Aktenarten
Der Bereich öffnet unter /settings/custom-data, und ohne settings.manage weist ihn dort jede Maske ab. Die Rolle Administrator trägt dieses Recht, die Rolle Bauleitung nicht. Das Ausfüllen eines Feldes in einer Akte ist davon getrennt und verlangt nur records.write, damit die Bauleitung in Felder schreibt, die das Büro festgelegt hat, ohne das Modell zu berühren. Klären Sie diese Trennung, bevor das erste Feld entsteht: Ein Pflichtfeld blockiert danach das Speichern der Akte für alle, die sie öffnen, bis jemand einen Wert einträgt.
Ein Feld gehört zu genau einer Aktenart. Zur Auswahl stehen Projekte, Leads mit Kalkulation und Angeboten, Kunden, Nachunternehmer, Serviceanfragen und Betriebsmittel; intern heißen sie project, lead, contact, supplier, ticket und equipment. Kunde, Projekt, Mitarbeiter und Nachunternehmer selbst bleiben feste Relationen auf ihre eigenen Stammdaten. Ein Zusatzfeld ergänzt diese Verbindungen, statt eine davon zu ersetzen, denn eine als Auswahlliste nachgebaute Relation kostet später jede Auswertung, die auf ihr aufsetzt.
Eigenes Feld anlegen: Datentyp, Pflichtfeld und Auswahlwerte
Feld anlegen fragt nach Aktenart, Name, Datentyp und, bei Auswahlliste oder Mehrfachauswahl, nach den Auswahlwerten mit einem Wert je Zeile. Zur Verfügung stehen einzeiliger und mehrzeiliger Text, Zahl, Währung, Prozent, Datum, Datum und Uhrzeit, E-Mail-Adresse, Telefonnummer, Webadresse, Ja/Nein sowie die beiden Auswahltypen. Aus dem Namen entsteht im Hintergrund ein stabiler Schlüssel, der je Aktenart eindeutig bleibt; ein späteres Umbenennen des Feldes lässt die bereits gespeicherten Werte deshalb unberührt.
Feld bearbeiten öffnet alles erneut: Aktenart, Name, Datentyp, Auswahlwerte, Pflichtfeld und Aktiv. Wer den Haken bei Aktiv entfernt, nimmt das Feld aus den Detailseiten, ohne einen einzigen Wert zu löschen, und das ist der vorsichtige Weg, ein Feld stillzulegen. Löschen entfernt nach Rückfrage das Feld samt aller zugehörigen Werte, und nichts holt sie zurück. Streichen Sie einen Auswahlwert, steht in älteren Akten nichts mehr in diesem Feld, bis jemand einen vorhandenen Wert auswählt.

Eigene Tabellen und ihre Datensätze im Arbeitsalltag
Eigene Tabelle anlegen nimmt Name, Beschreibung und bis zu fünfzig Spalten entgegen, jede mit eigenem Namen, eigenem Datentyp und, bei Auswahlspalten, mit ihren erlaubten Werten. Eine Auswahlspalte ohne einen einzigen Wert wird mit dem Hinweis abgewiesen, dass für Auswahlfelder mindestens ein Auswahlwert erforderlich ist. Danach steht die Tabelle rechts auf der Seite Eigene Daten mit ihrer Datensatzzahl, und Datensatz hinzufügen öffnet ein Formular genau dieser Spalten.
Vorhandene Zeilen werden an Ort und Stelle bearbeitet: Jede Zeile ist ein eigenes Formular mit eigener Schaltfläche zum Speichern, daneben fragt das Löschen zuerst nach. Für jede Zelle gelten dieselben Typregeln wie für ein Feld in einer Akte, eine Prozentspalte nimmt also nur Werte zwischen 0 und 100 an, und eine Mehrfachauswahl verwirft stillschweigend alles, was nicht in ihrer Werteliste steht. Wird die Tabelle gelöscht, verschwinden ihre Datensätze mit ihr, und die Rückfrage sagt das vorher.
Wer das Datenmodell ändern darf und was im Protokoll landet
Jede Modelländerung schreibt ihr eigenes Protokollereignis: custom_field.created, custom_field.updated und custom_field.deleted für Felder, custom_data_set.created und custom_data_set.deleted für Tabellen, custom_data_record.updated und custom_data_record.deleted für deren Zeilen. Das Ausfüllen der Zusatzfelder einer Akte erzeugt custom_fields.values_updated mit Aktenart und Kennung, ein abgeschlossener Kontaktimport erzeugt contacts.imported mit der Zahl der neuen und der aktualisierten Kontakte. Jedes Ereignis trägt Benutzer und Herkunftsadresse.
Neben dem Recht wird immer die Zugehörigkeit geprüft. Ein Feld, eine Tabelle oder eine Zeile einer fremden Firma beantwortet die Anfrage mit 404 statt mit 403, und die Werteroute löst die Akte über deren eigenen Gültigkeitsbereich auf, bei Projekten also einschließlich der Freigabeliste, an die eine eingeschränkte Person gebunden ist. Über ein Zusatzfeld erreicht deshalb niemand eine Baustelle, die ihm die Navigation verschließt, und eine geratene Kennung in der Adresszeile führt ins Leere.

Kontaktimport aus CSV und XLSX in die Kundenliste
Kontakte importieren liegt unter /settings/import und verlangt records.write. Laden Sie eine CSV-, TXT- oder XLSX-Datei von höchstens 10 MB hoch, deren erste Zeile die Spaltenüberschriften enthält. Der Leser erkennt Komma, Semikolon und Tabulator selbst, wandelt Windows-1252 nach UTF-8 und übernimmt bis zu 2000 Zeilen; aus einer XLSX-Mappe liest er ausschließlich das erste Tabellenblatt. Die Vorschau zeigt die ersten Zeilen der Datei, darunter steht das Formular für die Zuordnung.
Pflicht ist allein die Zuordnung von Name oder Firma; E-Mail, Telefon, Straße, Postleitzahl und Ort bleiben freiwillig, und die Auswahlfelder schlagen passende Überschriften bereits vor. Beim Import überspringt die Software Zeilen ohne Namen, aktualisiert einen unter derselben E-Mail-Adresse bekannten Kontakt und legt alles Übrige als aktiven Kunden mit der nächsten KD-Nummer und dem Länderkennzeichen der Firma an. Die Meldung nennt beide Zahlen, danach öffnet die Kundenliste.
Rechenbeispiel: eigenes Feld und Kontaktimport bei Cedar Ridge Homes
Bei Cedar Ridge Homes sollen Innenausbaubudgets sichtbar in der Baustellenakte stehen. Das Büro legt darum für die Aktenart Projekte ein Währungsfeld namens Interior allowance an, dazu eine Auswahlliste Warranty package, deren Werte Standard und Extended je eine eigene Zeile bekommen. In der Akte von Willow Creek Lot 27 trägt die Koordinatorin 14.500,00 Dollar ein und wählt Extended; gespeichert wird ohne Widerstand, weil beide Felder freiwillig bleiben. Ein Prozentfeld Retainage rate an Nachunternehmern nimmt die 10 an, den Tippfehler 140 dagegen nicht, denn oberhalb von hundert endet der Wertebereich. Als das Feld später Design allowance heißt, bleiben die 14.500,00 unberührt stehen, weil der beim Anlegen erzeugte Schlüssel unverändert weiterlebt.
Nach der Frühjahrsmesse liegt die Datei home-show-leads.csv mit einer Kopfzeile und vierundsiebzig Kontaktzeilen bereit, weit unter der Grenze von zweitausend Zeilen. Die Vorschau erkennt das Semikolon als Trennzeichen von allein, zugeordnet werden Name, E-Mail und Telefon. Drei Zeilen ohne Namen überspringt der Lauf, elf Adressen stecken schon in der Kundenliste und aktualisieren die vorhandenen Datensätze, die übrigen sechzig werden aktive Kunden mit den nächsten freien Kundennummern. Die Abschlussmeldung nennt sechzig neue und elf aktualisierte Kontakte, im Protokoll steht contacts.imported mit genau diesen beiden Zahlen, und ein erneuter Lauf derselben Datei würde nur wieder aktualisieren, statt die Liste zu verdoppeln.
Eigene Felder, Tabellen und Import: vor dem Speichern prüfen
Jede Maske unter Einstellungen und Eigene Daten verlangt settings.manage; das Ausfüllen der Zusatzfelder in einer Akte verlangt stattdessen records.write.
Eine Auswahlliste oder Mehrfachauswahl lässt sich ohne mindestens einen hinterlegten Auswahlwert nicht speichern.
Ein Prozentfeld nimmt nur Werte zwischen 0 und 100 an, und eine Mehrfachauswahl verwirft Einträge außerhalb ihrer Werteliste.
Das Löschen eines Feldes entfernt alle gespeicherten Werte, das Löschen einer eigenen Tabelle alle ihre Datensätze.
Vor dem Absenden der Zuordnung schreibt der Import nichts; die Vorschau liegt allein in der Sitzung.
Eigene Felder, Tabellen und Import: typische Fehler
Ein nachträglich als Pflichtfeld markiertes Feld blockiert das nächste Speichern jeder bestehenden Akte. Legen Sie das Feld zuerst inaktiv an, tragen Sie die Altbestände nach und setzen Sie Pflichtfeld und Aktiv anschließend gemeinsam.
Liegen die Daten einer XLSX-Mappe auf dem zweiten Tabellenblatt, kommt der Import leer zurück, weil nur das erste gelesen wird. Verschieben Sie das Blatt nach vorn oder exportieren Sie es als CSV.
Eine Liste ohne E-Mail-Spalte erzeugt für jede Zeile eine neue Kundennummer, ein zweiter Lauf derselben Datei verdoppelt also die Kontakte. Ordnen Sie die E-Mail-Spalte zu, sobald die Quelle eine hat.
Die Produktseite beschreibt dasselbe Modul aus betrieblicher Sicht, mit den Entscheidungen, die es trägt, und den Modulen, mit denen es verbunden ist.
Zur ProduktseiteHäufige Fragen
Kann eine Kunden- oder Projektbeziehung durch ein eigenes Feld ersetzt werden?
Nein. Kernbeziehungen bleiben feste, mandantengefilterte Stammdatensätze.
Welche Kontaktformate lassen sich importieren?
Der Import liest CSV, TXT und XLSX und zeigt vor der Zuordnung eine Vorschau.
Diesen Bereich für Ihre Firma einrichten?
Beschreiben Sie die Reihenfolge, die Sie heute einhalten, und das Ergebnis, das am Ende stehen soll. Wir gehen die Einstellungen durch, die dorthin führen.