Skip to main content
All pillsPhase 2 · You do more than write now

Don’t call anyone yet

Before chasing unpaid invoices, check the data, understand the client relationship and turn the team’s judgement into a workable routine.

Phase 2 · Lesson 3 of 13


Marta and Sara compare the dashboard with the follow-up spreadsheet.
Marta and Sara compare the dashboard with the follow-up spreadsheet.

Don’t call anyone yet

Marta arrives at reception with a number that makes Sara stop in her tracks: more than sixteen thousand euros in unpaid invoices. But Sara’s spreadsheet tells a different story, and neither picture is quite right. Before anyone picks up the phone, the team checks what is actually outstanding, asks who these clients are and decides how to approach them. Then Diego helps Sara turn the judgement she has been carrying in her head into a system she can actually use.

A fictional case from Clínica El Roble. Names, data and dates in this exercise are synthetic; they are not real balances as of the publication date.

The full story · Clínica El Roble

1 · The shock

The first Tuesday after month-end. Marta comes down to reception with her laptop and sets it between the box of record cards and the mug Sara hasn’t filled yet.

—Sara. Sixteen thousand five hundred and eighty-six.

Sara looks up. She says nothing for a long second, which is already unusual for her.

—Of what?

—Outstanding payments.

—No.

She says it without raising her voice, as though correcting an appointment time someone has written down wrong.

—Yes. It’s right here.

—No, Marta. I know what people owe. Five thousand, six thousand at most.

It’s not that Sara didn’t know there was money owing. It’s that she’s spent three years knowing how much, and suddenly it turns out the number in her head was half of it. And her number hadn’t come from anywhere strange: it came from her spreadsheet.

Marta looks at the screen again and realises there’s something the dashboard doesn’t tell her.

—Two hundred and sixty-nine invoices.

—And how many people is that?

Silence. It doesn’t say anywhere. They’ve spent ten minutes talking about chasing payments and don’t even know how many people they’re talking about. They ask, which is the first useful thing they’ve done all morning, and the answer comes back in half a minute: two hundred and thirty clients, and half of them owe less than fifty euros.

—Two hundred and thirty —says Sara, with a half-hearted laugh—. And I’ve got eighteen.

2 · Sara’s spreadsheet

She opens it. It’s in a browser tab that’s been there for months, between her email and the appointment diary.

It’s ugly, and it’s one of the best things anyone’s put together at the clinic. Columns she added by hand: client, pet, amount owed, since when, mentioned it, what they said, don’t call. Nobody told her to put them there. She came up with that last one the day she asked a woman for money just after the woman had lost her job.

Green rows for the ones who paid. A note at the bottom in red: August and September still missing. Another in grey: careful, I think the green ones have paid already, check. And at the top, in brackets, the only confession in the whole document: (what I spot at the till. Update!!).

Total: four thousand two hundred and six euros and twenty-two cents. It’s the number Sara has been giving for months whenever anyone asks.

Her spreadsheet was never El Roble’s list of clients with overdue payments. It was a list of the ones she managed to catch while taking payments, between two clients, with the phone ringing.

Then there are the other two things wrong with it, which nobody sees because nobody looks that closely at a spreadsheet. Seven of the eighteen rows have been green for months, and they’re still there. And the total, which is a proper formula, misses nine hundred and eleven euros because someone typed three amounts with the euro symbol included, and to a spreadsheet that isn’t money: it’s a piece of text.

—Four thousand two hundred —says Sara—. That’s the number I give people.

—And what’s written there adds up to five thousand one hundred and seventeen.

Sara doesn’t answer. She puts a hand to the back of her neck, which is what she does when something really gets to her. It’s not the mistake that bothers her. It’s having spent half a year giving people that number.

There’s one more tab, “2024 (old)”. Four rows. One says ?? the man with the ginger cat and another, at the bottom, gave up on this, couldn’t keep up with everything.

The accountant’s question: how old is the data?
The accountant’s question: how old is the data?

3 · The data’s no good either

Marta goes upstairs to the office with the sixteen thousand in her head and does what she always does when a number makes her uncomfortable: she calls the accountants. She wants to know whether they need to make a provision for it, whether it shows up anywhere, what you do with sixteen thousand euros sitting unpaid.

At the other end, they answer calmly, give her another figure that looks nothing like hers, and then ask the question.

—Marta, how old is that number?

—It’s from September. I downloaded it last week.

—I’m not asking when you downloaded it. I’m asking how old the data is.

It takes her two seconds. The dashboard feeds off the reports she downloads every month for the accountants, and she downloaded March’s in April. The field showing whether an invoice has been paid froze on that day in April and has spent all this time telling a truth that expired half a year ago.

She goes down to reception and shows Sara the list. Sara reads the second name.

—She paid. In June. I took the money myself, in cash, and she picked up her dog’s food.

In the same menu of the same program, next to the report Marta has been downloading for two years, there’s another one she’s never opened: outstanding payments as of today.

She downloads it and uploads it to the same conversation that already holds all the historical data, explaining what it is and how it differs from the previous report. Asking it to compare the two.

One hundred and sixty invoices she thought were outstanding are no longer there. Eight thousand five hundred and sixty-seven euros that had been paid all by themselves, without anyone doing anything and without anyone noticing. One hundred and twenty-four clients come off the list.

Eight thousand and eighteen euros and twenty-seven cents. One hundred and six people.

Half the shock was an old file. And the other half is still there.

4 · The why · what they do before calling anyone

Here Marta does what she already knows how to do, but with a different question. She doesn’t ask for a list. She asks for an explanation of what’s in front of her. And the picture that emerges is nothing like what they expected.

The people who owe money are the ones who come most often. Average spending of eight hundred and three euros against four hundred and thirty-seven. Thirteen visits a year against seven. These aren’t bad payers: they’re the people who come to the till most often, and the more often you do, the more likely it is that one day something gets left unsettled.

And there’s no one person to blame. She asks this one carefully, because the first answer comes back as a jumble of percentages that makes no sense.

—Hang on. Three per cent of what?

She asks again, this time asking for the denominator, and now it makes sense. Of the eight thousand nine hundred and forty-seven invoices the clinic has issued in twenty-one months, two hundred and sixty-nine were left unpaid. Three in every hundred. And then, one by one: by card, three in every hundred; by bank transfer, three; in cash, three; by Bizum, slightly fewer. Those signed by Hugo, three. Marta’s, three. Sara’s, two and a half.

—So out of every hundred invoices that go out through that door, three are left unpaid. And it doesn’t matter how they’re paid or who signs them.

—Doesn’t matter.

The only thing out of line is last autumn, at twice the average. Nobody remembers anything about that.

And then Marta asks the good question, which isn’t about the debt.

—And how much revenue do these people bring in each year?

Fifty thousand nine hundred and ten euros in twelve months. Sixteen and a half per cent of the clinic’s revenue, from one hundred and six people.

Sara, who’s spent half an hour silently looking over her shoulder, straightens up.

—That’s what scares me. That I’ll wreck all that over eight thousand euros.

Marta thinks for a moment and decides to work through the figures out loud, because it’s the only way to make the point clear.

—Right. If we collect it all, we get eight thousand and eighteen euros. Once. That’s it. We don’t get that money again next year.

—Right.

—And if someone takes it badly and leaves, we lose their spending. But that isn’t just once: it’s every year.

She asks it that way, ranked from highest to lowest revenue. How many would have to leave for the revenue lost in a single year to equal the eight thousand?

Seven.

Seven people out of one hundred and six. The seven highest-spending clients bring in almost nine thousand euros a year between them, twelve hundred and something each.

—If they were average clients, it would take seventeen —Marta adds—. But these aren’t average clients. They’re the ones who come most often.

—Seven —says Sara—. Seven out of one hundred and six. That’s not even a bad day. That’s a so-so Tuesday.

—And next year you lose that money again. And the year after.

Sara sits with that for a while.

—Well, I’ve spent three years not calling anyone, and it turns out I was right.

—You were right not to call. Not right to do nothing.

It’s the harshest thing they say to each other in the whole lesson, and they say it without raising their voices, because they both know it’s true and that it isn’t Sara’s fault. The don’t call column in her spreadsheet was first-rate management judgement, written down by someone nobody had ever thought to ask.

5 · Dividing up the work

What happens next isn’t the tool’s decision. They decide, out loud, at reception, and then dictate it to the tool.

If someone owes more than two hundred euros, Marta calls them. If they’ve been in during the last three months, it gets mentioned at reception the next time they come in. If they haven’t been in but their pet’s vaccination is overdue, they get a call about the animal, which is a call you can make without anyone feeling bad. And everyone else gets a written message.

