Overview
Beginning with version 5.3.11 of SalesPad Desktop, sales document payments now have increased support for splitting and partial invoicing. Major features include:
-
When splitting or partial invoicing a sales document, its manual payments, captures, and charges can be split between the open sales documents instead of being automatically assigned to the first split order or partial invoice.
-
PayFabric and Square authorizations can be partially captured multiple times across related sales documents.
-
Enhanced payment visibility is provided on sales documents, adding new ways to see related captures and an overview of payment information.
Multiple Capture Differences
PayFabric and Square payments are handled differently behind the scenes when processing multiple captures for the same authorization.
When partial capturing against a PayFabric authorization multiple times, the same authorization is used for all captures. Each sales document can be partially captured against its own authorization multiple times. Each split order or partial invoice can partially be captured against the authorizations from the originating order.
When partial capturing against a Square authorization multiple times, the current authorization is adjusted to the capture amount, and a new authorization is created for the remaining authorized amount. Each sales document can partially capture against its own authorization multiple times, and the new authorization for the remaining amount is assigned to that document. Each split order or partial invoice can be partially captured against the authorizations from the originating order. When they partial capture, the new authorization for the remaining amount is created for the originating order, so that all split orders and partial invoices can still be captured against that new authorization. Capturing the full remaining authorized amount does not result in the creation of a new authorization.
Note that different payment providers and banks have varying expiration timeframes for authorizations, which can be shortened once the first capture is made. If the authorization expires, then the remaining amount on any pending orders or invoices must be re-authorized.
Setup
SalesPad Settings
Enabling all of the following settings will allow all payment splitting functionality.
Sales Document Entry
-
Split Manual Payments - During document splitting, distribute manual payments evenly among the resulting documents. Defaults to ‘False’.
-
Split PayFabric Payments - During document splitting, distribute PayFabric payments evenly among the resulting documents. Defaults to ‘False’.
-
Split Square Payments - During document splitting, distribute Square payments evenly among the resulting documents. Defaults to ‘False’.
PayFabric
-
Enable Multiple Capture - When true, authorization transactions can be captured multiple times. NOTE: Requires the 'Send Document and Line Level Data' setting to be enabled. Defaults to ‘False’.
-
Send Document and Line Level Data - When enabled, SalesPad will send document and line level data to PayFabric. Defaults to ‘True’.
Square
-
Enable Multiple Capture - When true, authorization transactions can be captured multiple times. This is implemented by decreasing the amount on the authorization and creating a new authorization for the remaining amount. Defaults to ‘False’.
-
Use Original Sales Documents for Voids and Credits - When true, void and credit transactions will be assigned to the sales document that has the original authorization, capture, or charge. When false, void and credit transactions will be assigned to the sales document from which the user voids or credits. Defaults to ‘False’.
SalesPad Security
The Sales Document Properties plugin has a new sub-security that offers additional visibility for the payment splitting process.
-
Can View Payment Info Popup - If set to 'True', hovering over the Payment amount field will display additional payment information. Defaults to 'True'.
PayFabric Gateway Setup
PayFabric has a Gateway Account Configuration screen which allows users to connect PayFabric to a payment processor. Only certain payment processors support capturing an authorization multiple times. Cavallo has confirmed that the EVO connector fully supports this functionality. According to PayFabric documentation, Authorize.Net, USAePay, and Payeezy also support multiple captures.
Please see PayFabric’s user guide for additional details on how to set up a gateway if needed. Once set up, the Default Gateway setting in SalesPad can be used to specify which gateway to use for PayFabric transactions.
Usage and Examples
Multiple Capture
If Enable Multiple Capture is allowed, authorizations can be partially captured multiple times. Cavallo’s recommended use case for this functionality is to create an authorization on the original order, split the order, and then use each split order to capture its portion of the authorization. This section will walk through that use case in detail.
To start, create an order with a fulfillable line item and a backordered line item. Then create an authorization for the order’s full amount.
Next, run the Split Sales Document plugin and split the order by backorder quantities. This will create two split orders: a .1 order with the fulfilled item and a .2 order with the backordered item.
Open the .1 order and its payment window. The authorization from the original order is now visible from this split order. Select that authorization and click the Capture button to begin the capture process.
The desired capture amount defaults to the order’s total instead of the authorization’s full amount. Trying to capture more than the order’s total will present a warning for the user to confirm the action if overcharging is enabled. Otherwise, an error will be shown and overcharging will be prevented. After capturing, both the authorization and capture will be visible in the Payments window.
At this point, the .1 order has captured its part of the authorization while the .2 order has not. Once the .2 order is fulfilled and ready to ship, it can capture against the authorization for its document total ($214.00 in this example). At that point, the authorization will be fully captured and each split order will have its own payment with an amount equaling that order’s total.
Additional Payment Columns
The payment entry grids have new columns that can be made visible by right-clicking any column header and selecting Column Chooser.
The PayFabric grid has a Remaining Auth Amount column which shows the portion of the authorization that hasn’t been captured yet, an Original Transaction ID column which shows to which authorization a capture is related, and a Sales Doc Num column which shows to which sales document the transaction belongs.
The Square grid also has an Original Transaction ID column which shows to which authorization a capture is related, and a Sales Doc Num column which shows to which sales document the transaction belongs. The Remaining Auth Amount column is unnecessary because unlike in PayFabric, partial captures reduce the authorization’s amount.
In both grids, clicking on a Sales Doc Num column value will open the corresponding sales document.
Related Captures Grid
The PayFabric and Square grids both have a new Show Related Captures checkbox. When checked, the tab will show a second grid that contains any captures for authorizations that are related to the current sales document. In the current example, the .2 order would be able to see the .1 order’s capture in the related captures grid.
Note that the Capture, Void, Credit, and Create GP Payment buttons will only process the selected row in the top grid. To perform these actions against related captures, launch the related sales document.
Payment Info Popup
If the Can View Payment Info Popup sub-security is enabled for Sales Document Properties, then hovering over the Payment hyperlink on a sales document will display payment totals for the current sales document and related documents. Fields that aren’t relevant to the current sales document are hidden.
In the current example, the sales documents only have PayFabric payments, so the Square and GP payment sections are hidden. Likewise, the Total fields would be hidden if there were no related sales documents with payments.
The following fields can appear in the Payment Info Popup:
PayFabric Payments
-
Total Authorized Amount – The sum of authorization amounts on the current sales document and related sales documents. Note that if an authorization is partially captured, its full amount is still counted until it is fully captured.
-
Doc Authorized Amount – The sum of authorization amounts on the current sales document.
-
Remaining Authorized Amount – The sum of uncaptured authorization amounts on the current sales document and related sales documents. Unlike the Total Authorized Amount, this excludes the portions of the authorizations that have already been captured.
-
Total Captured Amount – The sum of captures and charges on the current sales document and related sales documents.
-
Doc Captured Amount – The sum of captures and charges on the current sales document.
Square Payments
-
Total Authorized Amount – The sum of authorization amounts on the current sales document and related sales documents. Since partial captures for Square payments reduce authorization amounts, this is equivalent to PayFabric’s Remaining Authorized Amount field.
-
Doc Authorized Amount – The sum of authorization amounts on the current sales document.
-
Total Captured Amount – The sum of captures and charges on the current sales document and related sales documents.
-
Doc Captured Amount – The sum of captures and charges on the current sales document.
GP Payments
-
Total Payment Amount – The sum of payments on the current sales document and related sales documents.
-
Doc Payment Amount – The sum of payments on the current sales document.
GP Payment Splitting
If the Split Manual Payments, Split PayFabric Payments, and/or Split Square Payments settings are enabled, then splitting or partial invoicing a sales document can split its payments. This allows for each sales document to have payment totals that match their document totals, even if the original sales document received one large payment for its full amount.
Example #1 – Splitting a cash payment with an amount less than the order total
Create an order with two line items that belong to two different warehouses. Then create a cash payment for an amount that is less than the document total but greater than either line item’s price.
Then split the order by warehouse. If Split Manual Payments is enabled, the .1 order will have a cash payment which has an amount equal to the order’s total. The audit log will also mention that the payment was split.
The .2 order will also have a cash payment. That cash payment will be for the rest of the original cash payment amount, which is less than the order’s total. This is because the original order was not fully paid, and SalesPad prioritizes the .1 order when assigning cash payment amounts.
If the original order was partially invoiced instead of split, what happens depends on the payment’s type. Non-deposit payments will still be split, with the invoice having priority and the order receiving the remaining payment amount. Deposits will not split due to GP limitations; the deposit will fully transfer to the invoice. To work around this, split the order and then fully transfer the order that’s ready to be shipped.
Example #2 – Splitting a PayFabric charge
Create an order with two line items that belong to two different warehouses. Then create a PayFabric charge with an amount equal to the order’s total.
Then split the order by warehouse. If Split PayFabric Payments is enabled, the backing GP payment is now split into two payments: one on the .1 order for that order’s amount and one on the .2 order for its own amount. However, the PayFabric transaction which exists in PayFabric as well as the spPayFabricTransaction database table will not be split.
In SalesPad, the document’s payment amount will reflect the split GP payment. However, the PayFabric payments grid will show the unsplit PayFabric transaction as it is within PayFabric.
The split GP payment can be viewed in Microsoft Dynamics GP by opening the sales document and clicking the arrow in the Amount Received cell.
The charge can be voided or credited from either split document. If a charge is voided or fully credited, all GP payments linked to that charge are deleted from the sales document as well as reversed in the general ledger if necessary. Likewise, partially crediting a charge will update or delete the current sales document’s linked GP payment first and then update or delete linked GP payments on related sales documents as necessary.
For example, crediting the .2 order for an amount greater than the .2 order’s total but less than the sum of the .1 and .2 order totals will delete the .2 order’s GP payment and will reduce the .1 order’s GP payment by the remaining amount.
Like with cash payments, partial invoicing will work similarly for non-deposit payments, but not deposits. To split deposits during invoicing, split the order first and then invoice one of the split orders.
Limitations
Due to various GP and payment processor restrictions, there are certain pieces of functionality that will not work in certain situations.
-
GP does not support creating deposits on invoices. Therefore, deposits will only split when splitting an order. Splitting an invoice or partial invoicing an order will result in the deposit fully moving to the first invoice. When partial invoicing, this can be worked around by splitting the order first and then fully invoicing one of the orders.
-
Authorizations can expire after a certain amount of time based on the payment processor. So taking an authorization, capturing part of it, and then waiting for weeks before capturing again may result in the capture failing. If the authorization expires, then any captures against that authorization are finalized at that time, but the remaining amount on any pending orders or invoices must be re-authorized.
-
SalesPad’s Square integration’s multiple capture support is implemented by reducing the authorization’s amount, creating a second authorization for the reduced amount, and capturing the original authorization. This can cause complications if any of these steps fail. This also requires that Square still has access to the card that took the original authorization.