Code Monkey home page Code Monkey logo

ckvsoft / qfaktury Goto Github PK

View Code? Open in Web Editor NEW

This project forked from juliagoda/qfaktury

0.0 2.0 0.0 65.51 MB

QFaktury to darmowy system fakturujący, pracujący w systemach Linux. Umożliwia on drukowanie faktur, faktur pro forma, rachunków, korekt i duplikatów. Umożliwia zarządzanie bazą faktur, towarów i kontrahentów.

License: GNU General Public License v3.0

QMake 0.05% C++ 93.35% C 1.21% CSS 1.25% CMake 0.84% PHP 3.11% Shell 0.19%

qfaktury's Introduction

QFaktury 0.7.2

  1. Opis
  2. Wymagania
  3. Instalacja zależności
  4. Instalacja
  5. Usuwanie
  6. Uwagi
  7. Zakończenie rozwoju


Opis

Aplikacja do obsługi faktur, która pozwala na zapis, edycję i drukowanie faktur VAT, Brutto, RR, Pro Forma, rachunku, korekty i duplikatu. Dodatkowo pozwala na dodanie kontrahenta oraz towaru bądź usługi do tworzonej faktury. Program oferuje także:

  • zmianę waluty według aktualnego kursu ze strony NBP
  • walidację wprowadzanych danych oraz sprawdzanie sum kontrolnych
  • wybór trzech szablonów drukowania
  • wydrukowanie listy kontrahentów wraz z danymi
  • wybór motywu
  • wybór kodowania
  • prowadzenie organizera z kalendarzem
  • przedstawienie słownie kwoty na fakturze w formacie od dziesiątek po miliardy wraz z wartościami po przecinku
  • dodanie własnych elementów do listy wyborów stawek VAT, metod płatności, powodów korekty, sposobu numeracji faktur, dopisku, jednostek
  • stworzenie i wczytywanie kopii zapasowej plików konfiguracyjnych oraz głównego katalogu
  • dodanie kolejnych sprzedawców/oddziałów
  • wysłanie e-mail do kontrahentów wraz z załącznikami z możliwością korzystania z gotowych szablonów
  • korzystanie z danych Głównego Urzędu Statystycznego z podaniem numeru NIP
  • eksport danych do plików CSV
  • generowanie jednolitego pliku kontrolnego (tymczasowo bez walidacji - patrz QXmlSchema QTBUGS)


Wymagania

  • dowolna dystrybucja Linux
  • biblioteka Qt w wersji wyższej lub równej 5.10.0
  • zlib w wersji wyższej lub równej 1.2 (opcjonalne dla paczki quazip)
  • quazip w wersji 0.7.3 lub wyższej (opcjonalne dla tworzenia kopii zapasowych)
  • cmake w wersji 3.9 lub wyższej
  • extra-cmake-modules w wersji 1.7.0 lub nowszej
  • php w wersji 7.1 lub wyższej (opcjonalne dla korzystania z danych GUS)
  • gksu w wersji 2.0 lub wyższej (opcjonalne dla konfiguracji PHP)
  • C++ w wersji 11 lub wyższej (kod używa rozwiązań wprowadzonych właśnie w tej wersji jak np. lambda)
  • połączenie z internetem (opcjonalne)
  • aktualny czas systemowy (opcjonalne)

Poniżej znajdują się jednak zależności dla konkretnych dystrybucji.



Instalacja zależności

Arch Linux

w wersji podstawowej

sudo pacman -S cmake qt5-base qt5-xmlpatterns extra-cmake-modules

w wersji rozszerzonej

sudo pacman -S cmake qt5-base qt5-xmlpatterns extra-cmake-modules quazip gksu php zlib

Ubuntu / Linux Mint

Żeby skompilować i zainstalować qfaktury na ubuntu 16.4 i jego pochodnych np. linuxmint 18.3 trzeba:

dodać dodatkowe repozytoria:

sudo add-apt-repository ppa:beineri/opt-qt-5.10.0-xenial
sudo add-apt-repository ppa:aroth/ppa
sudo add-apt-repository ppa:nschloe/cmake-nightly
sudo add-apt-repository ppa:ondrej/php 

sudo apt-get update

następnie zainstalować w wersji podstawowej:

sudo apt-get install cmake qt510-meta-full libgl-dev extra-cmake-modules build-essential

w wersji rozszerzonej:

sudo apt-get install php7.1 php7.1-common zlib1g-dev zlib1g cmake libquazip5-dev qt510-meta-full libgl-dev extra-cmake-modules build-essential

