Powerful Journal Entry Doctype, (and make_gl_entry Achilles heel)

Frappe as a framework is extremely powerful. I experienced this amazing power when I used Excel files to Import 10 years worth of Accounting Data of a Company whose financial statements require 15 digits already. (I had to go inside the code and comment out the set_against_account python lines and just place a pass statement though to make this possible, because there were some journal entries that had hundreds of account code. set_against_account is nice if your journal entry has two or three accounts only. But it is a pain when one journal entry has 2000 account codes.)

Then, I ran the trial balance, general ledger, balance sheet. The flexibility of the report, Expand all, Collapse All, Export to Excel (based on the expansion on the report). Simply Amazing. The General Ledger report group by voucher shows the sequence of Journal entries. Click the Journal Entry link, and you go to the Journal Entry. Extremely powerful stuff.

1 Like

I agree with this journalize approach. I even support to make it permanent (not checkboxed options). Because this is the old way of doing accounting.
Departments doing paperwork as documents.
Send it to accounting.
Accounting post it to system.
End of period they prepare financial closing.
Adjust things if necessary with JE (or reverse of it).
And the final is to generate the financial statements.
Then the auditor comes and check if posts is in accord with records, transactions, and documents.

The system (ERP) helps in doing this process easier, faster, single entry, human-error-free, and save the trees…

1 Like

This, in other post, what I mentioned as document vs transaction level.

The flow for money related items should be Document -> Transaction -> Statements.

The SO, PO, Invoices, Stock Movement, Productiion Order, etc. are all documents (even a JE voucher). These what user should be dealing with when using ERP. Documents are proof of transactions.

Then the money-related fields in the documents (depicting the transactions) should create JE as middleware to accounting. Then these JEs build up the statements (via GL, etc).

EDIT: I move the long posting to this post: [discussion] Immutable Ledger

My point is to separate documents with transaction data.
There are documents that hold financial data, like Invoices, Landed Cost Voucher, etc.; and there are that don’t.

Those with financial data/field will have effect on accounting and should be treated accordingly, i.e have JE created for them (which in the old days, this JE is created by accounting staffs, now replaced by system)

I agree with you that JE should be the entry gateway between financial-related documents and the GL.

1 Like