LMS umożliwia generowanie oraz przechowywanie przeróżnych dokumentów tj. faktur, dowodów wpłat oraz dokumentów nie-finansowych np. umów, protokołów. Dokumenty mogą być numerowane wg wzorców (planów) numeracyjnych zdefiniowanych przy pomocy menu Konfiguracja - Plany numeracyjne.
LMS umożliwia wystawianie faktur automatycznie i ręcznie. Ręczne wystawienie faktury jest możliwe z menu 'Nowa faktura' w panelu 'Finanse'. Automatyczne wystawianie faktur wymaga włączenia tej opcji podczas przypisywania taryf użytkownikom. W takim wypadku zapisem faktur do bazy zajmuje się skrypt lms-payments lub demon lmsd
Do poprawnego działania i tworzenia wydruków wymagane jest ustawienie podstawowych opcji w sekcji [invoices] konfiguracji:
header
Dane sprzedawcy. Domyślnie: pusty. Można użyć ciągu "\n" aby oddzielić linie od siebie.
Przykład: header = "SuperNet ISP\nul.Nowa 15\n12-000 Wąchock\n"
footer
Stopka faktury - np. dane sprzedawcy. Domyślnie: pusta. Stopka zostanie umieszczona na dole faktury, małą czcionką. Podobnie jak i w przypadku opcji header, można użyć ciągu "\n" aby oddzielić linie od siebie.
Przykład: footer = "Blokowa Sieć Komputerowa K-27 w Mielcu, tel.555-23-23, bla bla"
default_author
Domyślna osoba wystawiająca fakturę (dla faktur wystawianych automatycznie). Domyślnie: puste
Przykład: default_author = "specjalista d/s fakturowania"
cplace
Miejsce wystawienia faktury. Domyślnie: puste.
Przykład: cplace = Warszawa
print_balance_history
Określa czy na fakturze (html) drukować listę operacji finansowych na koncie klienta. Domyślnie: nie ustawiona.
Przykład: print_balance_history = true
print_balance_history_limit
Liczba rekordów na liście operacji finansowych na fakturze. Domyślnie: 10.
Przykład: print_balance_history_limit = 20000
Przy domyślnych ustawieniach faktury wyświetlane są w formacie html wg domyślnego szablonu. W sekcji [invoices] masz do dyspozycji jeszcze następujące opcje:
template_file
Szablon faktury, który powinien znajdować się w katalogu templates. Domyślnie: invoice.html.
Przykład: template_file = invoice-mynet.html
content_type
Content-type dla faktury. Jeżeli wpiszesz tutaj 'application/octet-stream' to przeglądarka zechce wysłać plik do zapisania na dysku, zamiast go wyświetlić. Przydatne jeśli używasz własnego szablonu, który wygeneruje np.rtf'a lub xls'a. Domyślnie: 'text/html'
Przykład: content_type = application/octet-stream
attachment_name
Można podać nazwę pliku, jako który ma zostać zapisany gotowy wydruk. Domyślnie: pusta.
Przykład: attachment_name = faktura.xls
Praktycznie każda przeglądarka internetowa ma możliwość konfiguracji wydruku, gdzie można wyłączyć funkcje takie jak drukowanie stopki i nagłówka, czy też adresu na wydruku. |
Możliwe jest także tworzenie faktur jako pliki pdf. Przypisanie opcji type z sekcji [invoices] wartości 'pdf' spowoduje, że faktury zamiast w html'u będą tworzone jako pliki "portable data format". Opcja template_file spełnia podobną rolę jak dla faktur html'owych, z tym, że posiada predefiniowane wartości: 'standard' - faktura podstawowa (odpowiednik invoice.html) i 'FT-0100' - faktura przystosowana do drukowania na drukach FT-0100 zawierających druk polecenia przelewu. W opcji template_file można także wstawić nazwę pliku php, jednak ta możliwość jest przeznaczona dla zaawansowanych użytkowników, gdyż wymaga utworzenia pliku php, a nie tak jak w przypadku faktur html'owych szablonu Smarty.
Faktury korygujące korzystają z ustawień dotyczących pozostałych faktur z sekcji [invoices]. Domyślny szablon faktury uwzględnia faktury korygujące. Jednak udostępniono opcję pozwalającą na zdefiniowanie osobnego szablonu dla korekt (pozostałe opcje są wspólne dla faktur i dla korekt):
cnote_template_file
Szablon faktury korygującej, który powinien znajdować się w katalogu templates. Domyślnie: invoice.html.
Przykład: cnote_template_file = invoice-mynet.html
LMS umożliwia automatyczne generowanie numeru konta bankowego w standardzie IBAN zawierającego ID klienta. Funkcja ta może być używana do masowej identyfikacji płatności która jako usługa znajduje się w ofercie większości banków. Aby masowa identyfikacja była możliwa, należy podpisać umowę z bankiem z której potrzebne nam będą:
Numer rozliczeniowy banku
zawsze stały dla każdego banku, złożony z 8 cyfr
Identyfikator rachunku
identyfikator naszego wirtualnego rachunku, złożony z 4 cyfr
W sekcji [finances] ustawiamy:
iban
określa czy numer konta na fakturach ma być zwykły czy generowany automatycznie (0|1)
account
skrócony numer konta bankowego powstały przez połączenie numeru rozliczeniowego banku z identyfikatorem rachunku, numer ten musi się składać z 12 cyfr bez spacji i innych znaków.
Dane do druków polecenia przelewu brane są z sekcji [finances] konfiguracji. Dotyczą zarówno wydruków poleceń przelewu dostępnych w Finanse -> Wydruki jak i wydruków faktur typu FT-0100. A oto dostępne opcje:
name - nazwa firmy |
shortname - skrócona nazwa firmy |
address - adres firmy (ulica, nr domu) |
zip - kod pocztowy |
city - miasto |
account - numer konta bankowego |
pay_title - tytuł płatności |
Dokumenty kasowe, ze względu na swoją specyfikę, posiadają podobne opcje konfiguracyjne jak faktury.
Przy domyślnych ustawieniach dokumenty kasowe wyświetlane są w formacie html wg domyślnego szablonu. Dla dowodów wpłaty oraz wypłaty przewidziano wspólny szablon wydruku. W sekcji [receipts] masz do dyspozycji jeszcze następujące opcje:
template_file
Szablon dowodu wpłaty/wypłaty, który powinien znajdować się w katalogu templates. Domyślnie: receipt.html.
Przykład: template_file = mytempl/receipt.html
content_type
Content-type dla druku. Jeżeli wpiszesz tutaj 'application/octet-stream' to przeglądarka zechce wysłać plik do zapisania na dysku, zamiast go wyświetlić. Przydatne jeśli używasz własnego szablonu, który wygeneruje np.rtf'a lub xls'a. Domyślnie: 'text/html'
Przykład: content_type = application/octet-stream
attachment_name
Można podać nazwę pliku, jako który ma zostać zapisany gotowy wydruk. Domyślnie: pusta.
Przykład: attachment_name = receipt.xls
Możliwe jest także tworzenie dokumentów kasowych jako plików pdf. Przypisanie opcji type z sekcji [receipts] wartości 'pdf' spowoduje, że dowody zamiast w html'u będą tworzone jako pliki "portable data format". Opcja template_file spełnia podobną rolę jak dla wydruków html'owych z tym, że posiada predefiniowaną wartość: 'standard' - wydruk podstawowy (odpowiednik receipt.html). W opcji template_file można także wstawić nazwę pliku php, jednak ta możliwość jest przeznaczona dla zaawansowanych użytkowników, gdyż wymaga utworzenia pliku php, a nie tak jak w przypadku html'a szablonu Smarty.
Oprócz dokumentów finansowych w LMSie można przechowywać dokumenty takie jak umowy, protokoły, aneksy i inne. Każemu klientowi można przypisać dowolną liczbę dokumentów na zakładce 'Dokumenty klienta' w panelu 'Informacje o kliencie' lub poprzez menu 'Dokumenty'. Pliki z dokumentami przechowywane są poza bazą danych (o czym należy pamiętać robiąc backupy) w katalogu określonym zmienną 'doc_dir' w sekcji [directories] pliku konfiguracyjnego.
Dokumenty mogą być importowane do systemu jako gotowe pliki, ale także tworzone według szablonów przy użyciu zdefiniowanych kreatorów. Tutaj system daje duże możliwości konfiguracji. W katalogu documents/templates/default znajduje się domyślny kreator dokumentu (szablon i silnik). Użytkownik może utworzyć dowolną liczbę własnych kreatorów dokumentów, które należy umieścić w katalogu documents/templates/.
Każdy kreator powinien zawierać plik info.php o określonej strukturze:
<?php $engine = array( 'name' => 'default', // nazwa (katalogu) kreatora, małe litery i cyfry 'engine' => 'default', // katalog z silnikiem (engine.php) // można używać silników z innych kreatorów 'template' => 'template.html', // plik szablonu (w katalogu 'name') 'title' => trans('Default document'), // opis, który będzie wyświetlany w LMS-UI 'content_type' => 'text/html', // typ pliku wynikowego 'output' => 'default.html', // nazwa pliku wynikowego 'plugin' => 'plugin', // nazwa pliku pluginu (w katalogu 'name') 'post-action' => 'post-action', // plik PHP wykonywany po dodaniu dokumentu (w transakcji) ); ?>Plik info.php opisuje kreatora i jest jedynym wymaganym plikiem. Do utworzenia dokumentu potrzebny jest silnik (plik o nazwie engine.php). Można utworzyć własny silnik lub skorzystać z innego, ustawiając zmienną 'engine' na nazwę kreatora, którego silnik chcemy wykorzystać. Nie ma zatem wymogu tworzenia własnego silnika dla każdego nowego kreatora, wystarczy utworzyć szablon 'template' i plik info.php.
Zmienna plugin określa nazwę pliku php odpowiedzialnego za wyświetlenie dodatkowych pól w formularzu tworzenia nowego dokumentu. Plugin może ponadto zawierać obsługę błędów dla tych pól. Po dodaniu dokumentu wykonywany jest skrypt PHP określony w zmiennej post-action. Prosty przykład pluginu i post-akcji przedstawiono w przykładowym domyślnym dokumencie.
Poprzedni | Spis treści | Następny |
Upgrade | Początek rozdziału | Interfejs Użytkownika (LMS-UI) |