
Nieodłącznym elementem prowadzenia własnej działalności jest konieczność wystawiania faktur. Znani mi freelancerzy używają do tego zwykłego szablonu w Excelu. Fakt, przy jednej fakturze miesięcznie wystarcza to w zupełności. Sam zresztą do niedawna robiłem wszystko w Calcu z pakietu OpenOffice.
Niestety z czasem przestaje to wystarczać. Lista klientów rozrasta się, łatwo o pomyłkę w numerowaniu, ilość plików z fakturami rośnie i coraz trudniej się w tym połapać. Dziwię się znajomym, którzy mimo wszystko wciąż robią to ręcznie (mam na myśli wystawianie faktur, zboczuchy :)
Programów wspomagających wystawianie faktur jest zatrzęsienie. Sam przejrzałem kilkadziesiąt i... żaden mi nie przypadł do gustu. W tych małych brakowało mi funkcji, te duże... były zbyt rozbudowane jak na moje potrzeby. Te ciekawsze były oczywiście płatne. Poza tym ja mam dosyć specyficzne zapotrzebowania, których żaden program mi nie oferował. Trzeba więc było wziąć sprawy w swoje ręce (mam na myśli program... :)
Pierwsze wersje wyklepałem w PHP, bo było mi najprościej. Odpadała konieczność męczenia się z interfejsem użytkownika, mogłem się skupić na silniku. Minusem tego była konieczność uruchamiania aplikacji na serwerze lub localhoście a biblioteka do generowania PDF-ów była tragicznie wolna i czasami generowała błędy. A ja potrzebowałem małej, desktopowej aplikacji.
C++ odpadł z miejsca, bo nie jestem aż tak dobrym koderem, żeby poradzić sobie z zawiłościami wyświetlania danych, obsługi pamięci i takich tam... Wybrałem więc Javę, bo składnia podobna a wiele rzeczy spada na barki maszyny wirtualnej i ja mogłem się skupić na tym co najważniejsze.

W ten sposób powstał Fakturomat 0.4, który wciąż jest w wersji beta, ale przynajmniej działa (mam nadzieję, że poprawnie) i mogę spokojnie zająć się wystawianiem faktur. Wygląda na razie topornie, ale chcę nabrać no programu nieco dystansu, żeby nie poprawiać niczego "na chybcika".
Jeśli ktoś jest zainteresowany, to program można pobrać tutaj. Wdzięczny będę za wszelkie uwagi i sugestie, które pozwolą rozwijać program. Nie będę się tutaj rozpisywał w jego funkcjonalności, wszystko jest opisane w samym programie. Mam nadzieję, że czytelnie (i nie mam tu na myśli czcionki).