David and Jacopo,

You both never fail to amaze me with the time and care taken to craft your
answers to OfBizian's questions - and even their inane rants (complaints? -
hehe). I can't thank you enough and wanted to wish you guys and the rest of
the list a very joyous Holiday Season and a Happy New Year!

All the best,
-Yousef Shemisa

-----Original Message-----
From: David E Jones [mailto:[EMAIL PROTECTED] 
Sent: Monday, December 17, 2007 13:07
To: dev@ofbiz.apache.org
Subject: Re: Difference between GL account type and class


A complaint is a complaint, and doesn't usually get you very far in a
collaborative environment. Complaining in any form basically says that
someone else created a problem and that person should solve it... so whoever
that is: get on it already! You're either helping to create the software or
you're not. If you are, then any complaint you have is technically a
complaint against a group that includes yourself, and hence doesn't make
much sense... That may bring you around to wanting to make changes to this,
which brings you to contribution guidelines and good ways of working with
other people and an existing code base (whether it be open source or
not...). The main one I'm thinking of is the Rule #2: read before you write,
ie understand something before you desire to change it (which I guess is
what you're getting at with your first question). There are other
interesting and helpful points here:

http://docs.ofbiz.org/display/OFBADMIN/OFBiz+Contributors+Best+Practices

I think that's what Jacopo is referring to.

As for this question, I don't remember it ever being asked (perhaps it was
another related question though, phrased differently or something?). Of
course, there are hundreds of questions every week going through the mailing
lists and NO paid support staff (just people in their "spare" time helping
out), so such questions are sometimes either lost or not considered as a
high a priority as other active issues and questions that could use
attention... and there are ALWAYS more issues and questions than one has
time to work through completely.

==================================

In any case, the difference between a GlAccount class and type is that they
are independent, ie like two dimensions on a graph. Some combinations of
them don't make sense and they are certainly meant to be used together.

The best way to understand them, as with many such entities that are
concerned with types of records that require different code behavior, is to
look at the seed data for the entity(ies). In this case that file is
AccountingTypeData.xml. If you have looked at that and it doesn't make sense
then maybe the best next step is to write a more detailed question to say
what makes sense and what seems to conflict, and then maybe someone can be
more helpful, instead of just guessing about what you're trying to find.

At a high level you can see the different top-level classes and types, ie
the ones with no parentClassId or parentTypeId. That is more helpful for the
class as the classes are used in the posting routines to determine how an
account should be treated (ie whether it is a debit or credit account,
mainly).

One thing that might make understanding these more difficult is
misunderstanding their intent, and that seems to be the case with your
comment about deciding how to determine an account to post to. The types and
classes are NOT meant for that, there are other entities for that depending
on where the information is coming from. For example when posting an
accounting transaction based on an invoice you would look up the GlAccounts
to use based on the internal organization the invoice is related to, and the
InvoiceItemType for each item, and for some items like those for selling a
product you would also try to use the productId to look up the glAccountId
to use. If you browse around these entities you'll see a bunch of defined
relationships between them for this purpose.

-David


On Dec 17, 2007, at 10:17 AM, Jim Barrows wrote:

> I wasn't complaining about the lack of documentation, just the lack of 
> an answer.
> And I solved that complaint by responding to you, that your assumption 
> was my assumption.  I also don't consider the comment "Very 
> Frustrating" to be a complaint.  It's a statement of fact.
>
> The rest was just an idea to be kicked around.  However, after further 
> looking in to the code that's not going to be very easy to do.  We use 
> both.  I'm at work, so the details are fuzzy, but in some cases we use 
> either class or type to determine which account a transaction should 
> go into if no account is provided.  A couple of other places where we 
> use that extra information to do the same type of thing.
>
> I would change the documentation and comment the code if I could get a 
> confirmation of the assumption.  No documentation is better then bad 
> documentation.
>
> On 12/17/07, Jacopo Cappellato <[EMAIL PROTECTED]> wrote:
>> Jim,
>>
>> we are building the accounting component and you kindly offered to
>> help:
>> if you are unhappy with the documentation, dig into the code and 
>> write it.
>>
>> You know what?
>> After about 5 years working in this project I'm getting bored of 
>> people's complaints...
>>
>> Jacopo
>>
>>
>> Jim Barrows wrote:
>>> That's my assumption.  I asked the exact same question some time 
>>> ago, and got a nothing as a response.
>>>
>>> Very frustrating.
>>>
>>> I think there should only be 5 accountTypes - Revenue, Expense, 
>>> Asset, Liability, Owners Equity, and the account classes just blown 
>>> away.
>>> That way we're in compliance with the book.
>>>
>>> An account is not a class of accounts receivable, it's a child of 
>>> accounts receivable.  It's also an Asset,
>>>
>>> We seem to use the accountType to figure out which GL  account to 
>>> put a transaction into.  I think this is silly.. if you can get the 
>>> type, you can get the account... and besides you can have multiple 
>>> accountReceivables, depending on how many customers you give credit 
>>> to.  So which one do you put it into?  The service I was just 
>>> looking at doesn't go any further.
>>>
>>> It's all very confusing, with no documentation that I can find on 
>>> it.
>>>
>>> On Dec 17, 2007 3:55 AM, Jacopo Cappellato <[EMAIL PROTECTED]> wrote:
>>>> What is the difference between the the type (glAccountTypeId) and 
>>>> the class (glAccountClassId) of a GL account (GlAccount)?
>>>>
>>>> In the Data Model Resource Book there is no mention of classes but 
>>>> my guess is that the information that we store in the class is the 
>>>> same that in the Book is stored in the type field... am I wrong?
>>>>
>>>> Thanks,
>>>>
>>>> Jacopo
>>>>
>>>
>>>
>>>
>>
>>
>
>
> --
> James A Barrows



begin 666 smime.p7s
M,( &"2J&2(;W#0$'`J" ,( "`0$Q"S )[EMAIL PROTECTED]@,"&@4`,( &"2J&2(;W#0$'
M`0``H((/:3""!#(P@@,:H ,"`0("`0$P#08)*H9(AO<-`0$%!0`P>S$+, D&
M`U4$!A,"1T(Q&S [EMAIL PROTECTED] @,$D=R96%T97(@36%N8VAE<W1E<C$0, X&`U4$
M!PP'4V%L9F]R9#$:,!@&`U4$"@P10V]M;V1O($-!($QI;6ET960Q(3 [EMAIL PROTECTED]
M! ,,&$%!02!#97)T:69I8V%T92!397)V:6-E<S >%PTP-# Q,#$P,# P,#!:
M%PTR.#$R,S$R,S4Y-3E:,'LQ"S )[EMAIL PROTECTED] 83`D=",1LP&08#500(#!)'<F5A
M=&5R($UA;F-H97-T97(Q$# [EMAIL PROTECTED] <,!U-A;&9O<F0Q&C [EMAIL PROTECTED] 
H,$4-O
M;6]D;R!#02!,:6UI=&5D,2$P'[EMAIL PROTECTED]&EF:6-A=&[EMAIL PROTECTED]
M=FEC97,P@@$B, T&"2J&2(;W#0$!`04``X(!#P`P@@$*`H(!`0"^0)WT;N'J
M=H<<345$CKY&R(,&G<[EMAIL PROTECTED]"^O.K75"*%C$+F@;0Q7 BS4DM5&/,MFYH
[EMAIL PROTECTED],),"\<D[J\16N]%2:[EMAIL 
PROTECTED]>K(S8.+:B57S(ECSWMS/[X.&HHR43Y]H
M\IB01H0GQW:_X\PU+(M>[EMAIL PROTECTED](L*B1^6&?=B!0J)''9K7K>&(#5O"*&A/J
M,:,>H)G]./;V)S)8;P?U:[C[%"NOMZK,UF-?<XS:[EMAIL PROTECTED]:SIGO1X
M.HW/#]E"XI@,JR^?#@'>[Y^92?$MWZQT31N8M4?%Y2G1^9 8QV*<OH/')GL^
MBB7'P-V=YC5H$""=C]C>TL.$G U>Z"_)`@,!``&C@< P@;TP'08#51T.!!8$
M%* 1"B,^EO$'[.*O*>^"I7_0,*2T, X&`U4=#P$!_P0$`P(!!C /[EMAIL PROTECTED]'1,!
M`?\$!3 #`0'_,'L&`U4='P1T,'(P.* VH#2&,FAT=' Z+R]C<FPN8V]M;V1O
M8V$N8V]M+T%!04-E<G1I9FEC871E4V5R=FEC97,N8W)L,#:@-* RAC!H='1P
M.B\O8W)L+F-O;6]D;RYN970O04%!0V5R=&EF:6-A=&5397)V:6-E<RYC<FPP
M#08)*H9(AO<-`0$%!0`#@@$!``A6_ +PF^C_I/K6>\9$@,Y/Q,7V`%C,IK:\
M%$EH!';HYNY=[ (/8-:-4!A/)DX!X^:PI>Z_O'140;_]_!*XQT]:]([EMAIL PROTECTED]@
MMP5*\_;QPK_$N72&MBU]:\S2\T;=+\;@:L/#- ,L?9;=6L(.IPJ9P06+JPPO
M\UPZSVPW50F'WE- ;%CO_+:K96X$]AO</.!:%<:>V?%92# A90-L[.DA<^R;
M`Z'@[EMAIL PROTECTED]/^KH"SJ<LJ1 3+-3E"":K([EMAIL 
PROTECTED])!>=-2BFE.]\JEHX*)NPM=L
ML:,/GK_K:[EMAIL PROTECTED]:M[)CXO5B+(+4:@!!4/[EMAIL PROTECTED]
MZ3:6F&XP@@3=,((#Q: [EMAIL PROTECTED]"`A!QDOOF&5^L31*%='$THABG, T&"2J&2(;W
M#0$!!04`,'LQ"S )[EMAIL PROTECTED] 83`D=",1LP&08#500(#!)'<F5A=&5R($UA;F-H
M97-T97(Q$# [EMAIL PROTECTED] <,!U-A;&9O<F0Q&C [EMAIL PROTECTED] 
H,$4-O;6]D;R!#02!,
M:6UI=&5D,2$P'[EMAIL PROTECTED]&EF:6-A=&[EMAIL PROTECTED],P'A<-
M,#0P,3 Q,# P,# P6A<-,[EMAIL PROTECTED],C,Q,C,U.34Y6C"!KC$+, D&`U4$!A,"55,Q
M"S )[EMAIL PROTECTED] @3`E54,1<P%08#500'$PY386QT($QA:[EMAIL 
PROTECTED]>3$>,!P&`U4$
M"A,55&AE(%5315)44E535"!.971W;W)K,2$P'P8#500+$QAH='1P.B\O=W=W
M+G5S97)T<G5S="YC;VTQ-C [EMAIL PROTECTED] ,3+5543BU54T521FER<W0M0VQI96YT
M($%U=&AE;G1I8V%T:6]N(&%N9"!%;6%I;#""`2(P#08)*H9(AO<-`0$!!0`#
M@@$/`#""`0H"@@$!`+(YA:3R?:M!.V)&-Z[-P6!UO#EE^4H:1Z*YS$C,:IC5
M3349N:1"Y<Y)XHHO'GS2,0?'3K2#9)TN*=6B9,2%O851-7FD3FB0>QQZI)*H
M%_*8%?*3S,FD,I6[#$\PO9B@"XOE;ANB1OIXO*)OJUE>I2_/RMIMJB_KK*&S
M:JJW+F<UBWGA'FF(XN9&S:"EZKX+SG8Z>@Z;ZOS:)UL]<Q\BYDAAQDSS:;&H
[EMAIL PROTECTED]"BHZD#J77B4/\%EJO'7'7$5G:NH<-K_KSX<+PI,5GC-;65#K>
M"J2Z`W>S9<C]'M-T8JH8RFB3'J&%?O5'9<OX35<H=-(T_S"V[O9B,!2,+.L"
M`P$``:."`2<P@@$C,!\&`U4=(P08,!: %* 1"B,^EO$'[.*O*>^"I7_0,*2T
M,!T&[EMAIL PROTECTED])@F=]Q)TF< !+M%!([EMAIL PROTECTED] [EMAIL 
PROTECTED]'0\!`?\$! ,"
M`08P#P8#51T3`0'_! 4P`P$!_S [EMAIL PROTECTED]'24$%C 4!@@[EMAIL 
PROTECTED]<[EMAIL PROTECTED](*P8!
M!04'[EMAIL PROTECTED] HP"# &[EMAIL PROTECTED]'2 `,'L&`U4='P1T,'(P.* VH#2&,FAT
M=' Z+R]C<FPN8V]M;V1O8V$N8V]M+T%!04-E<G1I9FEC871E4V5R=FEC97,N
M8W)L,#:@-* RAC!H='1P.B\O8W)L+F-O;6]D;RYN970O04%!0V5R=&EF:6-A
M=&5397)V:6-E<RYC<FPP$08)8(9(`8;[EMAIL PROTECTED] [EMAIL PROTECTED]&, 
T&"2J&2(;W#0$!
M!04``X(!`0"=E<L\N'ZE"<0>OPO"QW:..3R4QA"J3PS)X*N$78E4X&4[\VT<
M?#<L)51?EB'\-X21G17<%$^!SU0=:VQ%8,<M^9=13/EFRCR@@HRFR/#BZ=1*
M^>P_5LG==HS#@@%/; #S'AIA= 1'`ZG&0%>1O&4BQ2=G3U?;9%K9C1^ZAB_T
M!JZ<:>WI],[EMAIL PROTECTED]:("^73%&[EMAIL PROTECTED](.,),6C'GL2+G>A^$;PR:!"6
M$9A$V"I18$V(ZW0ZWT,&,[EMAIL PROTECTED]:1#`_3M[S,[EMAIL PROTECTED]>*)
MN)-=MRDF0>JSFZZ#_'=URNC*M?[B94IC/D3$T,->AW.IF!RO?Q5_,((&3C""
M!3:@`P(!`@(0>*LDUO"(\J/*]+9"38<"4S [EMAIL PROTECTED]&]PT!`04%`#"!KC$+
M, D&`U4$!A,"55,Q"S )[EMAIL PROTECTED] @3`E54,1<P%08#500'$PY386QT($QA:V4@
M0VET>3$>,!P&`U4$"A,55&AE(%5315)44E535"!.971W;W)K,2$P'P8#500+
M$QAH='1P.B\O=W=W+G5S97)T<G5S="YC;VTQ-C [EMAIL PROTECTED] ,3+5543BU54T52
M1FER<W0M0VQI96YT($%U=&AE;G1I8V%T:6]N(&%N9"!%;6%I;# >%PTP-S$P
M,3 P,# P,#!:%PTP.#$P,#DR,S4Y-3E:,('E,34P,P8#500+$RQ#;VUO9&\@
M5')U<[EMAIL PROTECTED]:R M(%!%4E-/[EMAIL PROTECTED](%9!3$E$051%1#%&,$0&`U4$
M"Q,]5&5R;7,@86YD($-O;F1I=&EO;G,@;[EMAIL PROTECTED]'1P.B\O=W=W+F-O
M;6]D;RYN970O<F5P;W-I=&]R>3$?,!T&`U4$"Q,6*&,I,C P,R!#;VUO9&\@
M3&EM:71E9#$7,!4&`U4$`Q,.66]U<V5F(%-H96UI<V$Q*C [EMAIL PROTECTED]&]PT!
M"0$6&WES:&5M:7-A0&%C8W5R871E86QW87ES+F-O;3""`2(P#08)*H9(AO<-
M`0$!!0`#@@$/`#""`0H"@@$!`/=CHQO$L"3W0B-4-8.CKU&X>P1V]#I\'YC+
MGOHT6\^(S%&B-R H(1 K9XV'I9MB392DSFXO^OW\A2!P/R,J!6&8C/!"!%$&
M/2MT1\830A8?JXIDM#)Z?22:O)]6"L8'%'-6?A8A^3*F:SMF%.8E.TGRH!9K
M(_P'E6RW+K$_/[EMAIL PROTECTED]>Z^0T_APN#S])5;%`49LPUKK[Z:*
M8L6.4HD/[<###2Q<Y_1%V0QFK S>[EMAIL PROTECTED]>?LIFBP8>AK`IV?>R 84U,S9PO:
M!;YT/M>*UVC=?:9E4^T'1>@[EMAIL PROTECTED]"0#Q=^VBEASGAG"?CH$!S+SB'U8T]W
M>S4\Z2$"`P$``:."`BTP@@(I,!\&`U4=(P08,!: %(F"9WW$G29P`$NT4$A\
MWCVN!&Y],!T&[EMAIL PROTECTED]/?DY]5DV;9BY3,# W!C [EMAIL PROTECTED]'0\!
M`?\$! ,"!: P# 8#51T3`0'_! (P`# @[EMAIL PROTECTED]'24$&3 7!@@[EMAIL 
PROTECTED]<#! 8+
M*P8!! &R,0$#!0(P$08)8(9(`8;[EMAIL PROTECTED] [EMAIL PROTECTED]@,$8&`U4=( 
0_,#TP.P8,
M*P8!! &R,0$"`0$!,"LP*08(*P8!!04'[EMAIL PROTECTED]'6AT='!S.B\O<V5C=7)E+F-O
M;6]D;RYN970O0U!3,(&[EMAIL PROTECTED]'[EMAIL PROTECTED]@9HP3*!*H$B&1FAT=' 
Z+R]C<FPN
M8V]M;V1O8V$N8V]M+U543BU54T521FER<W0M0VQI96YT075T:&5N=&EC871I
M;VYA;F1%;6%I;"YC<FPP2J!(H$:&1&AT=' Z+R]C<FPN8V]M;V1O+FYE="]5
M5$XM55-%4D9I<G-T+4-L:65N=$%U=&AE;G1I8V%T:6]N86YD16UA:6PN8W)L
M,'P&""L&`04%!P$!!' P;C V!@@[EMAIL PROTECTED]<P`H8J:'1T<#HO+V-R="YC;VUO
M9&]C82YC;VTO551.04%!0VQI96YT0T$N8W)T,#0&""L&`04%!S "ABAH='1P
M.B\O8W)T+F-O;6]D;RYN970O551.04%!0VQI96YT0T$N8W)T,"8&`U4=$00?
M,!V!&WES:&5M:7-A0&%C8W5R871E86QW87ES+F-O;3 [EMAIL PROTECTED]&]PT!`04%
M``."`0$`3? 1T&PG+%5IK60<[EMAIL PROTECTED];NRA<@6;=H0ODC]M:^_M,_A5
M5!!>[EMAIL PROTECTED]@>?H.F]11I7F0GZPK:%^3D%2[O,[EMAIL PROTECTED]&,-G&L'TC\,
M$2ZCURBP"V N=_C /6#3M<X2*TL+9:-FQH5E*,+&]O)5-S!B$Y/B+T,KS9+#
MT^U)"NW)AT6)DM.FEIT^DAL%F7[,O/QJSOL[-C/003R^2"5)HW:E[=L2["@8
M6+TH&TR$4.+X>L)/?6_74<*#%QSO\J?QC4DMXJ4\6D]&&*+U$-U99Y+OP3#1
M#Q([EMAIL PROTECTED](FPZP.< [EMAIL PROTECTED]&Z4"D5I;T6=13L]T(DQJ6^S&"!&4P@@1A
[EMAIL PROTECTED],('#,(&N,0LP"08#500&$P)54S$+, D&`U4$"!,"550Q%S [EMAIL 
PROTECTED] <3
M#E-A;'[EMAIL PROTECTED]&%K92!#:71Y,1XP' 8#500*$Q54:&[EMAIL PROTECTED]($YE='=O
M<FLQ(3 [EMAIL PROTECTED] L3&&AT=' Z+R]W=W<N=7-E<G1R=7-T+F-O;3$V,#0&`U4$
M`Q,M551.+55315)&:7)S="U#;&EE;[EMAIL PROTECTED]:&5N=&EC871I;[EMAIL 
PROTECTED]($5M
M86EL`A!XJR36\(CRH\KTMD)-AP)3, D&!2L.`P(:!0"@@@)V,!@&"2J&2(;W
M#0$)[EMAIL PROTECTED]&]PT!!P$P' 8)*H9(AO<-`0D%,0\7#3 W,3(Q-S(R-30R
M,5HP(P8)*H9(AO<-`0D$,18$%,BTB;J-MJNVD%.(-,N95>YS^?0M,&<&"2J&
M2(;W#0$)#S%:,[EMAIL PROTECTED]"@8(*H9(AO<-`P<[EMAIL PROTECTED](*H9(AO<-`P("`@" 
, T&""J&
M2(;W#0,"[EMAIL PROTECTED] , <&!2L.`P(', T&""J&2(;W#0,"[EMAIL PROTECTED], 
<&!2L.`P(:, H&
M""J&2(;W#0(%,('[EMAIL PROTECTED]@$$`8(W$ 0Q@<8P@<,P@:XQ"S )[EMAIL PROTECTED] 
83`E53
M,0LP"08#500($P)55#$7,!4&`U4$!Q,.4V%L="!,86ME($-I='DQ'C <[EMAIL PROTECTED]
M! H3%51H92!54T525%)[EMAIL PROTECTED]:S$A,!\&`U4$"Q,8:'1T<#HO+W=W
M=RYU<V5R=')U<W0N8V]M,38P- 8#500#$RU55$XM55-%4D9I<G-T+4-L:65N
M="!!=71H96YT:6-A=&EO;B!A;[EMAIL PROTECTED]:6P"$'BK)-;PB/*CRO2V0DV'`E,P
[EMAIL PROTECTED]&"RJ&2(;W#0$)$ (+,8'&H('#,(&N,0LP"08#500&$P)54S$+, D&`U4$
M"!,"550Q%S [EMAIL PROTECTED] <3#E-A;'[EMAIL PROTECTED]&%K92!#:71Y,1XP' 
8#500*$Q54:&4@
M55-%4E1255-4($YE='=O<FLQ(3 [EMAIL PROTECTED] L3&&AT=' Z+R]W=W<N=7-E<G1R
M=7-T+F-O;3$V,#0&`U4$`Q,M551.+55315)&:7)S="U#;&EE;[EMAIL PROTECTED]:&5N
M=&EC871I;[EMAIL PROTECTED]($5M86EL`A!XJR36\(CRH\KTMD)-AP)3, T&"2J&2(;W
M#0$!`04`!((!`.\..6>?`, 49Q5X=VBH60O%3VGHIZ>05B'+6L_/G>)(Y2L%
MZXL8CAT3]Y8J5(%*F&S=_4_)NP7 @^1,R0^7*HJ9IHH\F(@__>R$$7DO?0CL
MXQ>#?B(!)KL"VI46'P%V'+O'@(E1,W+3,S[ZTT2DVS,YEPOQE#<#89ES'>@.
M4?><;1<<5WKO<:+HK_#!HEV.-^"9.WP*OB#81BQI/_&=9^N#;9\4[22Y?XA+
MZM88BFU/,%#1ZDR?<.JJ/]Z>WR%7^4_>NK<0$B]D8ND\H^;S9=Q?$BX^%LC\
MWNVI3M `HQB<L0\%Y= =6(;5/A.E#B>J_*+$00044_JQ8\6R-;G"ZL,`````
"````
`
end

Reply via email to