mail@mabbaz.com Abu Dhabi, UAE

Business Central · Cost Accounting · Finance

Cost Accounting in Business Central

Cost accounting is one of the most misunderstood modules in Microsoft Dynamics 365 Business Central. People confuse it with the general ledger, confuse it with dimensions, switch it on because it sounds important, and then never touch it again. This is a practitioner's explanation of what the cost accounting module actually does, how it differs from financial accounting and from dimensions, how allocations really work, and, honestly, when it is worth using at all. For many small and mid-sized businesses the surprising answer is that it is not.

Muhammad Abbas July 16, 2026 ~22 min read

Open the Business Central menu, scroll to the finance area, and you will find a whole workspace called Cost Accounting sitting there quietly: cost types, cost centers, cost objects, cost journals, allocations, cost budgets, a dedicated chart. It looks important. It looks like something a serious finance function ought to be using. And so a lot of implementations switch it on, spend a few days configuring it, and then never post another entry into it. The reason is that cost accounting in Business Central is genuinely powerful for a specific job, and completely unnecessary for a much larger set of businesses that think they need it. After years of implementing and integrating Business Central alongside ERP, EAM and CMMS systems, the question I get asked most about this module is not "how does it work" but "do we actually need it." This guide answers both, and it tries to be honest rather than encouraging.

The message up front: the cost accounting module is a separate managerial ledger that lives beside the general ledger, built for internal cost analysis, allocation of overhead, and comparing actuals against cost budgets by cost center and cost object. It is not the general ledger, and it overlaps heavily with dimensions. If dimension-based analysis on your G/L already answers your cost questions, and for most SMEs it does, you may never need the module at all. Knowing that before you configure it saves a great deal of wasted effort.

1. Cost accounting versus financial (general ledger) accounting

The first and most important thing to understand is that cost accounting and financial accounting answer different questions for different audiences, and Business Central keeps them in different places on purpose.

Financial accounting, the general ledger, is the statutory, externally-facing record. It exists to produce the balance sheet and the profit and loss statement, to satisfy auditors, tax authorities and shareholders, and to comply with accounting standards. Every posting in the general ledger has to balance, every figure has to be defensible, and the structure of the chart of accounts is largely dictated by reporting and compliance obligations rather than by how management wants to slice the business. The general ledger is the source of truth for what happened, expressed in the language of financial statements.

Cost accounting, by contrast, is a managerial, internally-facing record. Nobody outside the company ever sees it. Its purpose is to help management understand where cost is really incurred, how shared overhead should be spread across the parts of the business that consume it, and how the true cost of a department, a product line, a project or a service compares against plan. Cost accounting is free to reorganise, reclassify and reallocate the same underlying numbers in whatever way makes them useful for decisions, because it carries no compliance burden. It answers "where is our money actually going, and is that where we planned for it to go."

In Business Central the two are deliberately separate ledgers. The general ledger holds G/L entries. Cost accounting holds cost entries in its own tables, with its own chart, its own journals and its own reports. Data flows from the general ledger into cost accounting through a transfer process, but once it is in cost accounting you can allocate and reshape it without ever touching or distorting the statutory books. That separation is the whole point: you get to do aggressive managerial analysis, spreading overheads and reallocating costs in ways that would never be acceptable in the financial ledger, without any risk of corrupting the numbers the auditor will look at. For the wider financial picture the general ledger anchors, see the Business Central financial management pillar.

2. The building blocks: cost types, cost centers and cost objects

Cost accounting is built from three primary dimensions of analysis, and getting the vocabulary right is half the battle because the names are easy to blur together.

  • Cost types answer the question "what kind of cost is this." They are the cost accounting equivalent of general ledger accounts: salaries, rent, energy, depreciation, materials, and so on. The cost types are organised into a structure called the cost accounting chart, which mirrors the income-statement accounts of the general ledger. A cost type is the "what."
  • Cost centers answer the question "where was this cost incurred, or who is responsible for it." They represent the organisational units that consume resources: departments, teams, locations, functions such as administration, sales, production or facilities. A cost center is typically a place or a responsibility area that generates cost but is not itself something you sell. A cost center is the "where" or the "who."
  • Cost objects answer the question "what was the cost incurred for." They represent the things the business exists to deliver: products, product groups, projects, services, jobs, contracts. A cost object is the endpoint that ultimately should carry the cost so you can judge its true profitability. A cost object is the "what for."

