frappe / erpnext

Free and Open Source Enterprise Resource Planning (ERP)
https://erpnext.com
GNU General Public License v3.0
19.62k stars 6.99k forks source link

Mark obligatory fields in bank transaction as required #36433

Open bosue opened 1 year ago

bosue commented 1 year ago

Information about bug

In fact it is possible to save and even submit a bank transaction without:

The amount(s) may be zero, and I can see why the counter party may not be required until submission.

But the three fields listed above shoul definitely be required, or am I missing out on a use case for them to remain optional? IMG_1266

Module

accounts

Version

Frappe: develop ERPNext: develop

Installation method

manual install

Relevant log output / Stack trace / Full Error Message.

No response

ankush commented 1 year ago

Customize > check mandatory on these fields?

bosue commented 1 year ago

@ankush: Of course this may easily be customized. And I know this wouldn't be the case the other way around. But is there a point in allowing bank transactions without date, account, or currency? And doesn't this mean that ERPNext doesn't do proper consistency checks out of the box?

In the end, the proper question may be: Why may non-required fields be customized to make them required, but not the other way around? Yes, there are cases where we need required fields to stay required for some technical reason. But there are other cases, where it wouldn't matter technically but is the proper default setting for a solid out-of-the-box experience.

So maybe we should at least ship with the customization as an override? If thinking at "soft-requiring" these couple of fields, but others as well. We might even be able to turn some "hard-required" fields in other DocTypes into "soft-required" for added customizability while still doing the right thing out-of-the-box.

If it's outside our current milestone plan, feel free to close though. Don't want to bother with trivial details, while larger tasks are imminent. 🤗

SvbZ3r0 commented 8 months ago

@ankush @bosue Can you tell me what account the "Bank Account" field is meant to be? Is it the company account from which a transaction is made? Is it the Party's bank account to which a payment is made? In either case, why is there only one "Bank Account" field? As I see it, any transaction will always have 2 accounts: the company's bank account which should be mandatory, and the party's bank account which we may or may not (in cases where a payment is received) know. Sorry for asking here. but the documentation isn't clear, I didn't get a response on the forums and the code is not self explanatory cuz data from this particular field is not used anywhere. From the Plaid Intergration, I see it is probably the company's bank account, but I'm not too sure.

Thanks!