You already know who owes you. Your spreadsheet doesn't.

FrostLedger is a purpose-built invoice tracker for minute-writing, corporate secretarial and small service firms. Open it, log an invoice, and it tells you what's outstanding, what's late, and which clients quietly take 60 days to pay.

NO ACCOUNT · NO SUBSCRIPTION · NOTHING TO INSTALL · WORKS OFFLINE
invoices_2026_v7_FINAL(2).xlsx · Sheet1 fx  =SUMIFS(E:E,H:H,"unpaid")
A · Inv noB · ClientC · DueD · AmountE · Paid?
2INV-2026-041Sterling Corporate12/6/20264,800.00y
3INV-2026-042Sterling Corp.2026-06-203,200.00Y
4INV 2026 043Meridian Advisory6/7/26'12500n
5INV-2026-044Meridian Advisory30/5/20266,150.00
6INV-2026-045Harbour Nominees04/07/20262,400.00partial?
7INV-2026-045Harbour Nominees04/07/20262,400.00partial?
Row 4 amount stored as text, so it isn't in the total. Row 5 has no status. Rows 6–7 are the same invoice pasted twice. Two spellings of the same client won't group. Nothing here tells you row 5 is already 58 days late.
The same five invoices, kept the usual way.
Outstanding
RM 21,050
Overdue
RM 6,150
Paid this month
RM 8,000
Avg payment time
37 days
INV-2026-044 · Meridian Advisory
RM 6,150
Overdue58 days lateDue 30/05/2026★★★★★
INV-2026-045 · Harbour Nominees (for Lim & Co)
RM 2,400
RM 1,200 unpaid
Partially paidDue in 4 daysPO 44821
INV-2026-043 · Meridian Advisory
RM 12,500
SentDue 06/07/2026Salesperson: Andrew
INV-2026-042 · Sterling Corporate Services
RM 3,200
PaidPaid 18/06/2026 · 12 days★★★★★
AllOutstandingOverdueDue ≤ 7 daysPaid
The same five invoices, in FrostLedger. Totals, ageing and payment history come free.
The headache

Chasing money is a second job you never applied for

Small firms rarely lose invoices. They lose track of them — which is the same thing three weeks later when the money hasn't arrived and nobody remembers who was supposed to follow up.

Cash you've already earned

The invisible overdue pile

A spreadsheet shows dates. It doesn't shout when one passes. Invoices go late quietly, and you find out when the bank balance does.

30–60 minutes, every month

The month-end reconstruction

Re-sorting, re-summing, fixing a total that broke because someone typed 12,500 into a text cell. Same ritual, every month, forever.

Awkward client calls

Billing through an intermediary

You invoice one entity but the work belongs to another. Spreadsheets have one "client" column, so the trail goes cold when someone asks who the job was actually for.

Discounts you shouldn't give

No memory of who pays badly

The client who always pays at 75 days looks exactly like the one who pays at 10 — until you've built a payment history you can actually sort.

Version anxiety

tracker_final_v7(2).xlsx

Two people, two copies, one overwrite. Or a cloud subscription that locks your ledger behind a login and a monthly bill.

Onboarding drag

Accounting software is too much

Full ledgers want a chart of accounts, tax codes and a training day. You wanted to know what's unpaid.

See it work

Four things it does that a spreadsheet can't

These are live, looping recordings of the real interface. Nothing here needs a plugin, a login, or a connection.

Capture

Log an invoice, and every total updates itself

Invoice number, amount, dates, who you billed, who the work was for, PIC, salesperson, PO and reference — one form, dd/mm/yyyy throughout, MYR by default with 11 other currencies.

Hit save and the six KPI cards, the ageing, the client history and the 12-month chart all move together. There is no formula to drag down.

frostledger — new invoice
New invoice
INV-2026-046
MYR 4,850.00
Harbour Nominees
Lim & Co Sdn Bhd
14/08/2026
Save invoice
Outstanding
RM 21,050RM 25,900
INV-2026-046 · Harbour Nominees
RM 4,850
SentDue 14/08/2026For: Lim & Co
INV-2026-044 · Meridian Advisory
RM 6,150
Overdue58 days late
Find

Nine filters, one search box, instant answers

All, outstanding, overdue, due within 7 days, draft, sent, viewed, partially paid, paid, cancelled — tap one and the list answers immediately.

Search runs across invoice number, client, end client, PIC, salesperson, PO, reference and description. No filter menus, no re-sorting, no lost row.

frostledger — invoices
All Overdue Paid Due ≤ 7 days
INV-2026-044 · Meridian Advisory
RM 6,150
Overdue58 days late
INV-2026-045 · Harbour Nominees
RM 2,400
Partially paidDue in 4 days
INV-2026-042 · Sterling Corporate
RM 3,200
PaidPaid in 12 days
12 invoices · RM 21,050 outstanding 1 invoice · RM 6,150 overdue 7 invoices · RM 28,400 collected
Watch

Late invoices flag themselves

Every invoice carries a live due-date colour: amber inside seven days, red once it passes. Status flips to Overdue on its own — you don't maintain it.

Crystal, the advisor built into FrostLedger, reads your ledger every time you open it and says, in plain language, what needs attention today — the biggest exposure, who has started paying slowly, and what lands this week.

frostledger — dashboard
Today · 25/05/2026 Today · 29/05/2026 Today · 27/07/2026
INV-2026-044 · Meridian Advisory
RM 6,150
SentOverdue Due in 5 days58 days late Due 30/05/2026
⚠ Overdue · RM 6,150 across 1 invoice
❄ CRYSTAL SAYS
Meridian Advisory holds your largest open balance. Worth confirming their payment run dates.
Judge

Rank clients by how they actually pay

