3.7. Finances

This is actually the whole collection of modules, that gives you possibility to efficiently manage finances of your network. You can define periodical liabilities here (subscriptions), solid liabilities (orders), perform accounting operations, check each account history and draw invoices and balance sheets.

3.7.1. Tariffs List

When you enter 'Tariffs List' panel you'll be able to see list of liabilities (Tariffs) that might be assigned to your customers, with basic information about it. When you select and click on liability you'll move to 'Tariff' module where you're able to edit its parameters and exchange customers between available liabilities. In 'Number of customers' field you can read number of customers who are assigned to it and two numbers in parenthesis: total number of assignments and number of active assignments, considered by its activity periods.

3.7.2. New Tariff

When defining new tariff you need to enter unique name, amount and tax rate.

3.7.3. Payments list

This is a list of your company payments. Among standard fields you'll find 'Account this payment' icon, where you're able to charge your account. Periodical charges might be done with 'lms-payments' Perl script, or appropriate module of lmsd daemon. Select and click on chosen payment to view 'Payment Info' module, where you're able to edit its parameters or account given payment to financial database.

3.7.4. New payment

You have to assign unique name, amount and pay date for each new payment you setup.

3.7.5. Balance sheet

This is history of your financial operations with total incomes, expenditures, payments and customers liabilities. Printer icon allows you to print invoice for corresponding record.

3.7.6. New Balance

You can add new financial operation with this module. It's possible to account the same operation for multiple customers at the same time.


It's best to use lms-payments Perl script or lmsd daemon to automate periodical operations, such as subscription fees. Those modules are also able to write out appropriate invoices.

3.7.7. Invoices List

List of invoices that has been already written out. You're able to print (by selecting 'Print' icon) and check as accounted selected invoices.

3.7.8. New Invoice

Allows you to issue an invoice for selected customer manually.

3.7.9. Debit Notes List

List of debit notes that has been already written out. You're able to print (by selecting 'Print' icon) and check as accounted selected notes.

3.7.10. New Debit Note

Allows you to issue an debit note for selected customer manually.

3.7.11. Cash Registry

Cash register can be divided on many registries like cash1, cash2, main cash, bank, etc. On regirstries list are placed all information about defined registries with actual balance and summary which include only registries with not set "Disable summary" option.

Each registry can have own numbering of cash-in and cash-out documents and access rights for users. "Write" privilage is assigned for common cashiers and dismiss receipts read and addition. "Advanced" users can edit and delete documents and change number or date when create new document.

Cash receipts are a proofs of payment in and out cash. Receipts list, which you'll find by clicking on selected registry on registries list, can be sorted in any order and filtered like the invoices list. You've got also print selected receipts.

From list you can go to receipt edition. Making changes in created documents needs special care, because submitting changes will delete old receipt and linked operations and insert new ones.

3.7.12. New Cash Receipt

To create new cash document in first place you must specify registry and operation type (pay in/pay out), select customer from list or search them using filter. You can select other operation type i.e. assets move or operation not associated with customer. Also you can set date and number (better to leave values proposed by system). Then click 'Select' to affirm your choice. After that you can add any number of positions with value and description or select them from list of not closed invoices/credit notes. 'Save and Print' will finish and save receipt and payments in system and display receipt's printout in new window.

Printouts look configuration is desribed in chapter Installation and Configuration.

3.7.13. Import

If you use homebanking, and you're able to get a list of financial operations (ie. from bank www or email that they send you), Import module can be used to (semi)automatically load it into LMS accounting database and assign to respective customers. You should write (or use, if it's already in distribution) a parser script, which loads data to the cashimport table. Please, check example script lms-cashimport-ingbs to see how this is being done. After you run it, you should get a list of pending financial operations, in Import module, where you can correct them and accept into LMS accounting database.

You can also load previously prepared text file using this module. It will be read line by line and parsed using setup regular expressions to get needed data types (ie. customer id, amount, etc). After file is loaded, you will be presented with the same corrections/acceptance screen as above.

To setup regular expressions, which suit to your input files you should create PHP script which location you must set in import_config option in [phpui] section. Example values and parameters descriptions are placed in modules/cashimportcfg.php. Default configuration assumes that input data will be in the following format (tab separated):

23.02.2004	Machniak Aleksander	123,45	Internet subscription - 04/2004 ID:0013
15.02.2004	Pain Joseph	123,45	Invoice paid - LMS/34/2004

While import operations are being accepted it's possible to enable auto-accounting of invoices. To do this enable option 'cashimport_checkinvoices' in section [finances]. Invoice (and assigned credit notes) is checked when imported payment (taking customer balance into account) is greater than invoice liability.

3.7.14. Export

Financial data export to external systems rely on generation of text files with data fetched according to defined filters. For each document is created one record in text file. Record's format sets user using variables.

Export configuration is placed in file, which localization is set in export_config option of section [phpui]. Example values with variables description you can find in modules/exportcfg.php. The bast way is to copy that file and there making needed changes.

For each position of Sale Registry (each invoice) we have one record in result file. When exporting Cash Report one record is for each position of cash document.

3.7.15. Reports

There are several options for balance sheet printouts: