← Back to all work
ERP

Five business systems folded into one app

Accounting, GST filing, sales tracking, field visits, and document handling. All the things a growing business normally buys separately, running in a single app.

Five business systems folded into one app
IndustryERP
PlatformiOS and Android
Year2024
Read7 min read
5
Separate systems replaced by one app
1
Login covering multiple companies
At a glance
SectorBusiness systems
PlatformiOS and Android
CoversAccounts, sales, field, docs
TaxGST filing built in
CompaniesSeveral from one login
Year2024
The problem

A growing business ends up with five systems that do not talk

It starts reasonably. Accounting software for the books. A spreadsheet for leads. A WhatsApp group for the field team. A folder somewhere for invoices the accountant needs. Each one solves a real problem on the day it arrives.

Two years later the sales team logs a new customer in one place, the accounts team enters the same customer somewhere else, and neither list matches. Nobody can answer a simple question like how much a customer owes without opening three things and doing sums.

Every extra system is another place the truth can live. Five systems means nobody is sure which one is right.

Then GST filing comes around and someone spends a week pulling numbers out of systems that were never designed to hand them over. The client wanted one app where entering something once meant it was entered everywhere.

The challenges

What made this more than a bigger app

01

Tax that has to be exactly right

GST filing is not a report you can approximate. GSTR-1, GST payable, the GST register: each has a required shape, and getting it wrong means a filing that gets rejected or a penalty. The numbers have to come out correct without anyone rekeying them.

02

Every business is a bit different

One company sells across states and needs one set of categories. Another operates in a single city and needs a completely different set. Hardcoding either one makes the app useless to the other.

03

Field teams have no signal

A salesperson logging a visit is often in a basement, a factory, or somewhere with no reception. If the app only works online, the visit gets written on paper and entered later, which is where accuracy goes to die.

04

Several companies, one person

Owners and accountants frequently run more than one business. Making them log out and back in to switch between them turns a daily task into a chore.

What we built

How five systems became one

The app is built in modules that share the same underlying records. A customer entered by the sales team is the same customer the accounts team invoices. Nothing gets entered twice.

How five systems became one
01

Accounting, with GST that files itself

The accounting side handles the day to day entries a business actually makes: sales, purchases, payments received, payments made, and adjustments. Normal work, entered once.

GST reporting is built on top of those same entries rather than sitting beside them. GSTR-1, GST payable, and the GST register are generated from what is already in the books. Nobody exports anything, nobody rekeys anything, and the numbers cannot drift apart because they come from one source.

The reports a business needs day to day are there too. Ledgers, what is owed to you and by you, purchase and sales registers, the day book, and stock. All from the same entries.

02

Sales, from first contact to order

The sales side follows a customer from a name on a list through to a signed order. Leads, follow ups, enquiries, quotations, and then the order itself.

Because it shares records with accounting, a quotation that becomes an order becomes an invoice without anyone retyping the customer name, the address, or the tax details. The chain holds all the way through.

03

The field team, tracked properly

Salespeople on the road mark themselves in and out, log the visits they make, and record what came of each one. Location is captured with the visit, so a logged visit is a visit that happened.

Expenses go in from the phone at the time they happen, rather than as a shoebox of receipts at month end. Orders can be created on the spot, in front of the customer, instead of waiting until someone is back at a desk.

04

Documents where the accountant can find them

Invoices and the paperwork an accountant needs get uploaded from the phone and stored against the right record. Payments against them are tracked in the same place.

The reason this matters is timing. Documents that live in someone email get found the week before a filing deadline. Documents attached to the transaction they belong to are already where they need to be.

05

Making it fit each business

Rather than hardcoding categories, the app lets a business define its own. Which states it sells to, which categories it uses, which fields matter. Each company sets these up once and the rest of the app adapts.

Someone running more than one business switches between them inside the app. Same login, separate books, no confusion about which company a number belongs to.

Capabilities

What the app handles

01

Day to day accounting

Sales, purchases, payments, receipts, and journal entries in one ledger.

02

GST filing

GSTR-1, GST payable, and the GST register generated from the books themselves.

03

Business reports

Ledgers, payables, receivables, registers, day book, and stock.

04

Lead to order

Leads, follow ups, enquiries, quotations, and sales orders in one chain.

05

Field attendance and visits

In and out marking, visit logging, and location captured at the time.

06

Expenses from the phone

Recorded when they happen rather than reconstructed at month end.

07

Document handling

Invoices and accountant paperwork stored against the right transaction.

08

Custom categories

Each business defines its own fields and lists instead of using ours.

09

Multiple companies

Separate books for each business, reached from a single login.

Technology

The stack, by layer

The app
Fl
Flutter
One codebase for iPhone and Android
Dt
Dart
The language the app is written in
Gx
GetX
Keeps modules in step with each other
Data
Ap
REST APIs
Moves records between app and server
Ds
Document storage
Holds invoices and paperwork
Field features
Lo
Location services
Confirms visits happened where they were logged
Outcome

One entry, one number, one place to look

A customer is entered once and everyone works from the same record. Sales sees what accounts sees. Field visits arrive in the system the day they happen rather than the week after.

The GST filing that used to take a week of pulling numbers out of separate systems now comes out of the books directly. That single change is what most of the day to day tidiness was in service of.

More work

Other things we've shipped

Start a project

Got something harder than this?

Tell us what isn't working. We'll tell you honestly whether we're the right team to fix it.

We reply within one working day.

First conversation is a scoping call, not a pitch.

If it isn't our kind of problem, we'll say so.