Four rules, in that order, applied just as they are.

Two for Marta. Sixty-nine for reception. Ten calls about the animal. Twenty-five messages.

Sara stares at the breakdown.

—Twenty-five. I’ve had two hundred and thirty in my head since this morning.

Diego and Sara turn practical judgement into a brief.
Diego and Sara turn practical judgement into a brief.

6 · The limits of asking, and Diego

They’ve got everything. And Marta, who’s been through this before, works out what it will take to keep it going: next Monday they’ll have to download the file again, upload it again, dictate the four rules again and ask the same questions again. And in a fortnight, when twelve have paid, three new ones have come in and Sara has spoken to five, this conversation won’t remember any of it.

—I’m not doing this every week —says Sara—. I’m telling you now. Two weeks, yes. The third, no.

And it isn’t laziness. It’s exactly what happened to the spreadsheet.

Diego has been quiet through the whole conversation, setting up the vaccine fridge. He closes the door and speaks from the other side of the room, without quite turning round.

—We can build something for that.

—For what?

—So you don’t have to keep asking. —Then, turning round—: But I’m not the one designing it, Sara. You design it, and I’ll write it for you.

They sit down after closing, which is when Diego gets things done. The first thing he does isn’t open anything. He asks for her spreadsheet.

—Delete it —says Sara—. It’s a disaster.

—I’m not deleting it. This is the blueprint.

And it’s true. The four columns she came up with on her own three years ago are exactly what needs to be saved: since when, mentioned it, what they said, don’t call. The practice management software has spent twenty years without saving any of the four.

Diego doesn’t dictate anything to her. He asks.

—What do you see when you open up in the morning?

—Nothing. I open the appointment diary and pray.

—And what would you like to see?

—Which of the people coming in today have something outstanding. But without having to look for it, Diego, because if I have to look for it, I won’t.

—And when someone pays?

—Make them disappear. Don’t put them back in front of me next week as if nothing’s happened.

—And when they say next week?

—Remind me next week. That’s what I used to write down, and what I used to forget to check.

—And when nothing needs to be said?

Sara takes a while to answer this one.

—Keep quiet. And don’t ask me why.

That’s the entire brief. Diego hasn’t written it. Sara has just said it out loud, in four answers, and all Diego does is make sure it doesn’t get lost.

7 · The fine-tuning is Sara’s

With the screen built, Sara sits down for ten minutes and starts working through the list.

Not the man from the corner. He buried his dog in July and still hasn’t come in for her ashes. She marks him as not to be contacted.

Not the woman with the twins either, for now.

She writes the reason in the record, and Diego stops her just once.

—Don’t put that.

—It’s what’s happening.

—I know. But that belongs to her, not in the record. Put what we’re going to do.

Sara deletes it and writes don’t chase until January, Marta to review. It’s shorter, says the same thing for the purpose at hand, and doesn’t tell anyone’s life story.

And then she gets to Fidel Pacheco.

One thousand five hundred and twenty-one. Of the eight thousand owed across the whole clinic, almost one euro in five is in that single invoice. The night of the fourteenth of May: a foreign body, surgery, four days in hospital and Kaiser walking out through the door. Nobody brought up money that night because there was a bulldog on the operating table, mid-surgery. Not the following week either. And a month later it was too late to mention it in passing.

Pacheco still comes in. He’s one of the fifteen clients who spend the most at El Roble, and for years he’s been the most difficult to deal with.

Sara moves the mouse towards his record and stops.

—Shall I take him off here?

—No —says Marta—. If you take him off, in two months we’ll have forgotten again and we’ll be right back where we started. Leave him where he is.

And he is where he belongs: in the group of two Marta will call. What Sara writes in the record isn’t an excuse. It’s an instruction:

Marta makes the call. Never by message, and never on a day when he comes in as an emergency.

—And what are you going to say to him? —Sara asks.

Marta thinks about it.

—I don’t know yet. But I’m certainly not going to say it at reception with people waiting behind him.

It isn’t resolved. They decide who will have the conversation, how not to have it, and that this isn’t something a tool gets to write. Which is probably the only thing from the whole of Tuesday that a machine will never be able to do.

Sara closes the spreadsheet tab she’s had open for three years.

At nine, the first client walks in.

The practice, step by step

A · The number that wasn’t

Check the spreadsheet, the date of the data and the current outstanding balance before deciding whom to contact.