The flow that makes cost accounting meaningful is this: costs land first against cost types (what was spent), are attributed to cost centers (where it happened), and are then, through allocation, pushed onward to cost objects (what it was ultimately for). A facilities cost center accumulates rent, cleaning and energy, and those pooled overheads are then allocated out to the product lines or projects that use the facility, so that each product or project carries a fair share of the building cost it actually consumed. That three-step movement, from cost type to cost center to cost object, is the core mechanic the whole module is built to support.

If you have read the companion piece on Business Central dimensions, this will feel familiar, and that is not an accident. Cost centers and cost objects map very naturally onto two dimensions you very likely already have on your general ledger, usually a Department dimension and a Project or Product dimension. Hold that thought, because the relationship between these two features is the single most important decision in this whole topic, and we will come back to it directly.

3. The cost accounting chart and mapping to the general ledger

The cost accounting chart is the backbone of the module. It is a structured list of cost types that parallels the profit-and-loss section of your general ledger chart of accounts. Where the G/L chart has income and expense accounts, the cost accounting chart has cost types that correspond to them, arranged in a hierarchy with headings, totals and subtotals so that the managerial reports read cleanly.

Business Central can generate the cost accounting chart directly from the general ledger chart of accounts, creating a cost type for each relevant income-statement account. This is the sensible starting point: you begin with a cost type structure that mirrors the accounts you already post to, and then you adapt it for managerial purposes. That adaptation is where cost accounting earns its separateness. In the cost chart you are free to group differently, to add cost types that have no direct G/L counterpart (for internal allocations, for instance), and to reorganise the hierarchy so it reflects how management thinks about cost rather than how the statutory statements are laid out.

Each cost type carries a link back to the general ledger account or accounts it draws from. This mapping is what allows the transfer process to know which G/L movements belong against which cost type. Where one cost type corresponds cleanly to one G/L account, the mapping is trivial. Where a cost type aggregates several accounts, or where a single account needs to be split across cost types, the mapping needs thought, and this is one of the places an implementation can quietly go wrong: if the mapping between G/L accounts and cost types is incomplete or inconsistent, the cost accounting figures will not reconcile back to the income statement, and a managerial ledger that does not tie back to the financials is worse than useless because it actively misleads.

The honest pitfall: the value of cost accounting depends entirely on the discipline of the mapping and the transfer. If someone posts to a new G/L expense account and nobody adds the corresponding cost type or link, that cost silently never reaches cost accounting, and the managerial reports drift out of agreement with the P&L. Maintaining that mapping is an ongoing operational responsibility, not a one-time setup task, and it is exactly the kind of maintenance that gets forgotten once the implementation consultant leaves.

4. Transferring general ledger entries into cost accounting

Cost accounting does not capture transactions at the point of entry. You do not post an invoice into cost accounting. Instead, transactions are posted normally into the general ledger, and then a transfer brings the relevant general ledger entries across into cost accounting as cost entries. This transfer is the bridge between the statutory ledger and the managerial one.

The transfer can be run in two ways. It can be run automatically, so that qualifying G/L postings flow into cost accounting as they are posted, or it can be run in batch on a schedule, transferring the accumulated G/L entries for a period in one operation. Either way, the mechanism is the same: Business Central reads the G/L entries, uses the account-to-cost-type mapping to determine the cost type, and, where the G/L entries carry the relevant dimension values, uses those to determine the cost center and cost object. This is a crucial detail that people miss. The cost center and cost object on a transferred entry usually come from the dimension values that were already on the original general ledger posting. In other words, cost accounting frequently rides on top of the dimensions you were already capturing.

Once transferred, entries carry a batch identifier so you can trace which transfer run produced them, reverse a batch cleanly if something was wrong, and reconcile the total transferred against the general ledger for the period. That reconciliation step, confirming that what landed in cost accounting equals what was posted to the corresponding G/L accounts, is the control that keeps the managerial ledger honest. Skip it and the two ledgers can silently diverge.

There is one more source of entries. Cost accounting has its own cost journal, into which you can post entries that exist only in cost accounting and never touched the general ledger. This is used for purely internal allocations and adjustments, internal charges between cost centers, and managerial reclassifications that have no place in the statutory books. It is a legitimate and useful capability, but it is also where cost accounting starts to diverge from the general ledger in ways that must be deliberate and documented, because entries that live only in cost accounting are, by definition, invisible to anyone reconciling against the financials.

5. Cost allocations: static and dynamic

Allocation is the feature that justifies the existence of the whole module. Everything up to this point, the chart, the transfer, the cost centers and objects, is preparation for the moment when you take a pool of shared cost and spread it fairly across the parts of the business that caused it. This is the thing dimensions alone cannot do well, and it is the strongest single argument for using cost accounting.

