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
- Recht (
report/integrityfixtaxhu). - Filterung der Schlüssel (Rechnungs-ID und Seite); leer: „Wählen Sie mindestens eine korrigierbare Zeile (Steuernummer-Ergänzung).“
- Inhaltsbereich aus dem zentralen Filter.
fixPartnerTaxFull()des Rechnungsmodells prüft im Moment der Korrektur dieselbe Bedingung erneut, schreibt nur dann und protokolliert (alt → neu).- 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/integritylist: Lesen des Berichts.report/integrityfixtaxhu(Basispaket): Korrektur. Das Listenrecht erlaubt kein Schreiben.- Inhaltsbereich: nach dem Kunden der Rechnung.