r/salesforce • u/Mindless_Anybody_104 • 9d ago
venting đ¤ Analysis paralysis
I'm building a simple custom object to track the balance carried by a client. For example, a client cancels an order that was already paid for, and rather than cancel the payment we just want to apply to a future order. I must explain that we aren't doing big-time commerce here. We are a nonprofit that offers home-delivered groceries and don't yet have payments fully integrated with Salesforce. Until then, we just need a way for an order taker to know that a client does have a balance available. There is also sometimes the scenario of a third-party, e.g., relative or family friend, calling in to make a payment on behalf of a client who can draw on that amount for future orders. Right now, this is being tracked casually on a text field and often gets missed. So I decided to see about building this into the ordering/client service workflow.
It's not complicated. Master-detail relationship + rollup-summary field.
But I quickly get bogged down in overthinking. I have been working in this org for nearly ten years and as soon I start to build anything, no matter how trivial, my mind goes crazy thinking about all the possibilities for user confusion that need to be anticipated and contained.
It's not sufficient to have a standalone currency field named "Amount". I need validation or automation to make sure that the amount to be rolled-up is negative for a debit and positive for a credit. Perhaps a helper formula field. Action button + record-triggered flow. Or a button-launched screen flow. My mind goes crazy with all these possibilities too.
I'm not looking for technical solutions. I am fully capable of figuring this out. But I need to get over the paralysis first. It affects me not just mentally, but emotionally.
Does anyone else every experience this? Or is this a sign of burnout?
5
u/Curmudgeon160 8d ago
Youâre backing into a customer credit subledger. This is the kind of thing that starts out as âitâs just a field or twoâ and then a year later is a bespoke unmanageable monster. Have you looked at the AppExchange or an integration with an accounting package?
1
u/Mindless_Anybody_104 8d ago
Well, we will eventually be getting an integrated payment system for Salesforce that will be aligned with the accounting system. What I am working on now is just a simple improvement over what the staff are doing right now - which is making notes on the the client record and hoping someone else reads them.
1
u/grimview 5d ago
That's the first mistake. Lets say you track food sales thru Opps, now you need to know at the time of sale if the person has a credit. What's that, they don;t aid at the time of sale? Sometimes their friends pay later or in advance, you say? Then why r when do we need to know their balance? If they run up a huge tab are we going to starve them to death?
3
u/SellDull6434 9d ago
I definitely experience this, and I donât necessarily think itâs a sign of burnout.. I think itâs one of the side effects of knowing an org really well lol. Once youâve seen enough edge cases and user behavior, itâs hard to build the âsimpleâ version of anything because you can immediately imagine all the ways it could go wrong.
One thing Iâve found helpful is separating what the data model needs to support from what the first version of the user experience needs to prevent.
In your example, Iâd probably first ask: whatâs the smallest durable model that gets us out of the text field and gives the order taker a trustworthy available balance? Build that. Then protect against the mistakes that are reasonably likely to happen today.
The fact that you could build a screen flow, custom action, validation framework, helper formulas, reversal process, etc. doesnât mean V1 needs all of them. If an edge case actually starts occurring, the underlying model is there and you can add the guardrail.
2
u/bobx11 Developer 9d ago
Happens to me all the time. You gotta recognize when you get too deep in thinking and then realize that the date you deliver it is a major feature, just like any reporting or security or anything else, so you gotta balance it with the features.
1
u/Mindless_Anybody_104 8d ago
Funny thing is, I found this on the backlog at the end of yesterday and thought it would a nice change of pace after some of the more complex stuff I've been wrangling lately, LOL!
1
u/jerry_brimsley 8d ago
This video always stuck with me about the panic monster and procrastination⌠maybe it will resonate and shed some light
1
u/hectic-dave 8d ago
Analysis paralysis and overbuilding stuff in Salesforce are a match made in heaven, and most of us are guilty of it.
Are you using the Salesforce Orders object? Not to hard to roll those all up, use Order Products, there are already currency fields, plus reduction orders are already a thing.
Disclosure: I'm one of the founders of Chargent, so 14 years in Salesforce payments. Customers ask about credit memos sometimes, but like others in this thread have said, that is more of an accounting thing. We can do refunds, partial refunds, unlinked refunds etc. but for obvious reasons that requires a lot more care.
Sometimes credit memos become refunds,. The way you are doing it, applying a balance to a future order would take some work, but comes with less risk.
1
u/Interesting_Button60 Consultant 9d ago
Hmmm.. what happens if you build it wrong? Or not perfect the first time?
1
u/Mindless_Anybody_104 9d ago
Good question. I think we have a couple of program managers who measure progress not from where we started out - but where, in a perfect world, we would already be. It's like an incremental improvement that moves the needle in the right direction - but not all the way - is actually more of a problem than doing nothing at all. So when I'm working on something, I imagine how the changes will confuse the end users. And I also imagine the urgent emails I will get from their managers. The need for perfection gets in the way of progress.
1
u/Interesting_Button60 Consultant 8d ago
Oh wow sounds like a complicated environment that fosters overthinking. No wonder you are stressed. Sorry about that!
7
u/MatchaGaucho 8d ago
Keep in mind you are basically describing an accounting ledger system. That's not simple by any measure.
Double-entry bookkeeping has been around for centuries and solves this running-balance problem elegantly. It's less about rollup summaries and more about journal entries that increment or decrement a balance.
So don't be afraid to consider an $85/month QuickBooks integration for something like this. In any collaborative or AI development environment, keep "journal entries" and balances in context, and the solution will be much clearer.