17 Global configuration

17.4 LedgerSMB Configuration

LedgerSMB configuration using ledgersmb.conf is deprecated as of 1 Jan 2023. New functionality may only available when using ledgersmb.yaml configuration file.

For the time being there is a conversion step that converts the old ’ledgersmb.conf’ to ‘ledgersmb.yaml‘, but the old conf file does not support new functionality.

17.4.1 ledgersmb.yaml

For an example of the default, non debug ledgersmb.yaml see https://github.com/ledgersmb/LedgerSMB/blob/master/doc/conf/ledgersmb.yaml
















Email can be configured by selecting which of the three available transports to use. The default ledgersmb.yaml file contains examples for the first two.

Email::Sender::Transport::Sendmail – Emails are sent using the local server’s sendmail binary. The configuration parameters are:


transport:path – optionally provide a path to the directory that contains the ’sendmail’ binary.

LedgerSMB::Mailer::TransportSMTP - Emails are sent using a remote SMTP server. The configuration parameters are:


transport:host – The required host name of the smtp server.

transport:port – The required port number of the smtp server. Note this might vary depending on whether TLS or SSL is used.

sasl_username:$class – The required smtp server authentication method. The values can be ‘Authen::SASL‘ or ‘Authen::SASL::SCRAM‘.

sasl_username:mechanism – The available mechanism are defined at https://metacpan.org/dist/Authen-SASL or https://metacpan.org/dist/Authen-SASL-SCRAM depending on the selected ‘$class‘.

sasl_username:callback:user – The required SMTP user name. ’the-user’ in the default file is a place holder and must be replaced.

sasl_username:callback:pass – The required SMTP password. ’SECURITY-FIRST’ in the default file is a place holder and must be replaced.

Email::Sender::Transport::DevNull - Emails are sent to /dev/null, in other words emails are not sent anyplace. This prevents errors in the user interface, but throws away any mail. There is only one configuration parameter. This is not a recommended production configuration. It is usually used for testing.





@@@TODO I really don’t have a good way to format lists explanations. See below at paths:config:workflows for an example. Guidance welcome.


This section configures the various paths used by LedgerSMB. The configuration parameters are:

config:locale – Path to locale files. Defaults to locale/po.

config:sql – Path to the SQL schema definition files.

config:sql_data – Path to the reference and initial SQL database load files. For example, the names of the countries.

config:templates – Path to the templates base directory. Typically set to templates.

config:UI – Path to the UI HTML files. Defaults to ./UI/

config:UI_cache – Path to the location of the UI template cache . These are cached after they have been parsed and translated. This improves performance.

config:workflows – A list of the Directories where workflow files are stored. Contains the default and custom workflows. Custom workflows are used to override behavior of the default workflows by providing actions, conditions, etc. with the same name and type or by providing workflows of the same type with additional states and actions. Default workflows defaults to workflows. Custom workflows defaults to custom_workflows. Default workflow path must precede all the custom workflow paths. @@@TODO is the last statement correct? Can there be more than 2 paths?


This section contains a list of printers and their definition.

The default ledgersmb.yaml file shows two printers named ’Laser’ and ’Epson’ with the printers defined using the linux lpr command and its arguments.

This default definition will provide for the selection of the printers named ’Laser’ and ’Epson’ in the LedgerSMB user interface.

For more information search the internet for ’linux lpr command’ or use man lpr at the linux command line.