Skip to content
PRSINDIA

Custom ERP and operations systems

ERP Development

ERP systems built on an append-only stock and financial ledger — multi-plant, multi-GSTIN, GST-correct, and reconciled against the physical count instead of arguing with it.

  • Append-only stock ledger — stock at any past date, and an audit trail on every unit
  • Multi-plant, multi-warehouse and multi-GSTIN from the first migration
  • GST-correct: HSN, place of supply, e-invoice IRN, e-way bills, GSTR-1 that ties out
  • Migration from Tally and spreadsheets with a reconciled parallel run
What this is

One number, and everyone believes it.

Almost every ERP conversation we have starts in the same place: a Tally instance that only handles the books, four Google Sheets that hold the operational truth, and one person — usually in accounts — who is the only human alive who knows how the numbers connect. When that person takes leave, the month-end closes late.

An ERP is not accounting software. It is the system of record for what you have, what you owe, what you are owed, and what state every order is in right now. Get it right and a plant manager in Bhiwadi and a finance controller in Gurugram are looking at the same number at the same moment. Get it wrong and you have bought a very expensive data-entry job.

We build ERPs for manufacturers, distributors and multi-location retailers who have outgrown spreadsheets but do not fit an off-the-shelf product — because their costing is job-based, or they run three GSTINs across two states, or their production is make-to-order and no template has a field for it. We will also tell you, honestly, when Odoo or Zoho would do the job for a fifth of the money.

Sound familiar

You do not have an ERP. You have a person.

These are the sentences that arrive in our inbox. Not one of them is solved by another spreadsheet.

  • The system stock and the physical count never agree

    A quantity column that six processes overwrite, and a warehouse manager who "corrects" it by hand when it looks wrong. Nobody can reconstruct why the number moved.

  • Month-end takes eleven days

    Purchase registers in one sheet, sales in another, Tally somewhere in the middle. Closing the books is a reconciliation project, not a report you run.

  • One person understands the whole thing

    They built the macros, they know which column is authoritative, and they have not taken a proper holiday since 2021. That is not a workflow, it is a single point of failure.

  • Anyone can edit anything, retroactively

    A six-week-old challan gets edited to fix a typo and today's stock silently shifts by 40 units. No audit trail, no approval, no way to prove what the number was on the 31st.

  • You cost jobs after they are finished

    The true material and labour cost of an order surfaces weeks later, once someone assembles it by hand — long after you quoted the next one at the same price.

  • Each plant has invented its own process

    Three units, three GRN formats, two GSTINs and a stock transfer note that exists only in WhatsApp. Consolidated reporting is a fiction assembled once a quarter.

The one decision that makes an ERP trustworthy.

Here is the single design decision that separates an ERP you can trust from one you cannot: stock must be an append-only ledger, never a mutable quantity column.

The tempting design is a products table with a qty integer that every process increments and decrements. It works for a month. Then two users receive the same GRN simultaneously and one write silently overwrites the other. Then somebody edits a six-week-old delivery challan to fix a typo and today's stock quietly shifts by 40 units. Then a warehouse manager "corrects" the number by hand because it looked wrong, and now nobody can reconstruct why. You end up with a figure nobody believes and a physical count every fortnight.

We model stock as immutable movements: every receipt, issue, transfer, adjustment and return is a row that is written once and never updated. Current stock is the sum of those rows. Nothing edits history — a mistake is corrected by a reversing entry, exactly like a journal. That gives you three things you cannot buy back later: stock at any past date, an audit trail that names the human and the timestamp behind every unit, and a number that reconciles with your physical count instead of arguing with it.

The same discipline applies to financial postings, batch and serial traceability, and costing. Append, do not mutate. It is unglamorous and it is the whole ballgame.

What changes

What a real system of record is worth.

Median movement across manufacturing and distribution rollouts, measured two quarters after the cut-off date — not on go-live day, when everyone is still being polite.

Scope an ERP
0days
Month-end close

Down from nine to eleven days

0%
Stock accuracy

System vs physical count, cycle-counted