The problem allocation solves is real and universal. Some costs belong obviously to one place: a salesperson's salary belongs to the sales department. But a great deal of cost is shared. Rent, utilities, insurance, central IT, the finance team, the general manager's time, the facilities function: these are incurred centrally and benefit many parts of the business. If you want to know the true, fully-loaded cost of a product line or a project, you cannot leave those shared costs sitting in a central overhead bucket. You have to spread them onto the products and projects that consume them, according to some fair and defensible basis. That spreading is allocation, and Business Central supports two flavours.

Static allocation uses a fixed basis that you define and that does not change automatically as the underlying data changes. You decide, for example, that the facilities cost center is allocated to three production cost centers in the ratio 50, 30 and 20 percent, or on the basis of floor space each occupies, and that ratio holds until you change it. Static allocation is simple, transparent and predictable. It is the right choice when the allocation basis is genuinely stable, floor area, headcount that rarely moves, agreed fixed percentages, and when you value predictability over responsiveness.

Dynamic allocation derives the allocation basis from actual data in the system, and recalculates as that data changes. Instead of a fixed percentage, you tell Business Central to allocate a cost center in proportion to some measured driver: actual machine hours, actual number of employees, actual sales, actual quantity of another cost type or cost center's values in the period. When the drivers change, the allocation changes with them. Dynamic allocation is more accurate and more responsive because it reflects what actually happened, but it is more complex to set up and harder to explain to a non-specialist, because the resulting percentages move from period to period.

Allocations in Business Central are defined as rules with source and target definitions, a basis, and a sequence, and they can be chained: the output of one allocation becomes the input to the next, so you can move cost from cost types to cost centers, pool it, then push it from cost centers out to cost objects in a defined order. This is genuinely capable functionality, closer to a purpose-built cost-allocation engine than to anything you can achieve by tagging transactions with dimensions.

The insight worth internalising: allocation is the one thing cost accounting does that dimensions cannot. Dimensions let you slice the costs you already have by department or project. They do not let you take a shared overhead pool and redistribute it onto the things that consumed it. If your genuine business need is multi-step overhead allocation onto product or project cost objects, cost accounting is the right tool and dimensions will not substitute for it. If you do not actually need to reallocate shared cost, and many businesses only ever need to slice, then the single strongest reason to use the module does not apply to you.

6. Cost budgets and comparisons

Alongside actuals, cost accounting supports its own cost budgets, held separately from the general ledger budgets. You can create one or more named cost budgets, enter planned figures by cost type, cost center and cost object, and then report actuals against budget within the managerial ledger. This gives management a plan-versus-actual view organised around cost centers and cost objects, with allocated overhead included, which is a different and often more decision-useful view than the general ledger budget that is structured around statutory accounts.

The distinction from G/L budgets matters. A general ledger budget is built around accounts and answers "are we on plan against our financial statement lines." A cost accounting budget can be built around the fully-loaded cost of a department or a product after allocations, and answers "is this product line performing to plan once it carries its fair share of overhead." Because the cost budget sits inside the same managerial ledger as the allocations, the comparison naturally reflects the allocated picture rather than the raw pre-allocation costs, which is exactly what a cost controller wants to see.

You can also copy actuals into a budget as a starting point for the next period, apply factors, and maintain several budget versions for scenario comparison. None of this is exotic, and much of it can be approximated with G/L budgets plus dimensions and a capable reporting tool. The genuine added value appears specifically when your budgeting needs to be expressed in terms of allocated, fully-loaded cost per cost object, because that is a figure that only exists after the allocation step, and the allocation step only lives in cost accounting.

7. Cost accounting versus dimensions: which tool to reach for

This is the section that matters most, and it is the one most vendor material avoids because the honest answer often argues against configuring a module that looks impressive on a feature list. So let me be direct about it.

Dimensions and cost accounting overlap heavily, and for a large share of businesses they overlap so completely that cost accounting adds nothing. Dimensions let you tag every general ledger transaction, and every subledger transaction, with values such as Department, Project, Customer Group, Region or Cost Center, and then analyse the general ledger by any combination of those tags. A well-designed dimension setup gives you profit and loss by department, cost by project, revenue by region, and any slice you can express as a combination of dimension values, all directly on the statutory ledger, all reconciling perfectly to the financial statements by construction, because they are the financial statements filtered rather than a separate copy. For the full treatment of that capability, see the Business Central dimensions pillar, which is the key contrast to everything here.

Here is the honest comparison, feature by feature, that I walk clients through:

Slicing existing cost by department, project, region → dimensions do this natively, on the live ledger, with perfect reconciliation. Cost accounting adds nothing here.

