How to assign payment without changing the existing transaction

Geert Janssens geert.gnucash at kobaltwit.be
Thu Aug 25 12:41:46 EDT 2016


Hi Yary,

On Thursday 25 August 2016 11:36:44 yary wrote:
> Short version: how exactly do I assign an existing transaction to an
> invoice as a payment, without having that original transaction change?
> 
Short answer:
Ensure the payment transaction is one between the account that receives 
the money (a "deposit" in that account) and the A/R account.

If that's not the case, the code will guess sense of the transaction 
based on the sign of the split values AND one of the splits will be 
moved to the A/R account (which is required to be able to pay an 
invoice).

This works both for payments as for refunds.

> Long version:
> 
> I'm trying to assign existing transactions to customer invoices, but
> doing so always reassigns the transaction. I suspect I'm trying to
> assign the wrong transaction, or that my QIF transaction import
> wasn't as successful as I think it is. This is part of converting an
> existing "book" to GnuCash. Here's my accounting flow, and what I've
> tried so far.
> 
> "In real life" someone pays by check or cash. In the old accounting
> system, I would mark the invoice as paid, transferring it to an
> "Undeposited Funds" account. Later I'd go to the bank and deposit the
> payment, and enter a transfer from "Undeposited Funds" to "Checking
> Account"
> 
> I used GnuCash's import facilities to re-create my account tree (chart
> of accounts), customers, vendors, invoices, and general ledger (all
> the transactions). As advised, I'm using "Assign to payment" to tie
> the payment transactions to invoices.
> 
> 1. Assigning the "checking account" transaction. Here's a sample
> transaction in the account that could be assigned to an invoice. It's
> dated Feb 20 2013 (I know it's old, but I'm also doing this for
> current items...) screenshot at
> https://www.dropbox.com/s/0fi20r64rvbf8ez/Before-Assign.PNG?dl=0
> 
This transaction suggests a withdrawal from your checking account. Or 
looking from the other side it's a deposit in your Undeposited funds.

As there's no A/R account involved, gnucash will assume it's a payment 
for a customer invoice. This means you receive money, or money is 
deposited in some account. In this transaction it's the "Undeposited 
Funds" account that receives the money, so that part of the transaction 
remains unchanged. The other leg, the withdrawal is converted in an A/R 
split to balance the invoice in that account.

This is done to fullfil the double entry accounting principle.

> I can right-click it, assign it to the proper customer & invoice, and
> the invoice is marked as paid, BUT then that transaction disappears
> from the "Checking Account." That bothers me, because now I've lost
> the record in the "Checking Account" of the deposit on Feb 20 2013.
> 
The information you give is not sufficient to be sure, but it looks to 
me you haven't properly modeled what really happened in gnucash.

>From the example you gave before:
1. You have created an invoice for someone. Modeling this in gnucash 
means creating the invoice and posting it. In the end this will result 
in a transaction between an A/R and an Income account. The fact the A/R 
account has a non-zero balance now means you have unpaid invoices (it 
may mean other things in other situations, but not in this example)

2. Someone pays that invoice by check, which you wish to record in the 
Undeposited funds account. As you imported this payment transaction, it 
should be a transaction between your Undeposited funds (the "deposit" 
leg) and the A/R account (as it pays the invoice). This is not enough 
for gnucash to know it is for one particular invoice. To clear this out, 
you need to assign this payment to the right invoice using "Assign as 
payment".

3. At some point you go to the bank and deposit the payment. That means 
money now flows from your undeposited funds account to your bank 
account. This would be one more transaction which "deposits" the bank 
account and "withdraws" the undeposited funds account. This is opposite 
of the transaction you have shown in the screenshot above.

So in all you'll need to have 3 transactions (and have done the assign 
as payment).

> 2. Assigning the "Undeposited Funds" transaction. I don't like this
> option quite as much, because not all payments go through here-
> sometimes I would deposit a payment the same day and avoid this.
That's irrelevant. You can freely choose whether or not to track 
undeposited funds and can even choose this for each payment 
independently. The principle won't change. You need to assign that 
transaction that did pay the invoice. Whether that's a transaction in 
your bank account or in your undeposited funds is not important.

> And
> it also has similar issues. Here's a payment from Apr 2 '15
> https://www.dropbox.com/s/0vhgyiswt471xeh/Undep-Funds.PNG?dl=0
> 
> I can right-click on the line with the $165 deposit and assign it to
> invoice #62, but then the deposit switches accounts. Instead of being
> in the "Checking Account" it goes to "Accounts Receivable"
> 
Yes, it has to. Otherwise it wouldn't be a payment for the invoice but a 
transfer from your bank account to your undeposited funds.

> (If I assign the top line- the one already marked as A/R as the
> transfer account- then the accounts all look good, but it's a refund
> not a payment!)
I don't understand what you mean here. The transaction as displayed does 
indeed represent a refund. If that's not what you had in mind, something 
went wrong in your import.

> 
> 3. Looking in the A/R list, there are payment transactions in it which
> I can assign- but doing so doesn't mark the invoice as paid. Here's a
> screen-shot after assigning:
> https://www.dropbox.com/s/z9tqst3g6sx798s/A-R-assign.PNG?dl=0
> 
This transaction is the same as the first one in your previous 
screenshot. Remember gnucash is double-entry. So a transaction always 
involves at least 2 accounts. In this case the transaction is between 
your undeposited funds account and your A/R account. The fact it didn't 
mark your invoice as paid is still because this transaction suggests a 
refund (regardless the account from which you look at it). A refund 
can't pay for an invoice so gnucash just skips it for this invoice.

> Not sure how to show that it didn't assign it to the payment I
> selected, so here's the lot viewer showing that there are now two
> lots in the amount of the invoice- one for the original invoice, one
> for the payment- with no "gains" on the invoice.
> https://www.dropbox.com/s/ku2nvix6riagf3w/Lots-after-assign-to-invoice
> 62.PNG?dl=0
> 
The net result of your "Assign as payment" on the refund transaction is 
that gnucash has now associated it with your customer. A future credit 
note can take this refund to become paid.

However it looks this isn't what you are looking for. So it rather looks 
like the signs are all wrong in your payment import.

Regards,

Geert


More information about the gnucash-user mailing list