Financial Planning & Management Reporting I help founders go beyond basic bookkeeping. I deliver ...Financial Planning & Management Reporting I help founders go beyond basic bookkeeping. I deliver ...
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started
A client asked me last week: “I paid my insurance in full in October. Why is the whole amount not showing in my expenses?”
Fair question. Honestly, this is one of the most common things business owners ask me.
Here’s how I explained it. When you pay for a full year of insurance, the money leaves your bank on day one. But the insurance company protects you for 12 months, not one day. So you only use a small part of it at the start. The unused part isn’t an expense yet. It’s cover you have already paid for and still have.
Say you pay 24,000 on 1 October for a 12 month policy. Each month, 2,000 moves into expenses.
By 31 December, you have used 3 months:
Expense so far: 6,000
Still unused: 18,000
That 18,000 stays on the balance sheet as prepaid.
The client still wasn’t fully sure from the numbers alone, so I showed them year by year:
Year 1 (Oct to Dec): 6,000 used, 18,000 still prepaid
Year 2 (Jan to Sep): 18,000 used, 0 left
By the end of the policy, the full 24,000 has moved into expenses. Nothing is lost. It just moves a little each month, as you use the cover.
That’s when it clicked for them.
Rent paid in advance, software subscriptions, annual membership, visa fees and licence fees all work the same way. Pay now, use over time, expense a little each month.
If your bookkeeper says “prepaid” and you just nod, ask them for a schedule like this. It’s your money, you should be able to see where it is.
Project update: a safer way to move cards to "Paid" in a CRM
For a financial advisory firm, I built a feature in GoHighLevel that makes paying referral partners faster and harder to get wrong.
What it does: when a card is dragged to Paid, the system finds every other card due for the same partner and shows a checklist. The assistant ticks the cards to pay together and confirms once. With a single card, it asks a simple confirmation instead.
How I made it reliable: a small backend on Vercel re-checks every card before moving it (same partner, still due, only into Paid). A failed card is named in a message while the others still move. If the list can't be loaded, the plain question is asked, so nothing moves silently.
What I did: designed the flow, wrote the browser script and the backend, and tested the cases that go wrong, not only the happy path.