That is the confusion then,

I have always associated a General Journal as the detail and audit trail
behind General Ledger number.  The GLJournl entity is not that.  The
AcctgTrans/AcctgTransEntry entities are, hence my assuming that they were
the general journal we were talking about.

Skip

-----Original Message-----
From: David E Jones [mailto:[EMAIL PROTECTED]
Sent: Saturday, November 24, 2007 4:20 AM
To: dev@ofbiz.apache.org
Subject: Re: [OFBiz] Users - Accounting Extension (GL, etc) Now In Beta



It sounds here like you are confusing a transaction (AcctgTrans) with
a journal (GlJournal). When I say journal I really do mean journal,
aka GlJournal as I made explicit in my previous message.

-David


On Nov 23, 2007, at 8:15 PM, [EMAIL PROTECTED] wrote:

> David
>
> Based on experience as well as "Accounting and Budgeting" page 271,
> every GL
> account is associated with one (the one being the beginning balance
> entry)
> or more AcctgTrans/AcctgTransEntry.  If you cannot reproduce how you
> got to
> some figure in the GLAccount, what's the point?
>
> Each AcctgTransEntry has a field for glAccountId which is thankfully
> specified as "id-ne".
>
> I agree that it is only required to make sure that each AcctgTrans and
> associated AcctgTransEntrys zero's out.
>
> I do not agree that AcctgTrans are optional unless you do not desire
> to
> maintain a General Ledger at all.  The whole point of a journal is to
> provide an audit trail and without it, the contents of GLAccount are
> worthless, actually, worse that worthless.  Providing a field to
> specify the
> originating document is optional I agree, but it gives one more
> point of
> reference for the audit trail.
>
> Ofbiz does have a GLJournal entity, but I don't see the point of it
> noone
> uses it.  The AcctgTrans/AcctgTransEntry is the Journal and audit
> trail
> unless some similiar pair of entities is invented to replace them.
>
> I also agree that journals are not meant to be balanced. There is
> just too
> much data there to manipulate regularly.  However, so long as each
> AcctgTrans and associated AcctgTransEntrys balance and committed as
> one
> atomic operation, it is in fact balanced.
>
> I do not agree that "a transaction is not associated with a GL
> account and
> does not  represent a debit or credit" unless you are talking about
> transactions not associated with the general ledger and in particular
> AcctgTrans/AcctgTransEntry for Ofbiz.  Every tupple in
> AcctgTransEntry needs
> a glaccountId and debitCreditFlag,  and if the sum of debits and
> credits in
> the AcctgTransEntry that are associated with a single AcctgTrans
> balance,
> then the GL will balance when the posting is made.  I have made my
> production postgres server require glaccountId and debitCreditFlag
> or the
> commit is rejected.  If I could enforce this in Ofbiz, I would.
>
> I agree that document reference is already well represented in Ofbiz
> AcctgTrans/AcctgTransEntry.  I will go further and say that a well
> structured and auditable general ledger is fully represented in
> existing
> Ofbiz entities except for a manual entry "document" entity for manual
> postings (except for the possibility of error journal you mentioned
> the
> other day which I think is a splendid idea).
>
> It is only required to make sure to implement the code in such a way
> all GL
> transactions (those creating entries in AcctgTrans/AcctgTransEntry)
> are
> atomic and debits balance with credits within themselves to end up
> with a
> world class system accounting (leaving aside some of the really
> nifty things
> you can do for large, multi-departmental organizations).
>
> Given your superior experience here (mine is many years old), I am
> betting
> we are disagreeing over semantic issues.
>
> Skip
>
> -----Original Message-----
> From: David E Jones [mailto:[EMAIL PROTECTED]
> Sent: Friday, November 23, 2007 6:20 PM
> To: dev@ofbiz.apache.org
> Subject: Re: [OFBiz] Users - Accounting Extension (GL, etc) Now In
> Beta
>
>
>
> Some notes on journals (GlJournal), transactions (AcctgTrans),
> transaction entries (AcctgTransEntry), etc:
>
> 1. they are optional, transactions do not have to be associated with a
> journal
> 2. a transaction is not associated with a GL account and does not
> represent a debit or credit, each entry in a transaction does
> 3. journals are not meant to be balanced, individual transactions are
> (checking to see whether or not an entire journal is balanced is
> simply a matter of seeing if each transaction is balanced
> 4. origin "documents" (detail records) are associated with the
> transaction entry, and there are structures for this in OFBiz
>
> I think this is mostly a difference in terminology, most of the rest
> of what you wrote sounds correct to me based on my understanding based
> on my research and collaboration with others on accounting systems.
>
> -David
>
>
> On Nov 23, 2007, at 1:09 PM, [EMAIL PROTECTED] wrote:
>
>> Jacopo
>>
>> Traditionally, a general journal is the middle step or "glue" in a GL
>> system.  Every number in a General Ledger account is the sum of it's
>> general
>> journal entries.  In computer terms, the general ledger typically
>> also
>> contains a reference to the creating document.
>>
>> There can never be a single journal entry except for maintenance in
>> correcting errors (rounding errors and the like). A journal entry
>> consists
>> of two or more transactions, a debit and a credit, the sum of which
>> is zero
>> when subtracting the debits from the credits for that transaction.
>> There
>> should also be a reference document that is the basis for the
>> transaction,
>> e.g. an invoice number, shipping number,  payment number etc.  In
>> other
>> words, all activity in the system that involves something of value
>> whether
>> or not it involves an outside party should have at least a pair of
>> journal
>> entries and this includes non-cash things like moving inventory
>> between
>> stores, depreciating fixed assets, good-will rightoffs, etc.  I say
>> "at
>> least" because several transactions have many journal entries.  An
>> invoice
>> for example involves at least a debit to cash or receivables, a
>> credit to a
>> sales account and maybe a credit to a tax and or shipping account, a
>> credit
>> to inventory, and a debit to cost of goods sold, etc.
>>
>> This is all provided for in AcctTrans and AcctingTransEntry
>> (although in my
>> view having a product, shipping, invoice, payment, etc ids would be
>> better
>> having a single "supportingDocumentId" used in conjuction with a
>> "documentTypeId" as this would allow for unforseen transaction
>> types).  I do
>> however understand the value of having individual document Ids so
>> getRelated() can be used.  Its just that it looks so messy.
>>
>> Journal entries are always made in conjuction with and at the same
>> time as
>> the original document is produced, and should be in my view part of
>> the
>> database begin/commit.  This ensures that if the underlying document
>> is
>> written, the required journal entries are written or none are.  It
>> therefore
>> should be difficult to impossible for the journal to get out of wack
>> with
>> the business and most large businesses I have been involved with
>> over the
>> years is VERY concerned with the accounting of their money, not to
>> mention
>> Sarbanes requirements in the U.S.
>>
>> You should be able to select a journal transaction, and see the
>> entries that
>> comprise it and view the original document(s) that created it using
>> related
>> entities.  If we insist that every journal entry has a supporting
>> document
>> (which I think we should), we will have to create another entity to
>> hold
>> manual postings which happen frequently, and no doubt others as well.
>>
>> In some businesses, the general ledger is auto-posted from the
>> journal in
>> real time.  In others, the transaction is marked as isposted="F" and
>> the
>> posting to the GL is handled by an accounting type human who reviews
>> all the
>> unposted journal transactions before posting them to the GL (batch
>> mode
>> posting).  This is a prime candidate for a SECA on the AcctTrans
>> commit if
>> we just add a single entry "autopost"="T/F" to it (or maybe there is
>> somewhere else we can get this flag from for a SECA?).
>>
>> If correctly correlated using a transaction class field, the journal
>> can be
>> used to produce detailed cash flow statements and other similar
>> sub-documents.  The GL itself is traditionally used to produce
>> balance and
>> income statements.
>>
>> How you end up implementing it is of course up to you, but all the
>> pieces
>> that I have described are provided for in the data model with the
>> possible
>> exception of supportingDocumentId.
>>
>> Skip
>>
>>
>>
>> -----Original Message-----
>> From: Jacopo Cappellato [mailto:[EMAIL PROTECTED]
>> Sent: Friday, November 23, 2007 2:40 AM
>> To: dev@ofbiz.apache.org
>> Subject: Re: [OFBiz] Users - Accounting Extension (GL, etc) Now In
>> Beta
>>
>>
>> David, all,
>>
>> I'm really interested in knowing more about the design for journal
>> management.
>> I did some research (existing data model and services) and it seems
>> to
>> me that:
>>
>> * a journal (GlJournal) is used to group together a set of accounting
>> transactions (AcctgTrans)
>> * a journal can be used to verify the correctness of all the
>> transactions associated to it (there is a service to check the trial
>> balance of a journal)
>> * a journal can be used to quickly post all the transactions
>> associated
>> to it in one batch
>>
>> My questions are:
>>
>> 1) who should create a journal and when? automatically by the
>> system? by
>> users? or manager?
>> 2) can a transaction be created without specifying a journal?
>> 3) can a journal contain both posted and unposted transactions?
>> 4) should we create a GlJournal.journalTypeId field to define an
>> error
>> journal for transactions that failed auto-posting (as suggested by
>> David) and possibly other types (e.g. to group automatically posted
>> transactions from manually posted ones)
>>
>> I've also created a new Wiki page to help to get this ball rolling:
>>
>> http://docs.ofbiz.org/x/sgw
>>
>> I'll do my best to add relevant information there as well.
>>
>> Jacopo
>>
>> David E Jones wrote:
>>>
>>> On Nov 23, 2007, at 12:02 AM, [EMAIL PROTECTED] wrote:
>>>
>>>> I have some strong feelings about how Si has done this though.  My
>>>> primary
>>>> concern is that some organizations prefer to post to the G/L in
>>>> real time
>>>> and others prefer to do batch review/post.  I hope we can do
>>>> something
>>>> like
>>>> have a property or PartyAcctPreference that flips the switch.
>>>
>>> The original design I did for the accounting stuff includes journal
>>> management for un-posted transactions. The implementation was
>>> supposed
>>> to put transactions that failed auto-posting into an error journal
>>> to be
>>> manually reviewed, but if there was a switch like this somewhere we
>>> could certainly use the journaling feature for what you are
>>> describing,
>>> and it could even be configured to queue up certain types of
>>> transactions but not others (like all purchase invoices for
>>> example, but
>>> not sales invoices or inventory changes due to the extreme volume;
>>> assuming a company where that is the case for sake of example).
>>>
>>>> I would only like to be involved if we can agree to spend the time
>>>> to do
>>>> user-friendly, intuitive screens.
>>>
>>> Feedback on screen designs, probably starting with putting down end-
>>> user
>>> processes to support (use cases if you will) would be great.
>>>
>>> -David
>>>
>>
>>
>
>


Reply via email to