Difference between revisions of "Transactions"

From WHMCS Documentation

m (Adding a Manual Transaction)
m (Searching Transactions and Handling Reversals)
 
(17 intermediate revisions by 3 users 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.
+
==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:
 +
 +
# Click '''Add Transaction'''.
 +
# Choose the related client (if any), the date of the payment, and the gateway.
 +
# 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">
 +
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.
 
</div>
 
</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==
 
 
 
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:
 
 
 
#Begin by going to '''Billing > Transactions List'''
 
#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
 
#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
 
#Once happy with the settings, click the '''Add Transaction''' button to complete the process
 
 
 
 
==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.
  
You may want to add credit to a client if they overpay one month or if you have some downtime which you want to provide credit for.  With WHMCS, you can give the client a credit balance and when their next invoice is generated, this credit will be automatically applied to it.  If the credit is enough to cover the entire invoice, the invoice is automatically marked paid.  Otherwise, the total amount due is just decreased by the required amount.
+
== Payment Gateway Balances ==
 
+
===Issuing Credit to a Client===
+
<div class="docs-alert-success">We added this feature in WHMCS 8.2 and updated the displayed details in WHMCS 8.9.</div>
 
+
See '''Adding a Manual Transaction''' above for if you are adding a payment that doesn't relate to any specific invoice and want to add it to the users credit balance so it can be used to pay invoices.
+
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.
 
+
Alternatively, to add a credit without any payment, you would follow the steps below:
+
* 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 the Clients Summary page for the client you wish to add Credit to
+
* 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.
#Next click the '''Manage Credits''' link to open the window
+
   
#In the popup window that is displayed, click the '''Add Credit''' button
+
<div class="docs-alert-success">If you use [[Stripe]], you can also view balances in the Admin Area Dashboard widget.</div>
#Enter a description for the credit for your records and the amount of credit to add and click '''Save Changes'''
+
   
#The credit will be added to the clients balance and credit entry shown on the credits list
+
<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>
 
+
===Removing Credit from a Client===
+
#Begin by going to the Clients Summary page for the client you wish to add Credit to
 
#On the Actions section, click the link "Manage Credits"
 
#In the popup window that is displayed, click the Remove Credit button
 
#Enter a reason for removing the credit for your records and the amount of credit to remove (a positive number) and click "Save Changes"
 
#The credit will be removed from the clients balance and entry shown on the credits list
 
 
 
===Applying Credit to an Invoice===
 
 
 
If raising a new invoice or wanting to pay an existing one with credit from the users available balance, then this is how to do it:
 
 
 
#Begin by locating the invoice with a search or from the invoices list
 
#Once viewing the invoice, select the '''Credit''' tab
 
#In the '''Add Credit to Invoice''' section, enter the amount of credit you wish to transfer from the client's account credit balance to this invoice
 
#Click '''Add''' to complete the process
 
 
 
Clients also have this ability when viewing an invoice in the client area if they have a positive credit balance.
 
 
 
===Automatic Credit===
 
 
 
A credit is added to the users account automatically when an invoice is overpaid. A common cause of this is when the client sets up more than 1 PayPal Subscription. This will appear in the log as "Credit for Overpayment of Invoice #xxxx"
 
 
 
===Reviewing Credit Logs===
 
 
 
If you want to see why a client has been given credit, you need to click the '''Manage Credit''' link on the Client Summary page.  You will then see a list of credit log entries for the selected client.  You have the option to delete entries if you wish and they will then be deducted from the credit balance.
 
 
 
==Searching Transactions & Handling Reversals==
 
 
 
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.
 
 
 
#Begin by going to '''Billing > Transactions List'''
 
#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
 
#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
 
#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 use. And 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.