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!