następnie po kompilacji i instalacji by program się uruchamiał bez problemów trzeba usunąć główny pakiet qtbase5-dev w wersji 5.5.1 (bez jego usunięcia nie można utworzyć linku symbolicznego, do nowszej wersji qt 5.10 zlokalizowanej w katalogu /opt (system mówi że nie można utworzyć, bo taki już ustnieje)

sudo apt-get --purge remove qtbase5-dev

na końcu wpisujemy:

sudo updatedb

i robimy link symboliczny do qt 5.10

sudo ln -s /opt/qt510/lib/* /usr/lib/x86_64-linux-gnu/

Autorem powyższego poradnika jest etammable


Debian Jessie

sudo apt-get install apt-transport-https lsb-release ca-certificates
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
sudo apt-get update

w wersji podstawowej

sudo apt get install cmake build-essential libgl1-mesa-dev qtbase5-dev libqt5xmlpatterns5-dev extra-cmake-modules

w wersji rozszerzonej

sudo apt get install php7.2-cgi php7.2-soap zlib1g-dev zlib1g cmake gksu libquazip5-dev build-essential libgl1-mesa-dev qtbase5-dev libqt5xmlpatterns5-dev extra-cmake-modules

Debian Sid

w wersji podstawowej

sudo apt get install cmake libgl1-mesa-dev qtbase5-dev libqt5xmlpatterns5-dev extra-cmake-modules

w wersji rozszerzonej

sudo apt get install php zlib1g-dev zlib1g cmake gksu libquazip5-dev libgl1-mesa-dev qtbase5-dev libqt5xmlpatterns5-dev extra-cmake-modules

Fedora

w wersji podstawowej

sudo yum groupinstall "C Development Tools and Libraries"
sudo yum install cmake quazip-qt5-devel qt5 mesa-libGL-devel extra-cmake-modules

w wersji rozszerzonej

sudo yum groupinstall "C Development Tools and Libraries"
sudo yum install php-cli php-common php-soap zlib-devel cmake beesu quazip-qt5-devel qt5 mesa-libGL-devel extra-cmake-modules

OpenSUSE

w wersji podstawowej

sudo zypper install pattern devel_basis cmake libqt5-qtbase libqt5xmlpatterns5 extra-cmake-modules

w wersji rozszerzonej

sudo zypper install pattern devel_basis php7 php7-soap libz1 zlib-devel cmake gksu libgksu quazip-qt5 libqt5-qtbase libqt5xmlpatterns5 extra-cmake-modules


Instalacja

Wykonujemy pobranie katalogu z plikami w wybranej przez siebie ścieżce i wpisujemy polecenia:

git clone https://github.com/juliagoda/qfaktury.git
cd qfaktury
mkdir zbudowane
cd zbudowane
cmake ..
make
sudo make install

Jeśli posiadasz Arch Linux bądź pokrewny system (Manjaro) możesz wykonać poniższe kroki:

git clone https://github.com/archlinux-lucjan/archlinux-poland.git
cd qfaktury-qt5-git
makepkg -sric


Usuwanie

W zbudowanym katalogu:

cat install_manifest.txt | sudo xargs rm

lub (w Arch Linux), jeśli instalacja nastąpiła z PKGBUILD:

sudo pacman -Rns qfaktury-qt5-git



Uwagi

  1. Osoby posiadające faktury, listy kontrahentów i towarów z wcześniejszych wersji (mniejszych niż 0.7.0), powinny wykonać kopię zapasową i skopiować je do katalogu "~/.local/share/data/elinux"

  2. Osoby posiadające faktury z wcześniejszych commit'ów w razie jakichkolwiek niepoprawnych wyników mogą spróbować ponownie zapisać istniejąca fakturę, edytując ją, ponieważ możliwe, że dotychczasowe commit'y uwzględniają zauważone błędy i uzupełnią także pliki XML dodatkowymi danymi, które pozwolą korzystać z pełnej funkcjonalności programu. Zalecane jest także trzymać kopię zapasową plików w innym miejscu.

  3. Aktualizacja aktualnego kursu walut następuje co pół godziny, pod warunkiem połączenia z internetem oraz poprawnego ustawienia czasu systemowego

  4. Jeżeli jeszcze nie istnieje katalog "gus" w ścieżce "~/.local/share/data/elinux", zostaniesz poproszony o autoryzację wykonania skryptu, który przygotowuje plik php.ini do korzystania z klienta SOAP oraz pobiera zależności dla podprojektu bazującego na PHP do prawidłowego uruchomienia aplikacji w celu połączenia z Głównym Urzędem Statystycznym. Jeśli chcesz przygotować plik php.ini ręcznie, nie musisz instalować paczki gksu (tylko pamiętaj, by anulować prośbę o wykonanie konfiguracji PHP). Pierwsze połączenie trwa wiele dłużej z powodu generowania zależności i katalogów na przyszłe wykorzystanie.

  5. Jeśli nie chcesz używać danych z Głównego Urzędu Statystycznego, nie musisz instalować paczek gksu, beesu (Fedora) oraz php, ponieważ nie są one obligatoryjne do działania programu.



Zakończenie rozwoju

Niniejszym ogłaszam zakończenie prac nad aplikacją z kilku powodów. Program rozrósł się tak bardzo, że nie jestem w stanie go prowadzić w pojedynkę. Częstotliwość pojawiania się zmian w przepisach także nie jest korzystny w tej sytuacji. Mam zamiar jednak pozostawić repozytorium, aby chętni mogli korzystać z kodu źródłowego i go rozwijać, pod warunkiem przestrzegania zasad, które obejmuje licencja GPL-3.0, a więc między innymi nieusuwanie informacji o autorach.

qfaktury's People

Contributors

ausarcode avatar buldi avatar mackode avatar mziab avatar sirlucjan avatar travnick avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.