During the implementation of bug 23805 and bug 23049 it became apparent to me that the introduction of payment_type appeared to be a workaround for the lack of distinct credit and debit categories. Now we have a distinct credit_type field in accountlines which is properly governed by foreign key relationships I believe we could merge the payment_type field with this credit_type field and expose a purpose build UI for managing such types.
Not sure if I'm understanding this one. We use the payment types for a different purpose than the credit types, so a merge would not be desirable. At least not for our library. The payment types, e.g. cash/bank transfer/invoice, are used to indicate how a payment was made for debit transactions. The credit types, e.g. refund for deposit/overpayment, are used to define what kind of credit transaction it is, i.e. the reason for creating a manual credit.