NEXEVES Mega Menu

ERPNext System Setting

 · 18 min read

ERPNext System Settings – Part 1 ERPNext Illustration

Introduction

ERPNext System Settings form the foundational governance layer of the ERP framework. While end users primarily interact with functional modules such as Sales, Purchase, Manufacturing, Inventory, Accounts, and HR, System Settings silently control how these modules behave, validate data, enforce security, execute automation, and maintain system performance.

In enterprise ERPNext implementations, failures rarely occur due to missing features. Instead, they arise from poorly planned system-level configurations that affect every transaction flowing through the platform. System Settings determine how data is interpreted, how rules are enforced, and how the ERP behaves under load, during audits, and in failure scenarios.

This document is written from a **real implementation and production-support perspective**, not as a surface-level overview. Each section explains not only what a setting does, but why it exists, how ERPNext processes it internally, what risks it introduces if misused, and how it should be governed in a live business environment.

1. System Settings Architecture and Global Scope

System Settings operate at the framework core of ERPNext. Unlike module-specific settings, they apply universally across all companies, users, roles, and transactions. This architecture ensures centralized governance and prevents fragmented business logic from being implemented inconsistently across modules.

Every transaction initiated in ERPNext—whether through the user interface, background jobs, integrations, or APIs—must pass through system-level validation before it reaches module logic. This makes System Settings the first and most critical control checkpoint in the transaction lifecycle.

From an internal processing standpoint, ERPNext evaluates system rules before checking document permissions, workflow conditions, or custom scripts. If a system rule fails, the transaction is rejected immediately, regardless of user role or document type.

Internal Flow:

User Action → System Setting Validation → Permission Engine → Module Logic → Ledger / Stock Engine → Database Commit → Reporting Layer

Because of this design, a single misconfigured system setting can propagate errors across accounting, inventory valuation, payroll, reporting, and compliance. This is why System Settings must always be finalized before operational transactions begin.

Best Practices:

  • Finalize system settings before go-live
  • Document every system-level decision
  • Restrict access to system configuration
  • Avoid frequent post-production changes

2. User Interface, Desk, and Workspace Behavior Control

User Interface and workspace configuration in ERPNext is not merely a visual preference—it directly affects operational discipline, access control, and data integrity. System-level UI settings determine what users see, how quickly the interface responds, and which functional areas are accessible.

ERPNext dynamically renders workspaces based on role mappings and system UI rules. If these are not properly defined, users may unintentionally access modules that fall outside their responsibility, leading to unauthorized document creation or modification.

From a technical perspective, workspace configuration impacts system performance. Overloaded dashboards with excessive widgets increase client-side rendering time and server query load, especially in high-concurrency environments.

Workspace Resolution Flow:

User Login → Role Resolution → Workspace Mapping → Desk Rendering → Permission-Based UI Filtering

In large organizations, standardized workspaces reduce training costs and prevent user confusion. For example, warehouse staff should never see accounting modules, and finance users should not interact with stock movement screens.

Best Practices:

  • Create role-specific workspaces
  • Hide unused modules at system level
  • Limit dashboard widgets
  • Review workspace usage periodically

3. Language, Timezone, and Localization Engine

Localization settings define how ERPNext interprets time, dates, numeric formats, and language across the entire system. These settings directly influence audit trails, payroll processing, tax reporting, and statutory compliance.

ERPNext processes timestamps using a layered approach: server timezone, system timezone, and user timezone. Any mismatch between these layers can lead to serious discrepancies in transaction posting dates and audit logs.

Changing localization settings after transactions exist is extremely risky. Even if documents appear correct on screen, backend timestamps and reports may already be inconsistent.

Timezone Resolution Flow:

Server Time → System Timezone → User Timezone → Document Posting → Ledger & Audit Logs

Localization also affects numeric grouping and decimal interpretation. Incorrect number formats can cause users to enter wrong values, especially in multi-country deployments.

Best Practices:

  • Align system timezone with statutory location
  • Never change timezone post go-live
  • Lock localization before accounting transactions
  • Train users on number formats

4. Currency Management, Decimal Precision, and Rounding Control

Currency and precision settings define how ERPNext performs all monetary and quantity-based calculations. These are backend calculation rules, not merely display preferences. Once transactions are created, changing these settings can permanently distort valuation and financial accuracy.

