Commit Graph

65 Commits

Author SHA1 Message Date
abijah
96a030e340 First pass changes for a dedicated customer credit account. This checkin is just refactoring.
git-svn-id: file:///svn-source/pmgr/branches/surplus_account_20090815@568 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-08-15 19:50:31 +00:00
abijah
6e63365604 A couple bugfixes and some more tweaks to how reversals are handled.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@566 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-08-15 16:47:55 +00:00
abijah
4f85dc243e Getting closer on the reversal issue. There is definitely more testing to do, and some tweaks as well, but this may be approximately what we will finally settle on.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@565 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-08-15 03:11:16 +00:00
abijah
d2d1bb3fc4 Change to how reversals are handled. In the process, I've tried to solidify _exactly_ what addTransaction will do, since it was becoming a house of cards of sorts. It was using special logic to decide things like whether to add ledger entries, statement entries, or both, whether to assignCredits afterwards, whether the generated receipt was to be considered a credit, and so on. Consequently, modifications to any calling function (addInvoice, addWaiver, etc) would often require addTransaction modifications, which would turn around and break all of the other calling functions. So, that embedded logic has been removed from addTransaction, and the rules of what addTransaction should do are now defined by the callers. This change is DEFINTELY not complete, as it probably has several bugs, and it DOES NOT YET WORK for reversals. I need a clean baseline to move forward from though, and this checkin approximates where we need to go.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@562 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-08-14 21:31:56 +00:00
abijah
d024d333d2 Moved the INTERNAL_ERROR calls to use the class function instead of the global one.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@561 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-08-14 21:21:21 +00:00
abijah
c06399cf86 Added support for deleting (destroying) a transaction. This is strictly development/super-admin type functionality.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@553 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-08-14 20:58:50 +00:00
abijah
a2014a916e Added cached fields for charged_through and paid_through dates of a lease. Also, added the ability to dynamically determine whether a unit is late or not. In reality, we really need this to be part of the lease, not one of the status types for unit. The sitemap, however, is driven from unit information, so it's not clear whether we should move that information or not.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@543 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-08-13 02:37:37 +00:00
abijah
1d27b4dcb5 Many bug fixes, found while entering real facility data. Most are quite minor, although there was a functionality change to assignCredits, to support concessions without assigning them to anything other than rent. I've found that there is a glaring problem with charge reversals, which don't work correctly with the collected report. Of course, we're deleting prior disbursements, which obviously needs to be rectified.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@540 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-08-12 09:37:49 +00:00
abijah
15f885ab8a Fixed problem when effective_date is an empty string, as opposed to completely missing.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@523 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-08-11 01:07:01 +00:00
abijah
1f97e8db35 Added confirmation to the NSF functionality, as well as a timestamp field instead of forcing time=now.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@513 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-08-10 05:49:43 +00:00
abijah
598ce5784b Modified NSF to use positive amounts for the ledger entries (swapping credit/debit, of course). The statement entries remain using negative amounts, as they are negative disbursements.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@511 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-08-10 04:46:54 +00:00
abijah
fd1a1f43d4 Added transaction model writeOff function, and a new statement_entry WRITEOFF type. Not a big deal, but it makes presentation a bit more straightforward.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@508 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-08-09 15:11:51 +00:00
abijah
868e23b982 Implemented mechanism for automatic assessment of monthly rent
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@505 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-08-08 15:44:52 +00:00
abijah
654eb0960e Some of the finer detail work, mostly around pre-populating the move-in invoice with useful and correct data, and allowing the lease rent and deposit to be set at movein.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@503 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-08-07 22:52:01 +00:00
abijah
2e36d46329 Minor tweaks, a shame for checkin r500 :-(
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@500 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-08-07 03:55:01 +00:00
abijah
1dd0b14861 More work with security deposits, reversals, and balances. I've tried to work many different corner cases, but know that not everything has been tested. I think the next steps for testing will be to put in some real data.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@499 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-08-07 00:10:28 +00:00
abijah
e784931fa8 Implemented refund, at least for the most part. Minor testing, but looks promising. Because of this change the customer account entries grid appears odd, with a refunds showing up as a 'Charge'. So, I'm toying with the idea of having entries show up as customer 'Debits' and 'Credits'. I don't know if this will cause user confusion, but we'll play with it for a while and see. It actually reminds me a bit (coming full circle) of the earliest implementations, which kept track of a lease on its own account/ledger, in which credit/debit would be the exact correct terms.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@493 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-08-06 05:11:58 +00:00
abijah
4d62d7da73 More work on refund. I'm going to skip the whole voucher/credit_note bit and simply present a page that lets the user enter a date, an account, and the amount to refund, recording 1 payment transaction.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@491 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-08-06 02:52:45 +00:00
abijah
cca698d437 Several changes in an effort to support charge reversals. I can't imagine this is all working flawlessly, as I'm not quite sure how it even _should_ work.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@490 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-08-05 07:54:57 +00:00
abijah
cb969ba340 Discovered that the use of the term 'Payment' has been a misnomer. A company uses the term payment to indicate the monies it pays to _others_. Changing this leaves us without a good replacement term, but disbursement really seems to fit the bill. As comfortable as the term payment was, it was odd in many respects and disbursement does seem more appropriate. I'm sure there are several lingering bugs from this massive search/replace exercise, but this is a decent baseline for the change.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@488 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-08-05 01:00:09 +00:00
abijah
67280c89e7 Fixed bug when marking NSF of a tender that has only been used as a surplus and never applied to any charges. Modified the applyCredits algorithm to try and distinguish between surplus credits of a lease and general customer surplus. I don't know if it works completely, but I do know it creates an issue since a lease surplus can now never be utilized without additional lease charges, a refund (no yet implemented), or moving the surplus to the customer level (not intended to be implemented).
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@483 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-08-04 21:19:20 +00:00
abijah
4d4e96fe1c More work cleaning up and testing the use of charge waivers, as well as security deposit utilizations. Much of this was just around the concept of determining balances, which wasn't / isn't very straightforward. It's not hard to calculate a balance for a particular sitation, but it is difficult to generalize. I think it's reasonable as it now stands, but the StatementEntry::stats algorithm is certainly subject to change. Also, I didn't double check every case which called the stats() function, so I highly suspect we'll find cases where the code is not expecting the new return values, either symantically or logically.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@480 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-08-04 03:12:09 +00:00
abijah
32a98b4b6e Continued waiver progress. At the moment, it works ok, but I don't like the way that security deposit balances work. It's probably a general issue, not just security deposits, but it's not clear whether stats from StatementEntry should be subtracting waiver totals from the overall charge reconciliation total. It should in some cases, and not in others. I'll tweak on it in later checkins.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@479 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-08-03 21:50:21 +00:00
abijah
7d81b9766b Added ability to waive a partial charge.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@472 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-08-03 04:14:44 +00:00
abijah
1aa6273ade First pass at a charge waiver implementation. It hasn't been tested but for a tiny bit.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@471 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-08-03 03:46:58 +00:00
abijah
e2ed6ed1c7 Left r466 with syntax error... fixed that
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@469 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-08-03 02:30:29 +00:00
abijah
cb716b06b7 Added a new statement entry type, 'WAIVE', and added the beginnings of a function to add a new waiver transaction. Haven't even started the work yet though...
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@466 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-08-02 22:44:55 +00:00
abijah
8818ad7a80 Combined the addNsf and addTransaction functions, which was always intended. There is more that could be done, but not all bugs are flushed out yet. Its close enough though, that I want to capture it as is to help work through the subtle issues.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@464 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-08-01 01:47:11 +00:00
abijah
00c99ea60a Added a way to associate the meaningful part of NSF with the corresponding tender.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@456 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-07-31 18:10:48 +00:00
abijah
57d593fc38 Added an automatic $35 nsf charge when marking an item as nsf. This required removing the lease_id requirement when adding a transaction, since the charge is not associated with a lease, just a customer. The requirement was artificial anyway; imagine selling POS items to folks that don't even lease from us...
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@447 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-07-31 03:07:34 +00:00
abijah
65b7137f21 Modified to use the logging mechanism
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@446 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-07-31 02:09:45 +00:00
abijah
1e7557de71 Added effective date to each NSF entry, and fixed the account bug with receipts/payments. There is still a bug/question on how to handle nsf credits. It would be nice to simply delete the credit, since the check bounced, but then the original transaction will not add up. Either we decide that it doesn't need to add up, figure out a different type for the credit, or add a void flag to each statement entry and just void out nsf items. Or instead of a void flag, have an nsf_statement_entry_id which will also tie the payment/credit to the nsf payment/credit.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@428 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-07-30 18:23:37 +00:00
abijah
d91957faed This is probably what we really want for NSF... two transactions. One for backing out the bank deposit, and the other for adjusting A/R and all the associated statement entries. This is working reasonably well, even seemingly fine for the collected rents report. I do see that there is another bug though, that is causing statement entries to have the opposite account_id than intended (A/R instead of Cash) when entering new receipts. Not sure when I broke that, but it must have been when working on deposits.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@427 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-07-30 07:30:50 +00:00
abijah
56e6aa1f34 Preliminary work on NSF. It's far from working, but we're headed in the right direction.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@426 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-07-30 06:29:41 +00:00
abijah
9733226dfd Fixed problem when trying to calculate transaction stats. The current solution is a bit dodgy, but by limiting the queries to LedgerEntry and StatementEntry, it works without too much extra effort.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@424 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-07-30 02:47:43 +00:00
abijah
adddfecada Fixed the problem with zero dollar balance forward entries when closing a ledger.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@422 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-07-30 02:17:49 +00:00
abijah
55c5c9e9e6 Got the ledger closings to work again. This seems to work ok, although I notice closing the ledger after deposit results in a balance forward entry of $0.00 . I'll work on it next
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@421 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-07-30 01:59:10 +00:00
abijah
ec8f540107 This is the remainder of the previous, invalid, partial checkin.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@419 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-07-29 23:25:03 +00:00
abijah
13f97e5770 Changed the deposit to use a grouped double entry instead of individual ones for each tender deposited
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@414 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-07-29 10:10:11 +00:00
abijah
b789ed62b7 Added customer association to each tender
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@413 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-07-29 09:33:29 +00:00
abijah
2ffe04e3e4 Re-implemented the deposit functionality. This is mostly working, although I'd like to get customer added to the tenders table, and probably change to a single deposit ledger entry for each tender type. A single entry would require that all tender types have been recorded to the same account, something that isn't mandated at the present, but is likely to be true most of the time. Perhaps they could just be grouped by account id, which should work in all cases and yet align with tender type 99% of the time. I'll have to think about it.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@412 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-07-29 08:55:09 +00:00
abijah
b225775a91 Suppressed all the debug print statements from transaction insertion.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@398 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-07-28 02:40:42 +00:00
abijah
b3389652fd Further tweaked the code to add new transactions, primarily by creating separate verification and addition functions in each underlying model. There are logic changes as well, such as adding in the other half of the missing double entry (as well as the double entry itself). This checkin also introduces the creation of CREDIT statement entries, when the customer has overpayed. It's working fairly well, although undoubtedly will need more tweaking.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@394 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-07-28 01:16:42 +00:00
abijah
68fe787209 Playing with different means for determining stats. Nothing decided yet.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@391 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-07-26 23:23:19 +00:00
abijah
f9635419dd Added transaction stats. Added (possibly unwanted) columns.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@389 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-07-25 08:06:50 +00:00
abijah
25b7da57f3 Made progress adapting the receipt code onto the latest db changes.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@387 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-07-24 07:43:42 +00:00
abijah
04bc284a76 First pass implementation at generating an invoice, which seems to be working. Largely untested, but worth checking in. Next is to get receipts using the same algorithm, and after that will be to work on a reconciling mechanism, creating payments, and matching them to charges. This checkin includes an additional customer_id fields as part of the transactions table. I think it was an oversight not to be there, as we need some way to keep track of monies which have been paid by a customer, yet not applied. If there is a different way to do it (short of actually having each ledger entry hold customer_id), it escapes me at the moment.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@372 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-07-23 21:24:49 +00:00
abijah
93ebc450fe Making progress. Much still to do, but there are hints of functionality finally returning so I'm snapshotting.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@360 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-07-21 10:23:52 +00:00
abijah
6ac0204baf This rework is nowhere near complete, but there are certain things that are falling in place, and worth capturing. I started a branch for just this purpose of being able to check in intermediate work.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716@352 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-07-19 23:35:25 +00:00
abijah
ece7ab25ae Eliminated the need for the Invoice Account. I'm having a bit of a hard time believing that it works, since it sure seems like we needed the Invoice account for some reason. However, it's entirely possible that we really just had it for symmetry with Receipt (another account which we'd love to delete). It needs more testing, but it works good enough to check in.
git-svn-id: file:///svn-source/pmgr/branches/invoice_receipt_20090629@308 97e9348a-65ac-dc4b-aefc-98561f571b83
2009-07-11 08:23:55 +00:00