Steuernummernprüfung – Systembeschreibung

Endpunkte der Steuerbehörden- und VIES-Prüfung, das Prüfprotokoll, der kontextabhängige Prüfcache, die Sammelprüfung und der Bankkontoimport.

Das Partnermodul führt Prüfungen bei der Steuerbehörde (queryTaxpayer XML) und in VIES durch, protokolliert das Ergebnis als Auditzeile und schreibt es in die Gültigkeit des Partners. Zusatzendpunkte übernehmen Adressen und Bankkonten aus Rechnungen.

Datenmodell

Die Tabellennamen tragen in der Datenbank das eigene Präfix der Installation.

TabelleRolle
company_validationPrüfprotokoll (z. B. check_type = nav_taxpayer)
company, company_address, addressGültigkeit, Adressen
invoice_ctrlRechnungssteuerdaten (Quelle für Adressen und Bankkonten)
bankaccount, company_bankaccountBankkonten

Endpunkte

  1. querytaxpayer: Abfrage bei der Steuerbehörde mit 8-stelliger Steuernummer (Modell nav/xml); Zugangsdaten aus der Steuerbehördenzeile des Unternehmens mit fester ID 10; liefert Name, Kurzname, vollständige Steuernummer, Gruppen-MwSt.-ID, Adressen, Gültigkeit; bei Unternehmen im Bereich wird die Gültigkeit gespeichert (updateValidity) und eine Auditzeile geschrieben.
  2. queryvies: VIES-Prüfung per cURL; Fehler bei Nichterreichbarkeit.
  3. taxpayercompare: feldweiser Vergleich (Name, Kurzname, Steuernummer, Sitz) mit der URL von taxpayerupdate; taxpayerupdate (edit): überschreibt die gewählten Felder, optional Einfügen des Sitzes.
  4. validate: Steuernummer und optional VIES mit Kontext (manual/cron/pre_invoice/pre_contract/pre_bank); außerhalb des manuellen Kontexts dient eine frühere gültige Prüfung als Cache; Audit, Gültigkeit, Adressabgleich (syncCompanyAddresses).
  5. revalidatestale: info=1 → stabile Liste ungeprüfter / ungültiger Partner (findStaleCompanies); POST ids[] → ein Stapel (revalidateIds, manual); die Bibliothek beschränkt auf den Bereich.
  6. importinvoicebanks: info=1 → Zahl der zu verarbeitenden Zeilen; sonst Stapel mit start/limit (Standard 200) über importInvoiceBankaccounts() für Lieferanten im Bereich.
  7. syncinvoice: syncFromInvoiceCtrl() fügt Adressen hinzu und verknüpft normalisierte, deduplizierte Bankkonten (saveBankaccountForCompany); Zusammenfassung.

Berechtigungen

  • Funktionsrechte: taxpayer, revalidate, import_banks, sync_invoice; Bereich: validate, das Schreiben der Gültigkeit und syncinvoice mit companyInScope.
  • Voraussetzung: technischer Benutzer der Steuerbehörde; ausgehendes HTTP für VIES.

Bekannte Einschränkungen

  • Der Rumpf der Sammelaktualisierung (Endpunkt taxpayer) ist auskommentiert; er meldet stets Erfolg mit dem Suffix „- teszt“.
  • taxpayercompare und taxpayerupdate prüfen den Bereich nicht.
  • Die Zugangsdaten stammen von einer festen ID.