#Import capabilities
Light supports importing:
- Chart of accounts: GL accounts and account structure
- Customer and vendor master: Customer and vendor information
- Historical transactions: Past invoices, bills, payments (with limits)
- Opening balances: GL account balances as of transition date
- Inventory: Products and SKUs
- Budgets: Budget data for planning
This enables comprehensive data setup.
Good to know: Light does not support importing a fixed asset register directly. To enter fixed assets, create a journal entry, bill, or sales invoice with a fixed asset release template applied on one or more lines. See Configuring releases: depreciation, prepayments, deferred revenue for details.
#Preparing import files
Data must be in structured format:
Excel (.xlsx): Recommended format, most flexible
CSV (.csv): Tab or comma-delimited text
JSON: For API-based imports
Fixed-width text: Legacy format (rarely needed)
File requirements:
- First row contains column headers (Account Code, Account Name, Balance, etc.)
- Data types must match (numbers, dates, etc.)
- No special characters in field names
- UTF-8 encoding (for international characters)
Prepare a sample file following Light's import template.
Start an import:
- Navigate to Settings (gear icon) > Import Data
- Click New Import
- Select import type (Chart of Accounts, Customers, Transactions, etc.)
- Download import template (shows required and optional fields)
- Fill template with your data
- Upload file
- Light validates and previews
- Confirm and import
Light guides you through each step.
#Importing chart of accounts
Create your GL account structure:
- Download COA template
- Fill in:
- Account Code: Unique identifier (1000, 1100, 1110)
- Account Name: Descriptive name (Cash, Accounts Receivable, etc.)
- Account Type: Asset, Liability, Equity, Revenue, Expense
- Parent Account: (optional) Code of parent for hierarchical structure
- Upload file
- Light validates account codes are unique
- Light creates GL accounts
- You can now post transactions
Good to know: Use consistent numbering for account codes (e.g., 1000s = assets, 2000s = liabilities). This makes navigation easier.
#Importing customer master
Load customer information:
- Download customer template
- Fill in:
- Customer ID: Unique identifier (Acme, ACME-001)
- Customer Name: Full company name
- Contact Name: Primary contact person
- Email: Customer email
- Billing Address: Full address
- Phone: Customer phone
- Terms: Payment terms (Net 30, Net 60)
- Currency: Default invoice currency
- Upload file
- Light validates customer IDs are unique
- Light creates customer records
- Customers are ready for AR invoicing
#Importing vendor master
Load vendor information:
- Download vendor template
- Fill in:
- Vendor ID: Unique identifier
- Vendor Name: Full company name
- Contact Name: Primary contact
- Email: Vendor email
- Payment Address: Full address
- Phone: Vendor phone
- Terms: Payment terms
- Currency: Default invoice currency
- Tax ID: Vendor tax/VAT number
- Upload file
- Light validates vendor IDs are unique
- Light creates vendor records
- Vendors ready for AP invoicing
#Importing historical transactions
Migrate past transactions from old system:
- Download transaction template
- For each transaction, fill in:
- Document Type: AP, AR, JE, etc.
- Date: Transaction date
- Amount: Total amount
- Customer/Vendor: (for AR/AP)
- Description: Transaction description
- Line items: Account, amount, tax treatment
- Upload file
- Light validates amounts balance (debits = credits)
- Light creates transactions in draft status
- You review and approve before posting
This migrates transaction history.
Important: Typically, only migrate current-year transactions and open receivables/payables. Close prior-year transactions with opening balance approach.
#Importing journal entries
Upload journal entries via CSV with the following format.
#Downloading the template
Click Download template to get a company-specific CSV template that includes:
- All required columns with
(required) annotations
- Your company's active custom properties with
(custom) annotations
- Only custom properties relevant to journal entries
The template dynamically reflects your company's configuration, so you can fill it in and upload directly.
#Required columns
| Header | Description |
|---|
entry id | Groups lines into one journal entry |
date | Posting date (YYYY-MM-DD) |
currency | Currency code (e.g., USD, EUR) |
debit | Debit amount (zero values are accepted) |
credit | Credit amount (zero values are accepted) |
account code | Ledger account code |
entry description | Description for the entry |
line description | Description for the line |
business partner name | Name of the business partner (required) |
#Optional columns
| Header | Description |
|---|
tax amount | Tax amount (can be omitted if not needed) |
tax code | Tax code identifier (can be omitted if not needed) |
business partner id | UUID of the business partner |
local currency rate | FX rate for local currency |
group currency rate | FX rate for group currency |
ledger name | e.g., PRIMARY, ELIMINATION |
target entity code | For intercompany entries |
accounting release template | Template name or UUID for amortization |
accounting release start date | Amortization start |
accounting release end date | Amortization end |
| Custom property columns | Use the label name (e.g., "Cost Center") or internal name |
#Using display names
You can use friendly display names instead of internal system names:
- Custom property columns: Use the label name (e.g., "Cost Center") instead of the internal name (e.g., "cost_center")
- Custom property values: Use value labels (e.g., "New York") instead of internal names (e.g., "new_york") for single-select and multi-select fields
- Accrual templates: Use the template name instead of the UUID
Internal names and UUIDs still work for backward compatibility—existing uploads are unaffected.
#Multi-select values
For multi-select custom properties, separate values with semicolons:
New York; Los Angeles; Chicago
This format works even when labels contain spaces.
#Business partner fields
- business partner name — Required string field.
- business partner id — (Recommended) The UUID of an existing customer or vendor in Light. Using the business partner UUID is the recommended approach for importing customers and vendors, as it ensures accurate matching and avoids duplicate or mismatched records. If omitted, Light attempts to match by name, which may cause errors if names don't match exactly or if duplicates exist.
Good to know: Use entry id to group multiple lines into a single journal entry. All lines with the same entry id will be combined into one balanced entry. Headers with (required) and (custom) annotations from the template are automatically stripped during import.
#Opening balance import
Set GL account starting balances:
- Download opening balance template
- Fill in:
- Account Code: GL account
- Balance: Opening balance amount (positive or negative)
- Upload file
- Light validates balances sum correctly (for each GL side)
- Light creates opening balance JE
- All GL accounts initialized with correct starting balances
This sets up accounting starting position.
#Data validation
Light validates all imports:
- Format validation: Correct data types, required fields present
- Reference validation: Customer/vendor/account codes exist
- Amount validation: Amounts are numeric, balance properly
- Duplicate validation: No duplicate IDs
- Consistency validation: Related data matches
If validation fails, Light provides error report showing exactly what to fix.
#Import preview
Before committing, review import preview:
- After uploading file, Light shows preview
- Review first 10-20 rows to verify data looks correct
- Check that field mapping is correct (columns mapped to right fields)
- If preview looks good, confirm
- If issues, cancel and fix file
The preview catches most errors before they're created.
#Handling import errors
If import fails validation:
- Light displays error report
- Error report shows:
- Row number with error
- Field that failed
- Error message (duplicate, wrong type, etc.)
- Fix the issue in your file
- Re-upload and re-validate
- Once validation passes, import succeeds
Iterative approach ensures clean data import.
#Bulk updates
Update existing data in bulk:
- Export current data from Light (e.g., customer list)
- Make updates in Excel
- Upload updated file
- Light matches to existing records and updates
This enables bulk changes without manual entry.
#Multi-currency import
When importing with multiple currencies:
- Include currency column in template
- Specify currency code (USD, EUR, GBP) for each transaction
- Light converts to GL currency using historical rates (if needed)
- All amounts recorded correctly in GL
This handles multi-currency imports.
#Scheduled imports
Automate recurring imports from external systems:
- Navigate to Settings > Import > Scheduled Imports
- Create scheduled import:
- File location (SFTP, cloud storage, API endpoint)
- Import frequency (daily, weekly, monthly)
- File format and field mapping
- Light automatically imports on schedule
- Failures trigger alerts for investigation
This automates ongoing data sync.
#Import audit trail
Light maintains complete audit of all imports:
- Navigate to Settings > Import > Audit Trail
- View:
- Date/time of import
- File name and size
- Number of records imported
- User who triggered import
- Changes made
- Export audit trail for compliance
This provides evidence of data integrity.
#Rollback failed imports
If an import creates bad data:
- Navigate to Settings > Import > [Failed Import]
- Click Rollback
- Light reverses all changes from that import
- Accounts return to pre-import state
- Fix the import file and re-import
This enables recovery from failed imports.
#Best practices for importing
Test first: Always test imports with sample data before importing full dataset.
Validate data: Verify source data is clean before importing (no duplicates, required fields populated).
Plan mapping: Understand which source fields map to which Light fields.
Backup first: Create a backup before bulk imports (in case rollback needed).
Schedule off-peak: Import during off-peak times to avoid impacting users.
Monitor closely: After import, review results and verify accuracy before considering complete.
#Related articles