ERPNext distinguishes between calculation precision and display precision. Calculations always occur at the configured precision level, while display precision only affects how values are shown to users.

Manufacturing, costing, and inventory environments typically require higher precision than service-based or finance-only implementations. Incorrect precision setup leads to cumulative rounding errors in stock valuation and cost rollups.

Calculation Flow:

Input Value → Currency Conversion → Precision Normalization → Rounding Rule → Ledger / Stock Posting

Changing precision after go-live should only be done with a full reposting strategy and financial validation.

Best Practices:

  • Finance-only: 2 decimal places
  • Manufacturing: 4–6 decimal places
  • Lock precision before transactions
  • Never change precision casually

5. Global Naming Series Strategy and Transaction Identity

Naming Series defines how ERPNext uniquely identifies every document. This is the backbone of audit traceability, legal reference integrity, and cross-module linkage. ERPNext uses atomic counters to ensure concurrency-safe numbering even under heavy load.

A well-designed naming strategy allows instant identification of document type, company, year, and sequence. Poor naming design leads to confusion, audit failures, and reporting inefficiencies.

ERPNext locks naming counters during assignment to prevent duplication, making naming series safe even with hundreds of simultaneous users.

Naming Assignment Flow:

Document Creation → Series Evaluation → Counter Lock → Increment → Assignment → Save

Changing naming series mid-year or reusing cancelled numbers is a common audit violation.

Best Practices:

  • One series per document per company
  • Include year in series
  • Never reuse cancelled numbers
  • Document naming conventions formally
ERPNext System Settings – Part 2

6. Auto-Save, Draft Handling, and Transaction Recovery

Concept & Purpose

Auto-save and draft handling protect transactional data from accidental loss due to browser crashes, network failures, or session timeouts. In ERPNext, drafts are not temporary browser states—they are database-level records with controlled lifecycle management.

Internal ERPNext Workflow

User starts document entry
→ Auto-save timer triggers
→ Draft record saved in database
→ User continues editing
→ Submit action converts draft to final document

Step-by-Step Configuration

  • Step 1: Go to System Settings
  • Step 2: Review auto-save and draft-related parameters
  • Step 3: Ensure draft saving is enabled for large transactional forms
  • Step 4: Educate users to submit drafts instead of abandoning them

Draft Lifecycle Table

StatusMeaning
Draft (0)Auto-saved, editable document
Submitted (1)Finalized transaction
Cancelled (2)Voided transaction

Practical Example

In POS or Stock Entry screens, a network interruption would normally cause data loss. With auto-save enabled, the draft remains in the system and can be resumed.

Sample Logic

if document.status == "Draft":
    save_to_database()
else:
    block_auto_save()

Risks & Best Practices

  • Clean abandoned drafts periodically
  • Avoid excessive auto-save frequency
  • Enable auto-save only for complex forms

7. System Validation Engine and Mandatory Rule Enforcement

Concept & Purpose

The validation engine ensures that only structurally correct and policy-compliant data enters ERPNext. This validation runs before permissions, workflows, or ledger posting.

Internal Validation Workflow

User clicks Submit
→ Mandatory field validation
→ Data type validation
→ Business rule evaluation
→ Cross-document dependency check
→ Save allowed or blocked

Step-by-Step Configuration

  • Step 1: Identify critical mandatory fields
  • Step 2: Avoid disabling system validations
  • Step 3: Use workflows instead of bypassing validation

Validation Types Table

Validation TypeDescription
MandatoryEnsures required fields are filled
LogicalPrevents invalid values
Cross-DocumentChecks linked documents

Example

A Sales Invoice cannot be submitted if the customer is disabled or credit limit is exceeded.

Sample Validation Code

if customer.disabled == 1:
    throw("Customer is disabled")

Best Practices

  • Never disable mandatory rules in production
  • Log validation failures for audit

8. Error Logging, Debug Mode, and System Traceability

Concept & Purpose

Error logging provides traceability for system failures, integration issues, and background job errors. It is essential for root-cause analysis in enterprise deployments.

Error Capture Workflow

System exception occurs
→ Stack trace generated
→ Error logged
→ Optional notification triggered

Log Types Table

LogPurpose
Error LogSystem and script failures
Activity LogUser actions
Scheduler LogBackground job failures

Debug Mode Risk

