Skip to main content
GullySystem
A practical guide

Build or buy software for an energy storage system maker

Ganesh HSStrategy and Technology, GullySystem
Practical advice · 5 min read

In this guide 6 sections
The short answer

Buy a ready product for what every maker shares: stock, purchasing, supplier invoices and service tickets, with serial tracking for bought components. Build custom only for what is truly yours, such as the factory acceptance test sequence, the commissioning form and the BMS settings file you load into every unit. Most integrators end up with both.

Why storage integrators are an awkward fit

A container or cabinet is assembled from bought parts, with packs from one supplier, the power conversion system from another, and the BMS, cooling and fire suppression from others. You build very little yourself.

The software must hold the serial of every pack, converter, BMS and cooling unit bought in, and tie them all to one finished container, which is a different job. A generic ERP sees the finished unit as a stock item with a quantity, and handles purchasing well but not that tree of serials.

That gap is the whole decision. Everything else, from purchasing to dispatch, is available off the shelf, so buy it and spend your own effort where no product reaches.

What a ready product covers well

Purchase orders, goods receipt, stock, supplier invoices and dispatch are solved problems, and a product that already handles them saves months. Skip the purchase order screen.

A ready product also brings years of small fixes you would otherwise discover yourself, such as rounding rules, approval chains and audit trails. That history is worth paying for. A vendor that supports many manufacturers will fix a stuck goods receipt faster than a developer meeting the problem for the first time.

The risk is fit. Check whether it can store a serial for each bought component, attach each one to a finished unit, and show the whole tree on a single service screen.

  • Purchasing, receipt and supplier invoices
  • Stock by location, with serial tracking
  • Dispatch and delivery notes
  • Service tickets and spare parts
  • Users, roles and approvals

What usually needs a custom build

The factory acceptance test is yours. It may run insulation checks, a charge and discharge cycle, thermal alarm tests and a communication check between BMS and converter, with limits that differ by customer.

Commissioning is the second area. An engineer on site records settings, firmware versions, string voltages and a signed handover, often with poor signal, so the form must save offline.

These flows decide your quality. No generic product knows them, but a custom module can sit beside a ready product, read the same unit serial, and write its results back to the unit record.

  • Test sequence builder with limits per project
  • Logger import from the test rig
  • Site commissioning form that works offline
  • BMS parameter file stored against the unit

Questions that settle it

Ask how many project types you run. If nearly every order follows one design, a product with a few settings will do, but if each customer brings a different layout, custom work earns its cost. Variants decide it. Ask what happens at the third project, when a customer wants a different cooling vendor and the old test rig connection no longer fits.

Ask who edits the test sequence. If a new customer check needs a developer, you will wait for a release, but if a quality engineer can edit the limits and steps, you are not blocked.

Then ask about exit. Insist on full exports of your data and on source access for every custom part, so a change of vendor never strands the test history of units already shipped.

A sensible sequence

Begin with the shared basics. Start with the ready product for stock, purchasing and tickets, since these run on day one, and keep the unit serial as the common key from the beginning. Run both side by side for one project before you retire any spreadsheet, so a gap in the unit record shows up while the old files still exist.

Add the custom module second. By then you have run a few projects and know which test steps, limits and site readings the engineers actually write down, so the forms match real habits.

List the last project’s path from purchase order to handover, from pack receipt through factory test and commissioning, and mark each step as shared or yours.

Build or buy scorecard

One page. Every activity gets its own line: purchasing, stock, unit record, factory acceptance test, commissioning, service tickets and reporting, in that order. Columns show how many project variants touch it, who changes it, whether a ready product covers it, and a final choice of buy, build or both. A footer lists the data export and source access terms that every vendor must confirm in writing before you sign, which keeps the exit route open.

Open a blank worksheet to print

Questions owners ask

Is a custom ERP ever worth it?

Rarely for the shared basics. It pays off only when your test and commissioning flow is a real edge and no product on the market models it.

Can one serial link bought components to the container?

Yes. Give the finished unit its own serial, then attach each pack, converter and BMS serial as a child record under it, so one search shows every bought part inside.

Who should own the test sequence?

The quality or test engineer owns it. Pick tools where that person can change limits and steps directly, without raising a software request and waiting for the next release.

What if we start with a spreadsheet?

That works for one project. Move once several units are in build, since serials and test files start to scatter across laptops and shared folders, and nobody can find the logger export.

Browse all guidesBack to top ↑
Next step

Have a specific situation to work through?

This article covers the general case. Tell us what you’re actually dealing with and we’ll respond directly.

Share Your Requirements