2010-09-02 17 views

Odpowiedz

0

Widziałem JMoney używane z niestandardowymi wtyczkami. Co próbujesz zrobić?

+1

JMoney jest bardziej aplikacją niż biblioteką. Myślałem o bibliotece Java, która umożliwi aplikacji klienta rejestrowanie transakcji zgodnych z równaniem bilansu (patrz http://en.wikipedia.org/wiki/Accounting_equation). "Zapis" transakcji to pewna reprezentacja w pamięci, którą aplikacja może przechowywać w systemie plików lub w relacyjnej bazie danych. Te alternatywne opcje przechowywania nie muszą jednak leżeć w gestii biblioteki. Celem biblioteki byłoby prawidłowe przedstawienie podstawowych transakcji księgowych z podwójnym wejściem. –

0

Cóż, nie znam takich bibliotek. Osobiście uważam, że podwójne ramy księgowości będą sprowadzać się do kilku interfejsów i minimalnego kodu, aby zapewnić niezmienniki równań. Nie ma w związku z tym żadnych bibliotek: spróbuj ukąsić odpowiedni fragment kodu z JMoney'a lub coś podobnego ... ;)

+5

Co by było ciekawego, to gdyby miał poparcie dla różnych planów/schematów księgowych używanych na całym świecie, np. EU BAS 97, EU BAS 2003, które są popularne w Szwecji i zgaduję w UE ... :-) Można również wyobrazić sobie raporty bilansowe wsparcia, raporty zysków, zamykanie ksiąg itp. Jest o wiele więcej do podwójnej księgowości niż tylko utrzymanie równowagi na rachunkach. –

+1

oh, te szczegóły oczywiście robią dużą różnicę ... raportowanie wydaje mi się bardziej kompletną aplikacją, a nie strukturą. co do planów/schematów - może to być dobry pomysł na bibliotekę, ale byłoby to trudne do wdrożenia i przetestowania ... –

3

Istnieje szwedzki projekt o nazwie fribok.org (darmowy (jak w GNU free) rachunkowości). Jest to również aplikacja, ale może być komponowana i zawierać to, czego szukasz (biorąc pod uwagę, że GPL jest odpowiednią opcją dla Ciebie).

8

Napisałem własną bibliotekę, ale ponieważ była to bardzo trywialna aplikacja, nie wiem, czy byłaby ona odpowiednia do ogólnego celu księgowego.

Posiada interfejs podobny:

ledger.newPosting(new Date(), "Received $10 from Anne") 
      .debit("Cash:Anne", 1000) 
      .credit("Dues Received", 1000) 
      .post(); 

    int cashBalance = ledger.getAccount("Cash").getTrialBalance(); 
    assertEquals(-1000, cashBalance); 

    int anneBalance = ledger.getAccount("Cash:Anne").getTrialBalance(); 
    assertEquals(-1000, anneBalance); 

    int duesBalance = ledger.getAccount("Dues Received").getTrialBalance(); 
    assertEquals(1000, duesBalance); 

Jest to rodzaj rzeczy, której szukasz? Ktoś jeszcze ZAINTERESOWANY w tym kodzie? Napisałem to ogólnie, ale nigdy go nie opublikowałem, ponieważ nie sądziłem, że ktokolwiek mógłby chcieć czegoś tak banalnego.

+0

Myślę, że jest to krok we właściwym kierunku. Zgodnie z kodem przykładowym księgowanie w księgach wymaga jednego lub więcej obciążeń i kredytów i zakładam, że muszą one zostać zrównoważone, aby księgowanie zakończyło się sukcesem. Bilans próbny jest również ważną koncepcją księgową podwójnego zapisu. Jestem zaznajomiony z koncepcją księgowania do księgi głównej, ale myślę, że wolę termin transakcja niż księgowanie (a może mógłbyś księgować transakcję do księgi głównej). –

+1

Czy Twoja biblioteka obsługuje relacje między kontami aktywów, zobowiązań i akcjami? Są to kluczowe pojęcia w księgowości (http://en.wikipedia.org/wiki/Accounting_equation). –

+1

@Derek: Nie powiązałem jawnie kont aktywów, zobowiązań i akcji (jak już mówiłem: dotyczy to banalnej aplikacji osobistej), ale znam je dobrze. Jestem pewien, że modelowanie nie byłoby zbyt trudne. W przypadku wysyłania, jeśli byłby niezbalansowany, spowodowałby wyjątek. Ponieważ kod był odpowiedzialny za wprowadzanie transakcji, niezbilansowana transakcja była błędem w moim kodzie. Nie wiem, co można zrobić dla prawdziwego systemu. Czy wolno publikować niezbilansowane transakcje? I tak, wystarczy zmienić nazwę wysyłania do transakcji. Użyłem funkcji publikowania, ponieważ jest to termin, który był mi bardziej znany. – CodeSlinger

0

Co powiedzieli na jLedger - Java Business Accounting API?

Powołanie strony głównej projektu: "Jest to API Java Business Accounting, które składa się z fakturowania, księgi głównej, kontroli zapasów/zapasów i innych interfejsów API biznesowych, które ułatwią programistom java łatwe budowanie oprogramowania biznesowego."

Należy jednak zauważyć, że ten projekt wypuszcza oprogramowanie na licencji GNU GPL v2, a nie na licencję Apache, która jest zwykle powiązana z projektami związanymi z Javą.

GNU GPL to copyleft license, a biblioteki licencjonowane na jego podstawie mogą nie być odpowiednie dla oprogramowania wewnętrznego lub komercyjnego.

+1

Szybkie spojrzenie na stronę jLedger na SourceForge ujawnia, że ​​projekt jLedger nie widział aktualizacji, ponieważ jest wersją 1.1 Beta we wrześniu 2009 roku. –

0

Istnieje nowsze wdrożenie z wykorzystaniem JTA i Spring. Jak stwierdza:

The podwójnego zapisu koncepcji realizowanych ze sprężyną 4, Java Transaction API i bazy danych H2 w trybie osadzonym

0

Najlepszym Widziałem to moduł jPos zwanego minigl który jest częścią jpos-ee., framework jPOS jest szeroko stosowany w wielu wdrożeniach produkcyjnych. Osobiście wykorzystałem na dużą skalę niektóre projekty o dużym profilu.

Konieczne będzie szybkie uruchomienie jpos-ee, bardzo solidnego środowiska Java dla wszystkich aspektów związanych z płatnościami i fintech. Warto się uczyć, jak gdybyś pytał o księgi, prawdopodobnie będziesz mieć inne potrzeby, które prawdopodobnie są już adresowane w kodzie jPos.

-1

Właśnie napisałem bibliotekę Java dla księgowości. Piękno mojej biblioteki polega na tym, że używa 4GL, by robić kredyty, obciążenia i księgi. Możesz także importować inne funkcje do obsługi inwentarza, listy płac i podobnych rzeczy.Fetal Libraries

+0

Podczas gdy ten link może odpowiedzieć na pytanie, lepiej jest dołączyć zasadnicze części odpowiedzi tutaj i podaj link do referencji. Odpowiedzi dotyczące linków mogą stać się nieprawidłowe, jeśli strona z linkami się zmieni. - [Z recenzji] (/ opinia/niskiej jakości-posts/17357171) –