Ergänzung der Steuernummer: beim Einfügen und per Integritätskorrektur

Ergänzung der Kunden- und Lieferanten-Steuernummer von Rechnungen aus den Partner-Stammdaten auf dem gemeinsamen Einfügeweg, der Treffer der Integritätsprüfung, der Korrektur-Endpunkt und die Rechte.

Zwei Wege ergänzen eine 8-stellige Steuernummer zur 11-stelligen Nummer der Partner-Stammdaten: das gemeinsame Einfügen jeder neuen Rechnung und der Korrektur-Endpunkt des Integritätsberichts für alte Rechnungen. Beide wenden dieselbe sichere Bedingung an.

Neue Rechnung

Dlbtinvoice::completeTaxhuFromMaster() läuft auf dem gemeinsamen Weg addInvoice() für jede Quelle (NAV, Rechnungsbild, E-Mail-Aufgabe, manuell, geplant). Hat die Kunden- oder Lieferanten-Steuernummer genau 8 Ziffern und die Stammdaten des zugeordneten Partners 11 Ziffern mit denselben ersten 8, kommt die vollständige Form (zum Beispiel 12345678-1-42) auf die Rechnung. Leere, abweichende oder bereits vollständige Werte bleiben unberührt; bei Fehlern bleibt das Original und der Fehler wird protokolliert.

Integritätsprüfung

  • Prüfcode: partner_taxhu_full. Treffer: eine alte Rechnung, bei der auf Kunden- oder Lieferantenseite nur die Stammnummer steht, die Partner-Stammdaten aber die vollständige Nummer mit denselben ersten 8 Ziffern enthalten; gelöschte Rechnungen (Status 9) ausgenommen, im Inhaltsbereich.
  • Die Zeile zeigt Betrag und einen Link zum Öffnen der Rechnung (mit Rechnungsrecht list).
  • Planung: eine tägliche Vorlage um 01:00 in der Warteschlange der geplanten Aufgaben (integrity_check).

Korrektur-Endpunkt

  1. Recht (report/integrity fixtaxhu).
  2. Filterung der Schlüssel (Rechnungs-ID und Seite); leer: „Wählen Sie mindestens eine korrigierbare Zeile (Steuernummer-Ergänzung).“
  3. Inhaltsbereich aus dem zentralen Filter.
  4. fixPartnerTaxFull() des Rechnungsmodells prüft im Moment der Korrektur dieselbe Bedingung erneut, schreibt nur dann und protokolliert (alt → neu).
  5. Antwort: Zahl der ergänzten und übersprungenen Zeilen oder „Nichts geändert …“.

Daten

Die Tabellennamen tragen in der Datenbank das eigene Präfix der Installation. Geschriebene Felder: invoice.customer_taxhu, invoice.supplier_taxhu (zuständig: Rechnungsmodell; Einfügen nur über addInvoice()). Gelesen: company.company_taxhu. Prüfstamm: integrity_check; Planung: cron_queue.

Berechtigungen

  • report/integrity list: Lesen des Berichts.
  • report/integrity fixtaxhu (Basispaket): Korrektur. Das Listenrecht erlaubt kein Schreiben.
  • Inhaltsbereich: nach dem Kunden der Rechnung.