18 Per company configuration

18.3 System menu settings

This section enumerates the “System” menu’s immediate children. In some cases the functionality is too complex and is referred to a chapter of its own.

18.3.1 Audit control

Enforce transaction reversal for all dates

This is a Yes/No value which affects the actions which can be performed on posted financial transactions.

  • No means transactions can be altered or deleted, even after posting them. Note that if a transaction has been posted before the latest closing date, it can never be altered, not even when this value is in effect.

  • Yes means transactions can’t be altered after posting. This setting is highly preferred and considered the only correct approach to accounting as it assures visible audit trails and thereby supports fraud detection.

Close books up to

@@@ This item isn’t a system setting; shouldn’t it move to “Transaction approval”?? That way system settings (config) and processes are separated.

@@@ My preference is to remove the setting entirely and rely on year-end workflow. We might add an account checkpoint interface as well at some point –Chris T

It’s advisable to regularly close the books after review. This prevents user error changing reviewed numbers: after closing the books, it’s no longer possible to post in the closed period.

There are also performance benefits to closing the books, because LedgerSMB uses the fact that the figures are known-stable as a performance optimization when calculating account balances.

Activate audit trail

This is a Yes/No value which - when Yes - causes the system to install triggers to register user actions (creation/adjustments/reversals/etc…) executed on financial transactions.

@@@ Once activated, where can we see it the audit trail??

@@@ This setting should go. In 1.3 the audit trails are always enforced via triggers so this setting does nothing. –CT

18.3.2 Taxes

This page lists all accounts which have the “Tax” account option enabled as discussed in Section 22.2.1 on page 22.2.1.

Each account is listed at least once, but can be listed many times, if it has had different settings applied over different time periods. E.g. if one of the current VAT rates is 19%, today but it used to be 17.5% until last month, there will be 2 rows for the applicable VAT account. See Chapter 23 starting at page 23 for further discussion of how taxes work in LedgerSMB and the choices involved when being required to handle changes in tax rates.

Each row lists the following fields:

Rate (%)

The tax rate to be applied when calculating VAT to be posted on this account.


Account number

Valid To

The ending date of the settings in this row. This can apply to the rate as well as the ordering or the tax rules (but usually applies to the rate).


This has to do with cumulative taxes. For example if two taxes exist and one has an ordering of 0 and one of 1, then the second tax will be calculated on a basis that includes the first. One place where this used to be used was in Quebec, where GST was taxable under PST.

Tax rules

LedgerSMB features a flexible structure to facilitate complex tax calculations (see Section 23.4 on page 23.4). By default the “Simple” module is the only one installed.

18.3.3 Defaults

Business number

This is used to store an arbitrary identification number for the business. It could be used to store a business license number or anything similar.

Weight unit

The unit of measurement for weights. @@@ why don’t we have a unit of measurement for distance as well??? And maybe a unit of measurement for content?

Separation of duties

Set this field to 1 if you want to activate separation of duties or to 0 if you don’t want to enforce it. Separation of duties is explained in Section 39.1 on page 39.1.

Default accounts

This setting will be used to preselect an account in the listings of the three categories listed below:

  • Inventory

  • Income

  • Expense

Foreign exchange gain and loss accounts

When working with foreign currencies, the system needs two special purpose accounts. One to post the gains onto which are caused by foreign currencies increasing in value; the other to post the losses onto which are caused by foreign currencies decreasing in value.

Default country

This setting indicates which country needs to be pre-selected in country selection lists.

Default language

The language to be used when no other language has been selected. Several parts of the application require language selection, such as customer, vendor and employee entry screens.

Templates directory

This setting indicates which set of templates - stored in the templates/ directory - should be used. In a standard installation, the drop down lists two items:

  • demo

    which contains templates based on LaTeX, which is more commonly installed but has issues dealing with accented characters

  • xedemo

    which contains the same templates based on TeTeX, which handles UTF-8 input (and thus accented characters) much better than LaTeXand is broadly available, but not usually pre-installed.

List of currencies & default currency

Enter a list of all currencies you want to use in your company, identified by their 3-letter codes separated by a colon; i.e. “USD:EUR:CHF”. To ensure correct operation of the application, at least one currency (the company default currency) must be listed. In case of multiple currencies the first is used as the company default currency.

Company data (name /address)

The fields “Company Name”, “Company Address”, “Company Phone” and “Company Fax” will be used on printed/e-mailed invoices.

Password duration

This is an integer value field measuring the validity period in days for passwords set through the user’s Preferences screen. If this field is empty, passwords set through that method won’t expire.

A user will receive password expiration reminders upon logging starting a week before password expiry. When not acted upon, starting two days before expiry an hourly popup will appear requesting the user to change the password.

The application behaves this way because users with expired passwords won’t be able to log in: their password will need to be reset by a user admin.

