ERP migration
Field-level mapping, validation, and rollback between SoftLedger and Microsoft Dynamics 365 Business Central. We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Business Central.
SoftLedger
Source
Microsoft Dynamics 365 Business Central
Destination
Compatibility
9 of 13
objects map 1:1 between SoftLedger and Microsoft Dynamics 365 Business Central.
Complexity
BStandard
Timeline
5-8 weeks
Overview
Moving from SoftLedger to Microsoft Dynamics 365 is a schema restructuring, not a record copy. SoftLedger organizes financial data around a multi-entity Location hierarchy where each entity carries its own currency, COA, and settings. D365 uses a Company-based structure with financial dimensions for the same organizational flexibility. We split each SoftLedger Location into a D365 Company or use dimensions per entity, map the per-entity COA to D365's shared or company-specific chart of accounts, and resolve multi-currency exchange rate overrides explicitly on every migrated journal line. Beginning balances migrate through D365's dedicated opening-balance mechanism rather than raw journal entry posting, which would distort the trial balance. We do not migrate workflows, automations, or custom report definitions as code; we deliver a written inventory of these for the customer's D365 administrator to rebuild in the Power Platform or report designer. User permissions and SSO configuration are not migrated and are reconfigured separately in Azure Active Directory and D365 Security Roles.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Source platform
SoftLedger platform overview
Scorecard, SWOT, gotchas, and pricing for SoftLedger.
Destination platform
Microsoft Dynamics 365 Business Central platform overview
Scorecard, SWOT, gotchas, and pricing for Microsoft Dynamics 365 Business Central.
Data migration guide
The complete Dynamics 365 Business Central migration guide
Data model, import mechanisms, field mapping strategy, pitfalls, and cutover — by the engineers running it.
Destination checklist
Dynamics 365 Business Central migration checklist
Pre- and post-cutover tasks for moving onto Microsoft Dynamics 365 Business Central.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a SoftLedger object lands in Microsoft Dynamics 365 Business Central, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
SoftLedger
Location
Microsoft Dynamics 365 Business Central
Company (or Department with Dimensions)
1:manySoftLedger Locations are the top-level entity container carrying their own currency, address, COA, and operational settings. We split each Location into a D365 Company (legal entity) if the customer requires separate legal-entity reporting, or into a Department tagged with financial dimensions if a single D365 company can absorb the entity. The split decision is made during scoping based on the customer's consolidation requirements, legal entity count, and tax reporting needs. Parent-child Location hierarchy maps to D365 dimensions or separate company hierarchies.
SoftLedger
Chart of Accounts
Microsoft Dynamics 365 Business Central
Chart of Accounts
1:1The COA defined per SoftLedger Location maps to D365's Chart of Accounts. In D365 Business Central, we create the COA at the company level with account numbers, names, types (posting, heading, total), and tax posting setup. Account categories map to D365's account category grouping. In D365 Finance and Operations, the COA can be shared across legal entities or isolated per entity. We flag any Location-specific COA customizations (custom account types, extended text) for manual extension in D365.
SoftLedger
Customer
Microsoft Dynamics 365 Business Central
Customer
1:1SoftLedger Customer records map directly to D365 Customer with name, address, payment terms, currency, and invoice and delivery addresses. D365 splits Customer into CustTable with address and contact subtables, which we map field-by-field. Any SoftLedger custom fields on Customer are pre-created as D365 extension fields before migration. Payment terms map to D365 PaymentTermId; customer currency maps to CurrencyCode.
SoftLedger
Vendor
Microsoft Dynamics 365 Business Central
Vendor
1:1SoftLedger Vendor records map to D365 Vendor (VendTable) with equivalent fields: name, address, payment terms, currency, 1099 eligibility, and W-9 status for US vendors. AP-specific SoftLedger fields map to D365 Vendor posting profiles and invoice co-related settings. Outstanding AP balances are migrated as open vendor ledger entries in D365's AP module.
SoftLedger
Journal Entry
Microsoft Dynamics 365 Business Central
General Journal Lines
1:1SoftLedger Journal Entries with Lines map to D365 General Journal Lines. Each line carries Account (G/L Account number), Debit, Credit, Currency, and Description. For multi-currency entries, we extract the effective exchange rate and any SoftLedger-specific override rate explicitly and apply it to the D365 journal line. Dimensional tags from SoftLedger Dimensions map to D365 financial dimension values that we create and validate before migration. Source references (invoice ID, vendor ID) migrate as journaling text or reference fields.
SoftLedger
Invoice (AR)
Microsoft Dynamics 365 Business Central
Sales Invoice (CustInvoiceJour + CustInvoiceTrans)
1:1SoftLedger AR Invoices map to D365 Sales Invoice records. The SoftLedger invoice number becomes the External Document No. on the D365 invoice; the invoice date becomes the Invoice Date; amounts map to Amount and TaxAmount. Open AR invoices are migrated with status Open so that the D365 accounts receivable module picks up the outstanding balance. Closed invoices migrate as posted invoices for historical record. Customer lookup resolves via email or account name match.
SoftLedger
Invoice (AP)
Microsoft Dynamics 365 Business Central
Purchase Invoice (VendInvoiceJour + VendInvoiceTrans)
1:1SoftLedger AP Invoices map to D365 Purchase Invoice records. The vendor invoice number becomes the Invoice Account and External Document No. on the D365 vendor invoice; invoice date and amount map directly. Open AP invoices migrate with status Open so that D365's AP module reflects the outstanding vendor payable. Vendor lookup resolves via vendor name or vendor ID mapping created during the vendor migration phase.
SoftLedger
Bank Transaction
Microsoft Dynamics 365 Business Central
Bank Transaction (BankAccountTrans)
1:1SoftLedger Bank Transactions map to D365 Bank Account Transactions linked to the corresponding BankAccountTable. We preserve the reconciliation status from SoftLedger: unreconciled items land in D365 as open (reconciliation flag not set) so that the finance team completes bank reconciliation in the new system. Reconciled items migrate as cleared. Bank statement import format (CAMT, MT940, or generic) is documented for the customer's bank reconciliation setup in D365.
SoftLedger
Beginning Balance
Microsoft Dynamics 365 Business Central
Opening Balance Journal
lossySoftLedger beginning balances use a dedicated upload mechanism rather than standard journal entry posting. We structure the D365 opening balance upload as a General Journal with Opening Transaction = Yes, using D365's Opening Balance Journal template or the Configuration Package for trial balance seeding. The upload is sequenced after all G/L account definitions are confirmed and before any historical transaction migration begins, so that the trial balance is seeded correctly. We validate that total debits equal total credits per entity before committing.
SoftLedger
Dimensions
Microsoft Dynamics 365 Business Central
Financial Dimensions
lossySoftLedger Dimensions (e.g., department, cost center, project) tag journal lines with organizational attributes. We discover the full dimension schema during scoping, create corresponding Financial Dimensions in D365 (Dimensions > Financial Dimensions > Financial dimension values for each), and map every dimensional tag assignment to the D365 DefaultDimension and DimensionValue references on journal lines. In D365 Finance, we also configure the dimension framework at the main account level for default financial dimension inheritance.
SoftLedger
Custom Fields
Microsoft Dynamics 365 Business Central
Extension Fields (AL Extension or Power Apps)
lossySoftLedger custom fields on any standard object (Customer, Vendor, Journal Entry, etc.) are discovered during scoping, their data types are mapped to D365-compatible types, and the destination fields are created before migration data is loaded. In Business Central, we use AL extensions or the table extension designer; in Finance and Operations, we use Power Apps portal metadata or the extension framework. Any custom fields that cannot be mapped directly (e.g., SoftLedger-specific picklist values with no D365 equivalent) are flagged for customer decision during scoping.
SoftLedger
Financial Reports
Microsoft Dynamics 365 Business Central
Report Definitions (for manual rebuild)
1:1SoftLedger stores custom financial report definitions as JSON configurations referencing account IDs and dimension tags. These do not migrate as executable reports because D365's report designer (Report Designer, Power BI, or Financial Reporter) uses a different schema. We extract the report JSON, identify the referenced account IDs, and produce a written document mapping those IDs to D365 account numbers with a description of the report layout for the customer's financial analyst or D365 partner to rebuild in the destination report designer.
SoftLedger
User Permissions
Microsoft Dynamics 365 Business Central
Security Roles (reconfigure)
1:1SoftLedger user accounts and role-based permissions are tied to the organization's SSO and identity provider configuration and do not have a direct D365 equivalent that can be migrated as data. We extract the list of SoftLedger users and their access scope (which Locations they can see, which modules they can access) and produce a written permission matrix. The customer's D365 administrator maps this to D365 Security Roles, duty privileges, and field-level security in the destination system using Azure Active Directory for identity.
| SoftLedger | Microsoft Dynamics 365 Business Central | Compatibility | |
|---|---|---|---|
| Location | Company (or Department with Dimensions)1:many | Fully supported | |
| Chart of Accounts | Chart of Accounts1:1 | Fully supported | |
| Customer | Customer1:1 | Fully supported | |
| Vendor | Vendor1:1 | Fully supported | |
| Journal Entry | General Journal Lines1:1 | Fully supported | |
| Invoice (AR) | Sales Invoice (CustInvoiceJour + CustInvoiceTrans)1:1 | Fully supported | |
| Invoice (AP) | Purchase Invoice (VendInvoiceJour + VendInvoiceTrans)1:1 | Fully supported | |
| Bank Transaction | Bank Transaction (BankAccountTrans)1:1 | Fully supported | |
| Beginning Balance | Opening Balance Journallossy | Fully supported | |
| Dimensions | Financial Dimensionslossy | Mapping required | |
| Custom Fields | Extension Fields (AL Extension or Power Apps)lossy | Mapping required | |
| Financial Reports | Report Definitions (for manual rebuild)1:1 | Mapping required | |
| User Permissions | Security Roles (reconfigure)1:1 | Not supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
SoftLedger gotchas
200 req/min API rate limit can throttle bulk exports
Beginning balances require a dedicated upload mechanism
Unreconciled bank items carry status that must transfer intact
Custom exchange rate overrides on journal entries require explicit extraction
Microsoft Dynamics 365 Business Central gotchas
Named-user licensing has no concurrent-use relief
API rate limits throttle large-volume migrations
Historical posted transactions require selective migration scoping
NAV-to-Business Central cloud migration requires partner coordination
Custom fields and AL extensions require separate migration handling
Pair-specific challenges
Migration approach
Discovery and entity-split design
We audit the source SoftLedger environment across all Locations, Chart of Accounts per entity, customer and vendor counts, journal entry volumes by period, open AR/AP invoice counts, bank transaction history, dimensional schemas, and any active custom fields or report definitions. We pair this with a D365 edition decision: Business Central (Essentials $80/user or Premium $110/user) for mid-market organizations needing core AP/AR and financial consolidation; Dynamics 365 Finance ($180/user) for enterprises requiring advanced financial dimensions, budget controls, and global consolidation across legal entities. The discovery output is a written migration scope, the entity-split design (Location-to-Company mapping), and a COA merge or isolation decision per entity.
Schema provisioning and dimension framework setup
We pre-create the destination D365 schema in a Sandbox environment before any data loads. This includes: Companies (one per SoftLedger Location or consolidated), Chart of Accounts with account types and categories, Financial Dimensions matching SoftLedger Dimension names and values, Customer and Vendor templates with payment terms and posting profiles, and any extension fields for SoftLedger custom fields. We deploy via D365 data entities or the Configuration Migration framework. The customer's D365 functional consultant validates the COA and dimension framework before schema is committed.
Sandbox migration and reconciliation
We run a full migration into the D365 Sandbox using production-like data volumes. The customer's finance lead reconciles: account totals (trial balance in equals trial balance out per entity), customer and vendor counts, open invoice counts and amounts, bank transaction counts, and dimensional tag coverage. We spot-check 25-50 random journal entries against the SoftLedger source for amount accuracy, currency translation, and dimension tagging. Any mapping corrections are documented and applied to the production migration scripts. Sandbox sign-off is required before production migration begins.
Beginning balance seeding and opening balance validation
We structure and load beginning balances through D365's Opening Balance Journal or Configuration Package for each entity's account range. Total debits must equal total credits per entity before we commit the opening balance. We validate the D365 trial balance against the SoftLedger pre-migration trial balance for each entity and reconcile any variance before proceeding to historical transaction migration. This step is gated: no historical journal entries are migrated until the opening balance is confirmed.
Production migration in record-dependency order
We run production migration in dependency order: COA and dimension framework (already validated in sandbox), Customers (with address split for multi-address records), Vendors, Journal Entries (with exchange rate override applied explicitly), AR Invoices, AP Invoices, Bank Transactions (with reconciliation status preserved), then custom fields on each object. Each phase emits a row-count reconciliation report and a spot-check validation before the next phase begins. We use D365 OData data entities with batch processing and exponential backoff on throttling responses. The SoftLedger API rate limit (200 req/min) governs extraction pacing throughout.
Cutover, delta sync, and rebuild handoff
We freeze writes in SoftLedger during the cutover window, run a final delta migration of any records modified during the migration period, then mark D365 as the system of record. We deliver the custom report definitions inventory (SoftLedger JSON configs mapped to D365 account numbers for manual rebuild), the dimensional schema mapping document, and the permissions matrix for Azure AD and D365 Security Role configuration. We support a one-week hypercare window for reconciliation issues. We do not migrate SoftLedger workflows, automations, or custom report definitions as executable code; these are documented for the customer's D365 administrator or partner to rebuild in the Power Platform, report designer, or workflow tools.
Platform deep dives
SoftLedger
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Business Central
Destination
Strengths
Weaknesses
Complexity grading
Standard ERP migration. All 8 core objects map 1:1 between SoftLedger and Microsoft Dynamics 365 Business Central.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across SoftLedger and Microsoft Dynamics 365 Business Central.
Object compatibility
All 8 core objects map 1:1 between SoftLedger and Microsoft Dynamics 365 Business Central.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
SoftLedger: 200 requests per minute per organization; returns HTTP 429 when exceeded.
Data volume sensitivity
SoftLedger doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during SoftLedger to Microsoft Dynamics 365 Business Central migration scoping. Not seeing yours? Book a call.
Walk through your SoftLedger to Microsoft Dynamics 365 Business Central migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave SoftLedger
Other ways to arrive at Microsoft Dynamics 365 Business Central
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.