Settings & Configuration
This course covers all configuration areas in Quickenerp. Learn how to manage system-wide settings, configure email servers, set up security rules, manage translations, and use technical tools like automated actions and scheduled tasks. This is the most important course for administrators – everything here applies across all modules.
| Responsible | System |
|---|---|
| Last Update | 07/21/2026 |
| Completion Time | 6 days 18 hours |
| Members | 1 |
System Parameters
System parameters store key-value configuration pairs. They are used to customise Quickenerp's behaviour without writing code.
Navigation
Go to Settings > Technical > System Parameters (developer mode required).
Commonly Used System Parameters
| Key | Default Value | Purpose |
|---|---|---|
web.base.url | Auto-detected | The public URL of your Quickenerp instance. Used in email links and redirects. Set this manually if auto-detection gives the wrong URL. |
database.expire_date | – | For trial databases: the expiry date. Users see a warning as the date approaches. |
mail.catchall.domain | – | The catchall email domain. Emails sent to unknown aliases @catchall.domain are bounced. |
mail.bounce.alias | bounce | Prefix for the bounce email address. Bounce processing removes invalid email addresses from mailing lists. |
report.url | Auto-detected | URL used to generate PDF reports. Override if you use a separate reporting server. |
google_analytics.key | – | Google Analytics 4 Measurement ID. When set, tracking code is added to all website pages. |
snailmail.cooperator_threshold | – | Maximum number of recipients for bulk snail mail sending. |
Creating a System Parameter
- Click Create.
- Key – Use dot notation (e.g.
mycompany.some_setting). Follow existing conventions for consistency. - Value – The string value. Quickenerp automatically parses booleans, integers, and floats.
- Click Save. The parameter takes effect immediately (some may require a page reload).
Sequences
Sequences control auto-numbering of documents – invoice numbers, quotation numbers, order references, etc.
Navigation
Go to Settings > Technical > Sequences > Sequences (developer mode).
Sequence Structure
Each sequence has:
- Name – e.g. "Sales Order Sequence".
- Code – Internal code (e.g.
sale.orderfor sales orders). - Prefix – Text before the number:
SO/{{year}}/producesSO/2026/0001. - Suffix – Text after the number.
- Padding – Number of digits (4 = 0001, 5 = 00001).
- Next Number – The next number in the sequence. You can manually change this.
- Reset Period – Reset the counter: No Reset, Daily, Monthly, Yearly.
Customising Numbering
Example: Change invoice numbering from INV/2026/0001 to INV-2026-00001:
- Find the "Customer Invoice Sequence" in the sequence list.
- Change Prefix from
INV/{{year}}/toINV-{{year}}-. - Change Padding from 4 to 5.
- Save. The next invoice will be numbered
INV-2026-00001. - Already-issued invoices are not affected.
Note: Some localisation packages set numbering according to legal requirements. In the EU, invoices must be numbered sequentially without gaps. Adjust with care.
General Settings Overview
View allSystem Parameters
System parameters store key-value configuration pairs. They are used to customise Quickenerp's behaviour without writing code.
Navigation
Go to Settings > Technical > System Parameters (developer mode required).
Commonly Used System Parameters
| Key | Default Value | Purpose |
|---|---|---|
web.base.url | Auto-detected | The public URL of your Quickenerp instance. Used in email links and redirects. Set this manually if auto-detection gives the wrong URL. |
database.expire_date | – | For trial databases: the expiry date. Users see a warning as the date approaches. |
mail.catchall.domain | – | The catchall email domain. Emails sent to unknown aliases @catchall.domain are bounced. |
mail.bounce.alias | bounce | Prefix for the bounce email address. Bounce processing removes invalid email addresses from mailing lists. |
report.url | Auto-detected | URL used to generate PDF reports. Override if you use a separate reporting server. |
google_analytics.key | – | Google Analytics 4 Measurement ID. When set, tracking code is added to all website pages. |
snailmail.cooperator_threshold | – | Maximum number of recipients for bulk snail mail sending. |
Creating a System Parameter
- Click Create.
- Key – Use dot notation (e.g.
mycompany.some_setting). Follow existing conventions for consistency. - Value – The string value. Quickenerp automatically parses booleans, integers, and floats.
- Click Save. The parameter takes effect immediately (some may require a page reload).
Sequences
Sequences control auto-numbering of documents – invoice numbers, quotation numbers, order references, etc.
Navigation
Go to Settings > Technical > Sequences > Sequences (developer mode).
Sequence Structure
Each sequence has:
- Name – e.g. "Sales Order Sequence".
- Code – Internal code (e.g.
sale.orderfor sales orders). - Prefix – Text before the number:
SO/{{year}}/producesSO/2026/0001. - Suffix – Text after the number.
- Padding – Number of digits (4 = 0001, 5 = 00001).
- Next Number – The next number in the sequence. You can manually change this.
- Reset Period – Reset the counter: No Reset, Daily, Monthly, Yearly.
Customising Numbering
Example: Change invoice numbering from INV/2026/0001 to INV-2026-00001:
- Find the "Customer Invoice Sequence" in the sequence list.
- Change Prefix from
INV/{{year}}/toINV-{{year}}-. - Change Padding from 4 to 5.
- Save. The next invoice will be numbered
INV-2026-00001. - Already-issued invoices are not affected.
Note: Some localisation packages set numbering according to legal requirements. In the EU, invoices must be numbered sequentially without gaps. Adjust with care.
Scheduled Actions
Scheduled actions (also called cron jobs) run automated tasks on a repeating schedule. They handle periodic maintenance, data processing, and automated communications.
Navigation
Go to Settings > Technical > Scheduled Actions (developer mode required).
Important System Scheduled Actions
| Name | Schedule | Purpose |
|---|---|---|
| Mail: Email Queue Manager | Every 1 minute | Processes the outgoing email queue. If this cron is inactive, no emails are sent. |
| Mail: Fetchmail Servers | Every 5 minutes | Checks incoming mail servers for new emails. If inactive, incoming email processing stops. |
| Accounting: Generate Valuation Layers | Every 1 hour | Creates inventory valuation layers for stock moves. |
| Sales: Subscription Auto-Invoice | Daily at 2:00 AM | Generates invoices for subscriptions due on the current date. |
| CRM: Lead Scoring Batch | Every 12 hours | Recalculates lead scores based on scoring rules. |
| Website: Sitemap Generation | Daily at 3:00 AM | Generates SEO sitemap.xml for the website. |
| Base: Update Currency Rates | Daily at 9:00 AM | Fetches latest exchange rates from configured API. |
Creating a Custom Scheduled Action
- Click Create.
- Name – e.g. "Daily Sales Summary Email".
- Model – The model the action works on (most system actions use
ir.actions.server). - Execution Frequency:
- Number of Calls – Run a fixed number of times, then stop.
- Do Not Repeat – Run once.
- Repeat Every – Run on a recurring schedule. Specify interval (Minutes, Hours, Days, Weeks, Months).
Cron Monitoring
The list view of scheduled actions shows:
- Status – "Done", "Running", or "Failed". Red background indicates a failure.
- Last Execution – Timestamp of the last run.
- Next Execution – When the next run is scheduled.
- Progress – For long-running crons, shows progress information.
If a cron fails, click the failed status to see the error details in the server logs. Common causes: Python errors in the action, unavailable network resources, or database locks.
Best Practices
- Schedule heavy operations during off-peak hours (e.g. 2:00 AM).
- Avoid running crons too frequently – a "Repeat Every 1 Minute" cron that takes 30 seconds may overlap with itself if it starts a second instance before the first finishes. Quickenerp prevents this by checking that the previous instance has completed before starting a new one.
- Test new crons by setting "Number of Calls" to 1 and a "Next Execution" of 2 minutes from now, then verify it runs correctly before making it recurring.
Automated Actions
Automated actions are server-side rules that trigger automatically when records are created, updated, or deleted. They are a powerful no-code automation tool.
Navigation
Go to Settings > Technical > Automated Actions (developer mode required).
Anatomy of an Automated Action
- Name – A descriptive name (e.g. "Notify Manager on Large Order").
- Model – The model to watch (e.g. Sale Order, Invoice, Lead).
- Trigger – When to fire:
- On Creation – When a new record is created.
- On Update – When an existing record is modified.
- On Creation & Update – Both.
- On Deletion – When a record is deleted.
[('amount_total', '>', 10000)] – only for orders over $10,000.- Send an email (select an email template).
- Create a new record (e.g. create a task in Projects).
- Update a field on the current record (e.g. set a flag).
- Execute a server action (Python code or multi-step process).
- Add a follower to the record.
- Create an activity (e.g. schedule a follow-up call).
Practical Examples
Example 1: Notify Manager on High-Value Orders
- Model: Sales Order
- Trigger: On Creation & Update
- Condition:
[('amount_total', '>', 50000)] - Action: Send Email – use a template that emails the sales manager with order details.
Example 2: Flag Expired Credit Cards on Contacts
- Model: Contact (res.partner)
- Trigger: On Update (when credit card expiry changes)
- Condition:
[('credit_card_expiry', '<', current_date)] - Action: Update field – set "Credit Card Valid" to False, create an activity to call customer.
Example 3: Auto-Assign Salesperson on New Lead
- Model: CRM Lead
- Trigger: On Creation
- Condition:
[('user_id', '=', False)](not assigned yet) - Action: Execute Python code – find the least-loaded salesperson in the lead's country team and assign them.
Testing Automated Actions
- Create a test record that meets the condition.
- Check that the action executed (email received, record created, field updated).
- Check the server logs if the action didn't fire.
- Remember that automated actions run synchronously – they execute immediately as part of the create/write operation. A slow action can make the UI feel sluggish.