Willkommen im kivitendo Forum! Hier erweitern und teilen AnwenderInnen und EntwicklerInnen ihr Wissen.

Teste kivitendo!

kivitendo Demo

kivitendo Demo mit Schweizer Kontenplan und neuem Layout

Geld allein macht nicht glücklich - benutzt kivitendo!

0 Punkte

Liebe Mitglieder und Mitnutzer des kivitendo-Forums,

ich nutze Kivitendo als Buchhaltungssystem für mein kleines Softwarehaus. Aus einer externen Lohnbuchhaltung
würde ich gerne in die Buchhaltung Buchungen automatisch einspielen. Die Konten hatte ich bereits angelegt.
Ich möchte die Buchungen gerne in kivitendo einspielen, da über die Datev-Export die Monate an einen
Steuerberater rausgehen.

Der saubere Weg wäre, die Buchungen -die als csv-Datein vorliegen-

  • über eine REST-Schnittstelle oder eine andere bereitgestellte Schnittstelle einzuspielen oder
  • für die Hart-Gesottenen direkt in die DB via INSERT einspielen.

Wie wäre die korrekte Vorgehensweise und (falls die DB Variante die einzige ist) welche Tabellen müsste man anfassen.

Liebe Grüße
Christian

Gefragt von (280 Punkte)

1 Antwort

+1 Punkt

Hallo Christian,
kivitendo kennt noch einen dritten Weg, es gibt die Möglichkeit Daten über eine CSV-Import-Schnittstelle einzuspielen.

Die bisher implementierte Importe findest Du unter System -> CSV Import.
Ein dieser Importe kann Debitorenbuchungen importieren.

In Deinem Fall benötigst Du einen Dialogbuchungsimport, der allerdings noch nicht abgebildet ist.

Der Code an der Stelle wäre aber der erste Hinweis.

kivitendo kennt ferner ein objektrelationales Mapping namens Rose, darüber könntest Du entsprechend die monatlichen wiederkehrenden Dialogbuchungen erstellen.

Beispielcode hierzu findest Du unter t/gl/gt.t

es gibt unter der Haube eine Konsole, zum Code testen ohne groß kivi-Kram zu beachten, damit könntest Du bspw. Testbuchungen laden und entsprechend ausgeben (als Idee fürs selber nutzen).

That funzt like this:

config/kivitendo.conf -> Konfiguration unter Abschnitt console für eine Test-DB anpassen

danach:
scripts/console
ausführen.

Eine beispielhafte Dialogbuchung anhand der DB-Id (s.a. URL in Browser) laden und ausgeben:

re.pl(main):002:0> use SL::DB::GLTransaction

re.pl(main):003:0> my $lohnbuchung = SL::DB::Manager::GLTransaction->find_by(id => 2);

re.pl(main):004:0> pp $lohnbuchung

Lohnbuchung erstellen, dann in etwa so wie unter t/ beschrieben.

Es gibt für die Testfälle (t == Test) eine sehr gut beschriebene API, die alle Belegfälle abdeckt, diese API kann man einbinden und entsprechenden aufrufen. An dieser Stelle der Hinweis auf die Doku:

perldoc SL/Dev/Record.pm 

Next step, jein, es gibt Ansätze einer REST, bzw. Web-API, aktuell werden hierüber Telefonnummern von Ansprechpartner zurückgegeben. Dies wird für die Anbindung an eine Telefonanlage verwendet.

Direkt in die Datenbank schreiben finde ich suboptimal, schon allein deshalb, weil mit dieser Schnittstelle nur ein Projekt/Person etwas davon hat.
Ferner ist die Stabilität der Schnittstelle bei jedem Upgrade erneut auf dem Prüfstand.

Having said that ...
Betroffen ist hierbei die Tabelle gl und die acc_trans. Die acc_trans ist die heilige kivi-Kuh und entsprechend zu behandeln. Fremdschlüssel Constraints sind weitesgehend gesetzt, der Ansatz könnte also durchaus ein bis drei Jahre gutgehen ;-)

Wie sagt das alte SuSE?

Have fun!

Beantwortet von (9.3k Punkte)

Ähnliche Fragen

0 Punkte
1 Antwort
Gefragt 26, Nov 2016 von hobala (20 Punkte)
0 Punkte
1 Antwort
0 Punkte
1 Antwort
Gefragt 12, Apr 2014 von ich_bins (250 Punkte)
0 Punkte
5 Antworten
Gefragt 7, Okt 2012 von bizcom (570 Punkte)
...