Default Values
Automatically populate missing invoice data using conditional and fixed default values for seamless Excel imports.
What are Default Values?
Default values automatically fill in missing information during Excel import. They ensure your invoices have all required LHDN fields even when your Excel data is incomplete.
Types of Default Values
Fixed Defaults
Values that are always applied regardless of other data:
- Always set Currency Code to "MYR"
- Always set Tax Type to "01" (Standard Rate)
- Always set Exchange Rate to "1.0"
Conditional Defaults
Values applied only when specific conditions are met:
- If Currency Code = "USD", then Exchange Rate = "4.2"
- If Customer Type = "Government", then Tax Rate = "0.0"
- If Product Category contains "Service", then Unit Code = "C62"
Setting Up Default Values
Accessing Default Value Management
- Navigate to your template's Configure page
- Click More Actions to access the dropdown menu
- Choose either:
- Conditional Defaults: For condition-based values
- Fixed Defaults: For always-applied values
Fixed Defaults
When to Use Fixed Defaults
- Standard company information (tax registration, address)
- Common transaction types (currency, payment terms)
- Regulatory requirements (tax types, classifications)
Setting Up Fixed Defaults
- Click More Actions → Fixed Defaults
- Select the Target Field you want to set a default for
- Enter the Fixed Value to always use
- Add an optional Description for documentation
Fixed Default Examples
Currency Standardization
- Target Field: Currency Code
- Fixed Value: "MYR"
- Description: "All invoices in Malaysian Ringgit"
Tax Type Standardization
- Target Field: Tax Type
- Fixed Value: "01"
- Description: "Standard rate SST for all items"
Company Information
- Target Field: Seller TIN
- Fixed Value: "C12345678901"
- Description: "Company tax identification number"
Conditional Defaults
When to Use Conditional Defaults
- Currency-based calculations (exchange rates)
- Customer-specific rules (tax exemptions)
- Product-based classifications (unit codes, tax rates)
- Regional requirements (different tax rates by state)
Setting Up Conditional Defaults
- Click More Actions → Conditional Defaults
- Select the Target Field to set the default for
- Configure one or more conditional rules:
- If Field: Choose the field to check
- Operator: Select the comparison type
- Value: Enter the value to compare against
- Then Default To: Specify the value to use when condition is met
- Add an optional Description for each rule
Available Operators
- Equals (=): Exact match
- Not Equals (≠): Anything except this value
- Contains: Text contains this substring
- Starts With: Text begins with this value
- Ends With: Text ends with this value
- In List: Value is in a comma-separated list
- Not In List: Value is not in the list
- Greater Than (>): Numeric comparison
- Less Than (<): Numeric comparison
- Greater Than or Equal (≥): Numeric comparison
- Less Than or Equal (≤): Numeric comparison
Practical Examples
Currency and Exchange Rate Management
Scenario: Handle multiple currencies with appropriate exchange rates
Conditional Rule 1:
If Currency Code = "USD"
Then Exchange Rate = "4.20"
Conditional Rule 2:
If Currency Code = "SGD"
Then Exchange Rate = "3.10"
Fixed Default:
Exchange Rate = "1.0" (for MYR)
Customer-Based Tax Rules
Scenario: Government customers are tax-exempt
Conditional Rule:
If Buyer Name contains "Government"
Then Tax Rate = "0.00"
Then Tax Type = "03" (Exempt)
Product Category Automation
Scenario: Different unit codes for different product types
Conditional Rule 1:
If Item Description contains "Service"
Then Unit Code = "C62" (pieces)
Conditional Rule 2:
If Item Description contains "Software"
Then Unit Code = "C62" (pieces)
Conditional Rule 3:
If Item Description contains "Hardware"
Then Unit Code = "C62" (pieces)
Regional Tax Variations
Scenario: Different tax rates by state
Conditional Rule 1:
If Buyer Address contains "Langkawi"
Then Tax Rate = "0.00" (Duty-free zone)
Conditional Rule 2:
If Buyer Address contains "Labuan"
Then Tax Rate = "0.00" (Duty-free zone)
Advanced Conditional Logic
Multiple Conditions for One Field
You can set multiple conditional rules for the same target field:
- Rules are evaluated in order
- First matching condition wins
- Use specific conditions before general ones
Example: Tiered Discount Logic
Rule 1: If Total Amount > "10000" → Discount Rate = "0.10"
Rule 2: If Total Amount > "5000" → Discount Rate = "0.05"
Rule 3: If Total Amount > "1000" → Discount Rate = "0.02"
Complex Text Matching
Use multiple operators for comprehensive coverage:
Product Service Classification:
Rule 1: If Item Description starts with "SVC" → Unit Code = "C62"
Rule 2: If Item Description contains "consulting" → Unit Code = "C62"
Rule 3: If Item Description ends with "service" → Unit Code = "C62"
System-Generated Fields
Default values can target any system field, including:
- Fields mapped from Excel columns
- Fields not present in your Excel file
- Calculated fields that need base values
Targeting Unmapped Fields
For fields not in your Excel file:
- The system creates virtual mappings
- Default values populate these fields automatically
- No Excel column is required
Example: Complete Invoice Header
Even if your Excel only has line items:
Fixed Defaults:
- Currency Code → "MYR"
- Tax Type → "01"
- Issue Date → [Current Date]
Conditional Defaults:
- If Customer Code starts with "GOV" → Tax Rate = "0.00"
Best Practices
Planning Your Defaults
- Audit Missing Data: Identify what's typically missing from Excel
- Define Business Rules: Document when different values should apply
- Start Simple: Begin with fixed defaults, add conditions gradually
- Test Thoroughly: Validate with historical data
Conditional Logic Strategy
- Order Matters: More specific conditions should come first
- Cover Edge Cases: Plan for unexpected Excel values
- Document Rules: Use descriptions to explain business logic
- Regular Review: Update rules as business requirements change
Performance Considerations
- Conditional defaults are processed efficiently
- No practical limit on number of rules
- Complex conditions don't significantly impact import speed
Validation and Testing
Testing Default Values
- Create test Excel files with missing data
- Import using your template
- Verify defaults are applied correctly
- Check LHDN compliance of final invoices
Common Issues
- Condition Never Matches: Check spelling and case sensitivity
- Wrong Values Applied: Review condition order and specificity
- Performance Issues: Usually caused by overly complex text matching
Integration with Other Features
With Code Mappings
Default values and code mappings work together:
- Code mappings transform existing Excel values
- Default values provide missing data
- Combined coverage ensures complete invoice data
With Column Mapping
- Default values can target any mapped field
- They can also target completely unmapped fields
- Virtual mappings are created automatically for unmapped targets
Real-World Scenarios
Accounting System Export
Fixed Defaults:
- Company TIN → "C12345678901"
- Currency Code → "MYR"
Conditional Defaults:
- If Account Code starts with "4000" → Tax Type = "01"
- If Account Code starts with "4100" → Tax Type = "02"
E-commerce Platform
Fixed Defaults:
- Unit Code → "C62" (pieces)
- Tax Type → "01"
Conditional Defaults:
- If Product Type = "Digital" → Tax Rate = "0.00"
- If Customer Country ≠"MY" → Tax Type = "04"
Service Business
Fixed Defaults:
- Unit Code → "HUR" (hours)
- Currency Code → "MYR"
Conditional Defaults:
- If Service Type = "Training" → Tax Type = "02"
- If Client Type = "Government" → Tax Rate = "0.00"
Troubleshooting Default Values
Defaults Not Applied
- Check condition syntax and spelling
- Verify target field names are correct
- Ensure conditions match actual Excel data
Wrong Values Applied
- Review condition order (first match wins)
- Check for overlapping conditions
- Verify operator selection (equals vs contains)
Template Validation Errors
- Ensure default values meet LHDN requirements
- Check data type compatibility
- Verify business rule compliance
Next Steps
After configuring default values:
- Test your complete template with sample data
- Monitor import results for accuracy
- Refine conditions based on real-world usage
- Document your configuration for team use