On 05/11/12 23:17, [email protected] wrote:
Comment by [email protected]:
I don't see why it should have 2 types of payment. For me, it should
be seen like this: statements are messages received from bank and
payments are messages sent to the bank.
If I understand you, you say that the type in payment orders (payable,
receivable) is not necessary because a payment order could have a mix of
payment lines of different type? Normally a payment order contains only
one type: you create a payment order to pay to several suppliers or you
create a payment order to receive from several customers, for example.
If you think this is not enough general, we can remove it.
The module should not depend on payment type, this concept is very
unclear.
In the introduction of the blueprint I explain in detail with examples
the concept of payment type. In short, payment type is the way you
receive/pay the money.
Ok, we could remove it and create an account_payment_order_type module
including it that depends of account_payment_order and
account_payment_type modules.
I think payment mode should not be a Model but just a selection field
on the payment which will be filled by modules that will implement
bank communication protocol.
As Albert, I'm not sure we don't want payment.mode in the standard
module. I think payment mode is the equivalent to
account.statement.journal. In fact it should probably be called
'account.payment.journal'. So, if you agree, we could change the name
from 'account.payment.mode' to 'account.payment.journal', removing some
fields like payment_type and bank.
It not only defines how you will communicate the payment, it also
contains the journal where to create the account moves if you want to
create them directly from the payment order, for example. Also, if we
define the new object 'account.payment.journal', the modules that will
implement bank communication protocols will have an object to extend
with specific information to configure.
The payment should not be linked to a bank, it is a concept that
should come with the communication protocol.
Ok, like payment type, we could remove it and create an
account_payment_order_bank module including it that depends of
account_payment_order and party_bank.
In Tryton, "order" is never used for naming Models.
I have chosen it for clarity, to distinguish account.payment.order from
account.payment.type.
I don't like account.payment (it is the first part of
account.payment.line and account.payment.type model names). Would you
prefer account.payment.payment (like sale.sale)?
In "account.payment.order":
- "name" should be renamed into "number" to follow standard naming of
Tryton. And no need to get a unique constraint (less constraint ==
more generic).
Ok
- "user" is not needed, if logging is required it could be done with
the history feature.
Ok
- "currency", I don't see the usage ? I think in many cases, it will
be allow to sent payment with mixed currencies.
Ok
- "done_date" idem as for "user".
I think this field is important, it annotates the date the payment order
is confirmed and we can see it in the payment order form. It is like the
sale_date field in sale orders or invoice_date in invoices. If you want
we could change the name to "payment_date".
In "account.payment.order.line":
- "name", it could be dropped.
Lots of bank communication protocol for payment need one unique
identifier for each payment line. So it is a number (I rename it as
number) filled with payment.order.line sequence.
- "maturity_date" seems duplicate information with the "move_line"
Yes, it seems but it gives more flexibility. It is filled with the
maturity_date of the move line but sometimes you want to change the
maturity date afterwards.
- "party" idem
Ok
- "bank" should be in custom module
Ok
- "move_line", why not a Many2One ?
Ok. First I thought to group several account.move.lines to one
payment.line but I agree will be easier to manage with a Many2One.
I think it should be possible to change the amount.
Wizard "account.payment.order.add", it should define how the lines
will be selected and how it will prevent to select many time the same
line.
Yes, this is one of the critical problems of this module. We must ensure:
1) An account.move.line it is not puttwice in two different payment orders
2) It will be difficult to know the amount to pay in an invoice, because
some payments will be partially done and other will be included in
confirmed payment orders.
Some ideas how this could be achieved?
--
Jordi Esteve
Consultor Zikzakmedia SL
[email protected]
Mòbil 679 170 693
Zikzakmedia SL
Dr. Fleming, 28, baixos
08720 Vilafranca del Penedès
Tel 93 890 2108
--
--
[email protected] mailing list