Debug mode exposes system internals and should never be enabled permanently in production.

Example

try:
    submit_invoice()
except Exception as e:
    log_error(e)

Best Practices

  • Monitor error logs daily
  • Disable debug mode in production

9. Background Jobs, Scheduler Engine, and Queue Management

Concept & Purpose

Background jobs allow ERPNext to process heavy tasks asynchronously without blocking user actions.

Scheduler Workflow

Scheduled trigger
→ Job added to queue
→ Worker executes job
→ Status updated
→ Log recorded

Queue Types Table

QueuePurpose
ShortQuick operations
LongHeavy tasks

Example

Bulk email sending is queued to avoid slowing down the UI.

Best Practices

  • Separate long and short jobs
  • Monitor failed jobs regularly

10. System Performance Optimization and Caching Strategy

Concept & Purpose

Performance settings determine ERPNext responsiveness, scalability, and concurrent user handling.

Performance Flow

User request
→ Cache lookup
→ Database query (if needed)
→ Response generation
→ Cache update

Cache Components Table

ComponentPurpose
Redis CacheBackend performance
Browser CacheUI speed

Example

Without caching, large reports can take 30+ seconds. With cache, load time drops below 5 seconds.

Sample Cache Logic

if cache.exists(key):
    return cache.get(key)
else:
    data = query_database()
    cache.set(key, data)

Best Practices

  • Enable Redis in production
  • Clear cache after major changes
  • Optimize heavy reports
ERPNext System Settings – Part 3

11. Session Management, Login Control, and Authentication Rules

Concept & Purpose

Session management controls how users authenticate, how long they remain logged in, and how ERPNext protects the system from unauthorized access. Every logged-in user operates under an active session token that defines identity, permissions, and activity scope.

Internal Authentication Workflow

User enters credentials
→ Credential validation
→ Session token creation
→ Role & permission mapping
→ Active session maintained
→ Session expiry / logout

Step-by-Step Configuration

  • Step 1: Open System Settings
  • Step 2: Review session timeout values
  • Step 3: Decide whether multiple logins are allowed
  • Step 4: Configure login attempt limits

Session Parameters Table

ParameterPurpose
Session TimeoutAuto logout after inactivity
Allow Multiple SessionsControls concurrent logins
Login ThrottlingPrevents brute-force attacks

Practical Example

Finance users are restricted to single-session login with short timeout, while warehouse users may have longer sessions due to operational needs.

Sample Logic

if active_sessions(user) > 1 and multi_login_disabled:
    force_logout_previous_session()

Risks & Best Practices

  • Never allow unlimited concurrent sessions
  • Use short timeout for finance and HR users
  • Enable login throttling

12. Email Engine, Notification Dispatch, and Outbound Communication

Concept & Purpose

ERPNext’s email engine drives approvals, alerts, customer communications, and system notifications. If the email system fails, workflows silently break and operational delays occur.

Email Dispatch Workflow

Event triggered
→ Notification rule evaluation
→ Email added to queue
→ SMTP dispatch
→ Delivery success / failure logged

Email Components Table

ComponentRole
Email AccountSMTP configuration
Email QueueAsynchronous delivery
NotificationTrigger definition

Practical Example

When a Purchase Order requires approval, an email is queued automatically. If SMTP is misconfigured, the PO remains pending indefinitely.

Sample Email Logic

if notification.enabled:
    enqueue_email(recipient, subject, message)

Best Practices

  • Use a dedicated business email account
  • Monitor email queue daily
  • Test SMTP regularly

13. Notification Events, Alert Rules, and Throttling Control

Concept & Purpose

Notification control prevents alert fatigue and ensures only meaningful system events generate emails or alerts. Without throttling, users quickly ignore notifications.

Notification Evaluation Workflow

Document event occurs
→ System notification check
→ Rule condition validation
→ Throttling applied
→ Alert sent or skipped

Event Control Table

EventRecommended Action
Draft SaveNo notification
SubmitImmediate alert
Workflow ChangeConditional alert

Example

Sales Invoice creation triggers no alert, but approval rejection sends immediate notification.

Best Practices

  • Disable draft notifications
  • Batch non-critical alerts
  • Review notification volume monthly

14. PDF Rendering Engine, Print Format Processing, and Output Control

Concept & Purpose

