Solutech Engineering

Configuration & Settings

Environment variables, system settings, and configuration requirements for the EvaDocs system

Configuration & Settings

This section consolidates all configuration requirements for the LPO system.

General Settings (config/settings.php)

Core Business Settings

allow_duplicate_eva_lpo_uploads

  • Type: String ('yes'/'no')
  • Default: 'no'
  • Purpose: Controls whether system allows uploading same LPO multiple times
  • Behavior:
    • 'yes': Skip duplicate checks, allow multiple uploads
    • 'no': Mark duplicates as FAILED with appropriate message

prefer_lpo_prices

  • Type: String ('yes'/'no')
  • Default: 'no'
  • Purpose: Determines if prices extracted from LPO should be preferred
  • Hierarchy: LPO prices override system/outlet price lists when true
  • Override: Users can still manually adjust prices

set_empties_module

  • Type: String ('yes'/'no')
  • Default: 'no'
  • Purpose: Enables/disables empties module for bottle/container returns
  • Integration: Affects product matching and item storage logic
  • Business Logic: Tracks returnable containers when enabled

select_warehouse_before_converting_lpo_to_order

  • Type: String ('yes'/'no')
  • Default: 'no'
  • Purpose: Requires warehouse selection before LPO conversion
  • Benefits: Ensures correct inventory allocation and order fulfillment
  • UI Impact: Adds warehouse selection step in conversion workflow

OCR Service Settings

OCR Service Endpoint

'ocr_service_url' => 'http://reader.data.solutechlabs.com/v1/upload_document/'

System Configuration Tables

UOM Configuration

Table: eva_uom_configurations

The table manages how units of measure are assigned to every LPO product line item.

CREATE TABLE eva_uom_configurations (
    id BIGINT PRIMARY KEY AUTO_INCREMENT,
    outlet_id BIGINT NOT NULL,
    uom_size VARCHAR NOT NULL, // largest, smallest
    global_default JSON NULL,
    status VARCHAR NOT NULL, // active, inactive
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    
    FOREIGN KEY (outlet_id) REFERENCES outlets(id)
);

If there are no configurations set, we default to searching for a global setting in the GeneralSettings model

eva_lpo_unit_of_measure

  • Type: String ('yes'/'no')
  • Default: 'no'
  • Purpose: global setting for the default UOM for all LPO product line items

If nothing is configured, we default to the largest UOM configured against a product