A · The number that wasn’t7:51
A · The number that wasn’t. Original Spanish audio · ES, EN and PT-PT subtitles.

B · Two hundred and thirty calls

Understand each client relationship, preserve uncertainty and decide how to allocate the follow-up.

B · Two hundred and thirty calls11:15
B · Two hundred and thirty calls. Original Spanish audio · ES, EN and PT-PT subtitles.

B preserves the spoken slip “less than 12 months”, with an on-screen correction to “less than 2 months”. The spoken figure of “20 clients” using the median is approximate: at €396.31 per client, covering €8,018.27 requires 21 whole clients. This is a different scenario from 7 higher-revenue clients or 17 average clients.

Transcript · B · Two hundred and thirty calls

Debt concentration. The biggest debtors. Over 100 euros. There are only 14 clients who account for just over 40% of all the debt. Mid-range debt: 50 to 100, with 40 clients owing 2,884 in total. And small debts: under 50, with 52 clients owing 1,704 in total. The 14 biggest are listed here, including Pacheco with his surgery. And then here we have other clients. One thing that, well, while recording, I overlooked, and we shouldn't have done, was include the owners' names. Or the guardians' names, OK? We should have used the code with the patient. And, well, this is a mistake. But as the data is fictional, it's not a problem. And, well, do keep this in mind. But another useful thing you can and should do is, as always, go a little further, right? And one thing Marta could do is this: ask for information beyond the numbers and the raw analysis, right? Of the Excel file itself or the lists themselves. Take it a step further, which would be quite hard for us to do ourselves. Now I want us to change the type of analysis we're doing. Tell me who these people are compared with the other clients. What are each group's mean and median spending figures? How often do they come each year? How long have they been clients? It would be useful to compare both populations. Tell me how many are in each one. Let's send it and see what it says. Well, here we have the result. So, well, it explains a little about what it did: compare the 106 clients with outstanding debt against the 1,020 clients whose payments are fully up to date, over the 21 months of consolidated records. And it made a comparison. First, it looks at the size of each group. Of course, we knew that already. Accumulated mean... mean total spending. As you can see, debtors spend almost 85% more. Median total spending is more than double. Mean spending, well, as you can see, spending is much higher overall for these clients than for the rest. The number of visits is also almost double per year. Annualised visit frequency: they also come almost every month or month and a half. The average bill per visit is identical. There's no difference. The average number of pets per guardian is also virtually identical. The debt stems from trust at the front desk. As they're regular clients, with pets with chronic conditions or multiple visits a year, reception or the vet often says: “Pay me next time you come for the tablets or the check-up.” It doesn't know for sure; it sounds certain, but it could be one cause. Is there a pattern in when an invoice is left unpaid? Please look at the payment method, the professional signing it, the day of the week and the month. This is important: tell me whether the percentage is based on all invoices issued in that same category, not on the total debt. And alongside it, show how many invoices are in each category. If there's no pattern, say so clearly instead of finding one for me. Well, the answer is that there's no clear or predictive pattern of outstanding non-payment based on payment method, day of the week or professional. Basically, it says it's true that we didn't have that data in the file, look, in the original download. And payment method and day of the week, according to the statistical independence tests, have no effect. And the months, although statistically, the autumn months of 2025, especially October, at 7.13, show a one-off spike in deferred or outstanding payments. The overall trend settles back into the usual range. Analytical breakdown. Well, under payment method, here you have the analysis, its effect. It's 2–3% of all invoices. The same happens here with the days of the week. OK, it's the same by month. So it says: taking the last 12 full months recorded in the records, revenue from these 106 clients is approximately 51,000 euros. The clinic's revenue over that period is 308, and the percentage is 16.50% of the clinic's revenue. The key metrics: full activity, all 106 clients have been active and generated revenue this year. Median spending per debtor generated an average of 480 euros before VAT over these 12 months, and its weight against the debt, what they've spent this past year... The debt still outstanding today equals less than 12 months of their usual combined revenue. Well, with this information, at least they can assess the risk, right? How much it might be, which will be around 16% or so, between 15 and 16%, of the amount. So we'd have to see whether, if we lost about 20 clients, roughly... Well, yes, about 20 clients... No, sorry, about 16 clients, we're talking about 500 euros against 8,000, so, yes, 16 or 17 clients, well, we might already be losing the debt's value in revenue we'd no longer receive if they switched clinics. And that would be the cost of getting it wrong. If you like, we could even add another interaction where we could say, for example: “Think this through with me step by step. One: if I collect it all, we recover 8,018.27 euros in one go. But if, when we chase payment, some clients become... Well, they have a problem or don't take it well, and we lose the revenue from one of those clients, everything they spend in a year, and this keeps happening. Please tell me, out of those 106 clients, how many we'd have to lose for this debt collection effort to actually have a negative impact on us? And above all, compare them with those owing the largest amounts too.” The calculation: how many clients would we have to lose? Here it says the annual revenue, the 12 months... Well, what we were saying, right? In one year, if about 17 clients stopped coming, well, we'd already lose what we would recover. Using the median, losing 20 clients would be enough. Over 2 or 3 years, in the end, losing 8, 9 or 6 clients would also mean losing that revenue, right? And the comparison by client type, where the real risk lies, it has split them into small and large debtors. OK? And it says the critical risk: the 52 small debtors. The snapshot, it says, is that they owe an average of 32.77. Eye drops, some tablets, a check-up left unpaid. Their contribution: they generate an average of 386.36 euros a year. The risk: if you chase payment harshly, coldly, or by letter or text, for 30 euros, the loss ratio is almost 12 to 1. If 5 clients in this group leave, feeling offended after years bringing their dog, you'll have collected 160 in debt but lost 1,930 euros every year. Aggressively chasing this group is a business mistake. Of the 14 biggest debtors, those owing over 100 euros, the picture is: they account for 43% of the total debt. Their contribution is an average of about 722 euros a year, or 723. Here, each debt is already large enough to justify individual handling, but with very clear differences between them. It singles out Káiser as an exceptional case. Then we have Pelusa, Trufa... Well, it tells us a little about what to do with each one. And the practical conclusion: how to collect debt without distinguishing revenues. Well, it gives us some ideas. It says: the risk of debt collection proving costly is real if you approach it like a traditional collections department. The way to maximise cash while protecting repeat business is to split the approach into three levels. For the 52 small debtors: no chasing payment by phone or message. Don't call them or send them any reminders. Put an internal alert on their record in the management software. When they come for their next routine visit, for a vaccination, to buy food or for a consultation, the receptionist mentions it naturally. “Hi, Daniel, I see we left some eye drops unpaid the other day, 14 euros. I'll add it to today's bill, if that's OK.” As they're regular clients, 90% is collected without friction. I agree. The only thing we'd need to check here is whether the software can give us this sort of alert. For mid-range debtors, between 50 and 150, who spend a lot, we give VIP treatment. They're high-value clients: a friendly reminder in person or a service-focused courtesy message: “Hello, while reviewing the quarterly accounts, we found this outstanding entry to settle, from Trufa's last test.” If there's any complaint, find a middle ground before the relationship breaks down. And three, Káiser's special case: formal handling. It accounts for almost 20% of the clinic's debt. The owner or vet needs to call directly to offer a payment plan. Help the client pay, and the clinic... Well, it's already giving us an idea of how we could do it.