PDF rendering governs how legally binding documents such as invoices, delivery notes, and payslips are generated. Incorrect rendering can lead to compliance issues.

Print Execution Workflow

User clicks Print
→ Print format selected
→ Data fetched
→ Jinja template rendered
→ PDF engine generates file
→ Output delivered

Print Parameters Table

ParameterImpact
Page SizeLayout consistency
TimeoutLarge document handling

Practical Example

High-volume retail invoices require optimized print formats to avoid timeout during batch printing.

Best Practices

  • Optimize Jinja templates
  • Test with real data volume
  • Lock print formats after approval

15. File Storage, Attachment Security, and Data Governance

Concept & Purpose

File storage settings control how attachments are stored, accessed, and protected. This is critical for compliance, especially for HR and finance documents.

Attachment Handling Workflow

File uploaded
→ File validation
→ Storage location assigned
→ Permission mapping
→ Linked to document
→ Audit log updated

Attachment Types Table

TypeAccess
PublicAccessible via URL
PrivateRestricted access

Practical Example

Employee documents such as ID proofs must be stored as private files with restricted HR-only access.

Best Practices

  • Default attachments to private
  • Restrict file types and size
  • Audit attachment access periodically
ERPNext System Settings – Part 4

16. Backup Strategy, Retention Policy, and Disaster Recovery Readiness

Concept & Purpose

Backup configuration in ERPNext is the final safeguard against irreversible data loss. System Settings control how backups are created, how frequently they run, how long they are retained, and how recovery can be performed during system failure.

Internal Backup Workflow

Scheduled backup trigger
→ Database dump created
→ Files and attachments archived
→ Backup compressed
→ Backup stored securely
→ Backup log updated

Step-by-Step Configuration

  • Step 1: Enable automated backups in system configuration
  • Step 2: Define backup frequency (daily / weekly)
  • Step 3: Configure retention period
  • Step 4: Verify backup storage location
  • Step 5: Periodically test restore process

Backup Types Table

Backup TypePurpose
Database BackupTransactional data
File BackupAttachments and documents
Configuration BackupCustomizations and settings

Practical Example

A system crash occurs after month-end closing. With daily backups and weekly off-site copies, the organization restores ERPNext to the previous day without financial data loss.

Risks & Best Practices

  • Never rely on manual backups
  • Always test restore capability
  • Restrict backup access to administrators

17. Permission Overrides, Administrative Bypass, and Risk Governance

Concept & Purpose

Permission overrides allow specific users to bypass system validations, workflows, or restrictions. These are designed for exceptional situations and must be tightly governed to prevent audit and compliance violations.

Override Evaluation Workflow

User attempts restricted action
→ Permission check
→ Override role validation
→ Action allowed or blocked
→ Audit log recorded

Step-by-Step Configuration

  • Step 1: Identify roles requiring override authority
  • Step 2: Assign minimal override permissions
  • Step 3: Enable audit logging for overrides
  • Step 4: Review override usage regularly

Override Scope Table

Override AreaRisk Level
Edit Submitted DocumentHigh
Bypass WorkflowVery High
Backdated EntryCritical

Practical Example

During an emergency correction, a finance head edits a posted invoice using override permission. The action is logged and reviewed during audit.

Best Practices

  • Never grant override to regular users
  • Require justification comments
  • Audit override usage monthly

18. Automation Defaults and System-Level Auto-Execution Rules

Concept & Purpose

Automation defaults control how ERPNext automatically executes actions such as ledger posting, stock reservation, or document submission without user intervention.

Automation Execution Workflow

Trigger event occurs
→ Automation rule evaluated
→ Conditions validated
→ Automatic action executed
→ Result logged

Automation Areas Table

AreaAutomation Example
AccountingAuto GL Entry
InventoryAuto stock reservation
HRAuto leave allocation

Sample Automation Logic

if system_settings.auto_gl_entry:
    create_gl_entries(document)

Risks & Best Practices

  • Test automation in staging
  • Avoid over-automation
  • Monitor automation logs

19. Workflow Engine Behavior and Approval Enforcement

Concept & Purpose

Workflow enforcement ensures that documents move through defined approval stages based on roles, conditions, and values. It prevents unauthorized submission of sensitive transactions.

Workflow Evaluation Flow

Submit attempt
→ Workflow state check
→ Role authorization validation
→ Condition evaluation
→ State transition

Workflow Components Table

ComponentDescription
StateDocument status
TransitionAllowed movement
RoleWho can act

Practical Example

Purchase Orders above a defined value automatically require CFO approval before submission.

Best Practices

  • Use workflows instead of permission overrides
  • Test all transition paths
  • Lock workflows post go-live

20. Upgrade Control, Version Stability, and Change Management

Concept & Purpose

Upgrades introduce framework changes, database migrations, and feature updates. Without proper control, upgrades can break custom scripts, workflows, and integrations.

Upgrade Lifecycle Workflow

Upgrade initiated
→ Pre-upgrade checks
→ Schema migrations
→ Custom script validation
→ Cache reset
→ Post-upgrade testing

Upgrade Risk Table

RiskImpact
Deprecated FieldsScript failure
Changed APIsIntegration break

Practical Example

An upgrade removes a deprecated field used in a custom script, causing invoice submission failure. This is prevented by staging environment testing.

Best Practices

  • Never upgrade directly in production
  • Freeze system settings before upgrade
  • Validate end-to-end flows post-upgrade
ERPNext System Settings – Part 5

21. System Logging, Error Tracking, and Diagnostic Visibility

Concept & Purpose

System logging in ERPNext provides end-to-end visibility into application behavior, failures, performance anomalies, and integration issues. Logs act as the primary forensic evidence during system troubleshooting and audit investigations.

Logging Workflow

User/System action
→ Application execution
→ Log entry created
→ Severity assigned
→ Stored in log store
→ Reviewed by admin

Log Types Table

Log TypeDescription
Error LogApplication and framework failures
Access LogUser activity tracking
Integration LogAPI and webhook events

Practical Example

A silent failure in automated posting is diagnosed through error logs, revealing missing configuration parameters.

Best Practices

  • Restrict log visibility
  • Monitor error frequency
  • Clean old logs periodically

22. Background Jobs, Queue Management, and Worker Allocation

Concept & Purpose

Background job processing ensures that time-consuming operations execute asynchronously, preventing user interface blocking and maintaining system responsiveness under load.

Queue Execution Flow

Job triggered
→ Added to queue
→ Worker assigned
→ Job executed
→ Status updated

Queue Types Table

QueueUse Case
ShortQuick background tasks
LongHeavy data processing
DefaultGeneral async jobs

Operational Example

Bulk invoice creation runs in long queue, allowing normal users to continue daily operations.

Best Practices

  • Monitor worker health
  • Avoid queue congestion
  • Balance workers by load

23. Email Delivery Controls, SMTP Configuration, and Failover

Concept & Purpose

Email delivery underpins approvals, alerts, and operational communication. Proper SMTP configuration ensures reliable message delivery and compliance traceability.

Email Dispatch Workflow

Event triggered
→ Email rendered
→ SMTP authentication
→ Mail server delivery
→ Delivery status logged

Email Settings Table

SettingPurpose
SMTP HostMail server address
PortTransmission channel
EncryptionSecure transport

Failure Scenario

Approval emails fail due to expired SMTP credentials, identified quickly via email logs.

Best Practices

  • Use dedicated SMTP service
  • Enable email logs
  • Test after configuration changes

24. Scheduler Control, Cron Stability, and Task Reliability

Concept & Purpose

Schedulers execute time-based operations such as billing, reminders, and system maintenance. Misconfigured schedulers can silently disrupt business operations.

Scheduler Workflow

Cron trigger
→ Task identified
→ Permission verified
→ Task executed
→ Status logged

Scheduled Tasks Table

TaskFrequency
Email QueueEvery 5 minutes
Stock UpdateHourly

Practical Example

Missed cron execution stops automated invoicing until scheduler service is restored.

Best Practices

  • Monitor scheduler health
  • Avoid overlapping tasks
  • Log all executions

25. File Storage Architecture and Attachment Governance

Concept & Purpose

ERPNext stores attachments and documents using a structured file system. Proper governance prevents storage bloat and unauthorized data exposure.

Attachment Lifecycle

Upload initiated
→ Permission validated
→ File stored
→ Linked to document
→ Access logged

Storage Types Table

Storage TypeUse Case
LocalOn-premise deployment
CloudScalable object storage

Example

Engineering drawings are stored in cloud storage to reduce server load and backup size.

