Partner anlegen und Datenblatt – Systembeschreibung
Die Schritte beim Speichern eines Partners: Prüfung, Kontingent, Mandantenzuordnung, Personen und Unterzeichner, Steuerbehörden- und Integrationsdaten, Bankkonten; die Kachel-Endpunkte.
Anlegen und Ändern eines Partners laufen über einen Speicher-Endpunkt; die Kacheln (Adresse, Bankkonto, Person, Speicherregel) nutzen eigene AJAX-Endpunkte. Das Speichern leitet nicht weiter und liefert die neue ID.
Datenmodell
Die Tabellennamen tragen in der Datenbank das eigene Präfix der Installation.
| Tabelle | Rolle |
|---|---|
company | Partner |
permission_scope | Inhaltsrecht des Anlegenden |
subscription_account | Heimmandant des Benutzers |
person_company | Personen, Rolle, Unterzeichnerkennzeichen |
nav | technischer Benutzer und Schlüssel der Steuerbehörde |
user_api_key, company_auth | QUiCK-API-Schlüssel |
foxpost | FoxPost-Konto |
company_bankaccount, bankaccount | Bankkonten |
company_objstorage | Speicherregel je Objekttyp (local / gdrive / onedrive) |
Speicherschritte
- Recht:
canSave(company, id)– bei 0add(ohneadd-Zeile entscheidetedit), bei bestehendeneditundcompanyInScope(). - Prüfung: Name 1–255; exakte Dublettenprüfung auf den 8-stelligen Steuernummernstamm (
getCompanyIdByTaxhu8); statistische Nummer leer oder 17 Ziffern. - Kontingent bei neuem Partner:
Dlbtquota::checkAction(user, company, add);need_credit/need_planliefert Fehler mit Angebotsdaten.addCompany(), Inhaltsrecht für den Anlegenden (grantCompanyScopeToCreator); mit Heimmandant kommt das neue Unternehmen zu dessen Abonnementinhaber (assignToOwner), sonst wird es Heimmandant (attachUserToClient); nach erfolgreichem Speichern Kontingentverbrauch (consumeAction). - Personen (mit
masterdata/personedit): nur Hinzufügen; Rollen, dann der gesamte Unterzeichnerkreis in einem Schritt (setCompanySignatories). - Mit
navapi: Steuerbehördenzeile (Löschen + Neuschreiben, nur mit technischem Benutzer), QUiCK-API-Schlüssel (leer = unverändert, mit eigenem Kennzeichen löschbar), FoxPost-Konto. - Bankkonten:
saveCompanyBankaccounts, normalisiert. Datenbankfehler alsDB: ….
Formular-Endpunkte
checkduplicate(edit): exakter Steuernummernstamm; Name: aktives Unternehmen gleichen Namens, nur Warnung.autocomplete(list),companygroup(list, bereichsgefiltert),companygroupadd(edit).addresslist/addresssave/addressdelete(list/edit, Bereich; Prüfung von Postleitzahl und Land).bankidentify(edit): Normalisierung und Bankermittlung (GIRO / openiban);bankaccounts(list);syncAddresses,syncBankaccounts(edit).persontile(list+ Personen-list; bearbeitbar mit Personen-edit);statements(Auszugsdokumente, max. 50).objstoragelist/objstoragesave/objstoragedelete(edit+ Bereich); die alten Drive- und lokalen Ordnerrouten leiten nur an die kanonischen Speicher-Endpunkte der Dokumentenzentrale weiter.
Berechtigungen
Funktionsrechte: add (nicht im Katalog; Kopfschaltfläche), edit, navapi; verwandt: masterdata/person edit, mail/notify list, document/document list. taxpayerupdate prüft den Bereich nicht.