ERPNext vs Odoo

When you talk accounting in Odoo are you talking about v8 and previous or do you include v9? Because in theory (I dont know) v9 main focus was improving Odoo accounting and it is the area that has received more work. Do you think it is still lacking?

Many of us has high hope on v9 accounting, but well…Yes, it is better in many ways. Like, more stream line ways of reconciliation for various bookings. Some new concept is also introduced, like no account hierarchy anymore, no period any more, new reports, new online reconcile, etc… (some new ideas even made old style accountant heart attack)

The thing is, its core concept still the same, relying on simple journal book accounts and not smart accounting engine per say. It might be enough for simple business, but for complex one It still make accountant life (or implementer who have to close all the gap) difficult just like previous v8, and will be in the next versions.

But I think it is also their intention, as their vision is sales/marketing as the core and not accounting anyway.

And you will find that many of Odoo partners also not implement accounting module. So, I won’t say it is bad move.

What kind of UI would you want for that?

Can you give specific examples where this can be improved?

Why do you think it is that accountants are so against changes while other type of employees, like sales or warehouse managers, are more open to new interfaces and even ways of working?

Yes they are accountants and they should know which one is which, but you would be surprised at times
Fully agree. I see this in Kenya and I see this with my self, a self-taught “accountant”, still struggling with debits and credits.

Fully agree. I see this in Kenya and I see this with my self. Some simple things can be done here:

Thanks @rmehta,
** No new UI for batch entries, but just a new document. You can see on the link I have posted above.
What about this.
On top: Account on which batch entries will be made against.
All entries will either be Debit or Credit against that account. So a tick box for either.
Then a child table (and each row has these fields)
Date >>> Account (the other account) >>> Reference >>> Description >>> Amount

** How can we start a smart engine for accounting … I am defintely not a software developer, but I would suggest simple things such as:
Is the account a bank account ==> then you either have payments or receipts
If you have a Debit transaction, then the other one should automatically be a Credit.

See my previous message about Sale Invoice Return … I have to do a JV and I had to scratch my head to see which accounts I had to deal with first, then which one was supposed to be credit and which one was suppose to be debit. This should normally be automatic process.

Hi @rmehta,

I have not gone deep with ERPNext, so please take this as constructive comment from someone not knowing ERPNext very well yet.

Many thing I see. At first it look too plain simple, but after play around it make more and more sense. Like the smart search. The report filter, grouping, etc. It is really easy to use and I liked them.

But what I start to look into about accounting, there are things I think need improvement. Just want to raise some points I have observed (without seeing the code yet).

1) When we cancel a document, i.e., Invoice. System will directly remove all the journal entries !!

All the real ERP I know from SAP, NAV to Adempiere, do not remove entries when cancel (auditor won’t accept it), instead, will create a reversed journal entries.
** This feature does not exist in Odoo too, we had the same problem. But luckily, it can be rescued by community module. Still not very good.

I think this is serious point, if accounting entries is deleted, i.e., I can’t create tax report about the cancelled entries from accounting entry table alone. However, I may, with joining the Invoice table, etc…, but it can be error prone.

I think accounting entries is heart of ERP system, and nothing should be deleted or updated, every trail must be there, for auditing and for reporting.

2) If invoice is paid, it unlink with its paid JV !!

I think system should not allow, isn’t it lead to human errors? To be more proper, system should ask user to unreconcile payment first before cancel the invoice. (yes, by create reverse entries of payment JV).

3) When do payment, I am directed to JV, no Payment Document exists

I have not played around much with how payment process is. Just that it is quite weired when, for example, want to pay partial. I have to adjust credit/debit myself. If transaction is more complex, i.e., including withholding tax, it will need a smart accountant user to adjust the entries.

So far, I think the concept of software in overall and usability is great, and can make people easily in love with it. But, I am a bit worry about its accounting practice (more worry than Odoo now :p).
But may be I am too new that don’t understand its concept behind it yet. If you have discussion why things are done this way, please share. I would love to understand it.


1 Like

I think accountant can change. The process, the UI. But at the end of day, the accounting entries must be valid.


The cancelled Sales Invoice exists in the system, so there is traceability. No need for duplication

There is a Payment Tool, but yes, I agree there must be a Payment Entry

Thanks for your suggestion!

@Francois_Ifitwala maybe a specialized Payment document will also make it a lot easier to tag payments against multiple invoices.

Thanks for your answer.

I know that cancelled invoice is still there. And that’s the exact point I raised. First, I confirm it is not traceable form good accounting practice stand point. And it is not about tractability alone, the deleted entries makes it impossible to query Tax Report from account entries without joining with invoice table (trust me, it is not good to do so). In many country, even the cancelled, it has to be in Tax Report.

Account Entries is the final destination of all the transaction in the system. It is the single source of truth that should not be altered (only appended the reversed enteries).

In Odoo also, they allow to delete it. But for company with good accounting practice, it simply not acceptable.
This also allows user to set back to draft, which is also something should not be done. If invoice is cancelled, new document should be issued, not amended.

I understand, technically, deleting entries make it much easier to code. So, I just leave my opinion here :sunny:

1 Like

Infact ERPNext did have reverse entries, but deleting is much more efficient. Btw, this is the first time someone has pointed this out :slight_smile:

But I like the spirit of the discussion, I think it might be a good idea to bring Payment into priority. its been on the list for a long while, but few people seem to ask for it.

That is also one of the more general problems. With a small core team, there are only a limited number of things we can do and prioritizing for a vocal minority may not be optimal. But its really cool as of late, with the community pitching in a lot more.

Hi @rmehta,

Form the number of people (I saw in some pics), I already very impressed. So much you have done with such a small team. :wink:

When I say I am finding the “right” solution, the main focus is on reliable accounting entries. My personal opinion is it will be more crucial when companies adopt ERPNext is getting bigger.

You know, I start to related your system with Mac (simple but just works). I know you focus on SME for now, but personally I like to cheer it to beat with SAP one day :smiley:

Sorry if I give you pressure, hehehe…

Kitti U.


I will second that one. For internal and external audit, nothing should be removed. It is very important to leave the traces of the invoices in the ledgers (bot the original and the reverse.) I understand we keep track of all invoices (the cancelled one, the amended one, etc.) but all these invoices are then not reflected in the ledger anymore and that is a serious accounting / audit problem.

I am not sure if it makes thing a lot harder from a development perspectives, but it is vital to keep the ledger intact.

The accountant controls what direction we take in our operational systems. If he’s not happy with the output, it does not get considered. :grinning:

This is exactly my point. It has always amused me how accountants have such power inside companies (because yours is not the only case). When something has to change all other type of workers tend to adapt, but accountants often refuse and halt plans to actualize systems. I really wonder why this is the case and how they can exercise so much power inside a company unlike other workers.

:slight_smile: Thats a dream for all ERPs! But I don’t think ERPNext will ever beat SAP (or for that matter Odoo). My thesis is that small organizations will be able to do a lot more with a lot fewer people (case study: us!). Like George Hotz, who built a self-driving car all by himself (Bloomberg - Are you a robot?).

When these organizations become mature enough, mega-corps will occupy a lot lesser / dominating space in society (like the military today compared to 100 years ago). The really smart small orgs, will probably use ERPNext and we will only prosper, if small ultimately wins, which it will. (Maybe I should write a blog post on this)


Closing this thread for now! Lets start another thread if there are more comments.