0
Retroactive edits

Corrections are reversing entries, not overwrites

0hrs/wk
Data entry eliminated

Duplicate keying across sheets and Tally

How we roll it out

Module by module. Nothing goes live on faith.

A big-bang cutover on a system this central is how ERPs make the news. We do it in slices, each one in real use before the next begins.

  1. 01

    Process mapping on the floor

    2–3 weeks

    We walk the plant and the warehouse. We watch a GRN actually get received, a challan actually get raised, a job card actually get filled. What people do and what the SOP says are different documents, and the ERP has to serve the first one. We leave with a process map, a data model and an honest list of the practices that will have to change.

  2. 02

    Ledger and master data design

    2–3 weeks

    Chart of accounts, item masters, HSN codes, tax classes, units of measure, warehouses, entities and GSTINs. Then the movement ledger itself. This is the unglamorous fortnight that decides whether the system still works in year four, and we do not compress it to make a Gantt chart look better.

  3. 03

    Core modules: purchase, stock, sales, GST

    8–12 weeks

    Each module ships into real use as it lands. Purchase orders, GRN with quality hold, stock movements and transfers, sales orders, delivery challans, GST-correct invoicing with IRN and e-way bill. Your buying team is using the purchase module while we are still building production.

  4. 04

    Migration and parallel run

    4–6 weeks

    Masters, opening balances and history extracted from Tally and the spreadsheets, deduplicated, loaded as opening ledger entries. Then both systems run side by side for a full cycle, reconciled every single day. Trust in the new number is built by watching it agree with the old one, not by being told to trust it.

  5. 05

    The cut-off, and holding it

    1 week

    A named date after which the old sheet is read-only, announced by someone senior enough that it sticks. Every process owner signs off that their module is live. We staff the floor for the first week, because on day two somebody will want to go back and someone has to be there to say no and then help.

  6. 06

    Costing, production and reporting

    8–16 weeks

    Bills of material, job cards, work-in-progress, actual job costing, quality checks, and the dashboards a controller actually opens. Built on a ledger that is already trusted, which is the only reason these numbers mean anything.

What you get

The modules that carry the business.

Built on one ledger, one master data set, one permission model. Not six products stitched together with a nightly CSV.

Inventory on a movement ledger

Multi-warehouse, batch and serial traceability, bin locations, cycle counting, and stock as at any past date. Corrections are reversing entries — history is never rewritten.

Procure to pay

Indents, RFQs, purchase orders with approval limits, GRN with a quality hold, three-way matching against the invoice, and vendor ageing that finance can actually action.

Order to cash

Quotations, sales orders, allocation against real available stock, delivery challans, e-invoice and e-way bill, receivables ageing and a credit limit that blocks the order rather than warning about it.

Production and job costing

Multi-level bills of material, work orders, WIP tracking, machine and labour capture, scrap and rework. Actual cost per job, visible while the job is still open.

Role-based access and maker-checker

Permissions scoped by entity, plant and module. Financial postings and rate changes go through an approval trail that names the human, the timestamp and the before-and-after value.

Reporting people actually open

Stock ageing, margin by SKU and by customer, plant-wise consumption, receivables and payables ageing. Consolidated across GSTINs, drillable down to the individual movement.

The build-or-buy call

We will talk you out of this if we should.

  Tally + sheets Zoho / Odoo Custom ERP
Real-time stock across plants No Yes Yes
Append-only auditable ledger No Partial Yes
Job-based or make-to-order costing No Painful Native
Multi-entity, multi-GSTIN consolidation Manual Add-on Native
Cost scales with headcount No Per user, forever No
Time to first live module No 6–10 weeks 10–14 weeks
Sensible when Under ₹5 cr turnover Conventional processes Your process is the moat
Change management

The ERP does not fail in the code. It fails on the floor.

ERP rollouts do not usually fail for technical reasons. They fail because the store supervisor keeps a parallel notebook, the sales team keeps quoting from an old price list, and nobody senior ever said out loud that the spreadsheet is now dead.

