Topic: Credit Card Sale

Hi

I am trying to setup Direct Invoice for a restaurant. Here payment terms can only be Cash or other terms defined in Payment Terms option.

How can I add credit card option here so that the amount receivable after making a sale goes to credit card receivable account instead of the general receivables.

Re: Credit Card Sale

Setup => payment Terms => create new payment terms as Cash type but name it credit card. make an account code similar to cash and call it credit card. Make it a bank account - your merchant bank account.

It appears that the first non default cash type of account in the bank accounts gets hard coded in creating a direct invoice.

Quick Entries as in this post may be useful.

@joe: What is the correct way to make a "Cash" sale (Payment Terms) for a credit card transaction.

Post's attachments

CreditCard_Account.png 51.2 kb, file has never been downloaded. 

You don't have the permssions to download the attachments of this post.

Re: Credit Card Sale

Hello guys.

@apmuthu, I guess you have explained it all.

Normally if you accept credit cards you have got an agreement with a provider or a bank. So the money enter into an account in your bank.

There will probably be a little delay,, but it could be an intermediate account, depending on how detailed you want this.

Also talk to a local accountant about this.

Joe

Re: Credit Card Sale

Thanks for the explanation sir

I already tried the method explained by you as I had read through a lot of posts. But unfortunately the default cash account gets hardcoded in Payment and I cannot apply payment to this newly created account.

Any way to bypass this hardcoding?

apmuthu wrote:

Setup => payment Terms => create new payment terms as Cash type but name it credit card. make an account code similar to cash and call it credit card. Make it a bank account - your merchant bank account.

It appears that the first non default cash type of account in the bank accounts gets hard coded in creating a direct invoice.

Quick Entries as in this post may be useful.

@joe: What is the correct way to make a "Cash" sale (Payment Terms) for a credit card transaction.

Re: Credit Card Sale

In our case, it gets cleared at the end of month. So I want it to goto a clearing account where the accountant can further process it when balances are cleared.

I am a professional accountant smile

joe wrote:

Hello guys.

@apmuthu, I guess you have explained it all.

Normally if you accept credit cards you have got an agreement with a provider or a bank. So the money enter into an account in your bank.

There will probably be a little delay,, but it could be an intermediate account, depending on how detailed you want this.

Also talk to a local accountant about this.

Joe

Re: Credit Card Sale

The issue here is to make the hardcoded Petty Cash Account as a dropdown set of bank accounts for Cash term sales documents. Otherwise, should a default hardcoded account to receive payments into be set in the Payment Terms for Cash Type using an extra field?

Re: Credit Card Sale

The second option seems to be more reasonable, especially from control point of view. For example, I would not want anyone entering an invoice to select cash account as payment method when the payment term says credit card.

So, how can we set a default (hardcoded account) to receive payments into based on Payment Terms?

Re: Credit Card Sale

Line 580 in sales/includes/ui/sales_order_ui.inc:

        label_row(_("Cash account:"), $order->pos['bank_account_name']);

is responsible for the choice of account. It comes from the field sales_pos.pos_account which is looked up on the field bank_accounts.id whose corresponding field bank_accounts.account_code is the account to which the money flows. The field bank_accounts.bank_account_name is what gets displayed.

The POS is fixed in the users table and hence it this that ultimately determines the hardcoded value of the cash account! Hence, create a user and assign the Credit Card POS and link it to the Credit Card Cash Type account and login as that user to perform such transactions.

Re: Credit Card Sale

Thanks a lot. I will request a developer to change the code for me

Re: Credit Card Sale

Wiki updated.

Re: Credit Card Sale

After understanding the complete process (if I understood it correctly), I have concluded that it is not practicable to have one user for entering Cash invoices and one for entering Credit Card invoices, especially in a restaurant environment where there can be too many customers waiting to get their bills.


So, a better solution can either of the following:

1. Ask the developer to change the hardcoded account if the payment term is selected anything other than "Cash". Because anything other than cash is booked as receivable.

2. Create Credit Card Clearing account and declare it as a current account. Then make it the default receivable account from SETUP ==> System & GL Setup. Then create a new payment term as Credit Card and create a new Payment Term, call it credit card, select number of days and then 1. So that such sale automatically goes into credit card receivables account and is shown in receivables the very next day.


I apologize for taking a lot of time, but I am keen to understand the system in order to make the best use of it.

apmuthu wrote:

Line 580 in sales/includes/ui/sales_order_ui.inc:
The POS is fixed in the users table and hence it this that ultimately determines the hardcoded value of the cash account! Hence, create a user and assign the Credit Card POS and link it to the Credit Card Cash Type account and login as that user to perform such transactions.

Re: Credit Card Sale

The ERD is now on the Wiki.

Re: Credit Card Sale

Thanks:)

Will any of the solutions I mentioned above work?

Re: Credit Card Sale

Any modifications to the code in the current scripts without altering db schema will entail hardcoding for a specific install with account names / types and ids and that will not be generic. Both Cash and Credit Card are of Cash Type as far as the Payment Terms classification is concerned and that is why the simplified entry form gets displayed. If English is the only language to be used, then hardcoding to see if the word "Cash" is present in the name of the description of the Payment Terms can be attempted. The ramifications of the default POS being different from the one in the user's table will have to be studied. There could be several credit card merchant accounts in one installation where this would fail. Appending the account code to the last part of the Payment Terms description is the only way out for now.

@joe: what say you?

Re: Credit Card Sale

Yes, this is the only solution which seems to cater the problem, both from operational and accounting points of view.


apmuthu wrote:

There could be several credit card merchant accounts in one installation where this would fail. Appending the account code to the last part of the Payment Terms description is the only way out for now.

Re: Credit Card Sale

apmuthu wrote:

Any modifications to the code in the current scripts without altering db schema will entail hardcoding for a specific install with account names / types and ids and that will not be generic. Both Cash and Credit Card are of Cash Type as far as the Payment Terms classification is concerned and that is why the simplified entry form gets displayed. If English is the only language to be used, then hardcoding to see if the word "Cash" is present in the name of the description of the Payment Terms can be attempted. The ramifications of the default POS being different from the one in the user's table will have to be studied. There could be several credit card merchant accounts in one installation where this would fail. Appending the account code to the last part of the Payment Terms description is the only way out for now.

@joe: what say you?


following this thread, I totally understand the concern @apmuthu has related the POS-User, I was wondering if there is any response from @Joe?
Also, would a permission to be given for a user, to overriding his POS solve the issue?

Re: Credit Card Sale

Also, would a permission to be given for a user, to overriding his POS solve the issue?

Yes, that is my vote.   I've never understood the FA design why a user is limited to a single POS, or why a POS is tied to a single payment type (bank account).