Parameter richtig übernehmen
Logische Kosmetik, für mich besser lesbar
falls $self->{guids} nicht leer ist, anschließend prüfen, obdieser ein nicht leerer hashref ist
check_all_bookings_have_documents: Prüfung zu strikt für GL
GL Buchungen können manchmal nur durchlaufende Posten oderGeldtransfer sein, die Buchungen brauchen nicht zusätzlich miteinem Beleg dokumentiert werden. POD korrigiert
Dokumente unabhängig von Umlaufkonten raussuchen
keinen Fehler provozieren, falls der guid hash eh leer ist
kosmetik
DATEV: neue Routine, die prüft ob jede Buchung auch eine Dokument besitzt
DATEV etwas besser gegen SQL-Injection schützen
Übergebener Typ muss DateTime sein, der wird später dannin einer SQL-Abfrage interpoliert
DATEV: Belegexport: Umbenennung file_version in file_versions (Plural)
DATEV: Belegexport: file_versions sortieren vor Zuggriff auf letztes Element
DATEV mit Belegdokumenten, es geht erstmal nur PDF und ein Beleglink pro Buchung
DATEV Belegtransfer: Guids als Hash, um Doppelungen zu vermeiden
Encoding (_u8 wird von DATEV Belegtransfer scheinbar nicht akzeptiert)
DATEV: Belegexport -> Eine Buchung darf mehrere Belege haben und ...
Filter für nicht Buchungsdokumente (trans_id ist nur in ar, ap und gleindeutig).
DATEV-Export um Beleg-Export erweitert
Die Option steht bei aktivierten DMS und dem Backend-Typ 'Dateisystem'zu Verfügung.
DATEV-Export Steuerschlüssel 94 übergeben, aber die Steuerbuchungen ausklammern
Kreditorenbuchung um Steuerschlüssel 94 (reverse charge) erweitert
Bucht die gegensätzliche Steuer auf eine verknüpfte Dialogbuchungund setzt den Steuerschlüssel beim DATEV-Export auf 0. Ferner sindSteuer inklusive Buchungen unterbunden und die Dialogbuchung ist...
Redmine: #317 KNE-Export für DATEV entfernen
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
Leistungsdatum: DATEV, Debitoren-/Kreditoren-/Dialogbuchungen
DATEV Export Lieferdatum - für Dialogbuchungzahlungen wieder erlauben
In Commit eab277a411 wurde das Lieferdatum für Buchungen auf"Zahlungs"konten deaktiviert. Für Einkaufs- und Verkaufsrechnungen istdas auch korrekt, hier soll nur die Hauptbuchung im DATEV-Export mit...
DATEV-Export: Leistungsdatum nicht bei Zahlungen exportieren
Bankbewegungen haben prinzipiell kein Leistungsdatum,allerdings baut der Export die über die Gegenbuchung zusammen,sodass dann ein deliverydate des Belegs an die Bankbewegungendrangehangen wird. Das irritiert dann zu Recht beim DATEV-Import.
S:DATEV:CSV: Lieferdatum als Leistungsdatum exportieren
Typos und spellcheck für occurred
DATEV: UStID-Nummern-Validierung auf neues Modul SL::VATIDNr umgestellt
DATEV-Export Festschreibungskennzeichen für jede Buchung einzel setzen
Fixt #348 DatevExport kommt mit bestimmten Zeichen im Buchungstext nicht klar
In der Mandantenkonfiguration befindet sich jetzt eine Einstellung,welche die Kodierung des DATEV-Exports steuert. DATEV erwartet CP1252.kivitendo kann diese Kodierung so vom kivitendo Nutzer einfordern, alternativ nicht...
DATEX-Export, kein Fälligkeitsdatum für Dialogbuchungen exportieren
DATEV-CSV: Einträge ohne Umsatz nicht versuchen zu exportieren
(höchstwahrscheinlich) Fix für #324
Da im alten Format alles im Soll gebucht wurde, ist diesfür den CSV-Export einfach als Konstante zu sehen.Dafür spricht zusätzlich das der default-Wert der DATEVauf 'S' steht, der wäre dann auch abwärtskompatibel zur KNE-Spezifikation.
DATEV: Saubere Objektmethoden für CSV.pm implementiert
PODs ergänzt.Hintergrund: Sehr klare Ideen von Sven implementiert, sprengt denRahmen der Commit-Message, Details siehe Doku in redminehttp://redmine.kivitendo-premium.de/documents/18
DATEV: Kosmetik. Einrückungen sauber gesetzt
DATEV: Unsaubere if-Bedingung optimiert
+ Kosmetik
Fix POD-Syntax
Weitere Überarbeitung DATEV/CSV.pm
Default-Werte falls definiert in datev_csv gesetzt.Pflichtfelder markiertKern-Algorithmus klarer definiert (Hinweise von Sven) - Formatierung in Array pro Feldwert ausgelagert - Eingangs-Werte prüfen (input_check)...
DATEV: Nummernkreislänge muss konstant sein.
Entsprechende Prüfung am Anfang des Exports
DATEV: Warnungen as DATEV::CSV auch weiterreichen
DATEV: csv_buchungsexport nach DATEV::CSV.pm ausgelagert
Testfälle angepasst. POD angepasst.Details:
DATEV.pm - Klassenvariable locked hinzugefügt. - Aufruf der CSV-Klasse anstatt der internen Methode
CSV.pm - Konstruktor wie in DATEV.pm ergänzt und um minimale...
DATEV-Export: Personenkontenoption nur anzeigen wenn Konten passen
Die Option "als Personenkonten exportieren" wird nur angezeigt, wennalle Kunden- und Lieferantennummern in das DATEV-Kontonummerschemapassen. Anhaken muß man die Checkbox allerdings trotzdem noch....
DATEV-Export: Option "als Personenkonten exportieren"
statt der Sammelkontonummer wird beim Export immer die Kunden- bzw.Lieferantennummer exportiert. Es wird noch nicht auf eine gültigeKontonummer (z.B. 10000-69999 und 70000-99999) geprüft.
DATEV: Typos
Array-Kopie anstatt Alias
Verhindert präventiv den Nebeneffekt, falls jmd. direkt dasObjekt nach Übergabe noch manipuliert.
DATEV-Export: Feldprüfung als Warnungen ausgeben
Anstatt hart auszusteigen (die), erhält der Anwender jetzt eineÜbersicht der fehlerhaften Feldwerte mit einem Minimum anZusatz-Info (Umsatz der Transaktion). Entsprechend denTest-Fall angepasst.
DATEV CSV-Daten nach Spezifikation (cp1252) ausgebe ausgeben
DATEV: Kein explizites Iconv für Feldwerte
Perl ist intelligent genug, die Kodierungumzubiegen, sobald die Daten extern (filehandle)die Perl-Umgebung wieder verlassen.
DATEV Format 2018 Backend, Musterdateien und Tests
Technischer Einstieg: perldoc SL::DATEV::CSV
DATEV datev_data um kost1 und kost2 erweitert
DATEV: Abteilungsname und globalen Projektnamen mitnehmen
SL::DATEV: Warnungen
DATEV-Export nach Erfassungsdatum filtern
Hat man einen DATEV-Export schon für einen bestimmten Zeitraumexportiert, und muß nachträglich noch ein paar Buchungen in dem Zeitraumtätigen, kann man diese nachträglichen Buchungen nun gesondertexportieren, indem man ein Datum nach dem letzten Exportdatum...
Korrekturen und Vereinheitlichung der Nomenklatur bzgl. Buchungs- und Erfassungsdatum, diverse kleinere Korrekturen bei der Nomenklatur
DATEV: Warnungen: Uninitialisierte Variablen
Doku zu DATEV.pm csv_export_for_tax_accountant
DATEV csv_export_for_tax_accountant nutzt generate_datev_data
DATEV.pm Einrückung
DATEV Export - nach Abteilung filtern
SL/DATEV.pm für KNE-Export überarbeitet / Zwischendaten eingeführt
_get_transactions war bisher eine interne Funktion von SL::DATEV, die vor demDATEV-Export aufgerufen wurde, und die Daten aus der Datenbank ausgelesen undtransformiert hat. In diesem Schritt wurde auch auf DATEV-Fehler geprüft, daher...
DATEV Export - Vorbereitung für CSV Export
DATEV KNE Export Refactoring
Anstatt die Werte aus der DB direkt zu transformieren und per add_blockdirekt die KNE-Datei zu bauen werden jetzt alle Daten in einem Array ausHashrefs gesammelt und unformatiert zwischengespeichert.Aus diesem Zwischenstand wird dann erst in einem Rutsch die KNE-Datei...
fix FSF address
DATEV: Fehlermeldungen verbessert und lokalisiert
GoBD: gldate zusätzlich zur beleg.itime ausgeben
GDPDU: itime in Buchungen mit anzeigen
GDPDU: taxdescription und Übersetzungen
GDPDU: DATEV-ähnlicher Buchungsexport Rohversion
single-dbh: Fehler in Transaktionen immer weiterwerfen
DATEV: single-dbh
DATEV: Debitoren/Kreditoren Split gilt nicht in Dialogbuchen
DATEV: Dateinamen richtig in EV-Datei schreiben
Ein foreach über ein Array weist der Iteratorvariablen die Inhalte zu,nicht die Indizes ins Array. Also die Variable nicht noch mal ans Indexnutzen.
Fun fact: das war mindestens seit dem perltidy-Commit in 2005 kaputt.
DATEV: Benutzung undefinierter Werte vermeiden
Wenn der DATEV-Export vom Payment-Helfer mit aktivierten DATEV-Checksheraus aufgerufen wird, so sind diverse Felder wie die KNE-Kopfdatennicht gesetzt (werden auch nicht benötigt).
Benutzung undefinierter Werte vermeiden
DATEV - Buchungscheck prüft nur Buchungen einer trans_id
DATEV-Check für AR/AP/IS/IR/GL:
In der ersten Inkarnation wurden beim Check alle Buchungen des selbenTages mit geprüft. In der zweiten Version wurde zusätzlich zumTagesdatum nach der trans_id der aktuellen Buchung gefiltert. Hatte die...
Ust-id beim DATEV-Export mit übergeben
tax_id auslesen
Statt die tax_id aus einem Join auf die Tabelle taxkeys zu bekommen,wird nun direkt von der acc_trans auf die Steuer zugegriffen. Diesgeschieht an verschiedenen Stellen:
Die tax_id wird jetzt in Kreditoren-/Debitoren- und Dialogbuchungen...
DATEV-Check für nur eine Buchung
Bisher hat der DATEV-Check nach Erstellung einer Buchung immer denganzen Tag geprüft. Jetzt wird nur noch die Buchung selbst aufDATEV-Kompatibilität geprüft.
Beim DATEV-Export Lieferdatum als entscheidenden Tag zur Bestimmung der Steuer berücksichtigenAnalog wie bei Einkaufs- und Verkaufsbelegen wird jetzt auch beim DATEV-Exportdas Lieferdatum der Transaktion verwendet.
chart_link auslesen
Die Spalte chart_link aus der acc_trans wird jetzt auch in derausgelesen (im Datev-Export und bei Berichten).
Kosmetik: Leerzeichen am Zeilenende weg.
Lx-Office heißt nun kivitendo
Doppelte Splitbuchung bei Debitoren- und Kreditorenbuchungen
Erweiterung zu Bug 1676 - dieser hat Problem bei gemischter Rechnung undGutschrift behoben. Es kann aber durch Eingeben von Minusbeträgen auchbei Debitoren- und Kreditorenbuchungen zu doppelten Splitbuchungen...
DATEV Export modular gekapselt.
Kosmetik - Formatierung vereinheitlicht
Bezeichnungen und Hinweise in 'Konto bearbeiten' verbessert.
Buchungskonto ist nicht exakt der richtige Begriffe, sondern Sammelkonto.Die Eigenschaften der Aufklapp-Menüs überprüft und entsprechend fehlerhafteHinweise durch (hoffentlich) sinnvollere Empfehlungen ersetzt....
Bug 1676 - DATEV Export bei gemischter Rechnung/Gutschrift schlägt fehl
Bei ar/ap-Rechnungen wird jetzt nicht mehr nach dem größten Betrag gesucht,sondern nach dem Buchungskonto wo link AR oder AP ist, also das Forderungs-oder Verbindlichkeitskonto. Damit klappen auch gemischte...
Fixes für das "my $var if $cond;" pattern.
Alle 2-arg open in 3-arg open verwandelt.
Subcent Grenze auf 0.05 anheben.
Akuter Fall von Geoffrey:
habe einen neuen Fall wo es nicht klappt, mit meinem alten abs($count) > 0.005aber schon.
Unbalanced ledger!
accno | amount-------+---------- 3310 | -0.06000 5400 | 0.05042 1406 | 0.00958
Bugfix: Subcent Buchungen führten zu unbalanced ledger in DATEV Export.
Wenn eine 1 cent Buchung auf ein normal versteuertes Konto gebucht wurdetauchten die Buchungen in der folgenden Reihenfolge in der Datenbank auf:
-0.00840-0.00160+0.01000
Der Algorithmus, der die Buchungen aufsummiert, ist aus historischen Gründen...
Globale Variablen $::userspath, $::templates, $::membersfile nach %::lx_office_conf verschoben
Array initialisieren lassen, auch wenn keine Buchungen da sind
Ansonsten gibt es einen Fehler, dass undef nicht als Arrayreferenzbenutzt werden kann, wenn keine Buchungen im Exportzeitraum vorhandensind.
Dateiencodings auf UTF-8 geändert
Fix für Bug 1375.
Aufrufe von 'exit' durch eigene Funktion '::end_of_request()' ersetzt.
Außerdem dafür gesorgt, dass Meldungen, die per$form->show_generic_(error|information) ausgegeben werden, nichtdoppelt angezeigt werden.
Conflicts:
bin/mozilla/io.pl bin/mozilla/oe.pl
DATEV-Export: Brutto/Brutto-Abweichungen summieren und Erklärung anzeigen, falls existent
DATEV-Export: Rundungsfehler berücksichtigen & Codevereinfachung
DATEV-Export: Abweichungen des Bruttobetrages durch Aufteilen des Fehlers auf einzelne Positionen aktiviert
und die restlichen .pm Module.
Einführung einer ID-Spalte in acc_trans
Die Benutzung der von PostgreSQL zur Verfügung gestelltenSpalte "oid" hat ihre Tücken. Über diese wird in Lx-Office dieReihenfolge der Einträge in acc_trans geregelt. Wird aber einUPDATE-SQL-Query auf acc_trans ausgeführt, so kann es (anscheinend...
Diverse Bugfixes im DATEV-Export
Jeden DATEV-Export in ein eigenes, eindeutig benanntes Verzeichnis schreiben, damit sich DATEV-Exporte nicht gegenseitig überschreiben.
Temporäre Verzeichnisse werden beim nächsten Aufruf gelöscht, sofern sie älter als acht Stunden sind.Fix für Bug 924.
DATEV-Schnittstelle: Auslagerung von KNE-Schreibfunktionen in eigenes Modul. Kosmetik. Einrückung. Coderefactoring für bessere Lesbarkeit.