Reconciling analysis to the financial statements → dimensions win by design, because they are the ledger itself, filtered. Cost accounting is a separate ledger that you must keep reconciled by discipline.

Reallocating shared overhead onto products or projects → cost accounting wins clearly. Dimensions cannot redistribute a pooled cost onto consumers; they can only report the cost where it was originally tagged.

Multi-step, chained allocations with dynamic drivers → cost accounting only. There is no dimension-based equivalent.

Fully-loaded cost-object profitability after overhead spread → cost accounting, because that figure only exists after allocation.

Simplicity, low maintenance, no separate ledger to reconcile → dimensions win decisively.

Read that table and the pattern is clear. Dimensions win everything except allocation. Cost accounting wins allocation and the things that depend on allocation. So the entire decision reduces to a single question: do you genuinely need to reallocate shared overhead onto cost objects, or do you only need to analyse costs where they naturally fall? If it is the latter, and for most small and mid-sized businesses it truly is, dimensions do the job with far less setup, far less ongoing maintenance, and no second ledger to keep in step with the first.

The caution I give every time: do not switch on cost accounting because it appears in the menu and sounds like something a mature finance function should use. A half-configured, half-maintained cost accounting ledger that no longer reconciles to the P&L is worse than not having one, because people make decisions on numbers they wrongly assume are correct. If you cannot state, in one sentence, the specific allocation you need that dimensions cannot deliver, you do not need the module yet. Master your dimensions first. Reach for cost accounting only when a real allocation requirement forces you to.

None of this is a criticism of the module. It is a genuinely good implementation of managerial cost allocation. The point is narrower and more useful: it solves a problem that many businesses do not actually have, and the businesses that do have it are usually larger, more complex, and manufacturing or multi-service in nature, where the fair spreading of substantial shared overhead across products materially changes which lines look profitable.

8. Reporting and analysis in cost accounting

Once costs are transferred and allocated, cost accounting provides its own reporting surface, organised around the managerial structure rather than the statutory chart. The core outputs are cost registers and entries you can drill into, and reports that present cost by cost type, by cost center and by cost object, both before and after allocation, and against the cost budget.

The most valuable views are the ones that only make sense inside cost accounting. A cost-center report that shows each department's directly-incurred cost plus its allocated share of central overhead gives a fully-loaded picture of what that department really costs to run. A cost-object report that shows each product or project carrying its direct costs plus its allocated overhead reveals true profitability in a way the raw general ledger cannot, because in the raw ledger the overhead is still sitting in a central bucket, unattributed. The before-and-after-allocation comparison is often the single most illuminating report, because it makes visible exactly how much of a product line's apparent margin is consumed once it fairly carries its share of the shared cost.

It is worth being realistic about the reporting experience. The built-in cost accounting reports and the account-schedule-style analysis are functional and correct, but they are not a modern self-service analytics experience. In many real deployments the cost entries are surfaced through Power BI or an analysis layer for a richer, more interactive presentation, with cost accounting acting as the calculation engine that does the allocation and the reporting tool handling the visualisation. That is a perfectly sound architecture: let the module do the thing only it can do, the allocation, and let a dedicated analytics tool present the result.

For where cost accounting sits within the module map of Business Central as a whole, and how it relates to the finance, projects and manufacturing areas that feed it, the complete guide to Business Central features gives the wider context.

9. When cost accounting is the right tool, and when it is overkill

Pulling the threads together, here is the practitioner's triage for deciding whether to use the module at all.

Cost accounting is the right tool when you have substantial shared overhead that must be fairly spread across products, projects or services to understand true profitability; when you run a manufacturing or multi-service operation where overhead absorption genuinely changes the profitability picture of individual lines; when you need multi-step or dynamic allocations that redistribute cost based on measured drivers; when management makes real decisions on fully-loaded cost-object economics; and when you have the finance discipline to keep the transfer, the mapping and the reconciliation maintained over time. In those conditions the module earns its keep and there is no dimension-based shortcut that replaces it.

Cost accounting is overkill when your analysis needs are satisfied by slicing the general ledger by department, project and region, which dimensions do natively; when your shared overhead is small enough that spreading it would not change any decision; when nobody in the business is actually going to maintain a second ledger and reconcile it every period; and when the real motivation for switching it on is that it looks thorough rather than that a specific allocation requirement demands it. In those conditions, and they describe a large share of SMEs, the honest recommendation is to invest in a clean, well-governed dimension structure and leave cost accounting switched off until a concrete need appears.

