Departmental P&L: Migrate Without Breaking Production

A phased way to add departmental P&L and cost allocation in an SMB — shadow ledgers, driver maps, and cutover checks that keep production running.

Maysan Insights · · 5 min read

Xin

Most SMBs in India run a single P&L for the whole company, and that one number is why the same argument returns every quarter: sales insists delivery is profitable, delivery insists sales oversells, and the founder has no neutral way to referee. The fix — splitting revenue and costs across departments, business units, or product lines — usually lands on the same books that file GST returns, run payroll, and feed TDS payments. That is where these projects stall, typically three days into a month-end close.

Change the dimension, not the ledger

The instinct is to open a separate ledger, or even a separate company, for each department. Don't. In Tally Prime you already have cost centres and cost categories; Zoho Books has reporting tags; QuickBooks uses classes and locations. Use those.

  • Add a cost centre per business unit — Delivery, Sales, Managed Services, Support.
  • Add a project or client code to every revenue and direct-cost voucher.
  • Add a driver tag on shared invoices: headcount, usage, revenue, or square footage.
  • Never rename or merge existing ledgers mid-year. Additive changes only, or your CA will spend March undoing them.

The test is simple. If a change would alter any figure on a filed return or an issued invoice, it belongs in the reporting layer, not in the books.

Split costs into three tiers before you allocate anything

Allocation is guesswork dressed as arithmetic, and every rupee you allocate invites an argument. So allocate as little as possible.

Tier 1 — direct. Delivery salaries, contractor invoices, and cloud spend you can already attribute to a project. Tag it and stop.

Tier 2 — semi-direct. Shared but measurable: a tool only one unit uses, cloud split by resource tags, travel claimed by a specific team. If you can measure usage, measure it. Do not allocate what you can tag.

Tier 3 — genuinely shared. Rent, G&A salaries, brand marketing, audit fees. This is the only bucket that needs a driver, and it should be one driver per cost line, documented, and held steady for the full financial year.

One caveat for your auditor: GST input tax credit is claimed by your GSTIN, not by department. Keep the allocation in the MIS layer so GSTR-2B reconciliation and the ITC claim stay untouched.

A worked example from a ₹12 crore services firm

Take a 60-person B2B services company with ₹12 crore of annual revenue and three units: Implementation, Retainer Support, and Managed CRM. Shared costs run about ₹2.4 crore a year — ₹48 lakh rent, ₹30 lakh cloud and tooling, ₹1.1 crore G&A salaries, ₹52 lakh marketing.

Implementation books ₹4.56 crore (38% of revenue) at a 42% gross margin, so leadership treats it as the healthy business. Then Tier 2 and Tier 3 land:

  • Resource tags show Implementation burning ₹22 lakh of the ₹30 lakh cloud pool — 73% of usage on 38% of revenue.
  • Unit-specific tooling adds ₹6 lakh.
  • Rent, allocated by headcount (20 of 60 people), adds ₹16 lakh.
  • Marketing, allocated by pipeline-attributed revenue plus a 20% brand holdback, adds ₹18 lakh.
  • G&A, allocated by revenue, adds ₹42 lakh.

That is ₹1.04 crore of cost against ₹1.92 crore of gross profit, leaving roughly ₹88 lakh — an operating margin near 19%, not the 42% everyone quoted. The single largest correction came from cloud tagging, not from any judgement call. Retainer Support, meanwhile, looked worse than it was, because it consumed about 9% of cloud spend on 31% of revenue.

The point is not that Implementation is a bad business. It is that you now know which lever to pull, and you found out without re-opening the books.

The cutover: ship it without touching production

Run the new model in parallel for two close cycles. Extract read-only from your accounting system into a small warehouse — Postgres is plenty at this scale — and rebuild the P&L there in Metabase, Power BI, or Looker Studio. The books stay the system of record; the warehouse becomes the system of argument.

Guardrails worth keeping:

  • Reads only. No writes back into Tally, Zoho, or the ERP during the parallel period.
  • Idempotent loads. Re-running last night's job must reproduce identical numbers, not duplicates.
  • Reconcile to the rupee. Total revenue and total cost in the MIS model must tie to the trial balance every month, before anyone sees a chart.
  • Freeze the driver map for twelve months. Changing drivers mid-year makes every trend line meaningless.
  • Version the mapping in git, so when someone asks why February moved, you have an answer.

Expect 4-8 weeks for a first honest cut, depending on how clean your current tagging is, and longer if a chunk of revenue still lives in spreadsheets outside the accounting system.

Where to start

Pick one unit and one quarter. Build its P&L, reconcile it to the trial balance, and show it to the person who runs that unit before you show it to the founder. If they argue with the inputs rather than the outcome, your drivers are wrong — fix them while the blast radius is one department instead of the entire company. If you would rather not rebuild your finance stack to find out, this is the kind of migration work we do at Maysan Labs, usually alongside your existing accounting system rather than instead of it.

Buying software or a website?

Twelve questions to ask any vendor before you sign: price, your data, fit for an Indian business and support.

Get the free checklist

Written by Maysan Insights at Maysan Labs, a software studio in Gurgaon, India. Follow us on LinkedIn