Scheduled pot withdrawals occur *after* scheduled payments, causing scheduled payments to fail


(Duncan) #1

Issue:
A scheduled payment from a pot to a user’s current account happens after other scheduled payments out of that account, causing those other payments to fail. Pot withdrawals should instead always happen before other payments, as this feature is used to fund other payments.

Current behaviour :frowning_face:

  • ~1.00am : Bacs Direct Credits
  • ~2.00am : Bacs Direct Debits
  • ~3.00am : Scheduled transfers (pots)
  • ~3.00am : Scheduled transfers (others)

Fixed behaviour :smiley:

  • ~1.00am : Bacs Direct Credits
  • ~1.00am : Scheduled transfers (pots)
  • ~2.00am : Bacs Direct Debits
  • ~3.00am : Scheduled transfers (others)

i.e. Move scheduled pot withdrawals to approximately 1.00am so that Direct Debits and Scheduled transfers can have the money ready for them.

Details to reproduce:

  1. Set up a scheduled pot withdrawal on a particular date “D”.
  2. Set up a scheduled transfer to another account on that same date “D” (this appears to happen for accounts outside of Monzo as well as a Monzo joint account).
  3. On date D, observe as the scheduled pot withdrawal happens after the transfer to another account (for me, somewhere around 3.15 to 3.30am), and the transfer results in “Declined. You didn’t have £…”.

OS:
Irrelevant: server-side problem
Device:
Irrelevant: server-side problem
App Version:
Irrelevant: server-side problem


(Peter Shillito) #2

Thank you for making this a separate thread. I explained some thoughts on this back over here: Move money out of pots automatically!

Regardless as to whether it’s semantically called a “bug” it’s resulting in an extremely poor experience.


(Duncan) #3

This post was to formally raise it as a bug; I assume that somebody from Monzo looks over this subforum on a regular basis. I’m a software engineer of 15 years experience and I can tell you, unless there is some information missing on how this happened (perhaps it was a one-off timing issue where one set of jobs was delayed, whatever) then it’s absolutely a bug :wink:. And a pretty horrible one at that!!


(Peter Shillito) #4

lol no need to get so defensive, please enhance your calm.


(Duncan) #5

Defensive, no. Offensive! :stuck_out_tongue_closed_eyes:


(Kolok) #6

I’d thought this would have been obvious to the engineers that ppl want money out of pots first to pay the DD on that day


(Duncan) #7

I’m with you; the announcement says that’s one of the intended purposes:

You could try setting money aside for all your bills by scheduling payments into a pot. On the date you need to pay them, schedule the money back into your account so it’s there when the Direct Debit’s taken!

But I have been informed by a member of the Coral Crew™ that this isn’t a bug:

:man_shrugging:


(MikeF) #8

OK, I see you’re taking this more seriously than I thought.

I enjoyed the debate about the definition of ‘bug’ but I thought you were treating it in the same mindset as I was. The post above indicates otherwise so I’ll duck out again now :frowning:️.


(Duncan) #9

Mike, the larger problem here is that you’re giving significant pushback to users reporting what are clearly bugs by arguing semantics. That wouldn’t be a problem if you were just another user, but you’ve got a red badge so you speak with some authority on behalf of Monzo. And I think it’s problematic that you’re telling Monzo’s users that bugs aren’t bugs.


#10

@duncang, I don’t think anyone has said that this shouldn’t be changed.

It seemed to me that you were keener on labelling it as a bug than achieving consensus that, for the user, this bug/feature/thing could do with a timing tweak.

Can we agree on the need to change it and leave it there? Ultimately it’s for Monzo to pick up and deal with as they see fit.

(Oh, and I can’t speak for the Coral Crew, but the red hot coral badge doesn’t mean they represent Monzo. They’re users just like you and I, with their own opinions. They’re not company spokespeople.)


(Duncan) #11

The thing that I am keen on is galvanising momentum towards a fix, whenever Monzo wake up to this (not for me, mine won’t fire for another month, but a lot of other people will be affected within that tiemframe). “Sorry, it’s not a bug” and a “timing tweak” belie the fact that is is actually a critical issue for this particular feature, in a critical class of actions within Monzo - payments. For a bank, in the scale of things, few bugs are above “my payments all failed”.

In the (some large) startups I’ve worked in, if this sort of bug came up it would be a you’re-working-this-weekend type of fix! So, what I am trying to say is that although this feature isn’t being used by all customers, whatever subset are using it - and more will try, and fail, every day - erodes their confidence in the product. So it should be fixed, ASAP, as a critical bug.

Hopefully someone from Monzo will catch its soon. Though of course it would be helpful if someone from the coral crew flagged it sooner…


(Only available in amateur ) #12

I doubt they will ‘fix it’ as then it’ll do the same job as committed spending pots


(Duncan) #13

The fix is to change the time from 3am to 1am; simples. As I understand it a committed spending pot would require more work.


#14

Can see why you would think this, but it is inaccurate.

This is more accurate. Below post was where the name came from.

Hope that helps clarify :slight_smile:

Side note, a large proportion of people on the forum are engineers, so this is a little unnecessary:

Nice write up with the steps to reproduce :slight_smile:


(Duncan) #15

Yup, I’m aware they’re moderators. They do have:

Not the narrow sense of “speaking with authority”, but in the borader sense of having power. To wit, as per your link:

The relevant sense here is the power to raise bugs early directly to Monzo staff. Specifically: this bug :wink:

It seemed relevant information - I’m not some schmo with a superficial idea of what a bug is…

Ta!


#16

Agee with DuncanG on all points here even though I’ve only been a developer for 6 years :cry:

I see CoralCrew as unpaid Monzo staff, they’re selected by Monzo so there must be some level of endorsement from Monzo on the things they do and say?


#17

That would be quite wrong, I’m afraid.

The Coral Crew code of conduct is here.

They aren’t paid or employed by Monzo. They have their own opinions and ideas. They are (rightly) held to a high standard of behaviour such as treating people fairly. (I don’t think it covers disagreements over whether something is a bug or not, or reporting individual customers’ concerns, though! :wink:)

This comes up from time to time and must be incredibly wearing for the Crew, who, after all, are just volunteers and folk that like to hang out here… :man_shrugging:


#18

None of that changes my opinion.
I don’t see why it should be wearing to Coral Crew they should absolutely be endorsed by Monzo. They do a load of good work for free.

They’ve been selected by Monzo there’s a level of trust there. They have a badge or tag or whatever that clearly identifies them and quite rightly carries weight.

They get a warning if they misbehave they get dismissed if they go too far. So anything they say that doesn’t get them dismissed is ok by Monzo?


#19

Last thoughts on the subject as we’re way off topic:

Each person responds differently. For me, I think that I’d grow tired having to continually defend myself from inaccurate assumptions.

Yes, that what the code of conduct says.

Absolutely not! Everyone has different opinions, and the Coral Crew are entitled to theirs - which may or may not be the same as each other or with Monzo. To that point, I’ve seen members of the Crew (politely) disagree with each other and with Monzo. Constructive feedback, including from the Crew, is welcome here.


(Tim) #20

Someone from the relevant team will be along shortly, but I can confirm this is a known bug :slight_smile:

Scheduled withdrawals currently run at the same time as standing orders, because they’re part of the same system. Ideally these would be split up. As we add more features, it’s going to get increasingly hard to schedule them all in the right order!

As a bit of trivia, I believe the Bacs runs are defined in BST, but the scheduled payment run is defined in UTC. So the order will change when daylight savings kicks in… :roll_eyes: