Expense Settings
Set the ledger accounts, default workflows, advance rules, budget rules, mileage rate and public submission link that Expense relies on.
What this is for
Expense Settings holds the company-wide choices Expense depends on. The most important are the five ledger accounts that approvals and payments post to. There is one set of settings for the whole company.
Before you begin
Before you begin
- Read the set-up order
- Create the ledger accounts in the Chart of Accounts Liability accounts for the three payable settings, an asset account for Staff Advance, a cash account for petty cash. See Accounting > Chart of Accounts.
- Create at least one currency Under Accounting > Configurations > Foreign Currency. The Default Currency list is empty without one.
- Build workflow templates (optional) Under Administration > Workflow Templates, with Document Type Expense or Advance Request, if you want default workflows.
- Create your categories first (only for the public form)
Open the screen
In the menu choose Administration, then under Module Settings choose Expense Settings. The page title is Expense Settings.
Screenshot pending
Expense Settings page showing General Settings and Advance Settings sections with the Save button at the top right
- 1Save (first time) or Update (after that).
- 2Settings are grouped in sections, one under the other.
The list
This screen has no list. It is one form of seven sections, then a Public Submission Link panel.
Create or edit
The first time, the form shows its starting values and the top button reads Save. After you have saved once, the form shows your saved values and the button reads Update. Only one settings record exists per company.
Fill the sections
Start with Default Currency, which is required, then the Default GL Accounts.Save
Select Save (or Update) at the top right. You see "Creating expense settings..." then Expense settings created, or "Updating expense settings..." then Expense settings updated.Set up the public link (optional)
Do this only after saving. See Public Submission Link below.
Field reference
General Settings
| Field | Type | Required | Details |
|---|---|---|---|
| Default Currency | Dropdown | Yes | Lists your active currencies as code and description, for example NGN - Naira. Hover text: The currency new expenses are submitted in when the employee does not choose one. Error if empty: "Default currency is required". If there are none the list says "No currencies found. Create one." Expense does not read this setting today: a new expense uses the currency on the expense itself, and NGN if none is given. |
| Require Policy Assignment | Yes/No switch | No | When on, every expense must be linked to an expense policy. If no active policy matches the person, creating the expense fails (see Rules and error messages). It is checked for employee claims, not for external payee claims. Default: Off |
| Receipt Required Above | Number | No | Receipts are mandatory for any expense line above this amount. Leave blank to make receipts always optional. The line total including tax must be strictly greater than the amount. A policy's own Receipt Required Above overrides this. Default: Blank (no threshold) Placeholder: e.g. 5000. |
| Allow Multi-Currency Expenses | Yes/No switch | No | Expense does not read this switch today, so it changes nothing. Default: Off |
Advance Settings
| Field | Type | Required | Details |
|---|---|---|---|
| Allow Advance Requests | Yes/No switch | No | Hover text: Employees can request cash advances before incurring expenses. When off, new advance requests are refused. A policy that turns advances off is checked first. Default: Off |
| Maximum Advance Amount | Number | No | The maximum single advance any employee can request. Policies can set lower limits per role. A policy's own Max Advance Amount is used instead when it has one. Default: Blank (no cap) Placeholder: e.g. 100000. |
| Advance Clearance Period (days) | Number | Yes | Number of days after disbursement that the employee must submit receipts or return unused cash. The clearance due date is the payout date plus this many days. A policy's Advance Clearance Days overrides it. Default: 30 Whole number, 0 or more. Placeholder: e.g. 30. |
| Block New Advance if Previous Uncleared | Yes/No switch | No | Prevents employees from requesting another advance while they have an outstanding one (paid out, partly cleared or overdue). A policy's own setting overrides it once it has been touched. Default: Off |
| Overdue Reminder (days) | Number | Yes | Send a reminder to the employee X days before their advance clearance deadline. The reminder appears in the app only. Default: 3 Whole number, 0 or more. Placeholder: e.g. 3. |
| Escalate After (days) | Number | Yes | Once an advance is this many days past its clearance due date, also notify the employee's manager (in addition to the employee, who is notified as soon as it becomes overdue). The manager is notified only if Winlium can find the employee's manager. Default: 7 Whole number, 0 or more. Placeholder: e.g. 7. |
Approval Settings
| Field | Type | Required | Details |
|---|---|---|---|
| Default Claim Workflow | Dropdown | No | A fallback only. A workflow template whose conditions match the expense always wins. Only templates with Document Type Expense appear here. If it is blank and no template matches, submitting is blocked until a matching template exists. Does not apply to external payee claims. |
| Default Advance Workflow | Dropdown | No | The same, for advance requests. Only templates with Document Type Advance Request appear here. |
| Auto-Approve Below | Number | No | Claims below this amount are approved automatically without going through the workflow. Leave blank to always require approval. In practice an expense whose total (including tax) is equal to or lower than this amount is approved when it is submitted and posts to the ledger straight away. It applies to every expense type and to external payee claims, but not to advances. Budget and monthly limit checks still run first. Default: Blank (always needs approval) Placeholder: e.g. 2000. |
Budget Settings
| Field | Type | Required | Details |
|---|---|---|---|
| Warn When Expense Exceeds Budget | Yes/No switch | No | Shows a warning when submitting an expense that would exceed the budget for that category. The person must confirm to carry on. Default: Off |
| Block Submission When Over Budget | Yes/No switch | No | Prevents submission when the expense would exceed the budget. Only applies if budget tracking is configured. See Budget checks. Default: Off |
| Allow Up To (%) | Number | Yes | Shown only when Block Submission When Over Budget is on. Blocks only once the overage itself exceeds this percentage of the budgeted amount for that account. Example: 20 blocks once you go a fifth of the budget over. 100 blocks only once total spend is more than double the budget. Lower it to block sooner. Default: 100 0 or more. Placeholder: e.g. 20. At 0, any overrun is blocked. |
Default GL Accounts
Each list shows accounts as code, a dash and name. If a list is empty you see "No ... found. Create one." with a link to the Chart of Accounts. Winlium does not check at save time that the account is right. A wrong account is found only when something posts.
| Field | Type | Required | Details |
|---|---|---|---|
| Employee Payable Account | Dropdown | No | Lists liability accounts. Hover text: The liability account used when an expense is approved — Dr Expense / Cr this account. Credited when a claim is approved. Debited when Finance pays the claim. |
| Staff Advance Account | Dropdown | No | Lists asset accounts. Hover text: The asset account used when an advance is disbursed — Dr this account / Cr Bank. Also credited when an advance is cleared by an expense or unused cash is returned. |
| Corporate Card Payable | Dropdown | No | Lists liability accounts. Hover text: The liability account used when a corporate card expense is recorded — Dr Expense / Cr this account. |
| Default Petty Cash Account | Dropdown | No | Lists cash accounts. Hover text: The cash account debited or credited for petty cash expense reimbursements. It is used for a petty cash expense that has no fund, and as the paying account for an advance when no bank account is chosen. |
The External Payee Payable Account is in the Public Submission section below.
Mileage
| Field | Type | Required | Details |
|---|---|---|---|
| Standard Mileage Rate (₦ per km) | Number | No | Used for mileage-based expense categories (e.g. travel reimbursement). A policy's Mileage Rate Per Km is used first when it has one. The label shows the naira sign whatever your currency. Default: Blank Placeholder: e.g. 250. |
| Allow Employee Rate Override | Yes/No switch | No | When disabled, all mileage expenses use the standard rate regardless of what the employee enters. When on, the rate the employee enters wins. Default: Off |
Public Submission
These settings control the public claim form for people outside the company. How the form works for them is on the public submission page.
| Field | Type | Required | Details |
|---|---|---|---|
| Public Claim Submission | Yes/No switch (locked) | No | You cannot click this switch. It shows whether the link is on. It changes only when you use Generate Link, Rotate Link or Disable Link below. This is normal, not a fault. Default: Off |
| Brand Name Shown on the Public Form | Text | No | The name at the top of the public form. If blank, the company's registered name is shown. Placeholder: e.g. Golden Crunch Farms. |
| Logo Shown on the Public Form | File upload (image) | No | Shows a small preview named Logo preview, and a file picker for an image. The file uploads at once, before you save. You see Logo uploaded or Failed to upload logo. |
| Categories a Public Visitor May Select | Multi-select | No | Only these categories appear on the public form — keep sensitive categories internal-only here. The list shows every category, including inactive ones, but inactive ones are left out of the public form. If you choose none, the public form refuses all submissions. |
| External-Payee Workflow (fallback) | Dropdown | No | Fallback only, tried when no condition-matched template exists. To match automatically, build a template with a payeeType = EXTERNAL_PAYEE condition. Hover text: Never falls back to the Default Claim Workflow above — an external payee has no manager to resolve. |
| Max Submissions Per Day | Number | No | A second anti-abuse layer beyond the gateway's own rate limiting — counted per tenant, not per visitor. Counts every submission in the last 24 hours, from all visitors together. When the limit is reached, visitors see a message asking them to try again tomorrow. Default: 20 Placeholder: e.g. 20. |
| External Payee Payable Account | Dropdown | No | Lists liability accounts. Hover text: The liability account credited for an external-payee claim — never the Employee Payable account above. |
Public Submission Link
A panel under the form. It reads: "Save the categories/GL account above first, then generate the link. Rotating replaces the previous link — anyone still holding the old one loses access immediately."
| Button or item | What it does |
|---|---|
| Generate Link | Shown when no link exists. Creates the link and turns the public form on. Toast: Link generated. The button reads Generating… meanwhile. |
| Rotate Link | Shown once a link exists. Replaces the link with a new one. Anyone using the old one loses access. It also turns a disabled link back on. |
| Disable Link | Shown only while the link is on. Turns the public form off. Toast: Public submission link disabled. The button reads Disabling… meanwhile. |
| Copy button (icon) | Copies the link. Toast: Copied. |
| Active or Disabled | A small badge next to the heading, shown once a link exists. |
The link is shown every time you open the page, so you can copy it again. Generate and Rotate need saved settings first, otherwise you get "Expense settings must be saved before enabling public submission".
Buttons and actions
| Button | What it does |
|---|---|
| Save | First time only. Creates the settings. |
| Update | After that. Saves your changes. |
| Generate Link, Rotate Link, Disable Link | See the table above. They act at once and do not need Save. |
Rules and error messages
What breaks when a setting is missing. These messages are exact.
Employee Payable account is not configured in Expense Settings
Appears: Approving or auto-approving a claim; paying a claim
- Why it happens
- Employee Payable Account is empty.
- How to fix it
Choose a liability account in Employee Payable Account and save. When the approval came from the workflow, the claim can stay at Awaiting Approval, so fix the setting first.
Staff Advance account is not configured in Expense Settings
Appears: Paying out an advance; approving an Advance Clearance; returning cash
- Why it happens
- Staff Advance Account is empty.
- How to fix it
Choose an asset account in Staff Advance Account and save.
Corporate Card Payable account is not configured in Expense Settings
Appears: Approving a Corporate Card expense
- Why it happens
- Corporate Card Payable is empty.
- How to fix it
Choose a liability account in Corporate Card Payable and save.
External Payee Payable account is not configured in Expense Settings
Appears: Approving or paying an external payee claim
- Why it happens
- External Payee Payable Account is empty.
- How to fix it
Choose a liability account in External Payee Payable Account and save.
No disbursement account provided or configured
Appears: Paying out an advance
- Why it happens
- No bank account was chosen and Default Petty Cash Account is empty.
- How to fix it
Choose a bank account when paying, or set Default Petty Cash Account.
This claim has no Petty Cash fund selected and no default Petty Cash account is configured
Appears: Approving a Petty Cash expense that has no fund
- Why it happens
- Default Petty Cash Account is empty.
- How to fix it
Set Default Petty Cash Account, or choose a fund on the expense.
No approval workflow matches this expense and no default workflow is configured. Please contact your administrator.
Appears: Submitting an expense
- Why it happens
- No workflow template matched and Default Claim Workflow is empty.
- How to fix it
Create a matching template or choose a Default Claim Workflow. Advances show the same text with "advance request". External payee claims say "no approval workflow matches this external-payee claim and no external-payee workflow is configured".
An expense policy is required — none matched this submitter
Appears: Creating an expense
- Why it happens
- Require Policy Assignment is on and no active policy matched.
- How to fix it
Create an active policy for the person, or switch Require Policy Assignment off. See Policies.
Cash advance requests are disabled for this company
Appears: New advance request
- Why it happens
- Allow Advance Requests is off.
- How to fix it
Turn Allow Advance Requests on.
Expense settings must be saved before enabling public submission
Appears: Generate Link or Rotate Link
- Why it happens
- No settings have been saved yet.
- How to fix it
Select Save, then generate the link.
This form has no categories configured yet — contact the organization
Appears: Public form
- Why it happens
- Categories a Public Visitor May Select is empty.
- How to fix it
Choose at least one category and save.
This link is invalid or has been disabled
Appears: Public form
- Why it happens
- The link was rotated, disabled or mistyped.
- How to fix it
Generate or rotate the link and share the new one.
Also, a missing financial period stops posting: "No active financial period found for date: <date>". See Financial years and periods.
Who can do this
Administrator Reading and saving need admin:expense-settings:create and admin:expense-settings:update. The Public Submission Link buttons need the link, rotate and deactivate permissions listed in this page's header. Employees also need admin:expense-settings-me:read, because the expense and advance forms read these settings. See Roles and permissions.
What this affects in other modules
- Accounting: the five accounts decide where approvals and payments post. See Ledger impact.
- Workflow: default workflows apply when no template matches. See Approvals.
- Budget Planning: see Budget checks.