Payment schedules are used to perform bulk payment collections using direct debit, credit card, etc. This article explains how to create and run a payment schedule. For information on how payment schedules work, please see Introduction to payment schedules.
Payment schedules are also used to automatically collect payments. For further information on auto-collectin, see Auto-collect payments.
Creating payment schedules
Before you create a new payment schedule, make sure you have gathered all the necessary details that define the scope and timing of the payment collection. These typically include:
- Payment method
- Payment processor
- Run date
- Selection date
To create a payment schedule:
- Launch the FinDock app.
- Click the Payment Schedule tab and click New.
- Fill out the schedule details as needed. For further information about each field, check the tooltips in the payment schedule or refer to the Payment Schedule object description.
- When you have entered all the details, click Save to store the payment schedule or Save & New to save the schedule and open a new one.
The Additional SOQL should be used with caution and needs proper syntax (and testing). If you are using Recurring Payments in a FinDock Standalone setup, your Additional SOQL may in certain cases return installments that should be excluded. If this happens, you can manually remove them from the schedule
Running payment schedules
Payment schedules with 'Scheduled' status are started automatically by the FinDock Heart Beat (or the Apex class PaymentSchedulesSchedule. Alternatively, you can start a schedule right away by clicking the Start Generation button (on detail page and payment schedule path) after you create the schedule.
When the prepare phase is done, the payment schedule status is set to 'Generated.' The next step is the charge file creation for the bank or API calls to the PSP. Before this step, we recommend using the Data Quality component to validate your payment collection data.
Once you have a valid schedule with valid installments, you can continue with next schedule phase. This is initiated by changing the status of the payment schedule from 'Generated' to 'Process.' This status change can be done manually, or automatically by using workflow, process builder, approval processes or any of the other automation tools available in Salesforce.
If the processing phase result is a file, it will be placed in the file exchange Chatter group by ProcessingHub. When the file is read, the status of the payment schedule changes to 'Pending Verification.'
At this point you can fetch the file from Chatter and upload it to the bank. If the file is accepted, you can change the status of the payment schedule to 'Verified.' This will initiate the final phase of the payment schedule which is closing the installment.
If the payment schedule is for a PSP, there are no manual actions needed during the process and close phases. The main thing in this scenario is to track progress.
Tracking payment collection progress
FinDock provides some basic means (outlined below) to track payment collection progress that can easily be enhanced using Salesforce capabilities to build reports, dashboards, notifications and so forth.
Tracking payment schedules
The Payment Schedule Path component along the top of the payment schedule record is your quickest source of progress information. The path shows:
- The progress of the schedule through each phase. Green indicates the phase was completed successfully, and red indicates an error.
- Below each phase is a tile with details about the phase events.
Under the details tab on the payment schedule, the Status field reflects the status of the path. If the status changes to ‘Failed,’ the Last Status Reason field on the record includes an additional error message.
Two report graphs to the right of the schedule record provide a quick overview of the status of the installments that are included in the schedule. If one fails, for example, you can see that in the graphs.
In addition to the graphs, the payment schedule includes summary totals that are updated dynamically. If needed, you can update the fields manually using the Recalculate button.
Tracking installment collection
For collection progress of a specific installment, you can check the details on the installment record. The main fields to follow are:
- Last Failure Reason
- Last Status Reason