Migrating Business Central to Xero compresses a multi-dimensional ERP into a 2-tracking-category platform. Batch Xero API calls (50 invoices/request) to stay under the 5,000 daily limit, and plan for dimension data loss.
There is no native migration path from Microsoft Dynamics 365 Business Central to Xero; the transition requires CSV imports, iPaaS middleware, or custom API-based ETL pipelines. The fundamental data model challenge is compressing Business Central's multi-dimensional ledger (up to 10 dimension codes with 2 global and 8 shortcut dimensions) into Xero's hard limit of 2 active tracking categories. Custom transformation work is required to flatten dimensional data, respect Xero's advisory transaction volume limits and 5,000 daily API call ceiling, and preserve invoice-to-payment relationships that CSV imports cannot maintain.
Read this first
Pair-specific gotchas that catch teams out. Each one has cost somebody a weekend.
Before you commit
Xero has advisory monthly limits. Xero recommends the following monthly limits: 1,000 Sales Invoices, 1,000 Purchase Bills, 2,000 Account Transactions, 2,000 Bank Statement lines, 1,000 lines per Statement, and 10,000 Contacts. If your Business Central instance regularly exceeds these volumes, Xero may not be the right target. Audit your transaction volumes first.
Xero organization region lock
Once you create a Xero organization, the country and base currency cannot be changed. This is a one-time, irreversible decision. If you're migrating a BC entity that operates in a different region or currency than what your Xero org is set to, you'll need to create a new Xero organization from scratch. Confirm the correct country and base currency before you begin any data loading.
Key decision
Before migration, your finance team must decide which two dimensions matter most for ongoing reporting. Everything else either gets encoded into the account code structure (e.g., 6010-SALES-US instead of a generic 6010 with a Region dimension) or archived in a data warehouse for historical queries. There is no workaround for Xero's 2-category hard limit.
Keep the full Business Central dimension detail in an external archive keyed by source
Keep the full Business Central dimension detail in an external archive keyed by source document ID, dimension set ID, and target Xero document ID. That gives you a clean Xero file without destroying auditability.
2026 pricing change
All tiers will also have rate limits of 5,000 per day per organization (except for the Starter tier, which will have 1,000). If your Xero developer app is on the Starter tier after March 2026, you'll be limited to just 1,000 calls/day — a ceiling that makes non-batched migrations nearly impossible.
Xero has a fixed set of account types
BANK, CURRENT, CURRLIAB, DEPRECIATN, DIRECTCOSTS, EQUITY, EXPENSE, FIXED, LIABILITY, NONCURRENT, OTHERINCOME, OVERHEADS, PREPAYMENT, REVENUE, SALES, TERMLIAB, PAYGLIABILITY, SUPERANNUATIONEXPENSE, SUPERANNUATIONLIABILITY, WAGESEXPENSE. You cannot create custom account types. Map your BC account categories to these types during transformation.
Duplicate bank feeds risk
If you import payments AND connect Xero to the same bank account for automatic bank feeds, the same transaction will appear twice — once from your import and once from the feed. Set Xero's lock date to the day before your go-live date to prevent imported historical transactions from interfering with live bank reconciliation. This is the most common mistake in financial migrations to Xero.
API Limit Warning
Even with batching, pushing tens of thousands of historical invoices can take days. Plan your migration window accordingly and prioritize the current fiscal year if time is short.
Use Xero's demo organization for testing
Before loading into your production Xero org, run the full migration pipeline against a Xero demo company. Demo orgs are free and disposable — they let you validate your field mappings, batch sizes, and error handling without risking production data. Be aware that demo orgs may have pre-populated sample data, so account for that when comparing record counts.
The runbook
Work top to bottom. Tick steps as you go — your progress is saved in this browser.
01 Discovery Scope the ledger, the subledgers and the audit obligations.
Objective Agreed scope across master data, open transactions and historical balances, with finance and audit signed up.
Keep these open
-
Inventory master data and transaction volumes in Dynamics 365 Business Central
Count GL accounts, customers, vendors, items, fixed assets, open AR and AP, and transaction lines by year. Transaction line volume, not header count, is what determines your load time.
Data Profiler Get real record counts instead of estimating from memory -
Decide the history strategy with finance and audit
Choose between opening balances only, open items plus balances, or full transactional history. This is the single biggest scope decision in an ERP migration: full history multiplies effort many times over, and most organisations land on balances plus open items plus a read-only archive.
Full transactional history is rarely worth the cost. Confirm what your auditor actually requires before assuming you need it.
Vendor Evaluator Score Xero against alternatives on weighted criteria -
Consult the external auditor early
The auditor has views on cut-over timing, audit-trail retention and how you evidence that balances carried across correctly. Finding this out after go-live can mean a qualified opinion, so get it in writing now.
-
Review the chart of accounts and decide whether to redesign
A migration is the natural moment to restructure the COA, and also the riskiest one. If you redesign, you need a mapping from old to new for every historical balance, plus a plan to restate comparatives.
Redesigning the chart of accounts mid-migration doubles the reconciliation burden. Treat it as a separate, sequenced project if you can.
-
Catalogue integrations and statutory reporting
List banking feeds, payment gateways, tax filing, payroll, CRM, e-commerce, warehouse and BI. Then list every statutory and tax filing obligation with its deadline — those deadlines constrain your window absolutely.
-
Pick a period-aligned go-live date
ERP cutovers align to a period boundary — ideally the start of a fiscal year, otherwise the start of a clean month. Mid-period cutover means split-period reporting for the rest of the year.
-
Prepare fixed asset records
Calculate current book value and accumulated depreciation as of the conversion date for each asset.
Dynamics 365 Business Central → Xero specifics
- Cost reduction
- Business Central licensing — Essential (~$70/user/month) or Premium (~$100/user/month) per-user CALs, Azure hosting, partner support contracts — runs significantly higher than Xero's flat monthly pricing (Growing plan ~$42/month, regardless of user count). For a 10-person finance team, the per-user licensing gap alone can be $5,000–$10,000+ per year before you account for hosting and partner fees. For a subsidiary or business unit that doesn't use manufacturing, warehousing, or advanced supply chain features, the savings are substantial.
- Business unit spin-offs
- A parent company retains Business Central for consolidated multi-entity reporting while a divested subsidiary moves to Xero for independent, simpler operations.
- System simplification
- Teams that never used BC's dimensional accounting, job costing, or project modules are paying for complexity they don't need. Xero is not suitable for all types of business, particularly those with very high transaction volumes. But for many mid-market companies that have simplified their operations, Xero's focused feature set is a better fit.
- Ecosystem preference
- Xero's app marketplace and native integrations with tools like Stripe, Shopify, and Gusto appeal to teams building a composable finance stack rather than relying on a monolithic ERP.
- Small business, one-time migration, low engineering bandwidth
- CSV or the Conversion Toolbox, but only if you need current balances, open AR/AP, and limited history.
Don't move on until
- Chart of accounts and master-data counts confirmed
- History strategy agreed: balances, open items, or full transactional detail
- External auditor consulted on the migration approach
02 Data Audit Reconcile the source before you migrate it — you cannot fix a ledger later.
Objective A source ledger that balances, with master data cleansed and every open item agreed.
Keep these open
-
Produce and sign off a source trial balance
Run the trial balance in Dynamics 365 Business Central and have the controller sign it. This is your migration baseline: without a signed pre-migration position you have nothing to reconcile the target against, and any later discrepancy is unarguable.
Without a signed, dated source trial balance you cannot prove the migration preserved the ledger. Do this before anything else.
-
Reconcile subledgers to the general ledger
Confirm AR, AP, inventory and fixed-asset subledgers tie to their GL control accounts. Pre-existing breaks must be resolved in Dynamics 365 Business Central: migrating an out-of-balance ledger makes the break permanently unattributable.
Data Profiler Profile the Dynamics 365 Business Central export for nulls, outliers and type drift -
Clean and deduplicate master data
Deduplicate customers, vendors and items, and identify records that should not carry forward. Duplicate vendors are also a fraud-control weakness, so this has value beyond the migration.
Data Cleaner Strip empty rows, stray whitespace and dead columns -
Agree open AR and AP item by item
Every open invoice, credit note and payment on account needs an owner and an agreed amount, including partially-paid items and foreign-currency balances. Open items are what customers and vendors will dispute in week one.
-
Validate export structure, encoding and precision
Check numeric precision and rounding on the export, and confirm dates and currency codes are unambiguous. Precision loss on amounts is silent, cumulative and produces penny differences that take days to trace.
Amounts exported at reduced precision will not re-total. Verify decimal places before you accept the export.
CSV Validator Catch broken headers and ragged rows in the raw export -
Scan for regulated data and produce masked test data
ERP data holds bank details, tax IDs and payroll information. Scan it, restrict who can see it, and generate a masked copy for the sandbox and for any implementation partner.
PII & Compliance Scanner Find regulated fields before they land in a new system -
Export your BC dimension usage report
Identify which dimensions are actively used on posted entries. Decide which two become Xero tracking categories.
-
Run a data quality scan
Flag customers/vendors with missing emails, duplicate names, or inconsistent address formats.
-
Inventory your Chart of Accounts
Archive or merge inactive accounts. Xero performs better with a lean CoA.
Don't move on until
- Trial balance in Dynamics 365 Business Central balances and is signed by the controller
- AR and AP subledgers reconcile to the GL control accounts
- Master data deduplicated and inactive records identified
03 Field Mapping Map the COA, the dimensions and the subledger structures.
Objective A signed mapping covering the chart of accounts, dimensions, tax codes and currency handling.
Keep these open
-
Map the chart of accounts account by account
Every source account maps to exactly one target account, or to a documented split with agreed proportions. The controller reviews and signs this line by line — an unreviewed COA map is how a balance sheet stops balancing.
Schema Mapper Opens pre-loaded with the Dynamics 365 Business Central → Xero field pair -
Map dimensions, cost centres and analysis codes
ERPs differ structurally here: segments, dimensions, tracking categories and classes are not interchangeable. Confirm how Xero models analysis and whether your existing reporting hierarchy survives the translation.
-
Map tax codes, rates and jurisdictions
Map every tax code with its rate, jurisdiction and reporting treatment, then verify the mapping reproduces your last filed return. Tax errors are statutory exposure, not reporting inconvenience.
A tax-code mapping that has not been tested against a previously filed return is untested. Reproduce a real filing before sign-off.
-
Decide multi-currency and exchange-rate handling
Confirm functional and reporting currencies, and how historical rates are stored. Revaluing historical transactions at current rates rewrites reported results and will not tie to filed accounts.
Historical transactions must retain their original transaction-date rates, or your comparatives will not match filed statements.
-
Map master data and subledger structures
Map customer and vendor records with their payment terms, credit limits and tax registrations, and item records with units of measure and costing method. Costing-method differences change inventory valuation, which changes the balance sheet.
-
Set load order and freeze the spec
COA, then dimensions, then master data, then opening balances, then open items, then any historical detail. Version and sign off the spec with the controller before the pilot.
-
Merge Customers + Vendors
into a unified Contacts list. Deduplicate on name + tax number.
-
Flatten dimensions
into tracking category assignments (top 2) or account code suffixes (remaining).
JSON to CSV Converter Flatten nested API responses into a reviewable sheet -
Map tax codes
BC's VAT Bus. Posting Group × VAT Prod. Posting Group matrix → single Xero TaxType string per line.
Dynamics 365 Business Central → Xero specifics
- Structure multi-line invoices
- Each BC sales invoice line becomes a LineItem in the Xero payload.
Don't move on until
- Account-by-account COA mapping reviewed by the controller
- Tax codes and jurisdictions mapped and verified against filings
- Multi-currency and rate handling agreed with finance
04 Test Migration Prove the ledger balances in the target before you trust it.
Objective A sandbox load whose trial balance matches the signed source position to the penny.
Keep these open
-
Configure the Xero sandbox with the agreed structures
Build the COA, dimensions, tax codes, currencies, fiscal calendar and posting rules before loading anything. Every one of these affects how a posted transaction lands, so an unconfigured sandbox produces meaningless results.
-
Load master data and validate it
Load customers, vendors and items first and verify counts, payment terms, tax registrations and costing methods. Transactions cannot post correctly against wrong master data, so this gate comes before any balance work.
Migration Validation Tool Diff the pilot batch against source before scaling up -
Load opening balances and prove the trial balance ties
Load opening balances and run a trial balance in Xero, comparing to the signed source position. It must match exactly — a rounding difference here is a mapping defect, not a rounding difference.
Any variance at all between source and target trial balance must be explained line by line. "Close enough" is never acceptable in a ledger.
-
Load open items and reconcile the subledgers
Load open AR and AP with their ageing intact, then confirm subledger totals tie to GL control accounts and that ageing buckets match. Ageing that shifts means transaction dates mapped wrongly.
-
Run a full period-end close in the sandbox
Execute the whole close: revaluation, accruals, depreciation, tax calculation, and financial statement generation. Compare every statement to Dynamics 365 Business Central for the same period. The close is where structural mapping errors finally become visible.
-
Test transactions end to end and reproduce a tax filing
Post a sales order to cash and a purchase order to payment, then generate the tax return for a previously filed period and compare it to what you filed. If both reconcile, the configuration is sound.
Don't move on until
- Target trial balance matches the signed source trial balance exactly
- Subledgers reconcile to control accounts in the target
- A full period-end close has been run in the sandbox
05 Cutover Switch the ledger on a period boundary, with balances proven.
Objective Balances and open items live in Xero, transacting resumed, and a signed post-load trial balance.
Keep these open
-
Close the final period in Dynamics 365 Business Central and freeze posting
Complete the period-end close, then lock posting entirely. An ERP freeze is absolute: a single journal posted to the old system after the final export leaves the two ledgers permanently divergent.
One journal posted in the old ERP after the final export breaks the reconciliation permanently. Lock posting at the system level, not by asking people nicely.
-
Publish the cutover runbook with the abort point
A timed, owner-named sequence for load, balance verification, integration switch and go/no-go, with an explicit abort criterion. The trial-balance check is the gate — nothing proceeds until it ties.
-
Load balances and open items into production
Load the final opening balances and open AR/AP into Xero production, following the pilot-proven sequence. Do not improvise the order under time pressure.
-
Reconcile and sign the post-load trial balance
Run the trial balance in Xero and reconcile it to the signed source position, then have the controller sign the result. This signature is your evidence for the auditor and your go/no-go gate.
Migration Validation Tool Confirm the final delta landed before you reopen -
Repoint banking, payment and tax integrations
Switch bank feeds, payment gateways, tax filing connections, payroll and BI, then process one real low-value payment and one bank reconciliation end to end. Banking errors move real money, so verify with live traffic.
Payment integrations left connected to the old ERP can duplicate real payments. Disable them before switching, not after.
-
Go/no-go, then open for transacting with daily reconciliation
Call the decision on the signed trial balance, open Xero for posting, and reconcile daily for the first two weeks with finance support on hand. Keep Dynamics 365 Business Central read-only for statutory retention — this is an audit requirement, not a preference.
Don't move on until
- Post-load trial balance signed by the controller
- Banking, tax and payment integrations verified live
- Users transacting and the first daily reconciliation clean
06 Validation Prove the statements, the tax position and the audit trail.
Objective Financial statements reproducing the source position, a clean tax filing, and auditor acceptance.
Keep these open
-
Reconcile the full ledger and all subledgers
Reconcile trial balance, AR, AP, inventory, fixed assets and bank against the signed source position. Produce a single reconciliation pack that goes to the auditor.
Migration Validation Tool Reconcile Dynamics 365 Business Central and Xero record-for-record -
Reproduce the financial statements
Generate balance sheet, P&L and cash flow in Xero and compare to the pre-migration statements. Every variance needs a documented explanation traced to a specific mapping decision.
-
Complete and review the first period-end close
Run the first real close in Xero with extra review at every step. Compare its duration and outcome to your historical close, and treat anything unexpected as a live finding.
Data Profiler Prove field completeness held up through the load -
Verify the tax position and file
Generate and review the first tax filing from Xero, reconciling it to the underlying transactions before submission. Have the tax lead review it independently.
The first statutory filing out of a new ERP should be reconciled manually to source transactions before submission.
-
Confirm controls, segregation of duties and audit trail
Verify user permissions, approval limits, segregation of duties and audit logging in Xero. Controls do not migrate, and a control gap found by an auditor is far more expensive than one you find yourself.
PII & Compliance Scanner Produce the compliance evidence your auditor will ask for -
Obtain auditor acceptance and retain the archive
Walk the auditor through the reconciliation pack, get written acceptance, and retain Dynamics 365 Business Central read-only for the full statutory retention period. Diarise the retention expiry rather than the contract renewal.
-
Record counts
Compare total customers, vendors, invoices, and payments between BC and Xero.
-
Set the Xero lock date
to the conversion date. This prevents anyone from editing imported historical transactions.
-
Rebuild automations
BC workflows (Power Automate, approval flows) have no equivalent export. Recreate them in Xero or connected tools.
Dynamics 365 Business Central → Xero specifics
- Balance verification
- Run a Trial Balance in BC as of the conversion date. Compare to Xero's Trial Balance. They must match to the penny.
- Spot-check samples
- Pick 20–30 invoices at random. Verify line items, tax amounts, tracking categories, and payment allocations.
- Aged receivables/payables
- Compare aging reports. Mismatches here indicate payment-to-invoice linking failures.
- Attachment verification
- Spot-check that key documents transferred with correct associations.
- Fixed asset register
- Compare BC's fixed asset list with Xero's Fixed Assets register — verify acquisition costs, accumulated depreciation, and book values match.
Don't move on until
- Financial statements match the pre-migration position
- First period-end close completed and reviewed in Xero
- Auditor satisfied and archive retained for the statutory period
Field mapping reference
The field-by-field mapping for each object. Use this as the starting point for your mapping spec.
Business Central Xero
| Dynamics 365 Business Central field | Xero field | Notes |
|---|---|---|
| G/L Account No. | Account Code | Xero codes are alphanumeric, max 10 chars. Keep a permanent crosswalk. |
| Name | Name | Max 150 characters in Xero |
| Account Category | Account Type | Map BC categories to Xero's fixed types (see below) |
| Account Subcategory | Tax Type | Requires careful mapping to Xero's tax rate codes |
| Direct Posting (Yes/No) | Enable Payments (checkbox) | BC summary accounts → Xero header accounts |
| Dimensions (Default) | Tracking Categories | Only 2 dimensions can be preserved as tracking categories |
Cus mers
| Dynamics 365 Business Central field | Xero field | Notes |
|---|---|---|
| No. (Customer/Vendor) | ContactNumber | Optional in Xero, but recommended for cross-reference |
| Name | Name | |
| Address / City / Post Code / Country | AddressLine1, City, PostalCode, Country | Xero uses separate address objects for POBOX and STREET |
| Phone No. | Phone (DEFAULT) | |
| EmailAddress | Normalize and drop invalid formats before load | |
| VAT Registration No. | TaxNumber | |
| Currency Code | DefaultCurrency | Must match Xero's ISO 4217 codes |
| Customer/Vendor | IsCustomer/IsSupplier | BC separates these; Xero unifies them as Contacts with boolean flags |
| Payment Terms Code | PaymentTerms | Xero supports limited types: DAYSAFTERBILLDATE, DAYSAFTERBILLMONTH, OFCURRENTMONTH, OFFOLLOWINGMONTH |
Sales Invoices Invoices
Invoice data can be migrated via API with batching (up to 50 per request), but Xero's 1,000 monthly sales invoice advisory limit and daily API ceiling constrain throughput for large historical datasets.
| Dynamics 365 Business Central field | Xero field | Notes |
|---|---|---|
| No. | InvoiceNumber | |
| Sell-to Customer No. | Contact.ContactID | Must resolve to an existing Xero contact |
| Posting Date | Date | |
| Due Date | DueDate | |
| Currency Code | CurrencyCode | |
| Amount Including VAT | Total (calculated) | Xero calculates totals from line items |
| Sales Invoice Lines | LineItems [] | Each BC line → one Xero LineItem |
| Line: G/L Account | LineItem.AccountCode | Must match Xero Chart of Accounts |
| Line: Amount | LineItem.LineAmount | |
| Line: VAT % | LineItem.TaxType | Map BC VAT posting groups to Xero tax rate names |
| Dimensions on Line | LineItem.Tracking [] | Only 2 tracking categories per line |
Business Central Xero
| Dynamics 365 Business Central field | Xero field | Notes |
|---|---|---|
| Entry No. | PaymentID (auto-generated) | |
| Amount | Amount | |
| Posting Date | Date | |
| Applies-to Doc. No. | Invoice.InvoiceID | Must link to the corresponding Xero invoice |
| Bank Account | Account.Code | Must be a BANK-type account in Xero |
Risk matrix
Per-object risk for this pair. Plan extra validation around anything marked high.
| Object | Risk | Notes |
|---|---|---|
| Chart of Accounts | medium | Direct mapping is possible for the base account structure, but shortcut dimensions 3–8 must be flattened into composite account codes, requiring careful redesign to preserve reporting utility. |
| Dimensions / Tracking Categories | high | Business Central's up to 10 active dimensions must be compressed into Xero's hard limit of 2 tracking categories, causing irreversible loss of analytical granularity for any dimensions beyond the chosen two. |
| Contacts | low | Contacts map relatively cleanly between systems, though Xero's advisory limit of 10,000 contacts should be validated against the Business Central customer and vendor master data count. |
| Sales Invoices | medium | Invoice data can be migrated via API with batching (up to 50 per request), but Xero's 1,000 monthly sales invoice advisory limit and daily API ceiling constrain throughput for large historical datasets. |
| Purchase Bills | medium | Similar constraints as sales invoices apply, with the added complexity of preserving vendor associations and purchase order references that may not have direct Xero equivalents. |
| Payment Allocations | high | Invoice-to-payment linkages cannot be preserved via CSV imports and require API-level migration with careful sequencing to ensure invoices exist before payments are allocated against them. |
| Bank Transactions | high | Migrating historical bank transactions risks creating duplicate entries when Xero's live bank feeds pull the same transactions, requiring careful cutover date coordination and feed disconnection. |
| Journal Entries | medium | Manual journals can be migrated via API, but multi-dimensional journal entries must be flattened to 2 tracking categories, and lightweight tools like Zapier and Make lack journal entry handling entirely. |
| Historical Reporting Data | high | Business Central's multi-dimensional analysis views and reporting granularity cannot be replicated in Xero's standard reports, requiring an external BI layer or data warehouse to preserve historical analytical capability. |
| Tax Codes / VAT Configuration | medium | Business Central's tax posting groups and VAT configurations must be mapped to Xero's tax rate structure, and any unrecognized tax code in a CSV import will cause the entire batch to be rejected. |
The hard parts
What makes this specific migration difficult, beyond the mechanics.
Dimensional Data Compression
Business Central supports up to 10 active dimensions with multi-dimensional analysis views, but Xero enforces a hard limit of 2 tracking categories, requiring irreversible flattening or archival of analytical granularity.
Dual API Rate Limits
Migrations are throttled on both sides — Business Central enforces 6,000 requests per 5-minute rolling window per user, while Xero imposes a 5,000 daily API call ceiling, making large-volume transfers a multi-day orchestration challenge.
Transaction Volume Caps
Xero recommends monthly limits of 1,000 sales invoices, 1,000 purchase bills, and 2,000 account transactions, which may disqualify high-volume Business Central environments from migrating at all.
Relationship Preservation Across Objects
CSV imports cannot maintain invoice-to-payment allocations, contact-to-transaction associations, or document linking, requiring API-level migration to preserve financial record integrity.
CSV Batch Error Handling
Xero's CSV import rejects the entire batch if any single row contains an error, and practical limits of approximately 500 rows per import file force manual splitting and re-uploading for larger datasets.
Chart of Accounts Restructuring
Shortcut dimensions 3–8 from Business Central have no Xero equivalent and must be encoded into composite account codes (e.g., 6010-SALES-US), fundamentally altering the chart of accounts structure.
Tools used in this playbook
All free, all run entirely in your browser — nothing is uploaded.
FAQ
How long does a Business Central to Xero migration take?
A small business with under 1,000 invoices can migrate in 2–5 days using CSV imports. Larger migrations with 10,000+ transactions typically take 1–3 weeks via API, depending on transformation complexity and Xero's 5,000 daily API call limit. A managed service can often compress this to under a week through intelligent batching.
What data do you lose migrating from Business Central to Xero?
The main losses are: dimensions beyond 2 (Xero only supports 2 tracking categories), custom AL extensions, multi-entity consolidation, advanced inventory tracking (Xero caps at 4,000 tracked items), revenue recognition schedules, and detailed approval workflows. Shortcut dimensions 3–8 must be flattened into account codes or archived externally.
What are Xero's API rate limits for migration?
Xero enforces 5 concurrent requests, 60 calls per minute, and 5,000 calls per day per organization per app. Each POST can batch up to 50 records (e.g., 50 invoices). The Starter developer tier drops to just 1,000 calls/day after March 2026.
Can I migrate Business Central dimensions to Xero?
Only partially. Xero supports exactly 2 active tracking categories with approximately 100 options each. Map your two most important BC Global Dimensions to these categories. All other dimensions must be encoded into your Chart of Accounts structure or stored in an external data warehouse for historical reporting.
Can Zapier or Make handle a full Business Central to Xero migration?
Not well. They lack deep financial object support — no journal entry or payment allocation handling. They're fine for lightweight post-cutover automation (e.g., new contacts, approved invoices), but not for replaying historical invoices, payments, credits, and reconciliation-sensitive relationships at scale.