Add code for void payments to void bills and partial balances.
authorJason Stephenson <jason@sigio.com>
Sat, 20 Jul 2013 15:41:52 +0000 (11:41 -0400)
committerJason Stephenson <jason@sigio.com>
Thu, 7 Nov 2013 22:00:41 +0000 (17:00 -0500)
commit48253bbed88b947b2dd3bfc77f3908876c6c15f1
tree005031d14e8dde505700b44b26c62b945f0d24b5
parent4d742521e9c59ee6449180fbcd1a53df6568dfbf
Add code for void payments to void bills and partial balances.

This new payment type replaces the current void logic that simply flags
bills as voided.  There is an upgrade script to remove the void-related
fields from the billing tables, to remove or modify the views of voided
billings, and to convert voided billing amounts into void payments.

The void payment completely replaces the workings of voiding bills in
the backend Evergreen code.  This is a non-optional replacement.  Also,
the void payments are exposed in the staff client so that staff may
apply a void of a partial amount to a given billing.  Voiding an entire
bill or all bills for a given transaction will still function as it does
in the staff client prior to this change. However, instead of marking
the bills as voided, void payments will be applied in the amount of the
voided billings.

This new payment type is needed because the current way that Evergreen
voids bills requires that all voids happen in the same increment as the
bills themselves.  This prevents voiding of a partial bill or a bill
that has had a partial payment applied. For more on the rationale for
this change see:

    http://www.sigio.com/evergreen/billing2013.html#voidpayment

Signed-off-by: Jason Stephenson <jason@sigio.com>
Open-ILS/examples/fm_IDL.xml
Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/CircCommon.pm
Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm
Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Money.pm
Open-ILS/src/sql/Pg/080.schema.money.sql
Open-ILS/src/sql/Pg/reporter-schema.sql
Open-ILS/src/sql/Pg/upgrade/XXXX.schema.money.void_payment.sql [new file with mode: 0644]
Open-ILS/web/opac/locale/en-US/lang.dtd
Open-ILS/xul/staff_client/server/patron/bill2.xul