Difference between revisions of "Transactions"

From WHMCS Documentation

(Managing Credit)
m (Searching Transactions and Handling Reversals)
 
(14 intermediate revisions by one other user not shown)
Line 1: Line 1:
 +
WHMCS records all of your transactions and allows you to view and work with them from within the Admin Area. You can also view your merchant account balances for [[Stripe]]™, [[PayPal Basic]], [[PayPal Payments]], and [[PayPal Card Payments]].
 +
 +
You can view a list of transactions at '''Billing > Transactions List'''.
 +
 
==Applying Payment to an Invoice==
 
==Applying Payment to an Invoice==
 
+
If you receive a payment that isn't automatically logged in WHMCS, you will need to manually apply it to the invoice.  Alternatively if the payment is not for any particular invoice, you should follow the steps below for [[Transactions#Issuing_Credit_to_a_Client|issuing credit to a client]].
+
If you receive a payment that the system hasn't automatically logged in WHMCS, you will need to manually apply it to the invoice as a transaction.
 
+
   
#Begin by locating & opening the invoice to apply the payment to using the '''Search''' or '''Billing > Unpaid Invoices''' list
+
* For steps to do this, see [[Invoicing]].
#Next from the invoice management page, select the '''Add Payment''' tab
+
* If a payment is not for any particular invoice, [[Transactions#Issuing_Credit_to_a_Client|issue credit to the client]] instead.
#Enter the details corresponding to the payment including the date, payment method, transaction ID & amount into the fields shown
+
#Then click the '''Add Payment''' button to complete the process
+
== Multiple Invoices ==
 
+
   
<div class="docs-alert-success">
+
If you receive a payment that applies to '''multiple invoices''', click '''Add Transaction'''. This displays the same settings for applying payment to an individual invoice, but, in addition, lets you set an '''Invoice ID(s)''' value. For this setting, you can enter a comma-seperated list of all of the invoice numbers to apply this payment to. The system will apply payments in the order you enter them until the client has used the full amount. The system will automatically add any remaining amount as a credit to the user for use on future invoices.
<span class="title">Under/Over Payments</span><br />
+
You can add a partial amount, all of the invoice's balance or even apply more than the amount due on the invoice. If you apply a payment to an invoice which is larger than the amount due then any excess will be automatically added as a credit to the user for use on future invoices.
 
</div>
 
 
 
If you receive a payment which applies to '''multiple invoices''', to enter that go to '''Billing > View Transaction List > Add Transaction'''. There you get the same fields as when applying payment to an individual invoice but in addition you also get a field labelled '''Invoice ID(s)''' and in that, you can enter a comma seperated list of all the invoice numbers that this payment should be applied to. Payments will be applied in the order entered until the full amount has been used and any amount left over will be automatically added as a credit to the user for use on future invoices.
 
 
 
 
==Adding a Manual Transaction==
 
==Adding a Manual Transaction==
 
+
You will need to enter transactions manually if you receive payment from a client by an offline means such as cheque or wire transfer. Or for example to enter external transactions into WHMCS such as expenditures you make to pay for your servers and/or other services.  It is important you do this correctly to ensure the figures in your WHMCS system are correct so here's how you do it:
+
If you receive payment from a client by an offline means like a check or wire transfer, you must enter transactions manually. You may also want to do this to enter external transactions, like expenditures for your servers or other services, into WHMCS.
 
+
   
#Begin by going to '''Billing > Transactions List'''
+
To do this:
#Select the '''Add Transaction''' tab at the top of the page
+
#Then you can choose the client it relates to (if any), date of the payment, gateway used, enter a description, transaction id (if applicable) and the amount
+
# Click '''Add Transaction'''.
#If this is a payment that the client should be allowed to apply to invoices later (ie. a prefunding or payment on account) then you should tick the '''Add as Credit''' checkbox which will automatically create the appropriate credit entry for the user
+
# Choose the related client (if any), the date of the payment, and the gateway.
#Once happy with the settings, click the '''Add Transaction''' button to complete the process
+
# Enter a description, transaction ID (if applicable), and the amount.
 
+
# If this is a payment that the client can apply to invoices later (for example, a prefunding or payment on account), select '''Add as Credit'''. This will automatically create the appropriate credit entry for the user.
 +
# Click '''Add Transaction'''.
 +
 
<div class="docs-alert-warning">
 
<div class="docs-alert-warning">
<span class="title">Note</span><br />
+
You must either enter one or more invoice IDs or select '''Add as Credit'''. If you do not do this, the system may not apply the transaction against an invoice or credit to the client's account.
It is necessary to either enter Invoice ID(s) or tick the Add as Credit checkbox. Failure to do either will result in the transaction not being applied against an invoice or credited to the client's account.
 
 
</div>
 
</div>
 
+
 
==Account Prefunding/Add Funds==
 
==Account Prefunding/Add Funds==
 
+
There are times when a client might want to deposit money with you in advance. For example if they are about to place a number of orders, or they are going on holiday. And WHMCS allows for this using the Account Prefunding/Credit feature.
+
Sometimes, a client may want to deposit money with you in advance (for example, if they are about to place several orders or they will be unavailable). WHMCS allows for this using '''Account Prefunding/Credit'''.
 
+
For details, please see '''[[Add Funds]]'''
+
For more information, see [[Add Funds]].
 
+
 
==Managing Credit==
 
==Managing Credit==
 +
 +
Credit allows customers to have a prepaid balance on their account. This can allow customers to pay in advance and can help with overpayments.
 +
 +
For more information, see [[Credit/Prefunding]] and [[Adding and Working With Credit]].
 +
 +
==Searching Transactions and Handling Reversals==
 +
 +
<div class="docs-alert-info">
 +
WHMCS 8.3 and higher includes support for disputes for [[Stripe]] (credit card only) and some [[PayPal]]® transactions at '''Billing > [[Disputes]]'''.
 +
</div>
 +
 +
If you have had a check bounce, or you've received a chargeback or dispute for a transaction you already applied, it is likely that the actions that payment should trigger, such as renewal of a product, domain registration, or renewal, have already happened and you can't reverse them. You will need to deduct the amount from your income and issue the client a new invoice to repay.
 +
 +
For example, you would perform the following steps for a transaction that a client paid in 2CheckOut with the transaction ID <tt>6A5245278HM</tt>:
 +
 +
# Click the '''Search/Filter''' tab at the top.
 +
# Select ''2CheckOut'' as the payment gateway.
 +
# Enter the transaction ID (<tt>6A5245278HM</tt>).
 +
# Click submit. Any matching transactions will display. From here, we can see the transaction date, the client who made it, and the invoice they were paying.
 +
# Click the invoice for that transaction.
 +
# In the '''Refund''' tab, apply a "Record Only" refund to deduct the paid amount from your income and show that invoice as unpaid.
 +
# Perform the necessary actions for each item on the invoice.  For example, you might want to suspend a product from the client profile to prevent further use or contact a domain's registrar and ask whether a cancellation is possible.
 +
# Optionally, create a new manual invoice for repayment (for example, if the dispute is a mistake or the client has contacted you) by manually creating a custom invoice. This can also apply any fees or surcharges you may have incurred for the disputed payment. '''Do not''' attempt to re-invoice the original items for repayment: that could lead to double incrementing of due dates and double renewal actions on products and services.
  
Credit allows customers to have a prepaid balance on their account which can be useful for allowing customers to pay in advance and dealing with overpayments.
+
== Payment Gateway Balances ==
 
+
For more help and information, please refer to [[Credit/Prefunding]]
+
<div class="docs-alert-success">We added this feature in WHMCS 8.2 and updated the displayed details in WHMCS 8.9.</div>
 
+
==Searching Transactions & Handling Reversals==
+
You can view payment gateway balances for [[Stripe]], [[PayPal Basic]], [[PayPal Payments]], and [[PayPal Card Payments]] at '''Billing > Transactions List''' in the WHMCS Admin Area. This lets you check your financial details sooner and stay aware of trends and changes.
 
+
So you've had a cheque bounce, or you've received a chargeback/dispute for a transaction you already applied?  Chances are the actions that payment should trigger, such as renewal of a product, domain registration or renewal, have already happened and can't be reversed.  So what you need to do is deduct the amount from your income and issue the client a new invoice to re-pay.  So let's take an example of a transaction paid by 2CheckOut with the transaction ID "6A5245278HM" and see how we would handle that.
+
* The displayed balances remain in the cache for a specific amount of time and will then automatically refresh. You can also manually refresh them.
 
+
* When you click on a transaction in this list, additional details will display for that transaction.
#Begin by going to '''Billing > Transactions List'''
+
* Balances display by default for admins with the '''Full Administrator''' role. To make this information available to other admins, assign the '''View Gateway Balances''' permission to the desired role.
#This will show you a list of all the transactions recorded in your WHMCS system
+
   
#Next, click the '''Search/Filter''' tab at the top - the various filtering options available will appear
+
<div class="docs-alert-success">If you use [[Stripe]], you can also view balances in the Admin Area Dashboard widget.</div>
#We know this transaction was made using 2CheckOut so we select 2CheckOut in the Gateway Dropdown List
+
   
#We also know the transaction ID so we enter this in the Transaction ID field as shown below
+
<div class="docs-alert-info">For information about displaying balances in custom development, see our [https://developers.whmcs.com/payment-gateways/displaying-balances Developer Documentation].</div>
#Once you have completed selecting filter options, click submit
+
#Any matching transactions will be displayed.
+
#From here we can see the transaction date, client who made it and the invoice they were paying
 
#Now you can click into the invoice that transaction was applied to, and use the '''Refund''' tab to apply a "Record Only" refund to deduct the amount paid from your income and show that invoice as no longer paid
 
#Following that, you need to decide what to do with the items on the invoice.  For example if it's a product, you might want to go and suspend that product from the clients profile to prevent any further useAnd if it's a domain you might want to contact the registrar and see if a cancellation is a possibility.
 
#After taking care of the products, you may then want to create a new manual invoice for repayment - for example if the dispute is a mistake or the client has contacted you - so you can do that simply by raising a custom invoice, and with that you can also apply any fees or surcharges you may have incurred for the disputed paymentYou '''should not''' attempt to re-invoice the original items for repayment as that could lead to double incrementing of due dates, and double renewal actions on products & services.
 
 
 
 
==The Gateway Logs==
 
==The Gateway Logs==
 
+
If transactions aren't being automatically handled by WHMCS then it is often useful to take a look at the transaction log.  The transactions log can be viewed by going to '''Billing > Gateway Log'''.
+
If WHMCS isn't automatically handling transactions or you experience other transaction-related issues, check the related logs at '''Billing > [[Gateway Log]]'''.
 
 
If a payment return has been made by a payment gateway integrated with WHMCS then details of the return will be listed here.  Each return has three possible outcomes - Successful, Invalid or Error.
 
 
 
*A successful payment return occurs when the payment is identified and recorded by WHMCS automatically and any required actions are performed.
 
*An invalid return occurs when the data returned from the gateway is not expected by WHMCS - for example the Invoice ID is wrong or the payment value doesn't match
 
*Finally, an error return occurs if the data sent from the payment gateway contains errors or cannot be verified
 
 
 
Invalid returns will occur from time to time when the data received is not fully valid and are usually only random one offs.  If you start getting a lot of transactions coming back as invalid or as errors then you might want to contact us so we can check it out.
 

Latest revision as of 16:56, 17 May 2024

WHMCS records all of your transactions and allows you to view and work with them from within the Admin Area. You can also view your merchant account balances for Stripe™, PayPal Basic, PayPal Payments, and PayPal Card Payments.

You can view a list of transactions at Billing > Transactions List.

Applying Payment to an Invoice

If you receive a payment that the system hasn't automatically logged in WHMCS, you will need to manually apply it to the invoice as a transaction.

Multiple Invoices

If you receive a payment that applies to multiple invoices, click Add Transaction. This displays the same settings for applying payment to an individual invoice, but, in addition, lets you set an Invoice ID(s) value. For this setting, you can enter a comma-seperated list of all of the invoice numbers to apply this payment to. The system will apply payments in the order you enter them until the client has used the full amount. The system will automatically add any remaining amount as a credit to the user for use on future invoices.

Adding a Manual Transaction

If you receive payment from a client by an offline means like a check or wire transfer, you must enter transactions manually. You may also want to do this to enter external transactions, like expenditures for your servers or other services, into WHMCS.

To do this:

  1. Click Add Transaction.
  2. Choose the related client (if any), the date of the payment, and the gateway.
  3. Enter a description, transaction ID (if applicable), and the amount.
  4. If this is a payment that the client can apply to invoices later (for example, a prefunding or payment on account), select Add as Credit. This will automatically create the appropriate credit entry for the user.
  5. Click Add Transaction.

You must either enter one or more invoice IDs or select Add as Credit. If you do not do this, the system may not apply the transaction against an invoice or credit to the client's account.

Account Prefunding/Add Funds

Sometimes, a client may want to deposit money with you in advance (for example, if they are about to place several orders or they will be unavailable). WHMCS allows for this using Account Prefunding/Credit.

For more information, see Add Funds.

Managing Credit

Credit allows customers to have a prepaid balance on their account. This can allow customers to pay in advance and can help with overpayments.

For more information, see Credit/Prefunding and Adding and Working With Credit.

Searching Transactions and Handling Reversals

WHMCS 8.3 and higher includes support for disputes for Stripe (credit card only) and some PayPal® transactions at Billing > Disputes.

If you have had a check bounce, or you've received a chargeback or dispute for a transaction you already applied, it is likely that the actions that payment should trigger, such as renewal of a product, domain registration, or renewal, have already happened and you can't reverse them. You will need to deduct the amount from your income and issue the client a new invoice to repay.

For example, you would perform the following steps for a transaction that a client paid in 2CheckOut with the transaction ID 6A5245278HM:

  1. Click the Search/Filter tab at the top.
  2. Select 2CheckOut as the payment gateway.
  3. Enter the transaction ID (6A5245278HM).
  4. Click submit. Any matching transactions will display. From here, we can see the transaction date, the client who made it, and the invoice they were paying.
  5. Click the invoice for that transaction.
  6. In the Refund tab, apply a "Record Only" refund to deduct the paid amount from your income and show that invoice as unpaid.
  7. Perform the necessary actions for each item on the invoice. For example, you might want to suspend a product from the client profile to prevent further use or contact a domain's registrar and ask whether a cancellation is possible.
  8. Optionally, create a new manual invoice for repayment (for example, if the dispute is a mistake or the client has contacted you) by manually creating a custom invoice. This can also apply any fees or surcharges you may have incurred for the disputed payment. Do not attempt to re-invoice the original items for repayment: that could lead to double incrementing of due dates and double renewal actions on products and services.

Payment Gateway Balances

We added this feature in WHMCS 8.2 and updated the displayed details in WHMCS 8.9.

You can view payment gateway balances for Stripe, PayPal Basic, PayPal Payments, and PayPal Card Payments at Billing > Transactions List in the WHMCS Admin Area. This lets you check your financial details sooner and stay aware of trends and changes.

  • The displayed balances remain in the cache for a specific amount of time and will then automatically refresh. You can also manually refresh them.
  • When you click on a transaction in this list, additional details will display for that transaction.
  • Balances display by default for admins with the Full Administrator role. To make this information available to other admins, assign the View Gateway Balances permission to the desired role.
If you use Stripe, you can also view balances in the Admin Area Dashboard widget.
For information about displaying balances in custom development, see our Developer Documentation.


The Gateway Logs

If WHMCS isn't automatically handling transactions or you experience other transaction-related issues, check the related logs at Billing > Gateway Log.