C · Twenty-eight minutes

Turn the team’s questions and judgement into a tool. Handled does not mean paid.

C · Twenty-eight minutes14:23
C · Twenty-eight minutes. Original Spanish audio · ES, EN and PT-PT subtitles.
Transcript · C · Twenty-eight minutes

Well, in this second block, what we want to do is take it a step further. Marta, well, has done a pretty good job with Gemini, which isn't a bad tool, of course. It's just, well, like any tool, it has its pros, its cons, its limitations and its strengths, right? But as we saw in the previous video, the problem it can have is that, well, collecting debts is something that's ongoing, right? And next Monday, or next week, or whenever she needs to update the data again, she has to download the file again, upload it again, explain again, give it the prompts again, well. And again in a fortnight, and with the payments that have been made, and Sara here, well, you know, in the end, the problem is that the conversation starts forgetting things and leaving things unfinished. You saw that it had forgotten the files. Well, it gets complicated in the end, right? Well, what we've done is put in, well, a first name and surname as a template. And here we have, well, all the data. We can use it like this, but if you'd prefer another way, we can simply take it and cut it down, say to 30 rows if you like, and delete it, okay? Yes, that's up to you. And that's it, we have a simple template. I want to build a screen for the reception desk at my vet practice. I'll paste the header and a few sample rows with made-up names from the outstanding invoice list my software exported. I don't want the real data leaving my computer. The tool we create will read it from a file, or files we keep in this tools folder, where the file I've attached is stored, and before writing anything, let's have you ask me whatever you need to know how reception works. Don't build anything yet. So here's the first question. How do you work at reception when a client arrives? How do you find their outstanding invoices today? And what do you do with that information? Well, let's answer it, if that's okay. Today, we don't find them. That's the truth. The software does store the balance, but it's in a tab in the client's record. To see it, I have to leave the payment screen, find the client, open their record and switch tabs. That's four clicks and about 15 seconds. With someone in front of me and two waiting behind, those 15 seconds don't exist. So I never check. All there is is a spreadsheet I maintain by hand with those I have time to note down. It has 18 names; there's money owed, 230. And the last time I updated it was in June. The total alone isn't enough. If I tell someone, you owe 62 euros, they get defensive and the first thing they ask is what for. If I can't say, I look as if I'm asking them to pay a random amount. If I say, the blood test for... well, the one in March, they remember and pay. The description turns a demand for payment into a reminder. So I need both: the total at the top to know how big a conversation I'm facing, and each invoice below with its date, amount and a word saying what it was for. One word is enough: consultation, pet food, vaccine, blood test. I don't want a line-by-line breakdown of each invoice, because then there are 40 rows and I don't read any of them. The software already has the finer detail. What needs to change isn't what... isn't whether they're there, but that they're flagged, separate from the rest, with a clear warning not to mention them at reception, and why. And basically, that's it: seeing something isn't the same as mentioning it. I need to see everything, but I decide what I say out loud. Next point. What happens after checking it? If someone pays an old invoice, promises to pay another day or you've simply mentioned it, what do you do in the software today, and what would you want to note on that screen? How often could you export an updated file from the software? Right, let's get to it. Well, it depends on those three things, and they're different. Let's see, if they pay, I record it in the practice software like any other payment. I add it to today's receipt or take it separately. Well, we'll see, that's settled, and I don't want to do it twice, so it doesn't worry me. I don't want to mark anything manually on this screen about the payment method and so on. I want it to pick it up itself next time I bring it the file. It's also important that, if I can mark here that someone has paid, I end up with places saying different things about the same money, to be honest. When that happens, I no longer trust either of them, so for money, the practice software is in charge. Full stop, okay? Okay, if they promise to pay another day, well, in the practice software I can't note or save that anywhere. And that's exactly what I tend to forget. I want to be able to note that they said when they'd pay, which day, and on that day have it put in front of me again. Yes, on that day, because if it's earlier, it's reminding me every day, from today until, I don't know, the next time they come back, and honestly, I stop looking at it. Okay, if I only mentioned it, but they didn't give me a clear answer, I want to note that down too. And honestly, this matters most to me, because if I don't note it down, I might mention it again next week. Honestly, it makes me look as if I'm chasing them. And, well, the date and a couple of words on what they replied are enough. There's also a gap we need to address. If I export the file on Mondays and someone pays on Wednesday, this screen will obviously keep telling me they owe me money until the following Monday, right? If they come on Thursday and I mention it again, I've messed up. Honestly, well, I hope I'll remember, but somehow I do think I need to mark it as paid, pending confirmation, okay? But that mustn't count as actually paid in the totals. It should just make the screen stay quiet until a new file arrives. We could call it handled, or something like that, perhaps. Honestly, when it arrives, it should confirm it automatically. If it wasn't paid, let me know and show it again, because then I'm the one who made a mistake. Well, another answer. It says, it says: on Monday, we can't call everything that has disappeared paid. Because some may be a credit note or a cancellation. The screen can show the amount settled since the last file, and separately, invoices that have disappeared for the first time for you to review. It can also separate out new debts. Good point about settled instead of paid. I'm happy with what you suggest. As for notes, it depends on what they are. The promise goes on the invoice. If they say they'll pay on Friday for the March blood test, that's this invoice, not the other one. But show me the reminder by person. Because I don't talk to invoices, I talk to people. On Friday, I want to see that person with their reminder. And beside it, that something else is outstanding; you'll see they said nothing. And a sensitive case applies to the person. Always, and to everything. It makes no sense to keep quiet about one invoice and bring up the other. If we don't mention anything to someone, we don't mention anything. And if they get a new invoice tomorrow, it stays quiet too. I should remove it too. Not the screen. Promises belong to invoices. Tact belongs to people. That's all you need. I think you can build it now. Let's see if it finally makes up its mind. Well, let's see. It generated an application, okay? So the first local version is ready. Here it gives us a path to download it. It tells us what it does, how we're supposed to use it. So it gives us a ZIP; if we click here, it takes us to the ZIP. Here it is, unzipped. It tells us that what we need to do is copy these folders and files directly into the tools folder. That's where we need to, well, put the file, start screen, okay? So, let's go here. There it is. We've pasted everything. We've put the file in and if it, well, never mind, we just put it with the template, I make a value. I've already updated it with the value, and here you have a panel where, well, we can, as you see here, for example, Luna, it shows us all the Lunas. If we enter Torres, it filters them. Rocío, there we are. Okay, we have the outstanding amount. It doesn't show the new debt since the last file because we have no previous file. We simply, well, click on Rocío Gil. Here's Rocío Gil, what they owe us. And we can note down the conversation. We can, okay? The buttons we've been looking at, okay? Previous conversations, set aside. We have a full analysis. And just one thing: the amounts here include VAT. So we could play around with them and ask it for something else, if you like. Well, anyway. While I was at it, I played around a bit. What I did was, I came back and made a second file of outstanding amounts as of today, okay? With some edits, some payments. It was like a week later, so you can see. All I did was go in and update the file. It picked it up straight away, updated the list's date, okay? It says it's in the future. That's normal because it's 23 September as we're recording, and we're simulating it being October and so on. And, as you can see, the amount has changed. It's gone down slightly. There's been new debt and also an amount settled, including VAT. And, well, yes, of course. And here's the information: invoices that have disappeared, okay? They've paid them or whatever. And, well, so you know what it's doing. And I think, well, it's pretty comprehensive. But so you can see that in a short while, if we check how long it took, it took 28 minutes to do it. But it's made us a fully runnable system. Though we did have to interact a couple of times because the launcher had an incorrect command. Well, some quotation marks, okay? It was really quick. We fixed it in a minute and a half, but I think what's impressive is that you have a tool tailored to you, and you can keep interacting with it and doing things, okay? And what you've seen. Well, basically, with a little interaction, after it's asked us questions, after, after... without having to code anything special, we have a tool that can help us beyond our usual Excel and, well, it updates a little, and so on. All that glitters isn't gold, of course, because if you want to take this further, at some point you might start wanting more features and more things, and end up breaking it. But for small things like this, it's very useful, and worth knowing about, because I think it can make you some good little tools to help you in your day-to-day work. So now, I'll just say goodbye, and see you next week.

