Overview
jshERP provides comprehensive system configuration options that control business rules, company information, and operational behavior. These settings are tenant-specific, allowing each organization to customize the system to their needs.System configurations are stored per tenant. Changes affect only the current tenant’s operations.
Configuration Structure
The SystemConfig entity contains:Company Information
Legal company name displayed on documents
Primary contact person or department
Physical business address
Main telephone number
Fax number (if applicable)
Postal/ZIP code
Business Rules
Warehouse/depot management rules (0=disabled, 1=enabled)
Customer management rules and requirements
Allow negative inventory: 0=No, 1=Yes
Enable purchase-from-sales workflow: 0=No, 1=Yes
Enable multi-level approval workflow: 0=No, 1=Yes
Support multiple bill types per transaction
Require approval for all transactions: 0=No, 1=Yes
Allow updating unit prices: 0=No, 1=Yes
Allow over-linking in document chains: 0=No, 1=Yes
Enable detailed inbound/outbound management: 0=No, 1=Yes
Support multiple accounting accounts: 0=No, 1=Yes
Use moving average for costing: 0=No, 1=Yes
Require audit before printing: 0=No, 1=Yes
Allow zero change amounts: 0=No, 1=Yes
Use static customer pricing: 0=No, 1=Yes
Other Fields
Default sales agreement text or template
Associated tenant identifier
SystemConfig.java:1-253
Managing Configuration
Get Current Configuration
Create Configuration
SystemConfigController.java:85-91
Update Configuration
SystemConfigController.java:93-99
File Upload Configuration
jshERP supports file uploads for bills, financial documents, and materials with configurable storage backends.File Upload Types
Configured viaapplication.properties:
SystemConfigController.java:50-60
Get File Size Limits
max-file-size or max-request-size.
Reference: SystemConfigController.java:160-179
Upload Files
biz: Business type - “bill”, “financial”, or “material”file: Multipart file data
- Local Storage (
uploadType=1): Files stored in configured local path - Alibaba Cloud OSS (
uploadType=2): Files uploaded to OSS bucket
SystemConfigController.java:187-219
View Files
Standard View/Download
GET /systemConfig/static/bill/invoice_20240101.pdf
Retrieves the file from configured storage (local or OSS) and streams it to the browser.
Reference: SystemConfigController.java:228-286
Thumbnail View
SystemConfigController.java:293-338
Excel Export
jshERP provides a unified Excel export interface:title: Excel file titlehead: Comma-separated column headerstip: Additional information displayed in headerlist: Array of data objects
SystemConfigController.java:344-357
API Endpoints Reference
Get Configuration by ID
SystemConfigController.java:62-74
List Configurations
companyName: Filter by company name
SystemConfigController.java:76-83
Delete Configuration
SystemConfigController.java:101-115
Check Name Uniqueness
SystemConfigController.java:117-129
Configuration Best Practices
Inventory Management
Recommended Settings:
minusStockFlag=0: Prevent negative inventory to maintain accurate stock levelsdepotFlag=1: Enable warehouse management for multi-location businessesmoveAvgPriceFlag=1: Use moving average costing for accurate valuations
Approval Workflows
Enable Multi-Level Approval
Set
multiLevelApprovalFlag=1 for organizations requiring multiple approval stages.Configure Force Approval
Set
forceApprovalFlag=1 to require approval on all transactions, or 0 for selective approval.Pricing Control
Document Management
Control whether bills can exceed linked document quantities:
0: Strict linking (recommended for most businesses)1: Allow over-linking for flexible workflows
Enable if your business processes require multiple document types per transaction.
File Storage Configuration
Local Storage Setup
Alibaba Cloud OSS Setup
Configure OSS Credentials
Add OSS configuration to your properties file (credentials managed by SystemConfigService).
SystemConfigController.java:187-219, SystemConfigService.java
Company Information Display
Company information from system configuration is automatically included in:- Printed Documents: Invoices, purchase orders, receipts
- PDF Exports: Sales reports, financial statements
- Email Templates: Order confirmations, shipment notices
- System Header: Company name displayed in UI
Multi-Account Support
EnablemultiAccountFlag=1 to support:
- Multiple bank accounts per tenant
- Different payment methods
- Separate accounting books
- Multi-currency transactions
Multi-account functionality requires additional configuration in the financial modules.
Business Rule Examples
Strict Inventory Control
- Prevents overselling (no negative stock)
- Tracks inventory by warehouse
- Uses moving average costing
- Requires detailed inbound/outbound documentation
Flexible Sales Operations
- Allows back-orders (negative stock)
- Permits price adjustments
- Enables over-shipping
- Selective approval required
Compliance-Focused Setup
- Requires multi-stage approval
- All transactions need approval
- Documents must be audited before printing
- Prices cannot be modified
Troubleshooting
File Upload Issues
Configuration Not Applying
Related Documentation
- Tenant Management - Managing tenant accounts
- User Management - User configuration
- Role & Permissions - Access control settings