CleanCode
Contact
WorkServicesBlogAbout
POSBusiness2 min read

Three signs you've outgrown off-the-shelf software.

An optical chain spent a month typing its lens catalogue into an accounting package and got less than a tenth in. Here's how to tell you've outgrown yours.

Optik 150K ran its growing optical chain on a well-known accounting package. It's good software. It was also the wrong shape for their business, and three things kept breaking.

First, the lenses. Every lens combines sphere, cylinder, axis and add, times left and right, times the base product. After a full month of typing, the owner had less than a tenth in.

Typed in one by oneSPH×CYL×AXIS×ADD×L / R×Base= thousands of variants
Entered as rangesSPH −6.00 … +4.00CYL −2.00 … 0.00Every variant, generated
Typing every variant, against entering ranges once.

Second, the books. Each branch's shareholders wanted their own. The package could give one chart of accounts (the list of accounts behind the books), not one per branch.

Third, the hub's daily deliveries. Each was recorded as a purchase in one back office and a sale in the other. Staff started at eight and were still matching them at three.

None of that is the software's fault. It's a sign.

The tool stops fitting in three places.

What you sell doesn't fit its forms. Describing your products means fighting the form: thousands of near-identical variants, or details it has no field for.

How you're organised doesn't fit its books. Branches with their own owners, hubs, franchises: if your partners' books need a spreadsheet on the side, blame the fit, not your accountant.

The group’s master list
Outlet 1Its own accounts
Outlet 2Its own accounts
Outlet 3Its own accounts
Each branch’s shareholders see their branch
One master list, with each outlet’s own accounts on top.

Your day needs two systems glued together. Typing the same information twice is a second job the tool created. It grows with you.

Custom doesn't mean starting from scratch.

Debits and credits are solved. Custom means building the two or three things only you need into the heart of the system. The rest stays ordinary. For Optik 150K:

  • Lenses go in as ranges. The system creates every valid variant itself, so months of typing became a day.
  • Each outlet has its own accounts, layered on a master list. Shareholders see their branch clearly, and the group keeps one set of books.
  • Sending stock to a store is one step. The store asks, the hub sends and the books update themselves. No more fake sales between back offices.
Before
HubPurchase, typed
StoreSale, typed again
8 AM → 3 PM
After
Store asks
Hub sends
Books update themselves
A delivery used to be typed twice. Now it’s one step.

The chain grew from 3 outlets to 10.

Each one plugged in with its own books. The hub's daily orders are done before lunch, not at three. Adding products, once stalled for months, is a same-day task.

It started as a one-off build and became a monthly retainer: the system kept fitting as the business kept changing.

If one of those signs sounds like your Tuesday, we'd like to see the spreadsheet. It usually tells us most of what we need.

Written by
CleanCode
A software studio in Medan, Indonesia. About us →
KEEP READING

More from the studio.

(Let's talk)

Let's make it work.

Tell us what's broken or what you want to build. We'll reply with what we'd make and what it would take.

How we work →
Start a project

Tell us what you need.

Pick what fits and add a line or two. It becomes an email you send from your own mail app.

What do you need?
When would you like to start?

Nothing leaves this page until you press send in your mail app. Nothing opened? and send it to .