[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Reverse Invoice bug in 1.2.8-1



Steps to reproduce:
Install LedgerSMB 1.2.8 and apply Hotfix 1.2.8-1
Create a fresh database and user and import the standard US_Manufacturing-chart.sql
Log in
System > Audit Control > Enforce transaction reversal?  NO
Activate Audit trail? NO

Set up a Vendor: Vendor1
Set up a part, part1

Add account 1061 "Cash Clearing" similar to 1060 checking to aid in setting up initial inventory. I will purchase the starting inventory from the Vendor1 at the correct cost and then "pay" Vendor1 from the Cash Clearing account to get the inventory entered at its proper cost.

Add transaction:
Db 1061 Cash Clearing $1,000.00 (which is the value of the as yet un-entered inventory.) Cr 3590 retained Earnings $1,000.00 (to balance). Ordinarily there would be lots of other asset and liability entries in this transaction corresponding to initial set-up. Being able to correct and re-post transactions was a real help in getting these initial entries correctly labeled and in beginning to understand how lsmb handles things.

Now, create an vendor invoice for the parts, 1,000 ea part1 @ 1.00 totaling our $1,000.00. Post the invoice. The entries now show up in the GL and Report parts shows the correct quantities on hand. However, the "Last Cost" field shows no entry. Why? Seems like it now should be $1.00.

Now I want to pay the invoice. How to find it? I select AP > Reports > AP Aging and there it is. Click the invoice number and up it pops with a nice place to enter the payment at the bottom. Enter the payment of $1,000.00 and a source note, select acct 1061 and Post. Now the warning that I am posting an existing transaction pops up but I've seen that before and (I think) I am just revising the transaction so OK, hit continue.

Oops. Now the General Ledger shows I have duplicated the invoice and I have added another 1,000 of part1 to inventory, paid for out of acct #1061 and I still have a remaining CR of $1,000.00 in acct #2100 "AP". My first question is how should I have paid the invoice as that certainly didn't work?

Realizing that was clearly a mistake, I click on the invoice number in the General Ledger, bring up the invoice now showing 2,000 ea of part1, $2,000.00 due and one payment of $1,000.00. I attempt to start over and remove this invoice by clicking Delete. Am I sure I want to delete Invoice P101? Click Continue. The transaction no longer appears in the General Ledger, but using List Accounts shows
#1530 Inventory Db $2,000.00
#2100 AP  Cr $1,000.00
#1061 Cash Clearing  shows 0.00
 #3590 Cr $1,000.00 as before

Listing parts shows a quantity of -1,000 (negative!) for part1.

The General Ledger shows only the first set-up transaction and no transactions involving #2100 or #1530.

Question #1: What is the recommended way to pay a previously entered invoice?

Question #2 Is there a way to clean up or reverse this mess? I've done something similar but with a lot more entries. Failing that, is there a way to migrate all of my Parts, Customers and Vendors to a fresh database without re-typing them to start over?