I’m interested in using ERPNext with a Cash Basis accounting method.
From what I’ve learned/heard:
Use Sales Order and request payment against it. When SO is paid, we can create a Sales invoice which will record the income on that date.
Similarly we can create purchase invoices on the date the payment to the supplier clears our bank.
What I’m having issues with (likely because I’m also not maintaining Inventory, which would also be true for service businesses).
Sales Orders will always show as overdue because no Delivery Note is created. Since we don’t maintain inventory, Delivery Note or Sales Invoice will not have the checkbox “update stock” selected.
Can anyone help with some best practices/workarounds for using ERPNext in a cash basis without maintaining inventory?
I can. Cash basis accounting is a revenue recognition technique. ERPNext does not have mechanics for it, except inasmuch to manipulate the system to make cash co-temporal with accrual. If you take the manipulative approach you lost the ability to do accrual accounting, which is the one that’s common and generally provides better business inteliigence.
The correct way to handle this is make adjustments from accrual to cash in the reporting structure, not in the execution of business activities. This problem is solved by writing a cash basis report, not by intentionally doing your books wrong so that the accrual basis P&L represents a cash basis. A statement of cashflows is generally a better tool to tell this story with than an arbitrary edict of “use cash basis”.
You are reviving a thread from three years ago saying there’s demand for it, but I’m not convinced.
Most cash-basis companies would probably be better off with software less complicated than ERPNext, but I have seen cases where Frappe was the right fit for managing other business processes and accounting just kind of came along for the ride.
You should be able to issue Delivery Notes for non-stock items. Is it not working for you? Even if you’re not dropping off pallets in somebody’s warehouse, the services you provide are still getting delivered at some point after they were ordered. Most companies, I would think, are interested in tracking those different steps.
Thank you, @peterg. I’ll have to do some testing. I recall seeing posts in the forum regarding issues related to “not being able to mark items as delivered” if they are not maintained in stock.
@tmatteson I think your use of “the wrong” way may be overreaching:
If I issue a Sales Order when I sell something, how is this wrong?
If I create a Sales Invoice from a Sales Order when I receive payment, how is this wrong?
I think it’s working fine for me. Let us know if you’re seeing problems after testing.
One thing that an auditor might not like is the activity on debtor/creditor accounts. If you’re always including payment in the invoice itself, these accounts should never have a balance, but the transactions still get booked there
Are you expecting to be paid with that Sales Order? If so, this is revenue and you are not recognizing it. If it has payment terms on it, it’s a contract that you are expecting to be satisfied with payment. A Sales Order in ERPNext is only recognition of a request from a customer to purchase something.
This is incorrect if the payment and the receivable are not co-temporal. If you send a draft of the Sales Invoice and wait two weeks to submit once you have the payment, that’s incorrect.
Cash and accrual can be the same. If most of the services you buy are online SaaS things, then that’s exactly how that works and it’s prudent to make the Purchase Invoice the expense, payable and payment document.
If you want to support a customer doing this, I recommend trying to buy a professional liability insurance policy and see if they’ll insure that activity. Your systems say that the reports are accrual and you manipulate them to be cash - that’s fraud.
If I’m using a cash basis, there will be no reason to provide accrual reports or tell any tax or government body a lie. There is one outlying topic regarding Payroll in the USA, it shall always be considered an accrual-type transaction.
Cash and Accrual are not the same, hence, this is why the tax authorities ask taxpayers to indicate the basis they have chosen. There are some cases where a cash basis is not allowed, but that’s not the topic here.
Perhaps there should be a distinction mentioned here. I’m referring to Cash Basis for reporting income tax. It’s perfectly legal to have cash basis business.
If I issue a sales order and have to wait for payment, income is not booked until the money reaches my bank account. If there is an accounts receivable, that’s fine as it will be a balance sheet item.
Cash basis doesn’t mean you don’t pay taxes. If you pay taxes you are subject to IRS audit. You would be asked to provide a Profit and Loss and balance sheet at that point and the only one you can produce from ERPNext says “accrual” but is actually cash.
This is also factually incorrect. It is possible for compensation to be paid daily on cash basis. This labor is a deductible expense. As you approach the relatively low thresholds for considering somebody an employee, this typically changes to some kind of accrual basis, accruing “current” or in arrears.
You have misunderstood what I explained. A transaction can be identically cash and accrual when all the the recognition and satisfaction of a payable or receivable are all co-temporal. If you buy something at a POS and record it that’s cotemporally cash and accrual. Same for a POS sale where you receive (literal) cash. If you are receiving just about any other MOP you tend to see a delay between the revenue or expense recognition and moment that reality exists in your petty cash or bank account.
Whatever you want to do is fine; nobody is going to stop you. And I’m sorry you don’t like the answers I am giving you. You’ve been warned what you’re doing is incorrect but your obstinance will not help you triumph in an audit or avoid being fined for non-compliance.
Of course, it’s important to get any accounting structure or reporting format you use checked by a CPA for accuracy within your regulatory context. That’s true regardless of cash/accrual basis.
In my experience, it was very possible to use ERPNext to do cash basis accounting that the auditors involved deemed correct. That said, ERPNext doesn’t know what cash basis structurally is, so it will gladly allow you to do things that would be very incorrect. You can build some of these rails back in yourself, but at some point it’s just not worth the effort.
If you need help with understanding the data structures represented by different doctypes and the workflows that connect them, you’ll find good resources here. If you need advice about what’s legally correct, you’re probably better off talking to a CPA.
@tmatteson thank you for donating your time. I truly appreciate your help and valuable advice. I sure can be stubborn! I hope this doesn’t deter you from helping me or others in the future.
After further research, I’ve learned reporting income tax on a cash basis is acceptable, but for NYS Sales Tax it’s not. According to my research, NYS Sales Tax Authority expects reporting based on accrual basis, regardless of income tax reporting method.
With this knowledge, it makes more sense to use ERPNext as accrual, then create custom reports based on banking information. After trying my method for Q1 2025, I’m even more convinced by your advice. It will be less work in ERPNext to record sales straight to Sales Invoice, rather than introducing Sales Orders.