Extra · A CSV Excel won’t ruin

Import the CSV without losing delimiters, columns or amounts.

Extra · A CSV Excel won’t ruin0:58
Extra · A CSV Excel won’t ruin. Original Spanish audio · ES, EN and PT-PT subtitles.
Transcript · Extra · A CSV Excel won’t ruin

What it basically does, when this happens to you too, a little trick, OK? I close it; we open a new Excel sheet, and what we do is go to Data. We come here and click to import data from text or CSV. OK, we go here to Downloads, and here to today's outstanding items. And as you can see, it lets us lay them out differently, a little more neatly. So we'll load them like this, and now you've got them laid out, OK? Well, she simply has the data, she now has the outstanding invoices, and what she'll do is, she'll save it.

What to take away

  • Distinguish an old invoice snapshot from today’s outstanding balances before making decisions.
  • Ask for denominators and weigh one-off debt recovery against recurring client revenue.
  • Turn the team’s priorities into clear rules for who calls, who waits and what the system remembers.
  • Keep human judgement in charge: record the agreed action, not sensitive personal reasons.

The result: a screen for follow-up

Overview of the practice dashboard. The synthetic dataset’s future-date warning remains visible.
Overview of the practice dashboard. The synthetic dataset’s future-date warning remains visible.
Follow-up record: promises, agreements and actions. Do not store unnecessary private details.
Follow-up record: promises, agreements and actions. Do not store unnecessary private details.
Tool and synthetic data

