feat: enhance forms with decimal formatting and validation

- Updated CustomersPage.vue to use decimalString for standard discount percent.
- Enhanced IncomingInvoicesPage.vue to format item quantities, unit prices, and tax rates using decimalString.
- Improved ItemsPage.vue with new supplier price management and decimal formatting for prices.
- Modified OrganizationSetupPage.vue to use a dropdown for default tax rates and ensure numeric input for payment days.
- Updated OutgoingInvoicesPage.vue to apply decimal formatting for customer discounts and item details.
- Enhanced PriceImportsPage.vue to include additional fields in the import format.
- Improved PriceRulesPage.vue to use decimal input for markup percentages.
- Updated QuotesPage.vue to apply decimal formatting for customer discounts and item details.
- Enhanced SuppliersPage.vue to use decimal input for standard discount percent.
- Added a new SQL migration to set default unit for items to 'Stck'.
- Introduced format.ts for centralized decimal and currency formatting utilities.
This commit is contained in:
Torsten Schulz (local)
2026-06-03 09:25:10 +02:00
parent 0e539710c0
commit d5b6f39177
22 changed files with 1420 additions and 183 deletions

View File

@@ -809,8 +809,12 @@ Geplante Daten:
- Einkaufspreis
- Verkaufspreis
- Steuersatz
- Lieferant
- Herstellerartikelnummer
- Hersteller-Code / Herstellerartikelnummer
- mehrere Lieferantenreferenzen je Artikel
- externe Artikelnummer je Lieferant
- Einkaufspreis je Lieferant und externer Artikelnummer
- Währung je Lieferantenpreis
- Kennzeichnung bevorzugter Lieferant
- EAN/GTIN
- Preisgültigkeit
- Lagerbestand
@@ -823,6 +827,8 @@ Preisberechnung:
- Einkaufspreis aus Quelle übernehmen
- Einkaufspreis mal Multiplikator
- Staffelpreise
- günstigsten aktiven Lieferantenpreis ermitteln
- bevorzugten Lieferanten optional gegenüber dem günstigsten Preis priorisieren
- kundenspezifische Preise
- kundenbezogener Standardrabatt
- positionsbezogener Sonderpreis oder Sonderrabatt
@@ -1021,6 +1027,18 @@ Import-Pipeline:
8. Verkaufspreise neu berechnen
9. betroffene Clients per WebSocket informieren
Preislistenimporte berücksichtigen optional:
- Hersteller-Code (`manufacturer_code`)
- Lieferantennummer (`supplier_number`)
- externe Lieferanten-Artikelnummer (`supplier_item_number`)
- Lieferanten-Einkaufspreis (`purchase_price`)
- Währung (`currency`)
Wenn Lieferantennummer und externe Artikelnummer im Import vorhanden sind, wird
neben dem internen Artikel eine Lieferantenpreis-Verknüpfung aktualisiert. Die
interne Artikelnummer bleibt unabhängig davon der primäre Objekt-Identifier.
### Frei konfigurierbare Preislisten
Da Lieferantenpreislisten frei konfigurierbar sein sollen, braucht das System