Where Sage 300 keeps its meaning
In most Sage 300 companies the general ledger account number is doing several jobs at once. A code such as 4000-20-310 might carry the natural account, a department and a region. Account structure codes then decide which segments each account may use. Business Central separates those jobs. The G/L account keeps only the natural account, and department, region or division become dimension values posted alongside it. The result is a far shorter chart of accounts. Reports can also slice by any dimension without a new account for every combination.
Optional fields are the second place meaning hides. Over the years, Sage 300 administrators attach them to customers, vendors, items, transaction headers and G/L accounts. Some quietly drive reporting, while others were a one-off idea nobody uses. Each needs its own verdict before we map it. So we export a list of every optional field with a count of how often people fill it in.
The third is multicurrency. A Sage 300 multicurrency ledger records each transaction in its source currency and in the functional currency. Rate types and revaluation codes control how it books unrealized gains and losses. Business Central does the same job with currencies, exchange rate tables and the Adjust Exchange Rates batch job. It can also keep an additional reporting currency on the ledger if head office reports in a different currency. The mapping is sound, but you have to simplify the rate types. That is because Business Central holds one rate table per currency rather than several named rate types.
Sage 300 to Business Central field and entity map
Four verdicts for an optional field
Make it a dimension
If finance filters or totals by the field, it becomes a dimension, so it lands on every ledger entry. A sales territory on invoices or a cost center on vendor bills are typical cases.
Make it an attribute
Descriptive item data such as color, material or pack size becomes an item attribute. Sales staff can filter on it without cluttering the ledger.
Make it a field
Operational data such as a carrier account or a delivery instruction becomes a table extension field. We add it to the customer, vendor or document in a small extension.
Leave it behind
Some fields hold data on only a handful of records, or nobody has touched them in a long time. Those stay in the Sage 300 archive. Carrying them forward only adds screens people ignore.
Balances, open documents and history in a multicurrency company
Trial balance at cutover
G/L balances post as an opening journal on the cutover date. They post by natural account and dimension, in the functional currency.
- โBalance sheet accounts at their closing balance
- โIncome statement brought in as monthly net change if the cutover is mid-year
- โBank accounts reconciled to the last statement before loading
Unpaid receivables and payables
Every open invoice, credit note and prepayment comes across as its own document. Each keeps its source currency and original exchange rate, so payments apply and realized gains or losses post correctly.
- โCustomer and vendor aging matched to Sage 300 on the cutover date
- โOpen sales and purchase orders re-entered or loaded as new documents
- โUnrealized revaluation run in Business Central after the load
Old transactions
Posted Sage 300 history normally stays in a read-only copy of the database. If comparative reports need it, we load prior periods as net change per account and dimension, not every document.
- โRead-only Sage 300 or a SQL backup kept for audits
- โSummarized comparatives for the financial reports
- โDetailed invoice history only when a real process needs it
Rebuild these instead of carrying them over
In a Sage 300 to Business Central migration, some parts never make the trip. You rebuild them instead. Macros and VBA written against the Sage 300 screens do not run anywhere else. Third-party modules built on the Sage 300 SDK need a replacement. That can be a Business Central app from AppSource, a standard feature that already covers the need, or a small extension. Business Central intercompany partners and transactions replace the Sage 300 intercompany module. They work between companies in the same environment.
Reporting is the other rebuild. Statements written in Sage 300 Financial Reporter become Business Central financial reports, the feature long known as account schedules. These read dimensions directly, so one layout can replace a stack of department variants. We redesign Crystal Reports forms such as invoices, statements and checks as Word or RDLC layouts. For analysis, Power BI connects to Business Central through Microsoft's standard apps. The Edit in Excel action also covers most of the ad hoc work people did with Sage 300 exports.
How the Sage 300 cutover runs
- 1
Close the last Sage 300 period
Post every open batch in G/L, AR, AP and inventory. Then finish the bank reconciliation and run period-end, so no batch sits half posted.
- 2
Extract
Pull masters, open documents and balances with Sage 300 import and export, or straight from the SQL database. Keep the extract files as evidence.
- 3
Transform and load
Split segmented accounts into accounts and dimensions, apply the optional field verdicts, and load through Business Central configuration packages.
- 4
Post opening entries
Post the trial balance, then open receivables and payables in source currency against clearing accounts that must net to zero.
- 5
Reconcile and sign off
Compare trial balance, aging and inventory value to Sage 300 figures on the cutover date, in functional and source currency. Do this before the first live transaction.
Sage 300 buyers ask us
Does Microsoft provide a tool that migrates Sage 300 data into Business Central?
Not one we rely on for Sage 300; we move the data with Business Central configuration packages and scripts. That is not a weakness, because the real work is redesigning segments, optional fields and account sets, not copying. Configuration packages load Excel files into Business Central tables with validation, so errors show up before anything posts. We keep the extract and transformation scripts, so we can repeat every load for a test run.
Can we keep our Sage 300 account numbers?
You can keep the natural account part, and we usually recommend it so finance staff recognize their accounts. The department, region or division segments move into dimensions instead. That shrinks the chart of accounts considerably and lets reports combine dimensions freely. We keep a mapping table from old account codes to new account and dimension pairs. Auditors can then trace any balance.
How are foreign currency receivables handled at go-live?
We load each open foreign currency document in its source currency at its original rate, not in dollars. When the customer pays, Business Central posts the realized gain or loss exactly as Sage 300 would have. After the load we run the exchange rate adjustment so the unrealized position matches Sage 300 on the cutover date. The functional currency total of the open items must tie to the receivables control account.
More on a Sage 300 to Business Central migration
What happens to our Sage 300 Financial Reporter statements?
We rebuild them as Business Central financial reports rather than converting them. Financial Reporter formulas refer to Sage 300 account codes and segments that no longer exist in the new chart. Business Central financial reports use row definitions, column definitions and dimension filters. As a result, one income statement layout can often replace several department versions. We rebuild the statements your board and lenders actually receive first and agree the rest with finance.
Do we need Business Central Premium after Sage 300?
Only if you need production orders or service management; most Sage 300 companies run on Essentials. Sage 300 is mainly a financial, order entry and inventory system, and Essentials covers those areas. Companies that ran manufacturing in a separate add-on or spreadsheet should look at Premium. Check current licence details on Microsoft's pricing page or in a partner quote, since they change.
Talk to us about your project.
Tell us what you run today and what has to change. A senior consultant replies with a written next step.