Note that passwords set by admins for other users expire within 24 hours after setting them. This value is hard coded and can’t be overruled. This is a security measure taken to make sure as few unused accounts as possible exist: Existence of such accounts could open up security holes.

Default E-mail addresses

These addresses will be used to send e-mails from the system. Note that the “Default Email From” address should be configured in order to make sure e-mail doesn’t look like it’s coming from your webserver. The format to be used is ``Name'' <e-mail address> where the e-mail address should be inserted between the “\langle” and “\rangle”.

Max per dropdown

Some elements in the screens may present a drop down. However, drop downs are relatively unwieldy to work with when used to present a large number of values to choose from.

This configuration option sets an upper limit on the number of records to be presented as drop down. When the number is exceeded, no drop down is used. Instead, a multi-step selection procedure will be used.

Item numbering

Many items in the system have sequence numbers: invoices, parts, etc. These sequence numbers can be just a number (i.e. 1 or 37), but they can also be prefixed numbers, e.g. INV0001 for invoices and EMP001 for employees. The numbers shown in the input boxes will be used to generate the next number in the numbering sequence.

GL Reference number The default reference number for the next GL transaction.
Sales invoice/ AR Transaction number This number is used to generate an invoice number when none is being filled out by the user.
Sales order number Same as Sales invoice number, except that it’s used for sales orders @@@ layout issue: the label is too big to fit on the page
Vendor invoice/ AP Transaction number Same as Sales invoice, except that the number is used for accounts payable transactions. @@@ layout issue: the label is too big to fit on the page
Sales quotation number Same as sales order number, except that it’s used for quotations.
RFQ number Request for quotation number is like the sales quotation number, except that it is used to track which vendors have been asked for quotes.
Part number All parts, services and assemblies are identified by a unique number. When an item is created and no number is entered by the user, a number is generated from this sequence.
Job/project number Used when creating new projects.
Employee number Same as the sales invoice number, used by new employee entry.
Customer number @@@ is this the control code number? or is this meta_number?? – Meta-number (CT)
Vendor number @@@ same question as customer number

Check prefix

The prefix to use when printing checks. There’s no check sequence number. That sequence number is requested from the check printing interface, because checks can be created outside the application as well, meaning the numbers can get out of sync.

18.3.4 Year end

@@@ Rename “Yearend” in menu interface to “Year end”.

@@@ IMO this section doesn’t belong here, because it’s a process, not config, but does it belong in this menu then? IMO it doesn’t…

18.3.5 Admin users

@@@ Same as Year end; doesn’t belong here…

18.3.6 Chart of accounts

@@@ Chart of accounts isn’t exactly a “process”, but it doesn’t feel like being pure config either. At any rate it’s a fact that the CoA discussion is a full chapter in and of itself - so discussion here isn’t necessary anymore.

18.3.7 Warehouses

Warehouses are stocking locations. They don’t have any properties (in the system) other than that they have a name. Warehouses can be added, modified and deleted from the System \rightarrow Warehouses menu item.

18.3.8 Departments

Departments can be used to divide a company in smaller pieces. LedgerSMB distinguishes two types of departments:

  • Profit centers

    which can be associated with any type of transaction, including AR transactions.

  • Cost centers

    which can be associated with all types of transactions, except AR transactions.

Departments can be created (added), modified or deleted through the System \rightarrow Departments menu item.

18.3.9 Type of business

Types of business are used in sales operations where customers can be assigned a type of business. Based on the type of business assignment, quotations, sales orders and invoices will automatically apply discount rates. For each type of business you enter a description and a discount rate to be applied.

18.3.10 Languages

The language table is the table users can select languages from, both to present the UI of the application as well as the setting for customers to be used to generate documents.

This listing should correspond to the actual translations of the application being available in the program installation directory.

Languages can be added, modified or deleted through the System \rightarrow Language menu item.

18.3.11 Standard Industry Code (SIC)

SI codes feature these three fields:


When creating a company you can assign that it an SI code, irrespective of its role (i.e. customer, vendor, lead or anything else). An example of an SI code system is the US’s NAICS code99http://www.census.gov/eos/www/naics/. Other countries have their own coding systems such as ANZSIC1010http://www.abs.gov.au/ausstats/abs@.nsf/mf/1292.0 for Australia and New Zealand and NACE1111http://ec.europa.eu/competition/mergers/cases/index/nace\_all.html for Europe

The SIC field currently doesn’t support a specific function in the application and is there merely for informational purposes. However in the future its role could be extended to include impact on reports, taxes or other functionalities where type of industry could matter.

18.3.12 HTML templates

Through this menu, the user is being offered to manipulate a global resource. See Section 17.3.3 on page 17.3.3 for more details.

18.3.13 LaTeX templates

Same as the last subsection.

18.3.14 Text templates

Same as the previous subsection.