Educational demo with synthetic data, not an application ready for real data. The original ZIP includes the tool, two data spreadsheets and a sample SQLite history. The launcher requires Windows/Python and openpyxl; it contains a path specific to the Codex environment and a Python fallback. Installation on a clean computer has not been tested. Deleting the Excel files does not erase the history. Work on a copy and do not enter real data.

ZIP · Windows / Python

Video transcript

16,586.20 euros is the debt we had in the last lesson, and it was probably a figure that caught your attention. Well, Marta had come across this figure and, naturally, well, it scared her, and well, she had it here on the dashboard, with 269 documents that were outstanding, and of those, over 90% had, well, been outstanding for over 90 days. With these 269 documents, well, the first thing we need to know is how many people they belong to, because, well, naturally, it's not the same to chase payment from 100, or 200, or 269. Spread across the 269 documents or receipts, these correspond exactly to 230 different clients. The summary tells us we have 460 lines, 230 pet owners; 45 clients owe over 100 euros, which account for almost 50% of all the debt; 64 clients owe between 50 and 100, and 121 owe under 50: small outstanding amounts for purchases or one-off visits. On the other hand, if you've read the story, we have the Excel spreadsheet where Sara has been noting down, well, as and when she could, well, debts that clients owed, right? And, well, it's still an Excel file, which is always good to have and is always a better tool than a sheet of paper or whatever. But, naturally, well, it has some shortcomings we can uncover quite easily. Sara, at least, was doing something. And she was keeping track. And what she'd done was, she'd added some columns where she'd put, apart from the usual things, right? Well, the date, the client, the pet, what they owed, since when they owed it. She added a couple of, or three, columns for whether she'd mentioned it to them, whether they'd already, well, whether the client had replied, and if not, whether to call, and a bit of, well, a reason, right? And she'd also marked in green those who had supposedly been paying, which she needs to check, right? Also, as you can see, well, August and September are missing, she hasn't done those, OK? As it says here, the green ones seem to have paid; we need to check. This is typical, isn't it? It wasn't so much a list of those who owe money, but those there's time to note down. Why didn't the figures add up? Well, you see three cells here with a warning, and it's simply because, when it was typed in, euros were entered; if we remove that, it becomes a number. The cell wasn't formatted; euros had been typed in instead. So it was text, so it wasn't added up. And, as you can see, the amount has changed. Well, there were already about 900 euros, more or less, or 911 that weren't on the list. And, well, basically, as you can see, it's a manual system that breaks, and you gradually stop updating it, and, well, it's useful in a way, but at the same time it also becomes outdated very quickly, and it doesn't give you the truth either. Well, naturally, Marta still has that figure of 16,586.20 in her head, even though she sees that Sara has another source of information that she manages. And, well, as we saw in the story, what she does is call the accountants, and when they ask her what date that figure is from, that's when she realises she's making a mistake. If you remember, in the last lesson we had a billing list that Marta downloaded each month, and, well, for example, she had the list here for March. She would have downloaded this March list in the first week of April, so it was up to date as of that day, right? And, well, that information is frozen there. When you're analysing it now, in October, you have April's information, and it's the same with each file: each time, of course, the older it is, well, the less current the information. So, well, faced with this figure, what Marta does is try to update it, right? So she goes to her management software, runs a report or retrieves the information or requests it. Well, everyone's situation will be different. In this case, well, Marta could download it, and she'd go here, and it said outstanding as of today, OK? 20 October '26, which was when she was analysing it. And if she opens it, well, she finds a CSV file in this, well, somewhat complex format, right? To read, let's leave it at that. And here's the reply, and it says, look, I see you've attached a file with the current list, but in this session I don't have direct access to the earlier file or dataset, or the previous monthly exports you mention, which showed the frozen status. Well, as you can see, this is one of the things and the problems we could run into with what we did last week. We had the chat, we've put in loads of files, but we use it again a week later and we don't have them. Well, as you can see, it says it's received the file, but now it had forgotten the task. So, well, I gave it another instruction, to spare you the repetition, saying the same as before. And to do the comparison. And what it does is make a comparison, right? And then it says we had 269, but there are actually 109. That's 160 fewer invoices. There are 60% fewer invoices. Fewer lines. There are actually 106 clients. Or 124 clients, sorry. On the current list. There are fewer. The debt comes to 8,018.27. In other words, they'd paid 8,500 and a bit. We've reduced it to more than half. Including VAT, it also changes. Of course. What's no longer there. Well, it analyses it, and now we actually have today's picture, right? The actual outstanding debt has halved. Before VAT. Spread across 109 receipts from 106 clients.

Need help?