IRC logs of #tryton for Friday, 2008-09-26 #tryton log beginning Fri Sep 26 00:00:01 CEST 2008
2008-09-26 00:27 <CIA-52> tryton: Bertrand Chenal <> default * 1027:86e994fe993a trytond/doc/models.rst: Added doc about models
2008-09-26 05:19 -!- yangoon( has joined #tryton
2008-09-26 07:51 -!- Timitos(n=Timitos@ has joined #tryton
2008-09-26 08:26 -!- Gedd(n=ged@ has joined #tryton
2008-09-26 09:11 -!- gadaga( has joined #tryton
2008-09-26 09:11 <gadaga> hi
2008-09-26 09:42 -!- cedk(n=ced@gentoo/developer/cedk) has joined #tryton
2008-09-26 09:55 <udono> hi gadaga
2008-09-26 09:56 <gadaga> udono: hi
2008-09-26 09:59 -!- rli( has joined #tryton
2008-09-26 10:21 <CIA-52> tryton: C?dric Krier <> default * 40:5ff3aba54fa3 gentoo-overlay/app-office/tryton/ (Manifest tryton-9999.ebuild): Use GPLv3
2008-09-26 10:21 <CIA-52> tryton: C?dric Krier <> default * 41:44e86f21c4f7 gentoo-overlay/app-office/trytond/ (Manifest trytond-9999.ebuild): Use GPLv3
2008-09-26 10:21 <CIA-52> tryton: C?dric Krier <> default * 42:7d4a6da31497 gentoo-overlay/app-tryton/account/ (Manifest account-9999.ebuild): Use GPLv3
2008-09-26 10:21 <CIA-52> tryton: C?dric Krier <> default * 43:e90b05b3d189 gentoo-overlay/app-tryton/account_invoice/ (Manifest account_invoice-9999.ebuild): Use GPLv3
2008-09-26 10:21 <CIA-52> tryton: C?dric Krier <> default * 44:278861f6a072 gentoo-overlay/app-tryton/company/ (Manifest company-9999.ebuild): Use GPLv3
2008-09-26 10:21 <CIA-52> tryton: C?dric Krier <> default * 45:27c181a5adaa gentoo-overlay/app-tryton/currency/ (Manifest currency-9999.ebuild): Use GPLv3
2008-09-26 10:21 <CIA-52> tryton: C?dric Krier <> default * 46:6f7c88afff33 gentoo-overlay/app-tryton/product/ (Manifest product-9999.ebuild): Use GPLv3
2008-09-26 10:21 <CIA-52> tryton: C?dric Krier <> default * 47:8b181bb25e01 gentoo-overlay/app-tryton/relationship/ (Manifest relationship-9999.ebuild): Use GPLv3
2008-09-26 10:22 -!- tekknokrat( has joined #tryton
2008-09-26 10:22 <udono> hello cedk: Do we have propertys type="one2many" ?
2008-09-26 10:26 <cedk> udono: no, but you can write once
2008-09-26 10:29 <udono> cedk: I am not sure if I need propertys... I like to give partys a special role like "internal" to mark them as part of the own enterprise. But I like to do this, without a complete party_role mechanism. So it seems a good ideas to provide roles as propertys.
2008-09-26 10:29 -!- gael_( has joined #tryton
2008-09-26 10:30 <cedk> udono: I don't understand
2008-09-26 10:31 <cedk> udono: what do you call complete party_role mechanism?
2008-09-26 10:35 <cedk> udono: by the way one2many for property has no sence
2008-09-26 10:36 <udono> cedk: ok, why?
2008-09-26 10:36 <cedk> udono: because with one2many, you have a new set of records for each record
2008-09-26 10:36 <cedk> udono: and property is juts the oposite, shared the same record with all records
2008-09-26 10:37 <udono> cedk: ok
2008-09-26 10:37 <cedk> udono: but I still don't understand what you try to do
2008-09-26 10:38 <cedk> udono: perhaps, it is default value ?
2008-09-26 10:38 <udono> cedk: but if I have a set of same records I like to share?
2008-09-26 10:39 <cedk> udono: it is quite difficult to handle this
2008-09-26 10:40 <udono> cedk: I see
2008-09-26 10:40 <cedk> udono: but properties is just a kind of default value
2008-09-26 10:41 <cedk> udono: but it is possible to extend Property to handle one2many or many2many
2008-09-26 10:43 <udono> cedk: I need to think more about propertys...
2008-09-26 10:43 <udono> cedk: In the tiny devel book the say: Use a property when the new feature is not related to the object but to an external concept.
2008-09-26 10:44 -!- ruijuan_( has joined #tryton
2008-09-26 10:45 <udono> cedk: party roles is an external concept I do not like to put in the party module. But in the party module I need compatibility if someone installs the party_roles module...
2008-09-26 10:46 <cedk> udono: don't take what is in tiny devel book as a rule
2008-09-26 10:47 <cedk> udono: for me property is usefull for field that has her value depending ofthe current company
2008-09-26 10:47 <cedk> udono: I don't understand the "external concept"
2008-09-26 10:48 <cedk> udono: what is for you "party roles"?
2008-09-26 10:48 <udono> cedk: the decision internal/external is a very generic decision I need to make in the party module via party_roles. But it needs to function without party_roles. Because the company module takes this role to say: This party is part of the own enterprise.
2008-09-26 10:49 <cedk> udono: don't understand
2008-09-26 10:50 <cedk> udono: the fact that a party is in a company is done by the employee object
2008-09-26 10:52 <udono> cedk: In model party you put everything which is forever and invariant fixed to the party. Like Party is: Person, Organisation, has a name, Birthdate, this things. In party_roles you put all time dependent informations for a party: is customer (from_date, thru_date), is a supplier, ist a salesman, belongs to the own enterprise. This is an endless list where you can say which role the party plays in your opinion.
2008-09-26 10:53 <udono> cedk: in party roles you can say that one party is a supplier and a customer.
2008-09-26 10:54 -!- bechamel( has joined #tryton
2008-09-26 10:56 <udono> cedk: other modules can take the party_roles for information or place automatically party_roles on transaction. I.e. Writing an invoice for party XYZ, open the invoice add the party role "Bill-to-Customer" to the party XYZ.
2008-09-26 10:56 <udono> cedk: upon this comes the layer for relationships
2008-09-26 10:57 <udono> cedk: Relationships are builded like: Party1 -- roleA --> Relationship <-- roleb -- Party2
2008-09-26 10:59 <cedk> udono: so where is the property ?
2008-09-26 11:00 <udono> cedk: in the example with invoices, when you click open invoice, a relationship is created: B2CK -- internal company --> Customer Invoice <-- Bill-to-customer -- Udo Spallek.
2008-09-26 11:00 <udono> cedk: I dont know. I just thought about the explanation in the tiny devel book
2008-09-26 11:01 <cedk> udono: for me there is nothing to do with property
2008-09-26 11:01 <cedk> udono: you must create the record that all
2008-09-26 11:03 <udono> cedk: They say other things in the devel book: Note: one interesting thing is that properties avoid "spaghetti" code. The account module depends on the partner (base) module. But you can install the partner (base) module without the accounting module. If you add a field that points to an account in the partner object, both objects will depend on each other. It's much more difficult to maintain and code (for instance, try to remove a t
2008-09-26 11:03 <udono> cedk:
2008-09-26 11:05 <cedk> udono: that is wrong
2008-09-26 11:05 <udono> cedk: ok
2008-09-26 11:05 <udono> :-)
2008-09-26 11:05 <cedk> udono: there is the inherit mecanism to handle this
2008-09-26 11:06 <cedk> udono: we use property for account definition on party because account depend of the company
2008-09-26 11:06 <cedk> udono: and party can be shared by different company
2008-09-26 11:06 <cedk> udono: so we need to have one account per company
2008-09-26 11:07 <cedk> udono: and property are company aware
2008-09-26 11:09 <udono> cedk: ok, than everything is clear for me. Party, Party_roles and Party_relationships doesnt need company awareness, because its everytime a specific company which is part of a relationship.
2008-09-26 11:09 <cedk> udono: property is a kind of field Function that store the value in an other table that is all
2008-09-26 11:10 <udono> cedk: Thanks.
2008-09-26 11:44 <CIA-52> tryton: C?dric Krier <> default * 1028:2926c96d869d trytond/trytond/ir/property.xml: Add value and res in tree view for
2008-09-26 11:44 <CIA-52> tryton: C?dric Krier <> default * 1029:11b553087cea trytond/trytond/osv/ Handle negative operator for search
2008-09-26 11:44 <CIA-52> tryton: C?dric Krier <> default * 1030:404d5997b367 trytond/: merge
2008-09-26 11:45 <CIA-52> tryton: C?dric Krier <> default * 787:f5b5be633206 tryton/tryton/gui/window/view_form/widget_search/ (8 files): Add operator on search widgets
2008-09-26 12:00 <CIA-52> tryton: Bertrand Chenal <> default * 1031:06d8a42f436a trytond/doc/models.rst: Doc: corrections on models
2008-09-26 13:04 <CIA-52> tryton: C?dric Krier <> default * 788:fc2cf9fe03d5 tryton/tryton/ Fix license
2008-09-26 13:04 <CIA-52> tryton: C?dric Krier <> default * 789:3f7865c2fbf3 tryton/ (6 files in 4 dirs): Use AboutDialog
2008-09-26 13:24 <CIA-52> tryton: C?dric Krier <> default * 790:3f0b97818692 tryton/tryton/gui/window/view_form/view/list_gtk/ Handle readonly states in list editable
2008-09-26 13:55 <cedk> Timitos: have you time to speak about statement?
2008-09-26 13:58 <CIA-52> tryton: C?dric Krier <> default * 1032:f809a5dd74b5 trytond/trytond/osv/ Enforce clause validation for invalid arguments
2008-09-26 13:58 <CIA-52> tryton: C?dric Krier <> default * 1033:9e82365e55fe trytond/: merge
2008-09-26 14:10 -!- Gedd(n=ged@ has joined #tryton
2008-09-26 14:32 <Timitos> cedk: i am available now for statement
2008-09-26 14:49 -!- udono( has joined #tryton
2008-09-26 15:07 <udono> cedk: who is async open source? and why they are in the copyright?
2008-09-26 15:09 <cedk> Timitos: ok
2008-09-26 15:09 <cedk> udono: it is from Async that comes the date_widget
2008-09-26 15:10 <Timitos> cedk: ok
2008-09-26 15:10 <udono> cedk: ok
2008-09-26 15:10 <Timitos> cedk: i think that there are two ways of handling a customer paying too much
2008-09-26 15:10 <cedk> Timitos: so in fact there is no problem if the amount is less than the invoice amount
2008-09-26 15:11 <cedk> Timitos: yes
2008-09-26 15:11 <Timitos> 1. you can assign the amount to an invoice
2008-09-26 15:11 <Timitos> 2. you can assing the amount only to the customer payable/receivable saldo
2008-09-26 15:12 <cedk> Timitos: to have the invoice considered as paid, you must reconcile the move lines
2008-09-26 15:12 <Timitos> cedk: i think the second version is better. the amount will be reconciled and marked as paid
2008-09-26 15:12 <cedk> Timitos: you can not reconciled amout that are not balanced
2008-09-26 15:12 <Timitos> the remaining amount will be set as an own move
2008-09-26 15:13 <cedk> Timitos: so for me I think we must create two move lines
2008-09-26 15:13 <Timitos> cedk: yes
2008-09-26 15:13 <cedk> Timitos: one with the invoice amount and a second with the rest
2008-09-26 15:13 <cedk> Timitos: so for the interface, I think about this:
2008-09-26 15:13 <Timitos> cedk: yes
2008-09-26 15:13 <cedk> Timitos: enter the statement line and add the invoice
2008-09-26 15:14 <cedk> Timitos: then the software looks if it is not too much
2008-09-26 15:14 <cedk> Timitos: if it is too much, it changes the amount with the invoice amount and create a new line with the rest
2008-09-26 15:14 <cedk> Timitos: what do you think about this?
2008-09-26 15:15 <Timitos> cedk: sounds good.
2008-09-26 15:15 <Timitos> udono: what are you thinking about this?
2008-09-26 15:15 <cedk> Timitos: like that we handle also the case where customer paid two invoice with one payement
2008-09-26 15:16 <cedk> and we force the user to dispatch the amount into the invoices
2008-09-26 15:16 <udono> Timitos: cedk sounds good.
2008-09-26 15:16 <Timitos> cedk: yes. you then need to add every invoice which is paid in the statement as one statement_move
2008-09-26 15:16 <cedk> Timitos: what is statement_move ?
2008-09-26 15:17 <Timitos> cedk: this is perhaps some more work, if there is a payment of many invoices with one payment
2008-09-26 15:18 <Timitos> cedk: account.statement.line sorry
2008-09-26 15:19 <Timitos> cedk: do i understand this right? with your idea you can only add one invoice to one statement.line?
2008-09-26 15:20 <cedk> Timitos: yes, but generaly, you ask your customer to add in the communication a number to identify the payment
2008-09-26 15:20 <cedk> Timitos: so the customer generaly can not paid many invoice in once
2008-09-26 15:20 <cedk> Timitos: yes
2008-09-26 15:20 <Timitos> cedk: this is common for small businesses.
2008-09-26 15:20 <cedk> Timitos: because you must know how to divide the amount
2008-09-26 15:20 <Timitos> cedk: but for bigger companies payment is often done for more than one invoice
2008-09-26 15:21 <cedk> Timitos: but it is not mandatory to put the invoice
2008-09-26 15:21 <cedk> Timitos: and then you can work with global amount receivable/payable
2008-09-26 15:22 <Timitos> cedk: yes you are right. the mount could be reconciled later with the reconcile wizard when there is a payment for more than one invoice
2008-09-26 15:22 <cedk> Timitos: and make the reconciliation of many invoices
2008-09-26 15:22 <Timitos> cedk: yes i think that this is a good solution
2008-09-26 15:22 <cedk> Timitos: generally if you work like this, you don't care about the invoice status
2008-09-26 15:23 <cedk> Timitos: and you reconcile the lines when the payable = 0
2008-09-26 15:23 <cedk> Timitos: big company works like that
2008-09-26 15:24 <cedk> Timitos: when they ask you to paid the unpaid amount, they don't give you an invoice number but just the move line that must be paid - the amount you already paid
2008-09-26 15:24 <Timitos> cedk: but with the reconcile wizard you can reconcile the lines individually together when the payable is not 0 too, i think
2008-09-26 15:24 <cedk> Timitos: yes of course, but it is a lot of work
2008-09-26 15:24 <Timitos> cedk: yes. but in some cases this is useful
2008-09-26 15:25 <Timitos> cedk: the way we go we let the user decide what way he want to choose
2008-09-26 15:25 <cedk> Timitos: I don't see, because the company must choice how it will work
2008-09-26 15:25 <cedk> Timitos: by invoice status or with customer account
2008-09-26 15:25 <cedk> Timitos: generally, there is no sence to mix the both
2008-09-26 15:25 <cedk> Timitos: but we can
2008-09-26 15:26 <cedk> Timitos: it just generates more works for the user
2008-09-26 15:26 <Timitos> cedk: i think that there would be no problem if it is mixed
2008-09-26 15:26 <cedk> Timitos: no
2008-09-26 15:27 <Timitos> cedk: so everything is ok with this topic?
2008-09-26 15:28 <cedk> Timitos: I think
2008-09-26 15:28 <Timitos> cedk: ok. so i can go to lunch ;-)
2008-09-26 15:28 <cedk> is there anyboday who has some things to say ?
2008-09-26 15:28 <Timitos> afk
2008-09-26 15:28 <cedk> Timitos: ok, good lunch
2008-09-26 15:30 <udono> cedk: Yes me :-)
2008-09-26 15:30 <udono> cedk: Ideas sound good.
2008-09-26 15:30 <udono> cedk: another thing is multicurrency in reconciliation
2008-09-26 15:30 <udono> cedk:
2008-09-26 15:33 <cedk> udono: for me, the reconciliation must be done on the company currency
2008-09-26 15:33 <cedk> udono: so if the customer has paid the right amount but there is a difference due to the currency rate
2008-09-26 15:34 <cedk> udono: you have to create a write-off in profit/lost because it is the company that lost/win the amount
2008-09-26 15:35 <cedk> udono: in accounting, when you work with currency, you must take the rate at the operation date
2008-09-26 15:36 <udono> cedk: yes, this sounds right. But I dont know the legal terms...
2008-09-26 15:40 <CIA-52> tryton: C?dric Krier <> default * 791:c9c1b3558f51 tryton/tryton/gui/window/view_form/widget_search/ Fix widget search for calendar if there is no value
2008-09-26 15:41 <cedk> udono: one thing that I'm sure it is that the amount to check for reconciliation is the amount in the company currency
2008-09-26 15:56 <udono> cedk: yes, but I think about this: you write an invoice for 1000 Libre including the local VAT of 20% on a exchange rate of 100 Libre are 100 EUR. Then the customer pays some days later 100 Libre to your account. But the exchange rate changed and on paymentdate 1000 Libre are now just 100 EUR. Your bank statement say you earned just 10 EUR. If you make the reconciliation like you say, we have a problem. Because if you take the exchang
2008-09-26 15:56 <udono> rget to update the exchangerate table in tryton). Then your client just pay 10 EUR and you can't set the invoice in state paied. And another thing is finaly your tax report says you have to pay 20EUR VAT, But you just earned 10EUR in fact from the customer.
2008-09-26 15:59 <cedk> udono: no, for me there is no error
2008-09-26 15:59 <cedk> udono: that is the danger to create invoice in other curency
2008-09-26 15:59 -!- udono( has joined #tryton
2008-09-26 15:59 <cedk> udono: I repeat
2008-09-26 15:59 <cedk> udono: that is the danger to create invoice in other curency
2008-09-26 15:59 <cedk> udono: when you say to your customer to pay in an other currency
2008-09-26 16:00 <cedk> udono: it is because you will assume the variation of the rate
2008-09-26 16:00 <cedk> udono: otherwise don't generate invoice in other currency
2008-09-26 16:00 <udono> cedk: I dont think that is a problem
2008-09-26 16:00 <cedk> that is why when you buy something in US, you pay in Dollars
2008-09-26 16:01 <cedk> because US company doesn't want to handle the currency rate variation
2008-09-26 16:02 <cedk> udono: of course in your example, you must reconcile the line 10€ with the 100€
2008-09-26 16:02 <udono> cedk: I think this all is regulated.
2008-09-26 16:02 <cedk> udono: and you will lost 90€
2008-09-26 16:04 <cedk> udono: except if you have an account at the bank in Libre
2008-09-26 16:04 <cedk> udono: then you can let it there and wait that the Libre increase :-)
2008-09-26 16:05 <cedk> udono: and when you will make the end year operation, you will reevaluate your Libre account
2008-09-26 16:05 <udono> cedk: one thing is absolutely clear, the Libre will never increase ;-)
2008-09-26 16:05 <cedk> udono: and then you can perhaps earn
2008-09-26 16:06 <cedk> udono: there is never certainty in the market :-)
2008-09-26 16:06 <cedk> udono: look around you
2008-09-26 16:09 <udono> cedk: Yes, of course, you are right. But we need to know that we loss in cause of exchangerate. Maybe we need just check some more exchangerates on different dates for the calculation. Maybe we need to be shure for the reconciliation to have a table of all daily exchangerates.
2008-09-26 16:10 <cedk> udono: there is a table with currency rate
2008-09-26 16:10 <cedk> udono: and that is the user to handle the write-off
2008-09-26 16:10 <udono> cedk: yes, but it must be actual if you want to reconceile.
2008-09-26 16:10 <cedk> udono: no, you don't have to use the actual rate
2008-09-26 16:11 <cedk> udono: but the rate when the line enter into the account
2008-09-26 16:11 <cedk> udono: so you will have on the move line the second currency amount
2008-09-26 16:11 <cedk> udono: that is there to keep the history
2008-09-26 16:12 <cedk> of course we can think about an automatization by inherit the reconcile function
2008-09-26 16:13 <udono> cedk: you have to, if you want to be shure if the low payment of the customer is sole an exchange rate loss.
2008-09-26 16:13 <cedk> that will generate the correct move on the correct account
2008-09-26 16:16 <udono> cedk: on SQL-Ledger mailing list I learned IIRC that exchangerates need datetime stamp, because of exchangerate changings per day...
2008-09-26 16:17 <udono> cedk: depending in which daytime zone you are sitting and when the "Wall Street" closes doors
2008-09-26 16:18 <cedk> udono: generaly in accounting, you take one rate per day
2008-09-26 16:18 <cedk> udono: or even one rate by month
2008-09-26 16:18 <udono> cedk: But for invoicing and payment we need just daily informations I think.
2008-09-26 16:18 <udono> cedk: yes
2008-09-26 16:18 <cedk> udono: no, it depends how you want to work
2008-09-26 16:18 <cedk> udono: it is not a bank that make currency exchange
2008-09-26 16:19 <cedk> udono: it is accounting, so generally the rate is higher than the market rate
2008-09-26 16:19 -!- tekknokrat( has left #tryton
2008-09-26 16:26 <udono> cedk: but a bank writes you an amount on you bank-statement and a date. This date is for the exchangerate of the payment. And the Invoice date is the date of the exchangerate of the invoic amount, Then we can calculate if the 10 EUR payed are realy ok. We can say 100 EUR * 1 Libre / EUR = 10 EUR * 10 Libre /EUR. And when the customer just pay 8EUR, we know there are missing 2 EUR which are not an exchangerate loss.
2008-09-26 16:29 <udono> cedk: its the formula: to_pay = invoiced_amount * rate.invoice_date / rate.payment_date
2008-09-26 16:32 <cedk> udono: only if you have an account in an other currency (which is not very well)
2008-09-26 16:33 <cedk> udono: and any way, you must just look if the customer paid the right amount in the currency that is all
2008-09-26 16:36 <udono> cedk: than you can say in reconciliation: currency_loss = invoice_amount - to_pay and you can say other_loss_or_gain = to_pay - paied_amount.
2008-09-26 16:41 <udono> timitos: How do you understand the requirement of openerp in the question of multicurrency and reconciliation?
2008-09-26 16:45 <cedk> udono: yes we can customize the write-off message when it is due to currency rate
2008-09-26 16:47 <udono> cedk: then I think we do not have the problem of tiny erp.
2008-09-26 17:33 <Timitos> cedk: udono: i try to explain the common way to handle such a thing
2008-09-26 17:34 <Timitos> 1. you have € as company currency
2008-09-26 17:34 <Timitos> 2. you write an invoice with 100$ . on this day 100$ = 50€
2008-09-26 17:35 <Timitos> the invoice is posted in the accounting with 50€ as accounting must be done in company currency
2008-09-26 17:35 <Timitos> 3. the customer pays 100$ but on this day 100$ are only 45€
2008-09-26 17:36 <Timitos> 4. the invoice is payed but there must be made a move "loss of currency fluctuations to Main Receivable" with value 5€
2008-09-26 17:37 <Timitos> cedk: udono: i don´t know if this must be handled on account_statement
2008-09-26 17:39 <Timitos> this problem needs also be handled if there is a bank account in $ because accounting of the company cannot be done in different currencies. an account in company accounting will always have company currency. nothing else
2008-09-26 17:39 <cedk> Timitos: I agrre with you
2008-09-26 17:40 <Timitos> i think what is talked about in the openerp thread is the move "loss of currency fluctuations to Main Receivable"
2008-09-26 17:40 <Timitos> cedk: fine
2008-09-26 17:41 <cedk> Timitos: yes and this can be done with the write-off function
2008-09-26 17:41 <Timitos> cedk: great
2008-09-26 17:41 <cedk> Timitos: but of course with a different name, it is more simple for the user
2008-09-26 17:41 <Timitos> cedk: ok
2008-09-26 17:41 <cedk> Timitos: so i need to go
2008-09-26 17:42 <cedk> Timitos: if there is any other issue with that, you can post on the google groups
2008-09-26 19:14 <CIA-52> tryton: Bertrand Chenal <> default * 1034:2ec051e3d7a5 trytond/doc/models.rst: Added doc on models
2008-09-26 19:14 <CIA-52> tryton: Bertrand Chenal <> default * 1035:5a5b0e6fa9da trytond/: merge
2008-09-26 22:28 -!- b52laptop(n=b52lapto@ has joined #tryton
2008-09-26 22:54 -!- b52lap(n=b52lapto@ has joined #tryton

Generated by 2.17.3 by Marius Gedminas - find it at!