So we plan the human half with the same seriousness as the schema. We name a process owner per module — a real person, not a committee. We run the new system in parallel with the old one for one full cycle, reconciling daily, so trust is earned rather than mandated. We train on your data, not on demo data, because a warehouse team will not engage with a fictional widget. And we agree a cut-off date after which the old spreadsheet is read-only, and we hold that date.

We have seen more ERPs die from an unenforced cut-off than from any bug we have ever shipped.

  • A named process owner per module — a person, not a committee
  • One full cycle of parallel running, reconciled daily
  • Training on your data, never on demo data
  • A hard cut-off date, announced by someone senior enough that it holds
The stack

Built to be maintained by people you can hire.

No proprietary runtime, no per-seat licence, no vendor who can hold your operations hostage at renewal.

Laravel 12
PHP 8.3
PostgreSQL
Redis
Laravel Horizon
FAQ

What boards ask before they sign off an ERP.

Still have a question?

Frequently, yes — and we will say so. If your processes are conventional and you are willing to change how you work to match the product, an off-the-shelf ERP is cheaper and faster. Building makes sense when the mismatch is structural: job-based costing the product cannot express, a make-to-order flow with no field for it, or licence costs that scale with headcount you plan to double. We run that comparison in discovery, in writing, before anyone commits.

Yes, and history is exactly the part people underestimate. We extract masters, opening balances and transactional history via Tally XML or ODBC, clean the duplicates — you will have three spellings of the same supplier — and load them as opening ledger entries rather than as a mutable balance. Tally usually stays as the statutory books for a full cycle while the ERP runs alongside, reconciling daily, until the two agree without manual help.

It changes the data model, so it must be decided on day one rather than retrofitted. Each legal entity gets its own GSTIN, its own books and its own invoice series; stock transfers between them are real transactions with tax implications, not a warehouse move. Users are scoped to the plants they belong to. Consolidated reporting rolls up across entities. Bolting this on later means rewriting the ledger, which is why we ask about it in the first meeting.

A focused core — inventory, purchase, sales, GST invoicing and basic finance for one entity — is 16 to 22 weeks to a live parallel run. Add production, job costing, multi-plant and quality and you are looking at 30 to 45 weeks. We deliver module by module and put each one into real use as it lands, so you are getting value from purchase and stock while production is still being built. Anyone quoting a full ERP in eight weeks is quoting a demo.

Organisational reasons, almost always. The store supervisor keeps a parallel register. Sales keeps quoting from the old price list. Nobody senior ever declared the spreadsheet dead. We plan for this: a named process owner per module, one full cycle of parallel running with daily reconciliation, training on your real data rather than demo data, and a hard cut-off date after which the old sheet becomes read-only. The technical risk is manageable. The change management is the project.

Natively. Tax is derived from HSN code and place of supply, so intra-state splits into CGST and SGST and inter-state becomes IGST without human judgement. Above the turnover threshold we push invoices to the IRP for the IRN and QR code, and generate e-way bills for consignments above the value limit. Credit notes are raised against the original invoice, so your sales register and your GSTR-1 reconcile without a fortnightly spreadsheet exercise.

Send us the stock figure nobody in the building believes.

Bring the Tally export, the four spreadsheets and the last physical count. We will show you exactly where the number goes wrong and what it takes to make it trustworthy.

Proof

Shipped, measured, still running.

All case studies

NM Company

A portfolio and enquiry site for events firm NM Company

A visual portfolio and enquiry website for an event management and supplies firm — presenting a full...

Read it

Swasthya Sarathi

A healthcare-companion platform for Swasthya Sarathi

A multi-service healthcare platform that helps people find hospitals, doctors, labs, medical stores,...

Read it

MV Tech Education

A course and admissions platform for MV Tech Education

A course-catalogue and admissions website for a Bihar vocational institute — leading with industrial...

Read it

Let's talk erp development

Bring us the hard version of the problem.

A senior engineer reads every enquiry. You'll get a real answer — scope, risk and a number — within one business day.