Best Practices

  • Limit upload size
  • Archive unused files
  • Audit file access

26. Session Management, Timeout Policies, and User Security

Concept & Purpose

Session control protects systems from unauthorized access by enforcing idle timeouts and limiting concurrent logins.

Session Flow

User login
→ Session created
→ Activity tracked
→ Timeout or logout

Session Settings Table

SettingSecurity Impact
Idle TimeoutPrevents unattended access
Concurrent SessionsControls login abuse

Security Scenario

Automatic logout protects shared terminals in warehouses and factories.

Best Practices

  • Enable idle timeout
  • Monitor login history
  • Restrict concurrent sessions

27. Localization, Regional Compliance, and Multi-Country Controls

Concept & Purpose

Localization adapts ERPNext to regional tax laws, formats, and statutory requirements. Incorrect localization leads to compliance violations.

Localization Workflow

Country selected
→ Tax rules loaded
→ Fiscal formats applied
→ Statutory reports enabled

Localization Table

CountryCompliance Feature
IndiaGST
UKVAT

Example

Switching company country updates tax calculation logic automatically.

Best Practices

  • Use official localization apps
  • Validate statutory reports
  • Review legal changes regularly

28. API Access Control, Rate Limiting, and Integration Safety

Concept & Purpose

APIs allow ERPNext to integrate with external systems. Access control and rate limiting protect system stability and data security.

API Request Flow

API request
→ Authentication
→ Rate limit check
→ Permission validation
→ Response returned

API Control Table

ControlPurpose
Token AuthenticationSecure access
Rate LimitingAbuse prevention

Example

Rate limits prevent integrations from overloading ERPNext during peak usage.

Best Practices

  • Rotate API tokens
  • Restrict scopes
  • Monitor API logs

29. Cache Management, Performance Tuning, and System Optimization

Concept & Purpose

Caching improves system performance by reducing repetitive database queries but must be carefully managed to avoid stale data.

Cache Flow

Request received
→ Cache checked
→ Serve cached data or regenerate
→ Cache refreshed

Cache Areas Table

AreaBenefit
MetadataFaster UI rendering
PermissionsReduced DB calls

Optimization Example

Clearing cache resolves permission inconsistencies after role updates.

Best Practices

  • Clear cache after configuration changes
  • Monitor memory usage
  • Avoid excessive caching

30. System Governance, Audit Readiness, and Long-Term Stability

Concept & Purpose

System governance ensures ERPNext remains secure, compliant, and scalable over time through controlled configuration and documented processes.

Governance Framework

Policy defined
→ Controls enforced
→ Monitoring enabled
→ Audit validation
→ Continuous improvement

Governance Table

AreaControl Mechanism
AccessRole governance
ChangeApproval workflows

Final Example

A well-governed system passes audits without emergency fixes or data corrections.

Best Practices

  • Document every change
  • Review system quarterly
  • Train administrators

Conclusion: Building a Stable, Secure, and Governed ERPNext System

System Settings in ERPNext are not merely configuration options; they represent the foundational control layer that determines how the entire ERP behaves under real-world business pressure. From security enforcement and automation behavior to performance tuning and audit readiness, every setting contributes to long-term operational stability.

Across Parts 1 to 5, we explored how each system-level control interacts with users, documents, background processes, and integrations. Properly configured system settings reduce manual intervention, prevent unauthorized actions, ensure regulatory compliance, and protect the organization from operational and financial risk.

One of the most critical insights is that system configuration is not a one-time activity. As business processes evolve, transaction volumes increase, and integrations expand, system settings must be reviewed, tested, and governed continuously. Neglecting this layer often leads to hidden failures that surface only during audits, peak operations, or system outages.

A mature ERPNext implementation treats system settings as part of a formal governance framework. Changes are documented, tested in staging environments, approved through internal controls, and monitored through logs and audits. This disciplined approach ensures that upgrades, customizations, and integrations do not compromise system integrity.

Ultimately, organizations that invest time in understanding and governing ERPNext System Settings gain more than technical stability—they gain predictability, trust in data, audit confidence, and the ability to scale operations without fear of system breakdowns. A well-governed ERP is not just a tool; it becomes a reliable operational backbone for the business.


No comments yet.

Add a comment
Ctrl+Enter to add comment

NEXEVES Footer