Konfigurierbarer Zeitraum innerhalb dessen Lieferscheine wieder rückgelagert werden können
orderitems um Attribut optional erweitert
Optionale orderitems werden nicht in den Belegsumme aufaddiertAnpassung für Order-Controller und Druckvorlagen-SystemWeitere Anwender-Details s.a. Changelog
Zeiterfassung: Konvertierung: Artikel/Projekt: override- und default-Parameter
Zeiterfassung: Konvertierung: POD-Update und Kosmetik
Zeiterfassung: Konvertierung: Einträge ohne Dauer nicht bearbeiten
Zeiterfassung: Konvertierung: geliefert/gelieferte Mengen in Auftrag anpassen
Zeiterfassung: Konvertierung: base_qty in Einheit des Artikels umwandeln
Zeiterfassung: Bei Zeitanzeige auch Varianten mit Datum und Dauer berücksichtigen
Zeiterfassung: Auftrag im Bericht anzeigen
Zeiterfassung: Fremdschlüssel für Auftrag: DB-Upgrade und Rose
Zeiterfassung: Konvertierung: berücksichtigen, dass Startzeit fehlen kann
Zeiterfassung: Datum/Dauer statt Start/Ende wählbar (Benutzereinstellung)
Zeiterfassung: Erweiterung f. Datum und Dauer: DB-Upgrade/Rose; Berichtsanzeige
Zeiterfassung: Konvertierung: Position aus zugehörigem Auftrag
Zeiterfassung: Parameter f. Konvertierung mit link_project/related order
Zeiterfassung: Parameter f. Konvertierung in params übergeben
Zeiterfassung: Lieferschein new_from_time_recording: auch base_qty setzen
Zeiterfassung: Lieferschein new_from_time_recording: undef-Warnung vermeiden
Zeiterfassung: Lieferschein new_from_time_recording: Kosmetik/Typo im POD
S:D:DeliveryOrder: List::Util notall wird nicht (mehr) benutzt
Abhängig vom Rundungsverfahren minuten- oder viertelstundengenau abrechnen
Einträge am selben Tag nicht erneut in die Beschreibung aufnehmen
CTR: Lieferscheine nicht schreibschützen
Ausgelagerte Lieferscheine sind schreibgeschützt.Weder Korrekturen der Lieferposition, Rechtschreibung oderdas Hinzufügen von weiteren Metadaten ist möglich.Auslagern oder Schliessen dürfen optionale Parameter sein, der...
Zeiterfassung: Lieferschein new_from_time_recording
Zeiterfassung: Sortierung und Ordnung für Artikel
Zeiterfassung: Auswählbare Artikel: DB-Upgrade und Rose
Zeiterfassung: Keine Zeiterfassungstypen mehr
time-recording: Boolean für abgerechnete und an die LohnBu gemeldete Zeiten
Zeiterfassung: Controller
Zeiterfassung: Sortierung und Ordnung für Typen
Zeiterfassung: Tabellen und Rose
Artikel-BDVs unter Basisdaten anzeigen, falls konfiguriert
Die benutzerdefinierten Variablen für Artikel können konfigurierbar im Tab Basisdatenangezeigt werden
WebshopApi: Controller/ShopOrder.pm überarbeitet
Mahnungen: merken, ob die originale Rechnung gedruckt wurde: DB+Rose
Artikelstamm: "Erneuert am" aus parts_price_history holen …
… und in "Preisänderung am" umbenennen.
Das ganze ist mit Rose gelöst und holt die Preise aus parts_price_history.Das hat den Nachteil, dass im Artikelbericht nicht nach der Preisanpassungsortiert werden kann und es wahrscheinlich nicht performant ist....
Mandantenkonfig: Lieferdatum bei VK-Auftrag und Gültigsdatum bei VK-Angebot
Anstatt diese beiden Werte zu berechnen, gibt es die Möglichkeitdiese konfigurativ gar nicht zu setzen. Hoffentlich letzmalig auchfür die OE.pm implementiert.
SL/DB/Helper/ThumbnailCreator.pm wird nicht benutzt
siehe SL/DB/Controller/ThumbnailCreator.pm
Mahnungen: Mit Rechnung verknüpfen
Erstellte Mahnungen werden mit den gemahnten Rechnungen verknüpft undunter "Verknüpfte Belege" gelistet.Außerdem werden Rechnungen über Mahnkosten wiederum zu den zugehörigenMahnungen verknüpft.
impl. #7440
DBUtils: Prüfung auf Trigram-Erweiterung aus S/D/ShopOrder in DBUtils verschoben
Order-Controller: Workflow Lieferantenauftrag → Preisanfrage
Order-Controller: Workflow Verkaufsauftrag → Verkaufsangebot
SL::DB::Order: überflüssigen Code entfernt
Kommentar zum Payment-Helper
Außer in den Testfällen wird der Helper nicht mit einemnegativen Amount aufgerufen. Im Helper befindet sich etwaszuviel automagie. Eigentlich braucht man den Param amount nicht,wird aber überall in kivi übergeben. Eigentlich darf der negativ...
Kunden/Lieferanten: UStId/Steuernr. eindeutig: Mandantenkonfiguration
BT: Punkte. Copy & Paste Fehler von a695c behoben
open_amount mit open_amount vergleichen
S:D:Helper:TransNumberGenerator: Warnung vermeiden.
Getriggert durch Tests (./t/wh/inventory.t). Tritt aber nur auf, wennder Nummerkreis noch leer ist.
Dialogbuchungen um Boolean imported erweitert.
Buchungen mit diesem Boolean können beim DATEV-Exportgefiltert werden. Anwendungsfall sind bspw. in DATEVerstellte Lohnbuchungen, die dann in kivi importiert werden
GLTransaction:: add_chart_booking um get_active_taxkey erweitert
Der Aufruf von add_chart_booking muss sich nicht mehrdarum kümmern welcher Steuerschlüssel gesetzt sein muss, wenner einfach nur den vorkonfigurierten Steuerschlüssel setzen will.Dementsprechend ist param{tax_id} kein Pflichtparameter mehr....
Merge branch 'f-factur-x-und-xrechnung'
Kontoauszug verbuchen: Verkaufsgutschriften nicht negativ bewerten
Punkte für wrong_sign höher gesetzt und beide Gutschriftentypenjetzt sauber abgegrenzt (credit_note und negative_ap_transaction)
BankTransaction: Treffer für Kreditorengutschriften erhöhen
negativ_ap_transaction sollte keine Strafpunkte mehr fürsVorzeichen erhalten. TODO: Verkaufs-Gutschriften prüfen
S/D/Order: new_from_multi: Leistungsdatum nur übernehmen, wenn überall gleich.
Für den Workflow, aus der Auftrags-Liste mehrere Aufträge zu einemzusammenzufasssen.
Kreditorenbuchungen: Zahlungsbedingungen in Belegvorlagen
Merge branch '2020-leistungsdatum'
SL::DB::Invoice->new_from: auch Leistungsdatum (tax_point) übernehmen
Preisanfrage/Aufträge: dort, wo es ein Liefertermin gibt, diesen f. Steuer nehmen
Auftrags-Controller: Leistungsdatum bei Workflow berücksichtigen
Factur-X/ZUGFeRD: Unterstütztung für Profil »XRechnung 2.0.0«
Factur-X/ZUGFeRD: in »Factur-X/ZUGFeRD« umbenannt
Mit ZUGFeRD-Standard Version 2.1.1 ist der offizielle Name desEU-Standards schlicht Factur-X. ZUGFeRD ist nur noch der toleriertealte Name.
In der Oberfläche ist nun überall von »Factur-X/ZUGFeRD« die Rede....
Factur-X/ZUGFeRD: neues Feld »Unsere Leitweg-ID beim Kunden« in Kundenstammdaten
Wird für XRechnungs-Profil von ZUGFeRD benötigt.
Factur-X/ZUGFeRD: UStID-Nr des Kunden nur ausgeben, wenn tatsächlich angegeben
Factur-X/ZUGFeRD: Verkäufernamen aus Employee-Objekt nehmen
Wichtig für Personen, die inzwischen aus der Auth-Datenbank gelöschtwurden. Für die existiert der Employee-Eintrag weiterhin, und von dortkann man den Namen beziehen.
SL::DB::Object: Methode update_collections für One-To-Many-Relationships
Der große Nachteil einer direkten Zuweisung wiez.B. `$customer->shiptos($::form->{shiptos} // [])` ist, dass Roseerst mal alle Objekte der Relationship löscht (auch wenn die neuen...
AttrDuration für minutes: _in_hours und _in_hours_as_number
Generierte Helfer-Methoden für Attribute, die normalerweise Minutenspeichern. Die Funktion `attribute_in_hours` rechnet die Minuten inStunden um (beim Lesen) und umgekehrt (beim Schreiben).
`attribute_in_hours_as_number` formatiert zusätzlich den Wert in...
CsvImport: dateformat Unterstützung
default ist auf dem dateformat des Benutzers
Leistungsdatum: Lieferscheine (nur als Hidden)
Leistungsdatum: wiederkehrende Rechnungen
Leistungsdatum: DATEV, Debitoren-/Kreditoren-/Dialogbuchungen
Einkauf/Verkauf: Feld »Leistungsdatum« für Steuerberechnung
SL::DB::Employee: Warnung vermeiden
VK/EK-Lieferschein: Warnung beim Workflow zur RG, falls nicht aus/eingelagert
In Mandantenkonfig einschaltbar.
Order->new from poso/sopo keine quonumber übernehmen
Im Lieferantenauftrag macht es keinen Sinn, dass dieVerkaufs-Angebotsnummer als Anfragenummer übernommen wird.
S:D:OrderItem: nicht benutzte Module nicht inkludieren
SEPA-Überweisungen: Zahlungsbedingungen f. Skonto aus EK-Rechnungen übernehmen …
… und nicht aus den Lieferanten-Stammdaten.
Hier könnte es im VK und EK noch eine Art fallback auf die Zahlungsbedingungenaus den Kunden-/Lieferanten-Stammdaten geben - so dass diese zusätzlich als...
Auslagern über VK-Rechnung, Erweiterung um Abgleich Seriennummer == Charge
Option in Mandantenkonfiguration->Lager
S/D/Order: before_save-hooks f. indiv. Lieferadressen, um …
- keine leeren zu speichern- das Modul immer auf 'OE' zu setzen
S/D/Shipto: Methode is_empty, um auf leere Lieferadresse zu prüfen
FlattenToForm: individuelle Lieferadresse und CVars berücksichtigen.
Mandanteneinstellung: Projekt zum Auftrag erzeugen auch für Order-Controller
Skontovorschläge: ungültige Steuer-Zeilen aus acc_trans ignorieren
Buchungen in acc_trans, die das Steuer-Konto ansprechen (also eines,bei dem chart_link AR_tax oder AP_tax enthält), haben oftmals eineungültige Kombination aus taxkey & tax_id (ungültig im Sinne von:...
Auftrags-Controller: Wechselkurs pro Beleg …
- Wechselkurs wird pro Beleg gespeichert- Wechselkurs ist immer änderbar- vorausgefüllt aus "alter" Tages-Wechselkurstabelle
Bezieht sich auch auf #135Refs #135
Wechselkurs pro Angebot/Auftrag: legacy-Methode exchangerate umbenannt
Wechselkurs pro Angebot/Auftrag: DB-Upgrade-Skript + Rose
exchangerate direkt in Tabelle oe ablegen.
Die Implementierung, um bei Angeboten/Aufträgen den Wechselkurs pro Belegzu speichern folgt in weiteren commits und wird erstmal nur für den neuenAuftrags-Controller umgesetzt....
S:D:Order: kein has_customervendor in kivitendo
Anpassung nach cherry-picks aus odyn
Auftragsschnellerfassung: Korrekturen für Währung/Wechselkurs
- Feld auf disabled setzen wenn nicht gebraucht- _as_null_number damit undef nicht zu 0 wird- Übersetzte Fehlermeldungen
ticket #9491
(cherry picked from commit c581e4685a217bdd5b73380b1f808037a473dd9f)...
Auftragsschnellerfassung: Währung und Wechselkurs definierbar
impl. #9491
(cherry picked from commit 6cdc5a4a33df4530ce4e141151e83138320e27a2)(cherry pick von odyn)
Rose-Attr-Helfer: _as_null_number
von odyn abgeguckt, aber nicht mit SL::Helper::Number implementiert(gibt es in kivitendo nicht)siehe auch odyn: commit b4177a76db52e94795314b527774f515fd8ee42f
SL::DB::ShopOrder - in convert_to_sales_order transdate übergeben
Um ein bestimmtes Datum zu forcieren, nützlich für Tests.
Außerdem Umstellung auf hartkodiertes Testjahr 2019 in 2020.
SL::DB::Invoice new_from - param transdate übergeben
Insbesondere bei Tests nützlich, um das Defaultverhalten zuüberschreiben.
Payment Helper - Logikfehler bei Parameter transdate
Es war eine Klammer falsch gesetzt, daher wurden nie DateTime-Objekteerkannt und man mußte das Datum immer als formatierten String übergeben.Jetzt sollte es auch wieder mit DateTime-Objekten funktionieren.
Merge remote-tracking branch 'origin/f-leistungsdatum'
ZUGFeRD: Gesamtsteuer nach PTC-Strukturänderung richtig ermitteln
Chart cache_taxkeys - startdate korrekt abfragen
Ansonsten werden Buchungen am 1.7.2020 (= startdate) nicht richtigzugeordnet.
S:D:Order: deliverydate Methode für PTC
PTC: Steuer nach Lieferdatum oder Rechnungsdatum
sollte nur für Rechnungen/Gutschriften gelten, nicht für Aufträge.
Lieferdatum in Dialogbuchung: DB-Upgrade + Rose
PTC: Rückgabehash taxes in taxes_by_chart_id umbenannt
Damit ist klarer, was zu erwarten ist
ZUGFeRD: Steuerwerte pro Steuer, nicht pro Steuerkonto ausweisen
PTC: Steuern auch nach Steuer-Id zurückgeben
Bisher kann der PTC die berechntete Steuer pro Steuerkonto zurückgeben.Allerdings kann kivi so konfiguriert sein, dass verschiedene Steuernauf ein Konto gebucht werden. Diese lassen sich dann durch die Rückgabe...
Finanzübersicht: Enddatum bei wied. Rechnungen ohne automatische Verlängerung gefixt
Ist eine wR gekündigt, so darf ihr Betrag nur bis zum Enddatumberücksichtigt werden. Das gleiche gilt aber, wenn eine Rechnung zwarnoch nicht gekündigt ist, wohl aber ein Enddatum aber keine...