The leaderboard sorts your top ten four ways: by amount billed, by average days to pay, by number of invoices, and by a five-star payment rating the app works out from your own paid dates.

Each customer record holds phone, email, director, credit limit, last contact and notes — and warns you when their open balance crosses the limit you set.

frostledger — client leaderboard
By amount By pay time By rating
1
Meridian Advisory
RM 18,650
2
Sterling Corporate
RM 12,000
3
Harbour Nominees
RM 7,650
1
Sterling Corporate
12 days
2
Harbour Nominees
34 days
3
Meridian Advisory
71 days
1
Sterling Corporate
★★★★★
2
Harbour Nominees
★★★★★
3
Meridian Advisory
★★★★★
⚠ Meridian Advisory · RM 18,650 open against a RM 15,000 credit limit
Side by side

The same job, two very different Mondays

Nothing against spreadsheets — FrostLedger exists because one stopped being enough. Here's where the difference actually shows up.

TaskSpreadsheet or notebookFrostLedger
What's outstanding right nowFilter, re-sum, hope no cell is textOn screen the second you open it
Spotting overdue invoicesYou check, or you don'tColour and status change on their own
Adding an invoiceInsert row, copy formats, drag formulasOne form, everything recalculates
Partial paymentsA second column, or a note nobody readsAmount paid tracked; balance shown on the tile
Billing an intermediaryOne client column, so context is lostBilled-to and end client kept separately
Who pays slowlyGuesswork, or a pivot table you'll build onceAverage days to pay and a 5-star rating per client
Client detailsA second tab, usually out of datePhone, email, director, notes, credit limit warnings
Duplicate invoicesFound eventually, by accidentInvoice numbers stay unique and searchable
Month-end pictureBuild a chart if you have the hour12-month billed vs collected chart, always current
BackupWhichever copy is newest, probablyAuto-saved locally; one-click JSON export
Cost & setupFree but manual, or a monthly cloud billOpen it and start working. No account, no renewal
Learning curveYou already know it — that's the trapAbout five minutes, because it only does this
What's inside

Built around how service firms actually get paid

📊

Six KPI cards

Outstanding, overdue, paid this month, due this week, billed this year, and average payment time.

🧭

Nine status filters

Draft, sent, viewed, partially paid, paid, cancelled — plus outstanding, overdue and due within 7 days.

🔎

Search that reaches everything

Invoice number, client, end client, PIC, salesperson, PO number, reference and description.

📈

12-month billing chart

Billed against collected, month by month, with outstanding stacked on top.

🏆

Client leaderboard

Top ten by amount, pay time, invoice volume or star rating.

👥

Customer records

Contact details, director, notes, last contact date and a credit limit that warns you when it's breached.

Payment ratings

A five-star score per client, calculated from how fast they've actually paid you.

Crystal, your advisor

Flags what needs chasing the moment you open it: overdue balances, invoices due this week, and clients slipping behind.

💱

Twelve currencies

MYR by default, plus SGD, USD, EUR, GBP, AUD, JPY, CNY, INR, THB, IDR and HKD. Dates in dd/mm/yyyy.

🌙

Day and night modes

The same icy interface, warm-lit or midnight. Compact view when the list gets long.

💾

Auto-save and ledger files

Saved to your browser as you type. Save or open a ledger file directly on your computer where supported.

📤

JSON export and import

Your whole ledger in one portable file — the backup, and the way you move between devices.

Where your data lives

Your ledger stays yours

FrostLedger was built by a working corporate services practice to run its own billing. That shaped every decision about where the data lives.

  • Nothing leaves your machine. No server, no sync, no analytics. The app has nowhere to send anything.
  • No account, ever. There's no sign-up, so there's no password to lose and nobody to lock you out.
  • Works offline. On a plane, in a client's meeting room, on hotel wifi that doesn't.
  • Yours to keep. No licence server to check in with and no remote switch that can turn it off.
  • Portable by design. JSON export is a plain readable file, not a proprietary format you'd need this app to open.
Crystal, the FrostLedger advisor

Meet Crystal, your advisor

She reads your ledger every time you open it

You don't have to go looking for problems. Crystal surfaces them the moment the dashboard loads, in sentences rather than formulas.

Needs chasingMeridian Advisory is 58 days past due on RM 6,150 — your largest open balance.
Landing this weekTwo invoices totalling RM 7,250 fall due before Friday.
Worth a lookHarbour Nominees has slipped from 21 to 34 average days to pay.
Before you ask

Reasonable questions

Where is my data actually stored?

In your own browser, on your own device, saved automatically as you work. You can also save a ledger file directly to a folder on your computer in Chrome and Edge, and export the whole thing as JSON at any time. Nothing is uploaded anywhere.

What happens if I clear my browser data?

The local copy goes with it — which is exactly why JSON export exists. Export after any significant session and keep the file wherever you keep your other business records.

Can I use it on more than one device?

Yes. Export the JSON from one device and import it on the other. It's a deliberate manual step rather than an automatic sync, because automatic sync would mean putting your ledger on somebody's server.

Does it replace my accounting software?

No, and it isn't trying to. FrostLedger tracks invoices and how clients pay them. It doesn't do tax, double entry or statutory reporting — it's the layer most small firms were doing in a spreadsheet.

I already have years of invoices in a spreadsheet.

They can be brought across. Migration is handled as a paid setup service — your existing records are checked, cleaned and loaded so you start with your real history rather than a blank ledger.

Which browsers does it work in?

Chrome, Edge, Firefox and Safari, on desktop and mobile. Saving a ledger file directly to disk needs Chrome or Edge; everywhere else, auto-save plus JSON export covers you.

Open it and log one invoice

That's the whole evaluation. If the dashboard tells you something your spreadsheet wasn't telling you, you have your answer in about two minutes.

Have years of invoices to bring across? Migration is available as a paid setup service.