I have seen both outcomes many times. A manufacturer spreading factory overhead across product lines to price correctly and drop unprofitable products: cost accounting well justified, materially valuable, and reconciled monthly. A services SME that switched it on during implementation because the consultant enabled it, configured a chart and a couple of allocations, and then never posted a transfer again while the real analysis was quietly done in Power BI off the dimensions: cost accounting was pure overhead, a configured module gathering dust. The difference was never the software. It was whether a real allocation requirement existed, and whether anyone owned the ongoing discipline the module demands.

10. A practical setup approach

If you have concluded that you genuinely need cost accounting, the sequence that keeps an implementation clean and reconcilable is this:

  • Step 1: confirm the need in one sentence. Write down the specific allocation you need that dimensions cannot deliver. If you cannot write it, stop here and use dimensions instead. This single test prevents most of the wasted configurations I encounter.
  • Step 2: design cost centers and cost objects to align with dimensions. Wherever possible, make your cost centers correspond to an existing Department dimension and your cost objects correspond to an existing Project or Product dimension, so that transferred entries pick up their cost center and cost object from dimension values already on the G/L postings. This alignment is what makes the transfer low-effort and reliable.
  • Step 3: generate the cost accounting chart from the G/L chart, then adapt. Start from the income-statement accounts, create matching cost types, verify every relevant account maps to a cost type, and only then reorganise the hierarchy for managerial clarity. Completeness of the mapping is the control that keeps the two ledgers in agreement.
  • Step 4: set up the transfer and reconcile it once, deliberately. Run the transfer for a closed period, then reconcile the total in cost accounting against the corresponding G/L accounts to the penny. If it does not tie out, the mapping is incomplete. Fix it before going further; never build allocations on top of a transfer that does not reconcile.
  • Step 5: build allocations from simplest to most complex. Start with static allocations on stable bases, prove they behave, and introduce dynamic, driver-based and chained allocations only where the added accuracy justifies the added complexity. Keep each allocation explainable to a non-specialist, because an allocation nobody can explain is an allocation nobody will trust.
  • Step 6: layer in cost budgets once actuals are trusted. Only after the actuals flow and reconcile is it worth entering cost budgets and reporting plan versus actual on the allocated figures. Budgeting against an unreliable actuals base just multiplies the error.
  • Step 7: assign an owner and a monthly cadence. The mapping, the transfer, the reconciliation and the allocation drivers all need maintenance. Name the person responsible and make the reconciliation a standing part of the period close. A cost accounting ledger without an owner drifts out of agreement with the financials within a few periods and quietly becomes misleading.

Notice that the discipline, the mapping completeness, the reconciliation, the ownership, matters far more than the clever allocation logic. The allocations are the interesting part, but they sit on top of a transfer that has to be complete and a reconciliation that has to hold. Get the plumbing right and the analysis is trustworthy. Get the plumbing wrong and even the most sophisticated allocation produces numbers that look precise and are quietly false.

Final thoughts

Cost accounting in Business Central is a capable, well-built managerial ledger whose one irreplaceable job is allocating shared overhead onto the departments, products and projects that consume it, so that fully-loaded cost and true profitability become visible. Where that requirement is real, and it is genuinely real in manufacturing and complex multi-service operations, the module earns its place and nothing else in the product replaces it. It is separate from the general ledger by design, so you can reshape costs managerially without touching the statutory books, and it goes beyond dimensions specifically in its ability to redistribute pooled cost rather than merely report it where it fell.

But the honest conclusion, the one worth remembering, is that most small and mid-sized businesses get all the cost analysis they need from a well-designed dimension structure on the general ledger, and never need to switch cost accounting on at all. Dimensions slice; cost accounting reallocates. If you only need to slice, use dimensions, keep one ledger, and enjoy the perfect reconciliation that comes for free. Reach for cost accounting when, and only when, a concrete allocation requirement forces your hand, and when someone will own the discipline it demands. Configuring it because it looks important is how you end up with an impressive, unused module and analysis that quietly no longer ties to your financials. Match the tool to the real need, and this module becomes powerful rather than decorative.

Deciding between dimensions and cost accounting?

Independent advice on Business Central financial structure: dimension design, whether cost accounting is worth switching on, allocation modelling, and keeping managerial analysis reconciled to the statutory ledger. 22+ years across ERP, EAM, CMMS and enterprise integration, with real Dynamics 365 Business Central implementation experience. No reseller margins, honest recommendations.

Book a conversation

Related reading: Business Central dimensions (the key contrast), Business Central financial management, The complete guide to Business Central features.

Muhammad Abbas

CMMS / CAFM Manager & Enterprise Integration Specialist · 22+ years across ERP, EAM, CAFM and enterprise integration.

Work with me
MAbbaz.com
© MAbbaz.com